Main Memory Organization Computer Systems Structure Storage

Main Memory Organization Computer Systems Structure Storage

Computer Systems Structure Main Memory Organization Peripherals Computer Central Main Processing Memory Unit Computer Systems Interconnection Input Output Communication lines CS 160 Ward 1 CS 160 Ward 2 Storage/Memory Hierarchy Storage Hierarchy & Characteristics CS 160 Ward 3 CS 160 Ward 4 Principle of Memory Hierarchy Memory Hierarchy Importance 1980: no cache in µproc; 1995: 2-level cache on chip To optimize memory performance for a given (1989 first Intel µproc with a cache on chip) cost, a set of technologies are arranged in a 1000 CPU hierarchy that contains a relatively small amount of fast memory and larger amounts of less expensive, but slower memory. 100 Processor-Memory Performance Gap: (grows 50% / year) 10 Performance DRAM 1 1990 1995 1980 1985 2000 Time CS 160 Ward 5 CS 160 Ward 6 Storage Characteristics Location • Location • CPU • Capacity • Internal • Unit of transfer • External • Access method • Performance • Physical type • Physical characteristics • Organization CS 160 Ward 7 CS 160 Ward 8 Capacity Unit of Transfer • Word size • Internal – The natural unit of organization – Usually governed by data bus width – Expected size of most data & instructions • External – Typically 32 bits or 64 bits – Usually a block which is much larger than a word • Past: 16 bits • Addressable unit • Number of words – Smallest unit which can be uniquely addressed – or Bytes – Byte internally (typically) CS 160 Ward 9 CS 160 Ward 10 Access Methods (1) Access Methods (2) • Sequential (e.g., tape) – Shared read/write mechanism • Random (e.g., RAM) – Start at the beginning and read through in order – Individual addresses identify locations exactly – Access time depends on location of data and previous – Access time is independent of location or previous location access • Direct (e.g., disk) • Associative (e.g., cache) – Shared read/write mechanism – Data is located by a comparison with contents of a – Individual blocks have unique address portion of the store – Access is by jumping to vicinity plus sequential – Access time is independent of location or previous search access – Access time depends on location and previous location CS 160 Ward 11 CS 160 Ward 12 Performance Transfer Rate Example Problem • Latency/Access time • Assume we have 32-Mbit DRAM memory with 8 – Time between presenting the address and getting the bits simultaneously read and a cycle time 250 ns. valid data (e.g., in memory, time between the Read & Memory Function Competed (MFE) signals) • How fast can data be moved out of memory (e.g. • Memory Cycle time transfer rate)? – Time may be required for the memory to “recover” before next access 8b*(1/250ns) – Cycle time is latency + recovery = 8b*(4x106/s) • Transfer Rate – Rate at which data can be moved = 32 Mbps – (# of bits(bytes)) * (1/(cycle time)) = 4 MBps CS 160 Ward 13 CS 160 Ward 14 Physical Types Physical Characteristics • Semiconductor – RAM • Volatility • Magnetic • Erasable – Disk & Tape • Power consumption / Heat • Optical – CD & DVD • Others – Bubble – Hologram CS 160 Ward 15 CS 160 Ward 16 Organization The Bottom Line • How much? • Physical arrangement of bits into words – Capacity • Not always obvious • How fast? • e.g. interleaved (striped) – Performance (Time is money) • How expensive? CS 160 Ward 17 CS 160 Ward 18 Hierarchy List • Registers • L1 Cache (on-chip) • L2 Cache (off-chip) • Memory controller cache (L3 Cache) Memory Basics • Main memory • Disk cache • Disk • Optical • Tape CS 160 Ward 19 CS 160 Ward 20 Main Memory Basics Data Flow (Indirect Diagram) • Memory: where computer stores programs and data • Bit (binary digit): basic unit. (8 bits = byte) • Each memory cell (location) has an address numbered 0, …, n -1 (for n memory cells) • Possible address range limited by address size (m bits in address means 2m addresses) • Memory cell size (typically 1 byte) grouped together into words (typically 32 or 64 bits) • 32-bit machine will typically have 32-bit registers and instructions for manipulating 32-bit words; similarly for 64-bit machine CS 160 Ward 21 CS 160 Ward 22 Semiconductor Memory Static RAM • Random Access Memory (RAM) • Bits stored as on/off switches (transistors) – All semiconductor memory is random access • No charges to leak (directly accessed via address logic) • No refreshing needed when powered – Read/Write • Larger per bit – Volatile (requires constant power supply) • More expensive – Temporary storage • Does not need refresh circuits – Static (holds data) • Faster or dynamic (periodically refreshes charge) • Example: – Cache CS 160 Ward 23 CS 160 Ward 24 SRAM Illustration Dynamic RAM • Bits stored as charge in capacitors (also uses transistors) – Charges leak – Need refreshing even when powered • Smaller per bit • Less expensive • Need refresh circuits • When enable is high, output is same as input. • Slower • Otherwise, output holds last value • Asynchronous and Synchronous DRAMs • Example: – Main memory CS 160 Ward 25 CS 160 Ward 26 DRAM Illustration Read Only Memory (ROM) • Permanent storage • Microprogramming • Library subroutines • Systems programs • Function tables • More complex than figure implies • Must coordinate with normal read and write operations CS 160 Ward 27 CS 160 Ward 28 Measures of Memory Technology Memory Density • Refers to memory cells per square area of silicon • Density • Usually stated as number of bits on standard • Latency and cycle time chip size • Examples: – 1 meg chip holds 1 megabit of memory – 4 meg chip holds 4 megabit of memory • Memory cells typically in arrays – 1M x 1 chip is a 1 meg chip – 256K x 4 chip is a 1 meg chip • Note: higher density chip generates more heat CS 160 Ward 29 CS 160 Ward 30 Internal Module Organization [1] Internal Module b7 b′7 b1 b′1 b0 b′0 W0 • • • Organization [2] FF FF A 0 W 1 • • • A 1 Address • • • • • • Memory decoder cells A • • • • • • 2 • • • • • • A 3 W15 • • • Compare with Fig 5.3 in textbook Sense / Write Sense / Write Sense / Write R/W circuit circuit circuit CS 256K x 8 chip Data input/output lines: b7 b1 b0 16 x 8 chip CS 160 Ward 31 CS 160 Ward 32 Internal Module Organization [3] Typical 16 Mb DRAM (Internal) 1M x 8 chip 4M x 4 chip CS 160 Ward 33 CS 160 Ward 34 Memory Packaging: Chips Read-Write Performance • 16-Mbit chip (4M x 4) • In many memory technologies, the time 4M in 11 rows by 11 columns (222=4M) required to fetch information from memory WE = write enable differs from the time required to store OE = output enable information in memory, and the difference RAS = row address select can be dramatic. Therefore, any measure of CAS = column address select memory performance must give two values: the performance of operations and the A0 – A10 = 11 address bits read performance of write operations. D1 – D4 = Data to be read/written NC = no connect (even # of pins) Vcc = power supply Vss = ground pin CS 160 Ward 35 CS 160 Ward 36 Memory Organization Memory Transfer • Memory controller connects computer Physical memory is organized into words, where to physical memory chips a word is equal to the memory transfer size. Each read and write operation applies to an entire word. Remember: The physical memory hardware does not • Latency provide a way to read or write less than a complete word. • Cycle time (read and write) Example: • Transfer size (or 32 bits = word word size) CS 160 Ward 37 CS 160 Ward 38 Byte & Word Addresses Address Translation • CPU can use byte addresses (convenient) To avoid arithmetic calculations, such as division or • Physical memory can use word addresses remainder, physical memory is organized such (efficient) that the number of bytes per word is a power of • Translation performed by intelligent memory two, which means the translation from byte controller address to a word address and offset can be performed by extracting bits. CS 160 Ward 39 CS 160 Ward 40 Performance Enhancements Illustration of Interleaving • Memory Banks – Alternative to single memory and single memory controller – Processor connects to multiple controllers – Each controller connects to separate physical memory – Controllers and memory can operate simultaneously • Interleaving – Related to memory banks – Transparent to programmer – Places consecutive bytes in separate physical memories – Uses low-order bits of address to choose module Consecutive bytes stored in separate physical memories. – Known as N-way interleaving (N = number of physical memories) CS 160 Ward 41 CS 160 Ward 42 Error Correction for Data • Semiconductor Memory – Hard Failure • Permanent defect • Caused by Error Correction – Environmental abuse – Manufacturing defects – Wear – Soft Error • Random, non-destructive • No permanent damage to memory • Caused by – Voltage spikes – Alpha particles • Data Transmission CS 160 Ward 43 CS 160 Ward 44 Parity as Error Detector Error-Correcting Codes • Parity can check single bit errors – Store one extra bit (parity bit) for each word – Even parity: have parity bit set so even number of 1’s • 10010101: ok • 10000101: not ok (some bit is wrong, don’t know which one) – Odd parity: have parity bit set so odd number of 1’s CS 160 Ward 45 CS 160 Ward 46 4-Bit Hamming Error-Correcting Code Check Bits for Error Correction CS 160 Ward 47 CS 160 Ward 48 Single-Bit Error Detection/Correction 8-Bit Error: Check Bit Calculation • Hamming code for any size memory word – Given r check/parity bits and m data bits, word size = m + r bits – Number bits from right to left starting at 1 ( not 0) – All bits with power of 2 number are check bits (bits C1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7 numbered 1, 2, 4, 8, 16, … )

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us