CAZine: issue 7, January 2010

CAZine: issue 7, January 2010

Memory and Implementation

By: avery13371

Memory is needed due to the fact the storage devices such as hard drives can’t transfer information to the CPU fast enough. Memory was also developed because programs generate data. For example when a CPU does a simple math problem, say 1+1, it generates the answer 2 on the External data bus. So we need a medium that can enable the CPU to read from and write to in order to get work done. In the early days of computing they used magnetic tape for memory.

This however presented a problem,

A CPU has the ability to jump from one place in a program to another. If the CPU had to get new lines of code the magnetic tape would have to be wound to the correct spot. This was slow. The CPU needs to be able to grab any line of code randomly, Thus the advent of Random Access Memory (RAM)

To try and grasp the concept of RAM, think of it as an electronic spreadsheet. Each cell in thus spreadsheet can store one a one or a zero. Each cell is called a bit. Each row in the spreadsheet is eight bits across to match the external data bus of the 8088. Each row eight bits is called a byte. In PC’s ram transfers and stores data to and from the CPU in byte sized chucks So this means ram is byte sized in rows.

So how much ram can any one CPU hold? How is it determined?

The answers can be figured mathematically. Because the wire can only be on or off it only gives us two possible combinations. If you know the number if wires in the CPU’s address bus you know the maximum amount of AM that a particular CPU can handle. Because the 8088 had 20 wire address bus the most RAM it could hand was 2 to 20th power or 1,048.576 bytes.

Ok, so wait a minute. How can you connect the RAM to the External Data Bus? This is not a matter of just plugging it into the External Data Bus wires. Like I stated before ram is a spreadsheet with thousands of discrete rows, and you only need to look at the contents of one row of the spreadsheet at a time.

So the question is, How do you connect the RAM to the External Data Bus in such as way that the CPU can look at any row in RAM? The Answer is a chip called the MCC or Memory Controller Chip. The MCC contains the circuitry to enable it to grab the contents of any single line of RAM and place that data or command on the external data bus. This allows the CPU to process the code.

Once the MCC is in place to grab any byte of RAM the CPU needs to tell the MCC which line of code it needs. The CPU has a set of wires called the Address Bus, that enables it to communicate with the MCC. By turning the address bus wires on and off in different pasterns, the CPU tell the MCC which line of RAM it wants at any given moment. As processors advanced they were able to address more memory because of the number of wires on the processor. As, I stated before the 8088 had 20 wires so it could only address 1,048,576 bytes of RAM or also know its also an address space.

More on memory and its implementation in next month’s zine!

VN:F [1.7.9_1023]
Rating: 10.0/10 (3 votes cast)
CAZine: issue 7, January 201010.0103

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

About the Author