Memory #2 (PowerPoint version)


Published on

  • Be the first to like this

Memory #2 (PowerPoint version)

  1. 1. Memory Part II
  2. 2. Memory Technologies <ul><li>2 ways to store a state electrically </li></ul><ul><ul><li>Determine if charge is present </li></ul></ul><ul><ul><li>Determine if current will flow </li></ul></ul><ul><li>Can also be done magnetically, though in modern computers this is mainly used for secondary memory due to it being one step removed from electricity </li></ul>
  3. 3. Registers <ul><li>Special purpose </li></ul><ul><ul><li>MBR, MAR, etc. </li></ul></ul><ul><li>General </li></ul><ul><ul><li>CPUs scratchpad </li></ul></ul><ul><li>Typically word size </li></ul><ul><li>Implemented using D flip-flops </li></ul><ul><ul><li>Edge-triggered – transition from logic 0 to 1 or 1 to 0 is fast </li></ul></ul>
  4. 4. Main Memory <ul><li>Dynamic Memory (or DRAM) </li></ul><ul><ul><li>Minute electrical charges remember memory states </li></ul></ul><ul><ul><li>Stored in capacitors </li></ul></ul><ul><ul><ul><li>2 metal plates separated by electrical insulator </li></ul></ul></ul><ul><ul><ul><li>Positive charge can be applied to one plate, causing negative in other </li></ul></ul></ul><ul><ul><ul><li>Processor controls which plate receives charge. Charged is “1”, uncharged is “0” </li></ul></ul></ul>
  5. 5. DRAM <ul><li>Capacitors hold charge for a few or few dozen milliseconds </li></ul><ul><li>Motorola 1 MB SIMMs require refresh every 8msec, while some require only 32msec </li></ul>
  6. 6. Writing data to DRAM <ul><li>1.        Software, in combination with the OS, sends an electrical signal (a burst) along an address line , which is a microscopic strand of electrically conductive material etched into the chip (a trace). Each address line identifies a location in the chip where data can be stored. Which address line is activated (&quot;goes high&quot;) identifies which location among the many in the memory chip where the data will be stored. </li></ul><ul><li>2.        The electrical pulse turns on (closes) a transistor that is connected to a data line at each memory location in the chip where data can be stored. Recall that the transistor is simply a microscopic switch. </li></ul><ul><li>3.        While the transistors are turned on, the software sends a burst of electricity along selected data lines. Each burst represents a &quot;1&quot; bit. </li></ul><ul><li>4.        When the electrical pulse reaches an address line where a transistor has been turned on, the pulse flows through the closed transistor and charges a capacitor . This process is repeated almost continually to refresh the capacitor's charge which otherwise would leak away. </li></ul><ul><li>5.        After the writing process each charged capacitor along the corresponding address line represents a &quot;1&quot; bit in the memory and the uncharged capacitors correspond to &quot;0&quot; bits. </li></ul>
  7. 7. Reading data from dynamic memory <ul><li>1.                 When software wants to read data stored in the RAM, an electrical signal is sent along the address line corresponding to the address at which the desired data is located. This electrical pulse has the effect of closing the transistors connected to that address line. </li></ul><ul><li>2.                 When the transistors are closed along a given address line, each capacitor which holds a charge (a &quot;1&quot; bit) will discharge through the circuit created by the closed transistors which will in turn send electrical signals along the corresponding data lines. </li></ul><ul><li>3.                 The software recognizes which data lines the electrical pulses come from and interprets each pulse as a &quot;1&quot; bit and any data line for which no electrical pulse is detected is assumed to be a &quot;0&quot; bit. The combination of the 1s and 0s taken from eight data lines forms a byte of data. </li></ul>
  8. 8. DRAM continued <ul><li>Speed is crucial </li></ul><ul><li>Fastest DRAM – 45 to 50 nsec </li></ul><ul><li>View memory like a spreadsheet </li></ul><ul><ul><li>Each cell has an address </li></ul></ul><ul><ul><li>To write, you send row,column address and data is written </li></ul></ul><ul><ul><li>To read, you do the same </li></ul></ul><ul><li>Addressing lines are multiplexed to keep number of connections small. </li></ul><ul><li>RAS (Row Address Strobe) signal indicates that the address represents a row and the CAS (Column Address Strobe) indicates that the address line represents a column </li></ul><ul><li>Multiplexing allows 12 address lines plus RAS and CAS signals to encode every possible memory cell address in a 4 MB chip </li></ul><ul><li>Signal lines do not change state instantly so when coupled with refresh rate, represents primary limits of conventional chips. So other designs try to enhance the speed of RAM chips. </li></ul>
  9. 9. Static Column RAM <ul><li>Redesign allows chips to read from with a single column without wait states </li></ul><ul><ul><li>Wait states cause microprocessor to suspend what is working on for a number of clock cycles to let memory catch up. </li></ul></ul><ul><ul><li>These retained CAS, and then only RAS had to be changed. </li></ul></ul>
  10. 10. Microprocessor Speed and Memory Speed <ul><li>Microprocessor speeds these days are almost always expressed as a frequency in megahertz (millions of cycles per second) or gigahertz (billions of cycles per second). Memory chips are typically rated by access time which is expressed in nanoseconds or billionths of a second (10 -9 seconds). The two numbers are reciprocals. At a speed of 1 MHz, one clock cycle is 1000 nanoseconds long; at 8 MHz (the speed of the ISA bus), one clock cycle is 125 nanoseconds long; at 33 MHz (the speed of the PCI bus), one clock cycle is 33 nanoseconds long; at 66 MHz (common front side bus speed), one clock cycle is 17 nanoseconds long; and at 100 MHz (newer front side bus speeds), one clock cycle is 10 nanoseconds long. A 1 GHz processor has a clock cycle of 1 nanosecond! </li></ul>
  11. 11. Page-Mode RAM <ul><li>Memory controller first sends out a row, activating RAS </li></ul><ul><li>While holding the RAS, a new address is sent along with CAS to indicate specific cell </li></ul><ul><li>If RAS kept active, controller can then send out one or more additional new addresses, followed by CAS signals. </li></ul><ul><li>Allows for rapid access to multiple cells in a single page of memory – reduces time for memory accesses in same page by 25-30 nsec </li></ul><ul><li>NOTE: change in page requires change in row and column (incurring the speed penalty) </li></ul>
  12. 12. Extended Data Out Memory (EDO RAM) <ul><li>Most popular for PCs with front side bus running at 66MHz </li></ul><ul><li>Speed of EDO RAM eliminates need for secondary caches on lower end machines, but performs at even higher perceived speeds if cache is used </li></ul><ul><li>Data kept valid until additional signal is received </li></ul><ul><li>System does not have to wait for separate read cycle, but can read as fast as chip will allow </li></ul><ul><li>To work properly, microprocessor must indicate when it has finished reading data. </li></ul><ul><li>Theoretically, provides speed-up of 50-60%, reality is 10-20% </li></ul><ul><li>With advent of 100MHz front side buses, EDO was outpaced </li></ul><ul><li>EDO chips cannot be used in machines that use standard RAM chips. </li></ul>
  13. 13. Burst EDO DRAM (BEDO RAM) <ul><li>Developed by Micron Technology </li></ul><ul><ul><li>Perform all read/write operations in 4-cycle bursts </li></ul></ul><ul><ul><li>Pipeline nibble mode DRAM </li></ul></ul><ul><ul><ul><li>Uses pipeline to retrieve and send out data in a burst </li></ul></ul></ul><ul><ul><ul><li>Contains fuse to allow access to controller circuit </li></ul></ul></ul>
  14. 14. Synchronous DRAM (SDRAM) <ul><li>Operate in sync with host microprocessor </li></ul><ul><li>Internal redesign of chip to make data available every clock cycle </li></ul><ul><li>Uses pipeline design – have multiple, independently operating stages </li></ul><ul><li>Chip can start to access a second address before finishing the first </li></ul><ul><li>Pipeline only extends across column addresses within a given page </li></ul><ul><li>Operate at speeds as fast as 10 nsec </li></ul><ul><li>Speedup is limited due to limits on SIMM sockets </li></ul><ul><li>Requires special support and packaging can be larger </li></ul>
  15. 15. Enhanced DRAM (EDRAM) <ul><li>Add small block of static cache to each chips, these provide processor with data while chip is refreshed </li></ul><ul><li>Originally developed by Ramtron </li></ul><ul><li>Linking the SDRAM cache with the DRAM on the same chip allows the use of a wide bus to connect the two. The Ramtron design uses a 16,384 bit wide bus link between the cache (256K) and the RAM. Filling the on-board cache requires about 35 nanoseconds which is about seven times faster than filling an equivalent non-integral cache (which takes about 250 nanoseconds). </li></ul><ul><li>(2) The Ramtron design allows the DRAM to be pre-charged at the same time the system makes a burst read from the cache. This pre-charging allows the DRAM to be ready for cache misses which in turn minimizes the overall memory access time. Conventional DRAM chips must perform both the pre-charge and an ordinary memory access whenever a cache miss occurs. </li></ul><ul><li>(3)    The Ramtron on board cache uses a write-through design and direct writes to the main part of the chip can be made with zero wait states. </li></ul>
  16. 16. Cached DRAM <ul><li>Mitsubishi Corp </li></ul><ul><li>Has onboard cache memory </li></ul><ul><li>4MB with 2KB devoted to cache </li></ul><ul><li>Cache and DRAM have independent address ports </li></ul><ul><li>Operate in synchronous mode at 100MHz with zero wait states </li></ul>
  17. 17. RAMBUS DRAM <ul><li>Revised interface between chips and rest of system </li></ul><ul><li>Used in Itanium (IA-64) and in Nintendo 64 systems </li></ul><ul><li>2048 byte static RAM cache linked to dynamic portion of chip via bus that allows an entire page of memory to be transferred to cache in single cycle (rate of 15nsec during cache hits) </li></ul><ul><li>On a cache miss, it retrieves info from dynamic portion and transfers that page into cache (remember LOR) </li></ul><ul><li>Does not link to host system like standard memory – needs a special high-speed bus </li></ul><ul><li>Speed of 250MHz, allows 2 bytes per clock cycle – giving speed of 500MHz </li></ul>
  18. 18. RAMBUS DRAM <ul><li>3 types </li></ul><ul><ul><li>BASE RAMBUS </li></ul></ul><ul><ul><ul><li>600MHz, bandwidth of 600MB/sec </li></ul></ul></ul><ul><ul><li>Concurrent RAMBUS </li></ul></ul><ul><ul><ul><li>700 MHz (700MB/sec) </li></ul></ul></ul><ul><ul><li>Direct RAMBUS </li></ul></ul><ul><ul><ul><li>800 MHz (800MB/sec) </li></ul></ul></ul><ul><li>Direct is memory system of choice </li></ul><ul><li>Uses RIMM (Rambus Inline Memory Module) that has 16-bit interface </li></ul><ul><li>Has its own control language to manage memory </li></ul><ul><li>Drains 10% of bandwidth from peak transfer rate of system </li></ul>
  19. 19. Multibank DRAM (MDRAM) <ul><li>Splits memory into banks </li></ul><ul><li>Banks connected by a central data bus </li></ul><ul><li>Has 32-bit interface </li></ul><ul><li>MoSys Incorporated claims peak transfer rates of 1 GB/sec </li></ul>
  20. 20. Video RAM (Video Memory or VRAM) <ul><li>Frame buffer in which on screen image is stored </li></ul><ul><li>Entire contents of the frame buffer are read anywhere from 44 to 75 times a second as image is displayed on monitor </li></ul><ul><li>Allows writes while read is going on (2 access paths) </li></ul><ul><li>True dual-ported memory – simultaneous reading and writing </li></ul><ul><li>Requires 20% more silicon than standard RAM, but speeds up video systems by as much as 40% </li></ul>
  21. 21. Windows RAM <ul><li>WRAM – variation on dual-ported VRAM </li></ul><ul><li>Developed for GUIs </li></ul><ul><li>8 M arranged on 32 bit plains </li></ul><ul><li>4 chips supply necessary memory for 1024 x 768 resolution on 1024 by 1024 with bit depth of 32 bits (good for TrueColor 24 bit operation) </li></ul><ul><li>256 bit data bus, multiplexed to 32 bit data with compatible with today’s PC circuitry </li></ul><ul><li>Has 2 serial data registers, four 32 bit registers </li></ul><ul><li>Rates of around 640MB/sec </li></ul><ul><li>Speedup – 50% </li></ul>
  22. 22. Static Memory or SRAM <ul><li>Allows current to flow but alters path into one of two directions to mark the state </li></ul><ul><li>Uses relays (acts as flip-flop) </li></ul><ul><ul><li>Closed is on, open is off </li></ul></ul><ul><li>Does not require refreshing, but does need constant flow of electricity </li></ul><ul><li>Requires minimum of six transistors per bit of memory </li></ul><ul><li>Not suitable to very dense memory arrangements </li></ul><ul><li>Faster than DRAM, and more expensive </li></ul><ul><li>Reserved for critical portions (like level 2 cache memories) </li></ul>
  23. 23. ROM <ul><li>Switches switch once and then jam </li></ul><ul><li>ROM is random access memory just as RAM is. </li></ul>
  24. 24. Mask ROM <ul><li>Information is built into chip when manufactured </li></ul><ul><li>Memory forever embedded in the chip </li></ul><ul><li>Not commonly used in PCs since programming of memory is required and changes are not easily made </li></ul>
  25. 25. PROM (Programmable ROM) <ul><li>Falls in category of WORMs </li></ul><ul><li>Like array of elements that each work like a fuse </li></ul><ul><li>PROM burner provides current to blow the fuses </li></ul><ul><li>Chips come with fuses intact, and then it can be customized by PROM burner </li></ul><ul><li>Once burned, effects are permanent </li></ul>
  26. 26. EPROM (Erasable PROM) <ul><li>Contain self-healing semiconductor </li></ul><ul><li>Have clear window in center of top of the chip </li></ul><ul><li>Chips erased by focusing high-intensity UV light through window, so care has to be used </li></ul><ul><li>UV radiation can erase entire contents of a chip </li></ul>
  27. 27. EEPROM (Electrically Erasable PROM) <ul><li>“ double-E PROM” </li></ul><ul><li>Use higher than normal voltage to erase contents </li></ul><ul><li>Don’t need to be removed from socket to reprogram </li></ul><ul><li>Can be manipulated at byte level, so individual bytes can be erased without erasing entire chip </li></ul><ul><li>Common for storing setup parameters for printers and other peripherals </li></ul><ul><li>Memory survives switching power off </li></ul><ul><li>Disadvantage: can only be erased finite number of times, so not suitable for general storage within PC where cell may be changes few thousand times each second. </li></ul>
  28. 28. Flash Memory (Flash ROM or RAM) <ul><li>Essentially same as EEPROM except voltage required are at levels normally found inside PC </li></ul><ul><li>Flash ROM – bulk-erase typically, but newer ones have multiple independently erasable blocks (size 4K to 128K) </li></ul><ul><li>2 styles </li></ul><ul><ul><li>Sectored-erase flash </li></ul></ul><ul><ul><li>Boot block </li></ul></ul><ul><ul><ul><li>one or more blocks are specially protected from normal erase operations (firmware) </li></ul></ul></ul><ul><li>Support random reading and writing </li></ul><ul><li>First generation requires PC or device to handle erase and write operations </li></ul><ul><li>Current generations have on-board logic to handle operations </li></ul><ul><li>For effective operation, need special OS or modified versions of current OS that minimize number of erase/reprogram cycles that the chip must endure in order to extend its lifetime </li></ul>