Microcomputer Circuits and Processes
Microcomputer Circuits and Processes
Microcomputer Circuits and Processes
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