Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CPEN 315 - Digital System Design Chapter 8 – Memory C. Gerousis © Logic and Computer Design Fundamentals, 4rd Ed., Mano Prentice Hall Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Overview Memory definitions Random Access Memory (RAM) Static RAM (SRAM) integrated circuits – Cells and slices – Cell arrays and coincident selection Arrays of SRAM integrated circuits Dynamic RAM (DRAM) integrated circuits DRAM Types – Synchronous (SDRAM) – Double-Data Rate (DDR SRAM) – RAMBUS DRAM (RDRAM) Memory Definitions Memory ─ A collection of storage cells together with the necessary circuits to transfer information to and from them. Random Access Memory (RAM) ─ RAM is called "random access" because any storage location can be accessed directly (independent of the physical location of the data.) Memory Address ─ A vector of bits that identifies a particular memory element (or collection of elements). Memory Definitions (Continued) Typical data elements are: – bit ─ a single binary digit – byte ─ a collection of eight bits accessed together – word ─ a collection of binary bits whose size is a typical unit of access for the memory. It is typically a power of two multiple of bytes (e.g., 1 byte, 2 bytes, 4 bytes, 8 bytes, etc.) Memory Operations ─ operations on memory data supported by the memory unit. Typically, read and write operations over some data element (bit, byte, word, etc.). Memory Organization Organized as an indexed array of words. Value of the index for each word is the memory address. Some historically significant computer architectures and their associated memory organization: – Digital Equipment Corporation PDP-8 – used a 12-bit address to address 4096 12-bit words. – IBM 360 – used a 24-bit address to address 16,777, 216 8-bit bytes. – Intel 8080 – (8-bit predecessor to the 8086 and the current Intel processors) used a 16-bit address to address 65,536 8-bit bytes. Historical Computers DEC PDP-8 Intel 8080, 4,500 transistors IBM 360 Memory Organization Example Example memory contents: Memory Address Binary Decimal – A memory with 3 000 0 address bits & 8 data 001 1 bits has: 010 2 – k = 3 and n = 8 011 3 23 = 8 addresses 100 4 labeled 0 to 7. 101 5 11 0 6 – 23 = 8 words of 8-bit 111 7 data (1-byte data) Memory Content 10001111 11111111 10110001 00000000 10111001 10000110 00110011 11001100 Static RAM Cell Array of storage cells used to implement static RAM Select Storage Cell – SR Latch – Select input for control – Dual Rail Data Inputs B and B – Dual Rail Data Outputs C and C B B S Q R Q C C RAM cell SRAM is used in cache: temporary storage area where frequently accessed data can be stored for rapid access. Static RAM Cell 2n-Word 1-Bit RAM IC To build a RAM IC from a RAM slice, we need: – Decoder decodes the n address lines to 2n word select lines – A 3-state buffer on the data output. A3 A3 A2 A2 A1 A1 A0 A0 16 x 1 RAM Data output Data input Read/ Write Word select 4-to-16 Decoder 0 1 23 2 RAM cell 3 22 4 5 21 6 RAM cell 0 7 2 8 9 10 11 12 13 14 15 RAM cell Memory enable Read/Write logic (a) Symbol Data input Data in Data out Read/ Bit Write select Read/Write Chip select (b) Block diagram Data output Cell Arrays and Coincident Selection Memory arrays can be very large – Large decoders – The decoder size and fanouts can be reduced by approximately n by using a coincident selection in a 2-dimensional array – Uses two decoders, one for words and one for bits – Word select becomes Row select – Bit select becomes Column select Cell Arrays and Coincident Selection (continued) Example For address 1001: 10 selects row 2 01 selects column 1 Cell 9 is accessed. A3 Row decoder 2-to-4 Decoder 0 21 A2 20 RAM cell 0 RAM cell 1 RAM cell 2 RAM cell 3 RAM cell 4 RAM cell 5 RAM cell 6 RAM cell 7 RAM cell 8 RAM cell 9 RAM cell 10 RAM cell 11 RAM cell 12 RAM cell 13 RAM cell 14 RAM cell 15 Read/Write logic Read/Write logic Read/Write logic Read/Write logic Data in Data out Read/ Bit Write select Data in Data out Read/ Bit Write select Data in Data out Read/ Bit Write select Data in Data out Read/ Bit Write select 1 Row select 2 3 Data input Read/Write X X X X Column select 0 Column decoder 1 2 3 2-to-4 Decoder with enable 21 20 A1 A0 Enable Chip select Data output Making Larger Memory Capacity: 64K words of 8 bits each 256K X 8 RAM (2 MB) - Three-state outputs are connected together to form 8 data output lines. - Just one chip select (CS) will be active at any time. - RAM requires 18-bit address: 16 LSB address are applied to the address are applied to the inputs of each RAM. 2 MSB are applied to 2-to-4 decoder. - Address bits 16 and 17 determine the particular chips that is selected. Dynamic RAM (DRAM) Basic Principle: Storage of information on capacitors. Charge and discharge of capacitor to change stored value Use of transistor as “switch” to: – Store charge – Charge or discharge Select B T C DRAM cell Dynamic RAM - Bit Slice C is driven by 3-state drivers Sense amplifier is used to change the small voltage difference on C into H or L “to refresh the value of a bit stored in a DRAM cell.” Select Word select 0 Word select 0 T B DRAM cell Word select 1 C DRAM cell DRAM cell Word select 2n -1 Word select 2n - 1 DRAM cell T B C Read/Write logic Data in Data out Read/ Bit Write select Sense amplifier Data in Write logic Read/ Write Bit select (a) Logic diagram Read logic Data out DRAM VS. SRAM Cell size Complexity Cost/bit Usage in large memory Power considerations Speed memory access time increases physical size of memory decreases Memory Hierarchy DRAM Types Types to be discussed – Synchronous DRAM (SDRAM) – Double Data Rate SDRAM (DDR SDRAM) – RAMBUS® DRAM (RDRAM) Synchronous DRAM Transfers to and from the DRAM are synchronize with a clock Comparison of byte rate for reading bytes from SDRAM to that of basic DRAM: Assume READ cycle time of basic DRAM = 60 ns DRAM byte rate (Memory Bandwidth) = 16.67 MB/sec Clock period of SDRAM = 7.5 ns SDRAM = 66.67 MB/sec If the read burst = 8 bytes, What is the read cycle? 90 ns What is the byte rate for the SDRAM? 88.89 MB/sec SDRAM EXAMPLE Double Data Rate Synchronous DRAM (DDR SDRAM) Transfers data on both edges of the clock Example: Same as for synchronous DRAM – Read cycle time = 60 ns, read burst = 8 bytes. – for DDR ___ 16 bytes can be transferred in 60 ns? What is the Byte Rate/ Memory Bandwidth? RAMBUS DRAM (RDRAM) Uses a packet-based bus for interaction between the RDRAM ICs and the memory bus to the processor The bus consists of: – A 3-bit row address bus – A 5-bit column address bus – A 16 or 18-bit (for error correction) data bus The electronic design is sophisticated permitting very fast clock speeds Use clock period 1.875 ns time for accessing 16 byte data packet = 32 clock cycles. What is the Memory Bandwidth ? If four packed are accessed, what is the memory bandwidth?