We are continuing our discussion of microprocessors and we're looking at bus networks. In a microprocessor, means must be developed whereby the microprocessor can access memory. Here we have the microprocessor and it needs to access memory. The first subject is address lines; they will be needed so that the location of the memory can be specified. We're going to have some lines coming from the microprocessor and there will be a group of lines and what they're going to be doing is they're selecting the address of where is the memory. I think often when we think of memory, we think well memory is just over there and we just put stuff in and pull it out, but how is it that we pull it out? Well, the memory has a specific address and we have these things called address lines.
Data lines will be required for the actual data to be written into and read from the memory location. Then we have another group of lines and these lines are going to be used for the data. Now, this is the actual data that's in memory. The address line finds the data and then the actual data is moved back and forth between the microprocessor and RAM. The number of data lines and memory lines will be dependent upon the architecture of the microprocessor and memory. Then there's going to be another set of lines, I'll just mention real briefly here, for the C here and these are going to be the control lines. These will determine is it writing, is it reading, what is actually going on with this addressing and this data movement.
We're going to look at a system and we're only going to have 1k of memory. We're just going to do this for purposes of simplicity. I know that many of you have got machines with one gig of memory, but just for purposes of simplicity, we're going to deal with only 1k of memory. 1k, we think of 1k as 1,000, but if you take two to the tenth actually it's going to be 1,024. We're thinking in terms of 1k of storage locations and at each location, we're going to store eight bits of information, one byte. Here we have this system where we can have 1,024 bytes of memory. Let us assume that a sequential program is already stored in memory. Here we've got this memory and we have got 1,024 bytes of information in it. Well, how many address lines will be required? Well, in order to … we've got 1,024 bytes of information there and what we'll need is a binary method to be able to access them.
What we're ultimately going to need is going to be 10 address lines. Now the reason 10 is because two to the tenth is 1,024. If it was a larger memory we'd have to have more address lines. When we are representing the system here we're going to need 10 address lines because it'll take 10 digits to count up to 1,024 in binary. How many data lines? Now since we just have an eight-bit system we'll just need to have one, two, three, four, five, six, seven, eight. We'll have our eight lines to … now this is where the actual data is going to be moved in and out of our memory is via these data lines. Remember the address lines are addressing where is the memory and then the data … this is the actual data this thing will move in and out of memory.
Then there are the control lines and I'll draw a few lines over here for control lines. They are needed to control the movement of data in and out of the microprocessor. The number of control lines is going to vary from processor to processor. They have their own unique special designs, but in order for a microprocessor to interface with memory, it's going to require address lines, data lines, and control lines. The lines connected to the data are called the data bus. Okay, we have a specific name for those data lines it's called the data bus. The lines connected to the address lines are called the address bus. Another set of required lines in a microprocessor are the control lines associated with the control bus.
Note that the Address and Control information are a one-way process from the microprocessor to Memory. It tells you who's in charge here. The microprocessor is hunting the address, sends the controls and note that data can go either way. If this is a read operation the microprocessor tells if I want to read and information comes from memory to the microprocessor and if it is writing the information has been developed in the processor and now we're writing that maybe that would be a write operation. Just know data can go both ways, but address and control one way only. If we had the eight-bit system with 10 address lines there would be 10 address lines here and then there would be eight data lines and then we'd have control lines.
Your text doesn't go into these, but these are the runs that you see on a circuit. In fact, we mentioned this way back in the early chapters of this book when we talked about system boards and that the runs can sometimes have multi-layers. Anyway, these are physical wires that would go to the microprocessor and memory on a PC board. The address bus and the control bus go from the microprocessor to the memory since the microprocessor must tell the memory where to store or to read the data. This would be the write and the read operations. When it needs to tell it when to read or write data to memory.
Actual data transfer between the microprocessor and memory occur during read and write operations which are controlled by the control bus.
This is an example of a memory module. We're not doing anything quite this spectacular here. This is a240 pin Dimm, these go up to eight gigs of RAM.
These are relatively new devices. They have 64 data lines. Remember I represented this system has eight and this has 64 and it needs 176 for things concerning address and control. Our subject is not to go into the Dimm, but I'm just showing that as a representative of a sample memory device.
In this section, we're looking at mainly the address bus, the data bus, and the control bus. We're doing it at a very basic level. We're looking at a 1k of memory with an eight bit, or one byte per location system.
Video Lectures created by Tim Fiegenbaum at North Seattle Community College.
by Edge Impulse
In Partnership with Power Integrations