L/O/G/O www.themegallery.com Computer Memory Chapter 3 (a) CS.216 Computer Architecture and Organization.

Slides:



Advertisements
Similar presentations
Chapter 5 Internal Memory
Advertisements

Computer Organization and Architecture
Computer Organization and Architecture
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
What is memory? Memory is used to store information within a computer, either programs or data. Programs and data cannot be used directly from a disk or.
Overview Memory definitions Random Access Memory (RAM)
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Computer Organization and Architecture
Chapter 5 Internal Memory
Memory Devices Wen-Hung Liao, Ph.D..
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.
Data Storage Technology
CH05 Internal Memory Computer Memory System Overview Semiconductor Main Memory Cache Memory Pentium II and PowerPC Cache Organizations Advanced DRAM Organization.
Module IV Memory Organization.
Physical Memory By Gregory Marshall. MEMORY HIERARCHY.
Khaled A. Al-Utaibi Memory Devices Khaled A. Al-Utaibi
Memory Hierarchy.
Faculty of Information Technology Department of Computer Science Computer Organization and Assembly Language Chapter 5 Internal Memory.
Memory and Programmable Logic
CSCI 4717/5717 Computer Architecture
THE MEMORY SYSTEM & INTERCONNECTION STRUCTURE OBJECTIVES Define Memory hierarchy and its characteristics Define various types of memories Define the.
Chapter 5 Internal Memory. Semiconductor Memory Types.
Chapter 3 Internal Memory. Objectives  To describe the types of memory used for the main memory  To discuss about errors and error corrections in the.
Internal Memory.
CIM101 : Introduction to computer Lecture 3 Memory.
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Chapter 6: Internal Memory Computer Architecture Chapter 6 : Internal Memory Memory Processor Input/Output.
Chapter 4: MEMORY Internal Memory.
Memory and Register. Memory terminology read/write operation volotile/non volatile determine the capacity from input and output timing requirements of.
Copyright © 2007 – Curt Hill Primary Memory and Electronic Storage Implementations.
Memory Cell Operation.
Computer system & Architecture
Semiconductor Memory Types
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
Chapter 5 Internal Memory. contents  Semiconductor main memory - organisation - organisation - DRAM and SRAM - DRAM and SRAM - types of ROM - types of.
Computer Architecture Chapter (5): Internal Memory
Chapter 5 - Internal Memory 5.1 Semiconductor Main Memory 5.2 Error Correction 5.3 Advanced DRAM Organization.
Memory and Programmable Logic
Chapter 5 Internal Memory
William Stallings Computer Organization and Architecture 7th Edition
Memory.
Module IV Memory Organization.
Memory Units Memories store data in units from one to eight bits. The most common unit is the byte, which by definition is 8 bits. Computer memories are.
William Stallings Computer Organization and Architecture 7th Edition
COMPUTER ORGANISATION AND ARCHITECTURE
William Stallings Computer Organization and Architecture 8th Edition
Module IV Memory Organization.
Computer Architecture
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
BIC 10503: COMPUTER ARCHITECTURE
MICROPROCESSOR MEMORY ORGANIZATION
William Stallings Computer Organization and Architecture 8th Edition
Computer Organization & Architecture 3416
Semiconductor memories are classified in different ways. A distinction is made between read-only (ROM) and read-write (RWM) memories. The contents RWMs.
Presentation transcript:

L/O/G/O Computer Memory Chapter 3 (a) CS.216 Computer Architecture and Organization

2 Overview (1/2) Historically, the limiting factor in a computer’s performance has been memory access time –Memory speed has been slow compared to the speed of the processor –A process could be bottlenecked by the memory system’s inability to “keep up” with the processor

3 Overview (2/2) Our goal in this section is to study the development of an effective memory organization that supports the processing power of the CPU –General memory organization and performance –“Internal” memory components and their use –“External” memory components and their use Reading: Text, chapters 4 and 5

SIT, KMUTT Section 3a4 Terminology (1/7) Capacity: the amount of information that can be contained in a memory unit -- usually in terms of words or bytes Word: the natural unit of organization in the memory, typically the number of bits used to represent a number Addressable unit: the fundamental data element size that can be addressed in the memory -- typically either the word size or individual bytes

5 Terminology (2/7) Unit of transfer: The number of data elements transferred at a time -- usually bits in main memory and blocks in secondary memory Transfer rate: Rate at which data is transferred to/from the memory device

