University of the Sulaimani (UOS) University of the Sulaimani (UOS). Faculty of Science and Sciences Education School of Science Department of Computer CS11 Digital Logic and Organization Lecture 6: Memory System in a Computer Rebaz Nawzad
Memory System in a Computer Assumptions: Graduate level Operating Systems Making Choices about operation systems Why a micro-century? …just about enough time for one concept
What is memory? A term for a device that enables the computer to retain (store) information.
What are the types of memory? Volatile memory (Random Access Memory/RAM; Cache Memory; Virtual Memory)- Contents of memory are erased when power supply is turned off. Also called Temporary storage. Nonvolatile memory (Read Only Memory/ROM; Flash Memory)- Contents of memory are not erased when power is turned off. Also called Permanent storage.
What is Random Access Memory / RAM? A type of volatile memory that stores information temporarily so that it’s available to the CPU.
What are the different types of RAM? Dynamic RAM- A memory chip that needs to be refreshed periodically or it loses its data Synchronous DRAM (SDRAM)- Synchronized with the computer’s system clock Rambus DRAM (RDRAM)- Uses fast bus to send and receive data within one clock cycle. Faster than SDRAM Double Data Rate SDRAM (DDR SDRAM)- A type of SDRAM that can send and receive data within one clock cycle.
What is a memory module? A narrow printed circuit board that holds memory chips Three types Single Inline Memory Module (SIMM)- 30 or 72 pin connectors. Available in 1MB, 4MB, 16MB, and 32MB versions (1980s to the late 1990s.) Dual Inline Memory Module (DIMM)- 168 or 184 pin connectors. Available in 8MB, 16MB, 32MB, 64MB, 128MB, 256MB, and 512MB versions Rambus Inline Memory Module (RIMM) (184-pin connector)
DIMM RIMM NOTEBOOK DIMM SIMM
HOW DOES RAM WORK? CHIPS CONTAIN MEMORY LOCATIONS CALLED MEMORY ADDRESSES THE CPU STORES AND RETRIEVES DATA BY GOING TO THE MEMORY ADDRESSES
HOW RAM WORKS MONITOR WEB RAM KEYBOARD CPU
Memory Memory is a collection of cells, each with a unique physical address The size of a cell is normally a power of 2, typically a byte today. 11
What is cache memory? Primary cache (Level 1 or L1)- Located within the CPU chip, it is the memory the microprocessor uses to store frequently used instructions and data. Secondary cache (Level 2 or L2; Backside Cache)- Located near the CPU, it is the memory between the CPU and RAM Faster than RAM
What is virtual memory? FULL Part of the hard disk is reserved as RAM When RAM modules become full the CPU accesses the hard disk to store and retrieve data Slower than RAM FULL
Memory Hierarchy The memory unit is an essential component in any digital computer since it is needed for storing programs and data Not all accumulated information is needed by the CPU at the same time Therefore, it is more economical to use low-cost storage devices to serve as a backup for storing the information that is not currently used by CPU
Memory Hierarchy Computer Memory Hierarchy is a pyramid structure that is commonly used to illustrate the significant differences among memory types. The memory unit that directly communicate with CPU is called the main memory Devices that provide backup storage are called auxiliary memory The memory hierarchy system consists of all storage devices employed in a computer system from the slow by high-capacity auxiliary memory to a relatively faster main memory, to an even smaller and faster cache memory
MEMORY HIERARCHY Memory Hierarchy is to obtain the highest possible access speed while minimizing the total cost of the memory system Auxiliary memory Magnetic tapes I/O Main processor memory Magnetic disks CPU Cache memory Register Cache Main Memory Magnetic Disk Magnetic Tape
Memory Hierarchy The main memory occupies a central position by being able to communicate directly with the CPU and with auxiliary memory devices through an I/O processor A special very-high-speed memory called cache is used to increase the speed of processing by making current programs and data available to the CPU at a rapid rate
Memory Hierarchy CPU logic is usually faster than main memory access time, with the result that processing speed is limited primarily by the speed of main memory The cache is used for storing segments of programs currently being executed in the CPU and temporary data frequently needed in the present calculations The typical access time ratio between cache and main memory is about 1to7 Auxiliary memory access time is usually 1000 times that of main memory
Memory devices A memory device is a gadget that helps you record information and recall the information at some later time. Example:
Memory devices (cont.) Requirement of a memory device: Example: A memory device must have more than 1 states (Otherwise, we can't tell the difference) Memory device in state 0 Memory device in state 1
The switch is a memory device The electrical switch is a memory device: The electrical switch can be in one of these 2 states: off (we will call this state 0) on (we will call this state 1)
Memory cell used by a computer One switch can be in one of 2 states A row of n switches: can be in one of 2n states !
Memory cell used by a computer (cont.) Example: row of 3 switches A row of 3 switches can be in one of 23 = 8 states. The 8 possible states are given in the figure above.
Representing numbers using a row of switches We saw how information can be represented by number by using a code (agreement) Recall: we can use numbers to represent marital status information: 0 = Sunny 1 = Rainy 2 = Snow 3 = cloudy
Representing numbers using a row of switches (cont.) We can represent each number using a different state of the switches. Example:
Representing numbers using a row of switches (cont.) To complete the knowledge on how information is represented inside the computer, we will now study: The representation scheme has a chic name: How to use the different states of the switches to represent different numbers the binary number system
The binary number system The binary number system uses 2 digits to encode a number: That means that you can only use the digits 0 and 1 to write a binary number Example: some binary numbers 0 = represents no value 1 = represents a unit value 1 10 11 1010 and so on.
The binary number system (cont.) Now you should understand how the different states of these 3 switches represent the numbers 0-7 using the binary number system:
A cute binary number joke Try to understand this joke: (Read: there are binary 10 (= 2) types of people: those who understand binary (numbers) and those who don't)
A cute binary number joke (cont.) A knock off joke:
What does all this have to do with a computer ? Recall what we have learned about the Computer RAM memory: The RAM consists of multiple memory cells: Each memory cell stores a number
What does all this have to do with a computer ? (cont.) The connection between the computer memory and the binary number system is: The computer system uses the binary number encoding to store the number Example:
What does all this have to do with a computer ? (cont.) Note: the address is also expressed as a binary number A computer can have over 4,000,000,000 bytes (4 Gigabytes) of memory. So we need a 32 bites to express the address
Computer memory A computer is an electronic device Structure of a RAM memory: The RAM memory used by a computer consists of a large number of electronic switches The switches are organized in rows For historical reason, the number of switches in one row is 8
Computer memory (cont.) Details In order to store text information in a computer, we need to encode: 26 upper case letters ('A', 'B', and so on) 26 lower case letters ('a', 'b', and so on) 10 digits ('0', '1', and so on) 20 or so special characters ('&', '%', '$', and so on) for a total of about 100 different symbols The nearest even power 2n that is larger than 100 is: 27 = 128 ≥ 100 For a reason beyond the scope of this course, an 8th switches is added
Computer memory (cont.) This is was a portion of the RAM memory looks like: What information is stored in the RAM memory depends on: The type of data (this is the context information) Example of types: marital status, gender, age, salary, and so on. This determines the encoding scheme used to interpret the number
Computer memory jargon: bit = (binary digit) a smallest memory device A bit is in fact a switch that can remember 0 or 1 (The digits 0 and 1 are digits used in the binary number system) Byte = 8 bits A byte is in fact one row of the RAM memory KByte = kilo byte = 1024 (= 210) bytes (approximately 1,000 bytes) MByte = mega byte = 1048576 (= 220) bytes (approximately 1,000,000 bytes) GByte = giga byte = 1073741824 (= 230) bytes (approximately 1,000,000,000 bytes) TByte = tera byte
Combining adjacent memory cells A byte has 8 bits and therefore, it can store: 28 = 256 different patterns (These 256 patterns are: 00000000, 00000001, 00000010, 00000011, .... 11111111)
Combining adjacent memory cells (cont.) Each pattern can are encoded exactly one number: Therefore, one byte can store one of 256 possible values (You can store the number 34 into a byte, but you cannot store the number 456, the value is out of range) 00000000 = 0 00000001 = 1 00000010 = 2 00000011 = 3 ... 11111111 = 255
Main Memory Most of the main memory in a general purpose computer is made up of RAM integrated circuits chips, but a portion of the memory may be constructed with ROM chips RAM– Random Access memory Integated RAM are available in two possible operating modes, Static and Dynamic ROM– Read Only memory
Main Memory A RAM chip is better suited for communication with the CPU if it has one or more control inputs that select the chip when needed The Block diagram of a RAM chip is shown next slide, the capacity of the memory is 128 words of 8 bits (one byte) per word
SRAM vs DRAM Summary Tran. Access per bit time Persist? Sensitive? Cost Applications SRAM 6 1X Yes No 100x cache memories DRAM 1 10X No Yes 1X Main memories, frame buffers
RAM Read/write memory, that initially doesn’t contain any data The computing system that it is used in usually stores data at various locations to retrieve it latter from these locations Its data pins are bidirectional (data can flow into or out of the chip via these pins), as opposite to those of ROM that are output only It loses its data once the power is removed, so it is a volatile memory It has a directional select signal R/W’; When R/W’=1, the chip outputs data to the rest of the circuit; when R/W’ = 0 it inputs data from the rest of the circuit
Random-Access Memory Types Different between SRAM & DRAM Static RAM (SRAM) Each cell stores bit with a six-transistor (Diode) circuit. Retains value indefinitely, as long as it is kept powered. Relatively insensitive to disturbances such as electrical noise. Faster and more expensive than DRAM. Dynamic RAM (DRAM) Each cell stores bit with a capacitor and transistor. Value must be refreshed every 10-100 ms. Sensitive to disturbances. Slower and cheaper than SRAM.
Random-Access Memory RAM is packaged as a chip. Key features RAM is packaged as a chip. Basic storage unit is a cell (one bit per cell). Multiple RAM chips form a memory.
ROM ROM is used for storing programs that are PERMENTLY resident in the computer and for tables of constants that do not change in value once the production of the computer is completed The ROM portion of main memory is needed for storing an initial program called bootstrap loader, witch is to start the computer software operating when power is turned off
ROM Data is programmed into the chip using an external ROM programmer The programmed chip is used as a component into the circuit The circuit doesn’t change the content of the ROM Can be used as lookup tables to implement various functions Used by PCs to store the instructions that form their Basic Input/Output System (BIOS) When power is removed from a ROM chip, the information is not lost, so it is a nonvolatile type of memory It has an OE (Output Enable) specific control pin. Both OE and CE must be enabled in order for the ROM to output data; otherwise its data output is tri-stated.
ROM Types Masked ROM – programmed with its data when the chip is fabricated PROM – programmable ROM, by the user using a standard PROM programmer, by burning some special type of fuses. Once programmed will not be possible to program it again. EPROM – erasable ROM; the chip can be erased and chip reprogrammed; programming process consists in charging some internal capacitors; the UV light (method of erase) makes those capacitors to leak their charge, thus resetting the chip EEPROM – Electrically Erasable PROM; it is possible to modify individual locations of the memory, leaving others unchanged; one common use of the EEPROM is in BIOS of personal computers.
ROM
Nonvolatile Memories Lose information if powered off. DRAM and SRAM are volatile memories Lose information if powered off. Nonvolatile memories retain value even if powered off. Generic name is read-only memory (ROM). Misleading because some ROMs can be read and modified. Types of ROMs Programmable ROM (PROM) Eraseable programmable ROM (EPROM) Electrically eraseable PROM (EEPROM) Flash memory Firmware Program stored in a ROM Boot time code, BIOS (basic input/ouput system) graphics cards, disk controllers.
Auxiliary Memory The main memory construction is costly. Therefore, it has to be limited in size. The main memory is used to store only those instructions and data which are to be used immediately. However, a computer has to store a large amount of information. The bulk of information is stored in the auxiliary memory. This is also called backing storageor secondary storage. They include hard disk, floppy disks, CD-ROM, USB flash drives, etc. When the electricity supply to the computer is off, all data stored in the primary storage is destroyed. On the other hand, this is not true for secondary storage. The data stored in secondary storage can be stored for the desired time.
SOME T I P S FOR AUXILIARY MEMORY
Disk Geometry Disks consist of platters, each with two surfaces. Each surface consists of concentric rings called tracks. Each track consists of sectors separated by gaps. tracks surface track k gaps spindle sectors
Disk Geometry (Muliple-Platter View) Aligned tracks form a cylinder. cylinder k surface 0 surface 1 surface 2 surface 3 surface 4 surface 5 spindle platter 0 platter 1 platter 2
Computing Disk Capacity Capacity = (# bytes/sector) x (avg. # sectors/track) x (# tracks/surface) x (# surfaces/platter) x (# platters/disk) Example: 512 bytes/sector 300 sectors/track (on average) 20,000 tracks/surface 2 surfaces/platter 5 platters/disk Capacity = 512 x 300 x 20000 x 2 x 5 = 30,720,000,000 = 30.72 GB
Disk Operation (Single-Platter View) The disk surface spins at a fixed rotational rate By moving radially, the arm can position the read/write head over any track. The read/write head is attached to the end of the arm and flies over the disk surface on a thin cushion of air. spindle spindle spindle spindle spindle
Disk Operation (Multi-Platter View) read/write heads move in unison from cylinder to cylinder arm spindle
Disk Access Time Average time to access some target sector approximated by : Taccess = Tavg seek + Tavg rotation + Tavg transfer Seek time (Tavg seek) Time to position heads over cylinder containing target sector. Typical Tavg seek = 9 ms Rotational latency (Tavg rotation) Time waiting for first bit of target sector to pass under r/w head. Tavg rotation = 1/2 x 1/RPMs x 60 sec/1 min Transfer time (Tavg transfer) Time to read the bits in the target sector. Tavg transfer = 1/RPM x 1/(avg # sectors/track) x 60 secs/1 min.
Disk Access Time Example Given: Rotational rate = 7,200 RPM Average seek time = 9 ms. Avg # sectors/track = 400. Derived: Tavg rotation = 1/2 x (60 secs/7200 RPM) x 1000 ms/sec = 4 ms. Tavg transfer = 60/7200 RPM x 1/400 secs/track x 1000 ms/sec = 0.02 ms Taccess = 9 ms + 4 ms + 0.02 ms Important points: Access time dominated by seek time and rotational latency. First bit in a sector is the most expensive, the rest are free. SRAM access time is about 4 ns/doubleword, DRAM about 60 ns Disk is about 40,000 times slower than SRAM, 2,500 times slower then DRAM.
Cache memory When CPU needs to access memory, the cache is examined If the word is found in the cache, it is read from the fast memory If the word addressed by the CPU is not found in the cache, the main memory is accessed to read the word
Cache memory The performance of cache memory is frequently measured in terms of a quantity called hit ratio When the CPU refers to memory and finds the word in cache, it is said to produce a hit Otherwise, it is a miss Hit ratio = hit / (hit+miss)
Cache memory The basic characteristic of cache memory is its fast access time, Therefore, very little or no time must be wasted when searching the words in the cache The transformation of data from main memory to cache memory is referred to as a mapping process, there are three types of mapping: Associative mapping Direct mapping Set-associative mapping
Cache memory To help understand the mapping procedure, we have the following example:
THE END Any Questions?