Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Computer Memory Storage Decoding Addressing 1 Memories We've Seen SIMM = Single Inline Memory Module DIMM = Dual IMM SODIMM = Small Outline DIMM RAM = Random Access Memory SDRAM = Synchronous Dynamic RAM RDRAM = Direct Rambus DRAM A type of SDRAM Rambus = The developing company ROM = Read Only Memory Some Definitions DRAM Comparison Levels of the Memory Hierarchy Part of The On-chip CPU Datapath ISA 16-128 Registers One or more levels (Static RAM): Level 1: On-chip 16-64K Level 2: On-chip 256K-2M Level 3: On or Off-chip 1M-16M Dynamic RAM (DRAM) 256M-16G Interface: SCSI, RAID, IDE, 1394 80G-300G CPU Registers Cache Level(s) Main Memory Farther away from the CPU: Lower Cost/Bit Higher Capacity Increased Access Time/Latency Lower Throughput/ Bandwidth Magnetic Disc Optical Disk or Magnetic Tape 5 Memory Hierarchy Comparisons Capacity Access Time Cost CPU Registers 100s Bytes <10s ns Cache K Bytes 10-100 ns 1-0.1 cents/bit Main Memory M Bytes 200ns- 500ns $.0001-.00001 cents /bit Disk G Bytes, 10 ms (10,000,000 ns) -5 -6 10 - 10 cents/bit Tape infinite sec-min -8 10 Staging Xfer Unit faster Registers Instr. Operands prog./compiler 1-8 bytes Cache Blocks cache cntl 8-128 bytes Memory Pages OS 4K-16K bytes Files user/operator Mbytes Disk Larger Tape 6 Memory Arrays (Hierarchy) Memory Arrays Random Access Memory Read/Write Memory (RAM) (Volatile) Static RAM (SRAM) Dynamic RAM (DRAM) Mask ROM Programmable ROM (PROM) Content Addressable Memory (CAM) Serial Access Memory Read Only Memory (ROM) (Nonvolatile) Shift Registers Serial In Parallel Out (SIPO) Erasable Programmable ROM (EPROM) Queues Parallel In Serial Out (PISO) Electrically Erasable Programmable ROM (EEPROM) 55:035 Computer Architecture and Organization First In First Out (FIFO) Last In First Out (LIFO) Flash ROM 7 Memory Comparisons Non-Volatile Memories (ROM / Flash) Floating-gate transistor Floating gate Gate Source D Drain G tox tox n+ p n+_ S Substrate Device cross-section Schematic symbol 9 6T SRAM Cell (6 transistors) Cell size accounts for most of array size 6T SRAM Cell Used in most commercial chips Data stored in cross-coupled inverters Read: Reduce cell size at expense of complexity bit bit_b Raise wordline word Read bit, bit_b (complement of bit) Write: Drive complementary data onto bit, bit_b Raise wordline Bit lines overpower old data 10 1-Transistor DRAM Cell Write: Cs is charged or discharged by asserting WL and BL Read: Charge redistribution takes place between bit line and storage capacitance Voltage swing is small; typically around 250 mV 55:035 Computer Architecture and Organization 11 Read-Write Memories (RAM) Static (SRAM) Data stored as long as supply is applied Large (6 transistors/cell) Fast Differential Dynamic (DRAM) Periodic refresh required Small (1-3 transistors/cell) Slower Single Ended 55:035 Computer Architecture and Organization 12 Connecting Memory Processor Memory k-bit address bus MAR n-bit data bus MDR Up to 2 k addressable locations Word length = n bits Control lines ( R / W, MFC, etc.) MAR = Memory Address Register MDR = Memory Data Register MFC = Memory Function Complete signal 55:035 Computer Architecture and Organization 13 Memory Array Architecture 2n words of 2m bits each If n >> m, fold by 2k into fewer rows of more columns wordlines bitline conditioning bitlines row decoder memory cells: 2n-k rows x 2m+k columns n-k column circuitry k n column decoder 2m bits Good regularity – easy to design Very high density if good cells are used 55:035 Computer Architecture and Organization 15 Decoders n:2n decoder consists of 2n n-input AND gates One needed for each row of memory Build AND from NAND or NOR gates A1 A0 word0 word1 word2 word3 55:035 Computer Architecture and Organization 17 Large Decoders For n > 4, NAND gates become slow Break large gates into multiple smaller gates A3 A2 A1 A0 word0 word1 word2 word3 word15 55:035 Computer Architecture and Organization 18 Column Circuitry Some circuitry is required for each column Bitline conditioning Sense amplifiers Column multiplexing 55:035 Computer Architecture and Organization 19 Column Multiplexing Recall that array may be folded for good aspect ratio Ex: 2 kword x 16 folded into 256 rows x 128 columns Must select 16 output bits from the 128 columns Requires 16 8:1 column multiplexers 55:035 Computer Architecture and Organization 20 Memory Timing: Approaches DRAM Timing Multiplexed Adressing 55:035 Computer Architecture and Organization SRAM Timing Self-timed 21 DRAM Timing 55:035 Computer Architecture and Organization 22 Serial Access Memories Serial access memories do not use an address Shift Registers Tapped Delay Lines Serial In Parallel Out (SIPO) Parallel In Serial Out (PISO) Queues (FIFO, LIFO) 55:035 Computer Architecture and Organization 23 Shift Register Shift registers store and delay data Simple design: cascade of registers Watch your hold times! clk Din Dout 8 55:035 Computer Architecture and Organization 24 Serial In Parallel Out 1-bit shift register reads in serial data After N steps, presents N-bit parallel output clk Sin P0 P1 P2 P3 55:035 Computer Architecture and Organization 25 Parallel In Serial Out Load all N bits in parallel when shift = 0 Then shift one bit out per cycle P0 P1 P2 P3 shift/load clk Sout 55:035 Computer Architecture and Organization 26 Queues Queues allow data to be read and written at different rates. Read and write each use their own clock, data Queue indicates whether it is full or empty Build with SRAM and read/write counters (pointers) WriteClk WriteData FULL ReadClk Queue ReadData EMPTY 55:035 Computer Architecture and Organization 27 FIFO, LIFO Queues First In First Out (FIFO) Initialize read and write pointers to first element Queue is EMPTY On write, increment write pointer If write almost catches read, Queue is FULL On read, increment read pointer Last In First Out (LIFO) Also called a stack Use a single stack pointer for read and write 55:035 Computer Architecture and Organization 28