Книга: Introduction to Microprocessors and Microcontrollers
Accessing memory
Accessing memory
Each location in a memory is given a number, called an address. In Figure 6.14, the 16 locations of memory would be numbered from 0 to 15, or in binary 0000–11112. The cells are formed into a rectangular layout, in this case a 4?4 square with four columns and four rows.
To use a cell, the row containing the cell must be selected and the column containing the cell must also be activated. The shaded cell in Figure 6.15 has the address 0110 which means that it is in row 01 and in column 10.
Figure 6.15 Selecting a memory location
To access this cell we need to apply the binary address to the row and column decoders. When the address 0110 is applied, the first half of the address, 01, is applied to the row decoder and the second half of the address is applied to the column decoder. A decoder circuit is a small logic circuit that, when fed with the address of the location, is able to switch on the appropriate row and column. The maximum number of locations that can be addressed will depend on the number of bits in the address. We have already seen that a 4-bit address can access 16 locations. This was because 24=16, so, generally 2n= number of locations where n is the number of bits in the address. To take a more realistic example, if we had 20 address lines we would have 220=1 048 576 or 1 Meg locations.
- A flip-flop or bistable
- A register
- Shift registers
- Rotate registers
- Memories
- RAM
- Accessing memory
- Two types of RAM
- Memory organization
- Three types of ROM
- Pin layout of an EPROM
- Pin layout of a SRAM
- Pin layout of a DRAM
- Some more memories that don’t fit into the general pattern
- Memory maps
- Quiz time 6
- Statically Reserving Physical Memory
- Dynamically Accessing Physical Memory
- Accessing Registry Settings in a Driver
- Memory-Related Registry Settings
- Using Memory
- EVENT MEMORY SIZE
- Accessing the Command Line
- 12.2.1 Port-Mapped vs. Memory-Mapped I
- Displaying Free and Used Memory with free
- Accessing Variable Values
- 2.3.1. Flash Memory
- 2.3.5. Memory Space