INTRODUCTION
Memory subsystem the place within an embedded system where instructions and data are stored. Major concern in design is the execution time. This is taken care by the memory management (static/ dynamic allocation of memory)
Classification of memory
MEMORY
RAM
ROM
DRAM
SRAM
PROM
EPROM
SDRAM
EEPROM
FLASH
It is the main memory in most computers. One can read and over-write data in RAM. Can be classified as: SRAM DRAM Both static and dynamic RAM are considered volatile, as their state is lost or reset when power is removed from the system.
EEPROM, invented in 1983, can be programmed inplace if the containing device provides a means to receive the program contents from an external source (for example, a personal computer via a serial cable). - Writing is a very slow process and again needs higher voltage (usually around 12 V)
Flash memory, invented at Toshiba in the mid-1980s, and commercialized in the early 1990s, is a form of EEPROM that makes very efficient use of chip area and can be erased and reprogrammed thousands of times without damage.
__ W
____ RAS ____ CAS
Write
Row Address Strobe Column Address Strobe
Chip organization
SRAM CELL
A typical SRAM cell is made up of six MOSFETs. Each bit in an SRAM is stored on four transistors (M1, M2, M3, M4) that form two crosscoupled inverters. This storage cell has two stable states which are used to denote 0 and 1. Two additional access transistors serve to control the access to a storage cell during read and write operations. Access to the cell is enabled by the word line (WL in figure) which controls the two access transistors M5 and M6 which, in turn, control whether the cell should be connected to the bit lines: BL and BL. They are used to transfer data for both read and write operations.
SRAM cell
DRAM Cell
Terminology
Access time
Time to access a word in memory. Time taken for read/write operation.
Blocks
large quantities of data are transferred within a system in blocks. block size is the no. of words in a block.
Cycle time
Time interval from the start of one read/write operation until the start of the next. It is the measure of how quickly the memory can be repeatedly accessed.
Latency
Time required to compute the address of a sequence of words and then locate its first block in the memory.
Memory bandwidth
The measure of word transmission rate to and from the memory by the bus.
Page
Collection of blocks.
0xE5FF
Volatile RAM
0x68FF
0x4FF
0x3FF
System memory
0x0
Main/primary memory
SRAM/DRAM
Secondary memory
Slowest Largest Least expensive
The cache is a smaller, faster memory which temporarily stores copies of the block data and program instructions from main memory locations. As long as most memory accesses are cached, the average latency of memory accesses will be very nominal.
Most modern desktop and server CPUs have independent caches for:
instruction cache (icache) to speed up executable instruction fetch a data cache (dcache) to speed up data fetch