Memory Key component of a computer system is its memory system to store programs and data. ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides12.ppt Modification date: Nov 11, 2014 1 Requirements 1. Able to store accessible binary words (patterns of 0’s and 1’s) by electrical, magnetic or other means. 2. For storing programs currently being executed and storing associated data, need to be able to access any storage location in the memory at will in any order with high speed, i.e. memory must be random access memory (RAM). 3. For data, need capability of both reading and writing information. 4. For program execution, the capability of reading sufficient. 5. Usually some of the memory at least must be non-volatile, i.e. the information is not lost when the power is removed. 2 Memory Hierarchy Historically, memory organized in levels of decreasing speed but decreasing cost/bit: • Cache memory relatively small semiconductor memory operating at a speed that matches the processor • Main memory – semiconductor random access memory • Disk memory – not random access but not volatile. • CD drives, tape drives, … – not random access but not volatile. 3 Semiconductor RAM Memory bus Memory chips These are very old memories – new ones are similar in concept. Above actually shows the two organizations, see next. 4 Semiconductor Memory Organizations x 1 organization Each chip organized to hold one bit of each word. Memory chip Memory cell (St ores one bit) n n to 2 dec oder Ro w select lin es Me mory add res s lines Co lumn select lin es Data (in/out) 5 Semiconductor Memory Organizations x n organization Each chip organized to hold n bits of each word, where n is usually 4 or 8. Memory chip Memory address lines Row select lines Column select lines Data (n data in/out lines) 6 Types of Semiconductor (RAM) Memory Cells Two basic types devised: • Static RAM (SRAM) • Dynamic RAM (DRAM) Static RAM faster operation than dynamic RAM (around 10 times faster) but requires more internal components (see next). Hence DRAM has more memory cells in chip (around 4-8 times capacity). Usually main memory is dynamic and cache memory usually static. 7 Static RAM Each cell - an S-R flip-flop formed with pair of cross-coupled gates. Column j Column j Row i S-R flip-flop Q Memory cell Transistor Q Transistor operates as a switch Two complementary column lines used also to read stored value (Q/ Q) and write new values (Q/Q operating as S/R). 8 Static RAM Memory Cell Circuit Column j Column j Row i Memory cell Transistor Transistor operates as a switch Design requires 4 or 6 transistors and two column select lines per column. Do not worry about its operation. Key point is number of components. 9 Dynamic RAM cell circuit Each memory cell uses a capacitor to store charge. Two states, charged and not charged represent the two binary values 0 and 1. Less components, higher memory density. Usual design: Column j Row i One column line This capacitor is extremely small (< 0.04 pF) C Memory cell Because charge will decay, memory cell must be refreshed periodically, typically every 2-4 ms. Refresh consists of reading data and rewriting it. Usually done automatically within chip. 10 Asynchronous dynamic random access memory Original (1970’s) DRAM were “Asynchronous” - emory operation not synchronized to processor clock - processor makes request for a memory location and waits whatever time it takes to access location. Asynchronous dynamic random access memory (DRAM) operates with access times of 50-70 ns. (originally 100-150 ns). Access time - time to select memory location and obtain stored information or write new information. 1ns = 10-9seconds 11 Synchronous DRAM (SDRAM) Introduced in the last few years replacing original asynchronous DRAM but still using same basic dynamic memory cell design. Access time of individual memory cell essentially the same. Speed improvement obtained by synchronizing memory operation with processor and a burst mode in which a group of sequential locations accessed one after the other at high speed after an initial read/write latency. 12 Other Types of Semiconductor Memory Read-Only Memory (ROM) Memory cells store binary values which can only be read during normal operation. Binary values established either during manufacture of device or subsequently depending upon type of ROM. This memory is still random access. Key feature - memory is non-volatile, that is, information not lost when power removed and can be obtained after power returned. Very useful for bootstrap programs - small necessary programs that are executed when the computer is turned on to start the computer. 13 General Arrangement of ROMs Column lines Connection* made or not made (say corresponds to 1 or 0) Row lines Memory cell Various ways connection can be made depending upon type of ROM Column select Data in/out * Connection has to be such to allow current to flow in one direction only. 14 Types Read-Only Memory Several types: 1. Fixed Read-Only Memory (ROM) Memory cells store fixed binary values permanently - as defined during manufacture. Column line Row line Direct connection* made during manufacture if a 1 is required, no connection if a 0. (Could be other way round.) Memory cell * has to be such to allow current to flow in one direction only - typical transistor used. 15 2. Erasable Programmable Read-Only Memory (EPROM) Memory cells stores fixed binary values but can be altered by user. Loosely based upon previous dynamic cell design using very small capacitors that are charged to represent one binary state and unchanged for the other binary state, but the semiconductor construction allows the charge to remain for many years. In early designs, charge remains for maybe 10 years if not released. Can be re-programmed with different data. Normally not altered while used as normal memory of the computer. First need to erase information and then re-write required information. 16 UV EPROM Original EPROM (1970’s) -- Erasure done by shining ultra violet light thro window in chip which releases charge in entire memory. UV light Memory package Then, writing done electrically. Electrically Erasable Programmable Read-Only Memory (EEPROM) More recent EPROM in which the information can be removed by electrical means as well as writing. Still this is not done in normal computer operation. Flash memory - a version of EEPROM in which the entire memory is erased electrically rather than individual bytes. 17 Questions 18