The register bank

The register bank

At the heart of the Wireworld computer design is a register bank. It consists of 64 registers each of which can contain a 16-bit number. As we’ll see later, some of the registers have special functions; but first, we’ll look at how the general-purpose registers work.

section of register bank

The picture shows just the top seven registers in the bank. The data are stored on loops which are exactly the right size to hold 16 bits, which circulate continuously. The bank is shown idle. We will now describe in outline how the register bank is read from and written to: you can study the circuit if you wish to understand the processes in more detail.

Read cycles

Read cycles are handled by the logic on the left of the register bank. A read is initiated by sending a series of 16 pulses up the outermost wire on the left-hand side, and, after a short delay, a further series of 16 pulses up the inner wire. When the pulses on the outer wire reach the top of the bank, they are turned around and sent back down the inner wire. At some point the two trains of pulses will collide and annihilate one another: where this happens depends on the delay between their being sent out.

The first layer of logic in from the left edge detects when the two pulse trains are about to collide and generates a trigger signal. This signal is only generated at one point in the register bank, and is used to select the register to be read. The controller (not shown in this picture, but which sits below the register bank) can therefore trigger any desired register by allowing a suitable delay between sending out the pulse trains.

The data in the selected register flow down the chain of AND-NOT gates on the left until they reach the bottom, where they are received by the controller.

Observe that the time between the first read pulse being emitted and the read data arriving back at the controller is constant: it does not depend on which register is read.

Write cycles

The logic for write cycles, which is on the right-hand side of the register bank, is similar. The wanted register is selected with two wires using the same delayed-pulse strategy. An additional wire (the one on the far right) runs to the top of the register bank carrying the data to be written. These data flow down through the chain of AND-NOT gates in the write logic until they arrive at the selected register. The data are then written into the register loop using a combination of OR and AND-NOT gates to set and clear bits respectively.

Next: the instruction set.

<Previous page  Wireworld index  Next page>

This page most recently updated Fri 5 Jan 10:25:33 GMT 2024
Word Matcher

Type a pattern, e.g.
into the box and click ‘Go!’ to see a list of matching words. More...

Qxw screen
Qxw is a free (GPL) crossword construction program. New! Release 20200708 for both Linux and Windows. Non-Roman alphabets, batch mode, multiplex lights, answer treatments, circular and hex grids, jumbled entries, lots more besides. More...

You can order my book, ‘Practical Signal Processing’, directly from CUP or via Hive, Amazon UK or Amazon US.
Practical Signal Processing front cover
“Probably the best book on signal processing ever written” — review at Goodreads.
Wydanie polskie.

If you find this site useful or diverting, please consider a donation to NASS (a UK registered charity), to KickAS (in the US), or to a similar body in your own country.

Copyright ©2004–2024.
All trademarks used are hereby acknowledged.