




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Class: Des Microproc Syst; Subject: Electrical Engineering And Computer Science; University: University of Michigan - Ann Arbor; Term: Unknown 1998;
Typology: Study notes
1 / 8
This page cannot be seen from the preview
Don't miss anything!





Memory is the third key component of a microprocessor-based system (besides the CPU and I/O devices). More specifically, the primary storage directly addressed by the CPU is referred to as main memory to distinguish it from other “memory” structures such as CPU registers, caches, and disk drives. Main memory is typically built from several discrete semiconductor memory devices.
Most systems contain two or more types of main memory. All memory types can be categorized as ROM or RAM, and as volatile or non-volatile:
The memory types currently in common usage are:
Every system requires some non-volatile memory to store the instructions that get executed when the system is powered up (the boot code) as well as some (typically volatile) RAM to store program state while the system is running.
For a very low-cost system, you can buy microprocessors that include both volatile and non-volatile memory integrated on the same chip (along with some I/O devices as on the MPC823). All you need to add are power and maybe a clock crystal. These “systems-on-a-chip” are called microcontrollers. The Xilinx download process on the lab expansion boards is run by an 8-bit microcontroller containing 256 bytes of SRAM and 2K bytes of Flash memory.
Volatile (nothing) Static RAM (SRAM) Dynamic RAM (DRAM)
Non-volatile Mask ROM PROM EPROM
Flash memory BBSRAM
The heart of a memory device is the memory array , which is where the bit values are actually stored. Each row of memory cells is controlled by a word line. When a specific row is activated via its word line, the data values of that row’s cells can be read or written via the bit lines.
This diagram shows a 16-bit memory organized as a 4x4 array:
The different types of memory are basically distinguished by how each memory cell stores its bit value.
Support circuitry around the memory array provides the external device interface. The following (simplified) diagram shows how our 4x4 16-bit memory array might be packaged.
The support circuitry has two functions:
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
Mem Cell
bit line
word line 2-to- decoder
4:1 mux/demux
Memory Array
A
D
OE CS WE
A A A
To determine the total access time from the CPU’s perspective, delays through all of the glue logic must be considered:
If the CPU starts driving the address and RD/WR at the same time, what is the effective memory access time?
Write timing is a little more complicated:
Addr buffers
Data buffers
Addr decode
CS
OE
A
D
Memory RD/WR
A
D
tABUF tADEC
tDBUF
tINV
ADDR
CS
WE
DATA
tAW
tAS tWP
tCW
tDS (^) t DH
tWC
The key distinction between the various types of memory is the means by which each memory cell stores a bit value.
Programmable ROM (PROM)
bit lines
word lines
Two basic types: static and dynamic
Static RAM (SRAM)
Dynamic RAM (DRAM)