09.05.2015 Views

Microcomputer Circuits and Processes

Microcomputer Circuits and Processes

Microcomputer Circuits and Processes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

address bus<br />

r-----<br />

AND gates<br />

RD .--...,---)...-----t<br />

256 x 8 bits<br />

memory<br />

WR._-1-...,---).... __ --1<br />

enable •..•• ---..l. ~<br />

Figure 2.12<br />

256-byte memory from figure 2.11 shown as a single board with buffer, <strong>and</strong> control lines,<br />

<strong>and</strong> logic.<br />

Note also how the enable connection, which controls the tristate<br />

buffer hanging on the data bus as usual, is also ANDed with the read<br />

(RD) <strong>and</strong> write (WR) connections. If the enable is high, then RD <strong>and</strong><br />

WR may perform their functions, but if the enable is low, RD <strong>and</strong> WR<br />

have no effect <strong>and</strong> the memory cells remain unchanged. This is useful<br />

when larger memory systems are designed, as you will find out.<br />

MORE MEMORY - DEVICE SELECTION<br />

We have put together 256 bytes of memory quite quickly, but that is not<br />

an awful lot, especially when you consider that a Sinclair ZX home<br />

computer comes with 16 or 48 kilobytes. Before we see how to wire up<br />

larger amounts of memory, there is the vocabulary to be sorted out.<br />

First, an 8-bit number like 01110100 is called a byte. Our 256-byte<br />

memory size is often called a page of memory, <strong>and</strong> four pages make up<br />

1 kilobyte (or lK, pronounced 'kay' as in 'OK'). Although 4 x 256<br />

= 1024, this is what computer people mean when they talk about lK.<br />

So 64K of memory means 64 x 1024= 65 536 bytes. It may sound like<br />

feet <strong>and</strong> inches, but at least everyone, including you, knows what it<br />

means.<br />

To make up lK of memory all we need is four 256-byte boards. But<br />

we are only able to address one of these with our 8-bit address bus. To<br />

address the other boards, the address bus has to be exp<strong>and</strong>ed. If we<br />

doubled the size of the address bus to 16-bits wide, then we would have<br />

more potential. You may think we would use each of the extra eight<br />

wires on the bus to select a 256-byte memory board. This is shown in<br />

figure 2.13, <strong>and</strong> would give us a maximum of 8 x 256 = 2048 (2K) bytes<br />

of memory. Each of the extra address lines is connected to the enable<br />

input on a memory board. This would work, but is not normally done,<br />

for two reasons. Firstly, the memory addresses will not be continuous as<br />

you go from one page to another. For example, the second board would<br />

14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!