Spring 2002EECS150 - Lec19-memory Page 1 EECS150 - Digital Design Lecture 18 - Memory April 4, 2002 John Wawrzynek.

Slides:



Advertisements
Similar presentations
Outline Memory characteristics SRAM Content-addressable memory details DRAM © Derek Chiou & Mattan Erez 1.
Advertisements

Chapter 5 Internal Memory
Computer Organization and Architecture
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
COEN 180 DRAM. Dynamic Random Access Memory Dynamic: Periodically refresh information in a bit cell. Else it is lost. Small footprint: transistor + capacitor.
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.
EECC341 - Shaaban #1 Lec # 19 Winter Read Only Memory (ROM) –Structure of diode ROM –Types of ROMs. –ROM with 2-Dimensional Decoding. –Using.
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
10/11/2007EECS150 Fa07 - DRAM 1 EECS Components and Design Techniques for Digital Systems Lec 14 – Storage: DRAM, SDRAM David Culler Electrical Engineering.
Chapter 10. Memory, CPLDs, and FPGAs
1 Lecture 16B Memories. 2 Memories in General Computers have mostly RAM ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
1 EECS Components and Design Techniques for Digital Systems Lec 15 – Storage: Regs, SRAM, ROM David Culler Electrical Engineering and Computer Sciences.
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
IT Systems Memory EN230-1 Justin Champion C208 –
1 Lecture 16B Memories. 2 Memories in General RAM - the predominant memory ROM (or equivalent) needed to boot ROM is in same class as Programmable Logic.
Chapter 6 Memory and Programmable Logic Devices
F1020/F1031 COMPUTER HARDWARE MEMORY. Read-only Memory (ROM) Basic instructions for booting the computer and loading the operating system are stored in.
CompE 460 Real-Time and Embedded Systems Lecture 5 – Memory Technologies.
5.1 Semiconductor main memory  Organization The basic element of a semiconductor memory is the memory cell. Semiconductor memory cells properties: 1.
Spring 2002EECS150 - Lec19-memory Page 1 EECS150 - Digital Design Lecture 20 - Memory April 4&9, 2002 John Wawrzynek.
Physical Memory By Gregory Marshall. MEMORY HIERARCHY.
Faculty of Information Technology Department of Computer Science Computer Organization and Assembly Language Chapter 5 Internal Memory.
Memory and Programmable Logic
Survey of Existing Memory Devices Renee Gayle M. Chua.
1 COMP541 Memories - I Montek Singh Feb 29, 2012.
Memory Systems Embedded Systems Design and Implementation Witawas Srisa-an.
Chapter 5 Internal Memory. Semiconductor Memory Types.
Digital Electronics Chapter 7 Memory and Programmable Logic.
Computer Architecture CST 250 MEMORY ARCHITECTURE Prepared by:Omar Hirzallah.
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.
CPEN Digital System Design
Asynchronous vs. Synchronous Counters Ripple Counters Deceptively attractive alternative to synchronous design style State transitions are not sharp! Can.
+ 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.
Memory Cell Operation.
Computer Memory Storage Decoding Addressing 1. Memories We've Seen SIMM = Single Inline Memory Module DIMM = Dual IMM SODIMM = Small Outline DIMM RAM.
Memory Hierarchy Registers Cache Main Memory Fixed Disk (virtual memory) Tape Floppy Zip CD-ROM CD-RWR Cost/Bit Access/Speed Capacity.
Computer Architecture Lecture 24 Fasih ur Rehman.
Semiconductor Memory Types
Digital Circuits Introduction Memory information storage a collection of cells store binary information RAM – Random-Access Memory read operation.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
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
William Stallings Computer Organization and Architecture 7th Edition
COMP211 Computer Logic Design
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
BIC 10503: COMPUTER ARCHITECTURE
William Stallings Computer Organization and Architecture 8th Edition
Presentation transcript:

Spring 2002EECS150 - Lec19-memory Page 1 EECS150 - Digital Design Lecture 18 - Memory April 4, 2002 John Wawrzynek