6 Terminology (3/7) Access time: –For RAM, the time to address the unit and perform the transfer –For non-random access memory, the time to position the R/W head over the desired location Memory cycle time: Access time plus any other time required before a second access can be started

7 Terminology (4/7) Access technique: how are memory contents accessed –Random access: Each location has a unique physical address Locations can be accessed in any order and all access times are the same What we term “RAM” is more aptly called read/write memory since this access technique also applies to ROMs as well Example: main memory

8 Terminology (5/7) –Sequential access: Data does not have a unique address Must read all data items in sequence until the desired item is found Access times are highly variable Example: tape drive units

9 Terminology (6/7) –Direct access: Data items have unique addresses Access is done using a combination of moving to a general memory “area” followed by a sequential access to reach the desired data item Example: disk drives

10 Terminology (7/7) –Associative access: A variation of random access memory Data items are accessed based on their contents rather than their actual location Search all data items in parallel for a match to a given search pattern All memory locations searched in parallel without regard to the size of the memory –Extremely fast for large memory sizes Cost per bit is 5-10 times that of a “normal” RAM cell Example: some cache memory units

11 Memory Hierarchy (1/10) Major design objective of any memory system –To provide adequate storage capacity at –An acceptable level of performance –At a reasonable cost

12 Memory Hierarchy (2/10) Four interrelated ways to meet this goal –Use a hierarchy of storage devices –Develop automatic space allocation methods for efficient use of the memory –Through the use of virtual memory techniques, free the user from memory management tasks –Design the memory and its related interconnection structure so that the processor can operate at or near its maximum rate

13 Memory Hierarchy (3/10) Basis of the memory hierarchy –Registers internal to the CPU for temporary data storage (small in number but very fast) –External storage for data and programs (relatively large and fast) –External permanent storage (much larger and much slower)

14 Memory Hierarchy (4/10) Characteristics of the memory hierarchy –Consists of distinct “levels” of memory components –Each level characterized by its size, access time, and cost per bit –Each increasing level in the hierarchy consists of modules of larger capacity, slower access time, and lower cost/bit

15 Memory Hierarchy (5/10) Goal of the memory hierarchy –Try to match the processor speed with the rate of information transfer from the lowest element in the hierarchy

16 The memory hierarchy

17 Typical memory Parameters

18 Memory Hierarchy (8/10) The memory hierarchy works because of locality of reference –Memory references made by the processor, for both instructions and data, tend to cluster together Instruction loops, subroutines Data arrays, tables –Keep these clusters in high speed memory to reduce the average delay in accessing data

19 Memory Hierarchy (9/10) –Over time, the clusters being referenced will change -- memory management must deal with this Example: –Two-level memory system –Level 1 access time of 1 us –Level 2 access time of 10us –Ave access time = H(1) + (1-H)(10+1) us

SIT, KMUTT Section 3a20 2-level memory performance

SIT, KMUTT Section 3a21 Memory Technology (1/15) Core memory –Used in generations 2 and 3 –Magnetic cores (toroids) used to store logical 0 or 1 state by inducing an E-field in them (hysteresis loop) 1 core = 1 bit of storage –Required addressing and sensing wires ran through each core –Destructive readout –Obsolete Replaced in the 1970s by semiconductor memory

22 Memory Technology (2/15) Organization of Memory 16x1 bit CoilCapacitorTransistors WiredFuse 1-bit Data A0 A1 A2 A Addr = A3..A0 Addr = 0100 RAS CAS

23 Memory Technology (3/15) Semiconductor memory –Typically random access –RAM: actually read-write memory Dynamic RAM –Storage cell is essentially a transistor acting as a capacitor –Capacitor charge dissipates over time causing a 1 to flip to a zero –Cells must be refreshed periodically to avoid this –Very high packaging density

24 Memory Technology (4/15) Static RAM: basically an array of flip-flop storage cells –Uses 5-10x more transistors than similar dynamic cell so packaging density is 10x lower –Faster than a dynamic cell

25 –Read Only Memories (ROM) “Permanent” data storage ROMs –Data is “wired in” during fabrication at a chip manufacturer’s plant –Purchased in lots of 10k or more Memory Technology (5/15)

26 Memory Technology (6/15) PROMs –Programmable ROM –Data can be written once by the user employing a PROM programmer –Useful for small production runs EPROM –Erasable PROM –Programming is similar to a PROM –Can be erased by exposing to UV light

