Computer Memory Basic Concepts

Slides:



Advertisements
Similar presentations
MEMORY popo.
Advertisements

Outline Memory characteristics SRAM Content-addressable memory details DRAM © Derek Chiou & Mattan Erez 1.
Chapter 5 Internal Memory
Computer Organization and Architecture
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
LOGO.  Concept:  Is read-only memory.  Do not lose data when power is lost.  ROM memory is used to produce chips with integrated.
D75P 34 – HNC Computer Architecture Week 10 Computer Memory. © C Nyssen/Aberdeen College 2003 All images © C Nyssen/Aberdeen College except where stated.
Introduction to Chapter 12
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.
CS.305 Computer Architecture Memory: Structures Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made.
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
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.
Memory Hierarchy.1 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output.
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.
Memory Devices Wen-Hung Liao, Ph.D..
IT Systems Memory EN230-1 Justin Champion C208 –
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
More Basics of CPU Design Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Memory. When we receive some instruction or information we retain them in our memory. Similarly a computer stores the instructions for solving a problem,
F1020/F1031 COMPUTER HARDWARE MEMORY. Read-only Memory (ROM) Basic instructions for booting the computer and loading the operating system are stored in.
Khaled A. Al-Utaibi Memory Devices Khaled A. Al-Utaibi
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Some Useful Circuits Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Higher Computing Computer Systems S. McCrossan 1 Higher Grade Computing Studies 2. Computer Structure Computer Structure The traditional diagram of a computer...
Lecture#14. Last Lecture Summary Memory Address, size What memory stores OS, Application programs, Data, Instructions Types of Memory Non Volatile and.
Introduction to Computing: Lecture 4
Random access memory.
Basic concepts Maximum size of the memory depends on the addressing scheme: 16-bit computer generates 16-bit addresses and can address up to 216 memory.
CSIE30300 Computer Architecture Unit 07: Main Memory Hsin-Chou Chi [Adapted from material by and
The Central Processing Unit: What Goes on Inside the Computer
© Banff and Buchan College 2007 DH2T 34 Computer Architecture 1 LO2 Lesson One Memory.
EEE-445 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Cache Main Memory Secondary Memory (Disk)
Memory and Storage Dr. Rebhi S. Baraka
Memory System Unit-IV 4/24/2017 Unit-4 : Memory System.
CPEN Digital System Design
University of Tehran 1 Interface Design DRAM Modules Omid Fatemi
Chapter 4: MEMORY Internal Memory.
Memory Cell Operation.
Primary Storage Primary storage is the storage that is directly available to the CPU. It is also known as: Main Memory Main Memory Direct Access Storage.
Computer Architecture Lecture 24 Fasih ur Rehman.
Overview von Neumann Architecture Computer component Computer function
Semiconductor Memory Types
Computer operation is of how the different parts of a computer system work together to perform a task.
Chapter 10: Memory Interface – Part I. Copyright ©2009 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights reserved. The Intel.
07/11/2005 Register File Design and Memory Design Presentation E CSE : Introduction to Computer Architecture Slides by Gojko Babić.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš.
CS35101 Computer Architecture Spring 2006 Lecture 18: Memory Hierarchy Paul Durand ( ) [Adapted from M Irwin (
Computer Architecture Chapter (5): Internal Memory
Components of Computer. Memory Unit Most important part of the computer Used to store data and instructions that are currently in use Main memory consists.
Chapter 2 content Basic organization of computer What is motherboard
Chapter 5 Internal 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.
Memory chips Memory chips have two main properties that determine their application, storage capacity (size) and access time(speed). A memory chip contains.
William Stallings Computer Organization and Architecture 8th Edition
Interfacing Memory Interfacing.
Module IV Memory Organization.
William Stallings Computer Organization and Architecture 7th Edition
Introduction to Computing
William Stallings Computer Organization and Architecture 8th Edition
Chapter 5 Computer Organization
William Stallings Computer Organization and Architecture 8th Edition
Computer Science. The CPU The CPU is made up of 3 main parts : Cache ALU Control Unit.
Presentation transcript:

Computer Memory Basic Concepts Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

The Memory Component The memory stores the instructions and data for an executing program. At this level, we are considering memory as a unit without structure. Cache memory will be covered fully in a future lecture.

Memory Addressability Memory is characterized by the smallest addressable unit: Byte addressable the smallest unit is an 8–bit byte. Word addressable the smallest unit is a word, usually 16 or 32 bits. Almost all modern computers use byte addressability to simplifies processing of character data.

Memory Control The CPU has 2 registers dedicated to handling memory. The MAR (Memory Address Register) holds the address being accessed. The MBR (Memory Buffer Register) holds the data being written to the memory or being read from the memory. This is sometimes called the Memory Data Register.

Memory Control Signals Read / Write Memory must do three actions: READ copy contents of an addressed word into the MBR WRITE copy contents of the MBR into the location being addresses. NOTHING the memory is expected to retain the contents written into it until those contents have been rewritten.

One Option for Memory Control The CPU can issue one of two control signals. These are usually asserted high. READ WRITE Action Nothing. The memory is not active. 1 The CPU writes to memory The CPU reads from memory This is a problem, which must be solved by a design decision.

Asserting Control Signals A control signal is a binary signal with only two values: 0 (logic low) and 1 (logic high). When a control signal is to activate some circuit element, it is said to be asserted. An active high signal is asserted when its value is 1. It is denoted by the signal name. An active low signal is asserted when its value is 0. It is denoted by appending a “#” to its name, as in Select#.

Alternate Notation for Active Low A signal asserted low might be denoted as The first notation is older, and harder to depict using word processors. A two-value control signal enables one of two actions depending on its value. A signal to indicate either read or write might be denoted

Modern Memory Control Most modern designs avoid the READ and WRITE control signals, using Select# and R/W# If R/W# = 0, a memory write is called for. If R/W# = 1, a memory read is called for. Select# R/W# Action 1 Memory contents are not changed. CPU writes data to the memory. CPU reads data from the memory.

(Classical) Memory Timings Memory Access Time is defined in terms of reading from memory. It is the time between the address becoming stable in the MAR and the data becoming available in the MBR. Memory cycle time is the minimum time interval between two independent memory accesses.

Synchronous Memory Timings Synchronous memory, typically SDRAM, is rated by the speed of the memory bus. The speed is normally quoted in megahertz, as in 166 MHz or 250 MHz, or some other value. A 250 MHz memory can be attached to a 250 MHz synchronous memory bus, and transfer data at the rate of 250 million transfers/sec. This is one transfer every 4 nanoseconds. The data transfer rate depends on the width of the data bus, often as high as 64 bits.

RAM and ROM Technically, the term “RAM” stands for “random access memory” with no further connotations. In common usage, the term RAM refers to memory that is “read/write”; the CPU can both read from and write to RAM. The term “ROM” stands for “read only memory”. In standard operations, the CPU cannot change the values stored in ROM.

Varieties of ROM “Plain ROM” The contents of the memory are set at manufacture and cannot be changed without destroying the chip. PROM The contents of the chip are set by a special device called a “PROM Programmer”. Once programmed the contents are fixed. EPROM is same as a PROM, but that the contents can be erased and reprogrammed by the PROM Programmer device.

Memory Mapped Input / Output The old PDP–11/20 supported a 16–bit address space. This supported addresses in the range 0 through 65,535 or 0 through 0177777 in octal. Addresses 0 though 61,439 were reserved for physical memory. In octal these addresses are given by 0 through 167,777. Addresses 61,440 through 65,535 (octal 170,000 through 177,777) were reserved for registers associated with Input / Output devices. Examples: CR11 Card Reader 177,160 Control & Status Register 177,162 Data buffer 1 177,164 Data buffer 2 Reading from address 0177162 would access the card reader data buffer.

Memory Mapped I/O in the MIPS

The Linear View of Memory This logical view is not easily implemented.

Standard Memory Organization Modern computer memory is organized as a collection of modules connected to a bus. Each module comprises 8 or 9 data chips.

Module Organization A standard module will have 8 data chips, one for each bit in the Memory Buffer. Assigning one bit per chip is more efficient.

Memory Chip Organization As an example, here is a 4 megabit chip. It is organized as a 2-D array.

Two Options for Addressing The option at left has 28 pins, the option at right has 19 pins. The signals RAS# and CAS# indicate the meaning of the 11-bit address.

Memory Interleaving Suppose a 64MB memory made up of the 4Mb chips discussed above. We organize the memory into 4MB banks. The memory thus has 16 banks, each of 4MB. 16 = 24 4 bits to select the bank 4M = 222 22 bits address to each chip Not surprisingly, 64M = 226.

Two Interleaving Options The type of interleaving dictates how the memory address is divided. Low-order interleaving High-order interleaving (banking) Bits 25 – 4 3 – 0 Use Address to the chip Bank Select Bits 25 – 22 21 – 0 Use Bank Select Address to the chip

Speed Up Access by Interleaving Memory Suppose an 8–way low–order interleaved memory. The chip timings are: 80 nanosecond cycle time, and 40 nanosecond access time.  Each chip has the following timing diagram.

Timings for the Interleaved Memory

Faster Memory Chips After the row address is asserted, a number of column reads may proceed.

SDRAM SDRAM is synchronous dynamic RAM. In SDRAM, the memory transfers take place on a timing dictated by the memory bus clock rate. In “plain” SDRAM, the transfers all take place on the rising edge of the bus clock. In DDR SDRAM (Double Data Rate), the transfers take place on both the rising and falling clock edges.

A Synchronous Bus Timing Diagram

SDRAM with a Wide Bus DDR–SDRAM makes two transfers for every cycle of the memory bus, 1 on the rising edge of the clock cycle 1 on the falling edge of the clock cycle. For a 100 MHz memory bus, DDR–SDRAM would have 200 million transfers per second. Now consider a 64–bit data bus, which can transfer 64 bits (8 bytes) at a time. Thus our sample DDR–SDRAM bus would transfer 1,600 million bytes per second. This is 1.49 GB / second, as 1 GB = 232 bytes.

Word Addressing in a Byte Addressable Machine Each 8–bit byte has a distinct address. A 16-bit word at address Z contains bytes at addresses Z and Z + 1. A 32-bit word at address Z contains bytes at addresses Z, Z + 1, Z + 2, and Z + 3. Question: How is the value stored in a 32-bit register stored in computer memory?

Big–Endian vs. Little–Endian Address Big-Endian Little-Endian Z 01 04 Z + 1 02 03 Z + 2 03 02 Z + 3 04 01

Big–Endian vs. Little–Endian

Example: “Core Dump” at Address 0x200 Here is a sample memory map. What is the 32-bit integer stored at address 0x200? Big Endian: The number is 0x02040608. Its decimal value is 22563 + 42562 + 62561 + 81 = 33,818,120 Little Endian: The number is 0x08060402. Its decimal value is 82563 + 62562 + 42561 + 21 = 134,611,970. Address 0x200 0x201 0x202 0x203 Contents 02 04 06 08

Another “Core Dump” Address 0x200 0x201 0x202 0x203 Contents 02 04 06 Here is the same memory map. The 16–bit integer stored at address 0x200 is stored in the two bytes at addresses 0x200 and 0x201. Big Endian: The value is 0x0204. The decimal value is 2256 + 4 = 516 Little Endian: The value is 0x0402. The decimal value s 4256 + 2 = 1,026 Address 0x200 0x201 0x202 0x203 Contents 02 04 06 08

Evolution of Modern Memory Year Cost per MB in US $ Actual component Speed nsec. Type   Size (KB) Cost 1957 411,041,792.00 0.0098 392.00 10,000 transistors 1959 67,947,725.00 64.80 vacuum tubes 1965 2,642,412.00 2.52 2,000 core 1970 734,003.00 0.70 770 1975 49,920.00 4 159.00 ?? static RAM 1981 4,479.00 64 279.95 dynamic RAM 1985 300.00 2,048 599.00 DRAM 1990 46.00 1,024 45.50 80 SIMM 1996 5.25 8,192 42.00 70 72 pin SIMM 2001 15¢ 128 MB 18.89 133 MHz DIMM 2006 7.3¢ 2,048 MB 148.99 667 MHz DIMM DDR2 2008 1.0¢ 4,096 MB 39.99 800 MHz 2010 1.22¢ 8,192 MB 99.99 1333 MHz