Spring 2002EECS150 - Lec19-memory Page 2 Memory Basics Uses: –data & program storage –general purpose registers –buffering –table lookups –CL implementation –Whenever a large collection of state elements is required. Types: –RAM - random access memory –ROM - read only memory –EPROM, FLASH - electrically programmable read only memeory Example RAM: Register file regid = register identifier sizeof(regid) = log2(# of reg) WE = write enable

Spring 2002EECS150 - Lec19-memory Page 3 Register File Internals Functionally the regfile is equivalent to a 2-D array of flip-flops: Cell with write logic: How do we go from "regid" to "SEL"?

Spring 2002EECS150 - Lec19-memory Page 4 Regid (address) Decoding

Spring 2002EECS150 - Lec19-memory Page 5 Standard Internal Memory Organization Special circuit tricks are used for the cell array to improve storage density. (We will look at these later) RAM/ROM naming convention: –examples: 32 X 8, "32 by 8" => 32 8-bit words –1M X 1, "1 meg by 1" => 1M 1-bit words

Spring 2002EECS150 - Lec19-memory Page 6 Read Only Memory (ROM) Functional Equivalence: Of course, full tri-state buffers are not needed at each cell point. Single transistors are used to implement zero cells. Logic one’s are derived through precharging or bit-line pullup transistor.

Spring 2002EECS150 - Lec19-memory Page 7 Column MUX in ROMs and RAMs: Controls physical aspect ratio In DRAM, allows reuse of chip address pins

Spring 2002EECS150 - Lec19-memory Page 8 Cascading Memory Modules (or chips) example 256 X 8 ROM using 256 X 4 parts: example: 1K X * ROM using 256 X 4 parts: each module has tri-state outputs:

Spring 2002EECS150 - Lec19-memory Page 9 Definitions Bandwidth: Total amount of data accross out of a device or across an interface per unit time. (usually Bytes/sec) Latency: A measure of the time from a request for a data transfer until the data is received. Memory Interfaces for Acessing Data Asynchronous (unclocked): A change in the address results in data appearing Synchronous (clocked): A change in address, followed by an edge on CLK results in data appearing. Somtimes, multiple request may be outstanding. Volatile: Looses its state when the power goes off.

Spring 2002EECS150 - Lec19-memory Page 10 Example Memory Components: Volatile: –Random Access Memory (RAM): DRAM "dynamic" SRAM "static" Non-volatile: – Read Only Memory (ROM): Mask ROM "mask programmable" EPROM "electrically programmable" EEPROM "erasable electrically programmable" FLASH memory - similar to EEPROM with programmer integrated on chip

Spring 2002EECS150 - Lec19-memory Page 11 Volatile Memory Comparison SRAM Cell Larger cell  lower density, higher cost/bit No refresh required Simple read  faster access Standard IC process  natural for integration with logic DRAM Cell Smaller cell  higher density, lower cost/bit Needs periodic refresh, and refresh after read Complex read  longer access time Special IC process  difficult to integrate with logic circuits word line bit line word line bit line

Spring 2002EECS150 - Lec19-memory Page 12 In Desktop Computer Systems: SRAM (lower density, higher speed) used in CPU register file, on- and off-chip caches. DRAM (higher density, lower speed) used in main memory Closing the GAP: Innovation targeted towards higher bandwidth for memory systems: –SDRAM - synchronous DRAM –RDRAM - Rambus DRAM –EDORAM - extended data out SRAM –Three-dimensional RAM –hyper-page mode DRAM video RAM –multibank DRAM

Spring 2002EECS150 - Lec19-memory Page 13 Important DRAM Examples: EDO - extended data out (similar to fast-page mode) –RAS cycle fetched rows of data from cell array blocks (long access time, around 100ns) –Subsequent CAS cycles quickly access data from row buffers if within an address page (page is around 256 Bytes) SDRAM - synchronous DRAM –clocked interface –uses dual banks internally. Start access in one back then next, then receive data from first then second. DDR - Double data rate SDRAM –Uses both rising (positive edge) and falling (negative) edge of clock for data transfer. (typical 100MHz clock with 200 MHz transfer). RDRAM - Rambus DRAM –Entire data blocks are access and transferred out on a highspeed bus-like interface (500 MB/s, 1.6 GB/s) –Tricky system level design. More expensive memory chips.

Spring 2002EECS150 - Lec19-memory Page 14 Non-volatile Memory Mask ROM –Used with logic circuits for tables etc. –Contents fixed at IC fab time (truly write once!) EPROM (erasable programmable) & FLASH –requires special IC process (floating gate technology) –writing is slower than RAM. EPROM uses special programming system to provide special voltages and timing. –reading can be made fairly fast. –rewriting is very slow. erasure is first required, EPROM - UV light exposure Used to hold fixed code (ex. BIOS), tables of data (ex. FSM next state/output logic), slowly changing values (date/time on computer)

Spring 2002EECS150 - Lec19-memory Page 15 FLASH Memory Electrically erasable In system programmability and erasability (no special system or voltages needed) On-chip circuitry (FSM) to control erasure and programming (writing) Erasure happens in variable sized "sectors" in a flash (16K - 64K Bytes) See: for product descriptions, etc.

Spring 2002EECS150 - Lec19-memory Page 16 Relationship between Memory and CL Memory blocks can be (and often are) used to implement combinational logic functions: Examples: –LUTs in FPGAs –1Mbit x 8 EPROM can implement 8 independent functions each of log 2 (1M)=20 inputs. The decoder part of a memory block can be considered a “minterm generator”. The cell array part of a memory block can be considered an OR function over a subset of rows. The combination gives us a way to implement logic functions directly in sum of products form. Several variations on this theme exist in a set of devices called Programmable logic devices (PLDs)

Spring 2002EECS150 - Lec19-memory Page 17 A ROM as AND/OR Logic Device

Spring 2002EECS150 - Lec19-memory Page 18 PLD Summary

Spring 2002EECS150 - Lec19-memory Page 19 PLA Example

Spring 2002EECS150 - Lec19-memory Page 20 PAL Example

Spring 2002EECS150 - Lec19-memory Page 21 Memory Blocks in FPGAs LUTs can double as small RAM blocks: –5-LUT is a 16x1 memory –achieves 16x density advantage over using CLB flip-flops Newer FPGA families include additional on chip RAM blocks (usually dual ported) –Called “block-rams” in Xilinx Virtex series

Spring 2002EECS150 - Lec19-memory Page 22 Memory Specification in Verilog Memory modeled by an array of registers: reg[15:0] memword[0:1023]; // 1,024 registers of 16 bits each //Example Memory Block Specification // //Read and write operations of memory. //Memory size is 64 words of 4 bits each. module memory (Enable,ReadWrite,Address,DataIn,DataOut); input Enable,ReadWrite; input [3:0] DataIn; input [5:0] Address; output [3:0] DataOut; reg [3:0] DataOut; reg [3:0] Mem [0:63]; //64 x 4 memory (Enable or ReadWrite) if (Enable) if (ReadWrite) DataOut = Mem[Address]; //Read else Mem[Address] = DataIn; //Write else DataOut = 4'bz; //High impedance state endmodule