27 Memory Technology (7/15) EEPROMS –Electrically erasable PROMs –Can be written to many times while remaining in a system –Does not have to be erased first –Program individual bytes –Writes require several hundred usec per byte –Used in systems for development, personalization, and other tasks requiring unique information to be stored

28 Memory Technology (8/15) Flash Memory –Similar to EEPROM in using electrical erase –Fast erasures, block erasures –Higher density than EEPROM

29 Memory Technology (9/15) –Organization Each memory chip contains a number of 1- bit cells –1, 4, and 16 million cell chips are common Cells can be arranged as a single bit column (e.g., 4Mx1) or in multiple bits per address location (e.g., 1Mx4) See Slide 22

30 Memory Technology (10/15) To reduce pin count, address lines can be multiplexed with data and/or as high and low halves –Trade off is in slower operation Typical control lines –W* (write), OE* (output enable) for write and read operations –CS* (chip select) derived from external address decoding logic –RAS*, CAS* (row and column address selects) used when address is applied to the chip in 2 halves

31 Memory Technology (11/15) Organization of Memory 16x1 bit CoilCapacitorTransistors WiredFuse 1-bit Data A0 A1 A2 A Addr = A3..A0 Addr = 0100 RAS CAS

32 Figure Kx8 memory from 256Kx1 chips

33 Figure 4.9 1Mx8 memory from 256Kx1 chips ABCD

34 Memory Technology (14/15) –Improvements to DRAM Basic DRAM design has not changed much since its development in the 70s Cache was introduced to improve performance –Limited to no gain in performance after a certain amount of cache is implemented

35 Memory Technology (15/15) Enhanced DRAM –Add fast 1-line SRAM cache to DRAM chip –Consecutive reads to the same line are from this cache and thus faster than the DRAM itself –Tests indicate these chips can perform as well as tradition DRAM-cache combinations Cache DRAM –Use larger SRAM cache on the chip as a true multi-line cache –Use it as a serial data stream buffer for block data transfers

36 Error Correction (1/11) Semiconductor memories are subject to errors –Hard (permanent) errors Environmental abuse Manufacturing defects Wear –Soft (transient) errors Power supply problems Alpha particles –Problematic as feature sizes shrink

37 Error Correction (2/11) –Memory systems include logic to detect and/or correct errors Width of memory word is increased Additional bits are parity bits Number of parity bits required depends on the level of detection and correction needed

38 Error Correction (3/11) Basic error detection and correction circuitry D’ D PP’ P”

39 Error Correction (4/11) General error detection –A single error is a bit flip. –Even Parity Error Detection Function f as follow: DD’PP’P”EventsNotes No errorP=P’=P” bit errorDetected bit errorCannot be Detected

40 General error detection and correction –A single error is a bit flip -- multiple bit flips can occur in a word –2 M valid data words –2 M+K codeword combinations in the memory –Distribute the 2 M valid data words among the 2 M+K codeword combinations such that the “distance” between valid words is sufficient to distinguish the error Error Correction (5/11)

41 Error Correction (6/11)

42 Single error detection and correction –For each valid codeword, there will be 2 K - 1 invalid codewords –2 K -1 must be large enough to identify which of the M+K bit positions is in error –Therefore 2 K -1 > M+K 8-bit data, 4 check bits 32-bit data, 6 check bits –Arrange bits as shown in Figure 4.12 Error Correction (7/11)

43 Error Correction (8/11) Figure 4.12 PreStore Codeword (C’) PostStore Codeword (C”) Bit Position in Error Error Detection Equation Codeword Computation

44 –Bit position n is checked by bits Ci such that the sum of the subscripts, i, equals n (e.g., position 10, bit M6, is checked by bits C2 and C8) –To detect errors, compare the check bits read from memory to those computed during the read operation (use XOR) If the result of the XOR is 0000, no error If non-zero, the numerical value of the result indicates the bit position in error –If the XOR result was 0110, bit position 6 (M3) is in error Error Correction (9/11)

45 Error Correction (10/11) Example PreStore: M8..M1 = PostStore: M8..M1 = Error Detection Equation (When C’=C) Bit Position 11 = M7 Therefore M7 is error. C8’ C4’ C2’ C1’ C8” C4” C2” C1” E8 E4 E2 E1

46 Error Correction (11/11) –Double error detection can be added by adding another check bit that implements a parity check for the whole word of M+K bits SED and SEC-DED are generally enough protection in typical systems

L/O/G/O Question! Do you have any