Memory. Memory structures are critical to any large, complex digital design.



Similar documents
A N. O N Output/Input-output connection

Memory Basics. SRAM/DRAM Basics

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Memory. The memory types currently in common usage are:

1. Memory technology & Hierarchy

Computer Architecture

RAM & ROM Based Digital Design. ECE 152A Winter 2012

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access?

Chapter 5 :: Memory and Logic Arrays

Chapter 7 Memory and Programmable Logic

Memory unit. 2 k words. n bits per word

Handout 17. by Dr Sheikh Sharif Iqbal. Memory Unit and Read Only Memories

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

With respect to the way of data access we can classify memories as:

Computer Systems Structure Main Memory Organization

SOLVING HIGH-SPEED MEMORY INTERFACE CHALLENGES WITH LOW-COST FPGAS

Computer Architecture

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

The Central Processing Unit:

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Objectives. Units of Memory Capacity. CMPE328 Microprocessors (Spring ) Memory and I/O address Decoders. By Dr.

1 / 25. CS 137: File Systems. Persistent Solid-State Storage

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Christian Schindelhauer

Chapter 9 Semiconductor Memories. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

Random Access Memory (RAM) Types of RAM. RAM Random Access Memory Jamie Tees SDRAM. Micro-DIMM SO-DIMM

Semiconductor Memories

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

FLASH TECHNOLOGY DRAM/EPROM. Flash Year Source: Intel/ICE, "Memory 1996"

Memory Systems. Static Random Access Memory (SRAM) Cell

Open Flow Controller and Switch Datasheet

RAM. Overview DRAM. What RAM means? DRAM

MICROPROCESSOR AND MICROCOMPUTER BASICS

Contents. Overview Memory Compilers Selection Guide

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Lecture 9: Memory and Storage Technologies

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Lecture 5: Gate Logic Logic Optimization

Sequential Circuit Design

Introduction to Digital System Design

Random-Access Memory (RAM) The Memory Hierarchy. SRAM vs DRAM Summary. Conventional DRAM Organization. Page 1

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

CHAPTER 7: The CPU and Memory

Slide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng

Chapter 2 Logic Gates and Introduction to Computer Architecture

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

Memory ICS 233. Computer Architecture and Assembly Language Prof. Muhamed Mudawar

1 Gbit, 2 Gbit, 4 Gbit, 3 V SLC NAND Flash For Embedded

7a. System-on-chip design and prototyping platforms

路 論 Chapter 15 System-Level Physical Design

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Semiconductor Device Technology for Implementing System Solutions: Memory Modules

Discovering Computers Living in a Digital World

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

Understanding Memory TYPES OF MEMORY

Low Power AMD Athlon 64 and AMD Opteron Processors

The 104 Duke_ACC Machine

Microprocessor & Assembly Language

MPC603/MPC604 Evaluation System

Memory Testing. Memory testing.1

Switch Fabric Implementation Using Shared Memory

Memory Elements. Combinational logic cannot remember

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

2.0 Command and Data Handling Subsystem

Am186ER/Am188ER AMD Continues 16-bit Innovation

CHAPTER 16 MEMORY CIRCUITS

Counters and Decoders

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

Microprocessor or Microcontroller?

Basic Computer Organization

Hardware: Input, Processing, and Output Devices. A PC in Every Home. Assembling a Computer System

User s Manual HOW TO USE DDR SDRAM

DDR4 Memory Technology on HP Z Workstations

Table 1: Address Table

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Designing VM2 Application Boards

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

1-Mbit (128K x 8) Static RAM

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

SECTION C [short essay] [Not to exceed 120 words, Answer any SIX questions. Each question carries FOUR marks] 6 x 4=24 marks

OpenSPARC T1 Processor

AC : PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces

8741A UNIVERSAL PERIPHERAL INTERFACE 8-BIT MICROCOMPUTER

9/14/ :38

CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE. Ioan Lemeni

Using Altera MAX Series as Microcontroller I/O Expanders

Computer Systems Structure Input/Output

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

Transcription:

Memory

Memory Memory structures are critical to any large, complex digital design. 2

Memory Memory structures are crucial in digital design. ROM, PROM, EPROM, RAM, SRAM, (S)DRAM, RDRAM,.. All memory structures have an address bus and a data bus Possibly other control signals to control output etc. E.g. 4 Bit Address bus with 5 Bit Data Bus 2 4 x 5 ROM/RAM ADDR<3:0> DOUT<4:0> 3

Memory Internal organisation Lookup Table of values For each address there is a corresponding data output 16 possible address values with 5 bit output (16 x 5 ROM) ADDR<3:0> ADDR 0000 0001 DOUT<4:0> DOUT 10101 11111 1111 11001 4

Memory Usually consider a repository for data or program code. Indexing of the data and ability to both read and write suggests a mailslot analogy. Byte = 8 bits Word = whatever data width you re using But, especially when considering read only, Lookup Table Truth Table ADDR 0000 0001 1111 DOUT 10101 11111 11001 5

ROM k-input, n-output Read Only Memory (ROM) could be 2 k x n element lookup table k-input, n-output truth table k-input, n-output combinatorial logic block DOUT(0) = ADDR(3).ADDR(2).ADDR(1).ADDR(0) + ADDR(3).ADDR(2).. Any k-input, n-output combinatorial block is available Benefits Configure once PCB complete Flatten complex logic hierarchy to faster design Simple to create using high level language - no minimisation. 6

ROM - VHDL VHDL Code Various forms of coding possible E.g. if addr = 0000 then Or case addr is, when 0000 => (better) A neater approach is to use a table of constants See next slide! Could also easily add in further control signals etc. 7

ROM - VHDL use ieee.numeric_std.all; architecture BEHAVIOR of ROM is type romtable is array (0 to 15) of std_logic_vector(4 downto 0); constant romdata : romtable := ( 10101, 11111, etc.) ); begin process (ADDR) begin DOUT <= ROMDATA (to_integer(unsigned(addr))); end process; end BEHAVIOR; 8

ROM - VHDL Result after synthesis is simply a combinatorial logic implementation of the ROM i.e. DOUT(0) = ADDR(0) + ADDR(1) In practical terms, memory structures can be implemented on Silicon much more efficiently by use of technology specific implementation E.g. I need a 16 x 4 ROM with the values. As noted above - use high level language to calculate the values. For simulation/ small structures the above approach is feasible! 9

ROM - Internal Structure Historically 10

ROM - Internal Structure Why not just wires? 11

ROM - Internal Structure Modern structure. 12

ROM - Internal Structure The problem of decoding A k-input ROM requires a k-to-2 k decoder Such a decoder requires 2 k, k-input NAND gates, k buffers and k inverters, each with fanout of 2 k-1. 1Mbyte memory would obviously require over 1 million 20 input NAND gates, and 40 buffers/inverters with fanout of half a million, or a long (delay ridden) buffer chain. Ugh. And just how does such a beast fit into the system timing. Answer these questions when dealing with RAM. 13

Types of ROM - mask ROM Connections between word and bit lines are made by altering one or more interconnect masks in the fabrication process. 14

Types of ROM - mask ROM -2 Ideal for high volume, low cost production. Turn around on mask production and NRE (non recurring engineering) costs make them pointless for prototyping. 15

Types of ROM - PROM Connections between word and bit lines destroyed by vaporising fusible links. Bipolar transistors typically used in these devices, so relatively high power, but fast nothing much faster than a wire in a microelectronic circuit! OTP (one time programmable) - obviously. Cheaper than EPROM or EEPROM and so often used in short production runs, or where the contents of the ROM may be altered right up to product launch but then set in stone. 16

Types of ROM - PROM - 2 Technology can be employed in the look up tables / fuse maps of OTP PLDs or, more rarely FPGAs. 17

Types of ROM - EPROM EPROM: Erasable, Programmable, Read Only Memory EEPROM: Electrically Erasable, Programmable, Read Only Memory flash EEPROM: a hybrid of the two. typically today EEPROM and flash EEPROM are both applied to flash EEPROM technology. 18

Types of ROM - EPROM - 2 Non volatile - 70% of charge remains after 10 years 19

Types of ROM - EPROM - 3 Device EPROM EEPROM flash EEPROM Channel-Floating 100 nm 10 nm 10 nm Gate Programme Avalanche Breakdown Fowler-Nordheim tunnelling Avalanche Breakdown Programming Time micro s milli s micro s Erasure UV light Fowler-Nordheim tunnelling Fowler-Nordheim tunnelling Erasure Time kilo s milli s / wordmilli s / word Programme/Erasure Cycles 100 10 000 10 000 20

E/EPROM Applications Firmware for embedded systems Microcontrollers - staggeringly huge market modems, graphics cards, etc. Embedded OS software for palmtops, set-top boxes, Bootstrap loaders Relatively cheap to produce. As markets expand, economies of scale make cheaper. OTP devices are now usually EPROMs without quartz lids. 21

E/EPROM Applications - 2 Technology is often employed in look up tables / fuse maps of PLDs or FPGAs Both PROMs and EEPROMs are readily available from 16 kbyte to 8 Mbyte configurations. Multiple flash EEPROMs can be packaged into flash card solid state memories. Can lever 40 mp3 encoded CD tracks into the largest sold today. 22

Random Access Memory Static, Dynamic, Synchronous and Asynchronous

RAM - Overview RAM (random access memory) read and write to any location given a valid address Historically term had more meaning when tape drives and punched cards were used for mass storage. Today hard disks are almost random, and modern RAM is not completely random. 24

RAM - Overview SRAM (static) Formed from internal latches - 6 transistors per bit. Latch will store information as long as power supplied. Inherently synchronous. Integrable. Fast, 12 ns access time direct from Farnell Fast, 4 ns access time in ECL from Cypress On chip caches, off chip caches, HD caches, 25

RAM - Overview DRAM (dynamic) Storage of charge on a capacitor gated by a transistor 1 ish transistor per bit. High packing density, large cheap memory, Cheap + economies of scale = very cheap. Commodity item. Less integrable Seriously faster than hard disk, 70 ns direct from Farnell Main memory These days most DRAM is also synchronous SDRAM 26

RAM - Overview SDRAM today PC100, k=64, 64 bit datapath at 100MHz How many bytes per second throughput / bandwidth? How many ns per clock cycle at 100MHz? Didn t we just say it took 70 ns to supply a byte from Farnell? PC133, k=64, 64 bit datapath at 133MHz How many bytes per second throughput / bandwidth? 27

RAM - Trends RDRAM (Rambus DRAM) PC600, k=16, at 266MHz, clocked on each edge! PC800, k=16, at 400MHz, clocked on each edge! Bandwidths? History Nintendo 64, Intel i820 chipset (bleugh), Playstation 2, not the Nintendo Dolphin, and practically no-one else. 28

RAM - Trends RDRAM Benefits But Fewer pins, so smaller PCB Internal guts does good look-ahead for streamed memory access. Proprietary ($$) However more difficult initial design due to high speed Streamed memory access random access memory Big heatsinks (not really built for your pretty Mac Cube) 29

RAM - Trends DDRDRAM (Double data rate DRAM) PC1600, k=64, at 100MHz, clocked on each edge! PC2100, k=64, at 133MHz, clocked on each edge! Benefits Cheaper Lower power consumption Better for truly random access (but not streamed) Already used in graphics cards AMD and almost everyone else apart from Intel. 30

RAM - interface Unless specifically designed (dual port), memory cannot be read from and written to at the same time. Instead of read and write, use r/^w (or write enable) and chip select signals. 31

Where are we? VHDL VHDL Combinatorial logic Counters, registers, state machines Memory ROM, SRAM, DRAM Arithmetic Logic Unit (ALU) Datapaths Sequencing and Control 32

async SRAM - internal structure Single SRAM cell BUG!! 33

async SRAM - internal structure 34

async SRAM - 16 1 The wrong way 35

async SRAM - 16 1 36

RAM - timing Read process Choose desired word by applying address Ensure r/^w high Push chip select high and wait for a clock edge Read timing (CY7C102A, 256K 4 Static RAM) t AA, Address to valid data (12ns max) t OHA, Data hold from address change (3 ns min) t ACS, chip select to data valid (12 ns max) t CSLZ, chip select to low impedance (3 ns min) t CSHZ, chip select to high impedance (6 ns max) 37

RAM - timing 38

RAM - timing Write process Choose desired word slot by applying address to address lines Push r/^w low Push chip select low and apply data before it s raised high again. Write timing (CY7C102A) t AS, address set to write start (0 ns min) t CSW, chip enable pulse length (10 ns min) t DS, data setup to wite end (7 ns min) t DH, data hold to write end (0 ns min) all this assuming CS controlled write 39

RAM - timing 40

RAM - timing Read process similar to ROMs Latches - from schematic obviously no clock But aren t all our devices supposed to be synchronous? Edge triggered flip-flops would double silicon area Designers just accept the hassle in real systems. 41

synchronous SRAM - collaring/glue 42

sync SRAM Follow the same line as Wakerly Digital Design Principles and Practices - revise from 10.3 Chapter 6 of Mano & Kine Logic and Computer Design Fundamentals is fine as well. 43

sync SRAM - read operations 44

sync SRAM - write operations Problem? 45

sync SRAM - write operations Address delays are naturally longer than data delays. Need to add delay sections to keep the timing correct. Perfectly possible to do but in most memory systems not needed - two stage operation is usually helpful for the rest of the system. 46

sync SRAM - write operations Another problem! Need two cycles per memory access 47

sync SRAM - write operations 48

sync SRAM - write operations? 49

sync SRAM - write operations 50

sync SRAM - write operations ZBT SRAM (zero burst turnaround) shows an alternate method of solving the problem of the address needing to hang around for two clock cycles. Store it in another register Downside, waste of floorplan area.. Upside, can pipeline writes or interleave reads and writes. Wakerly - p865 Is it worth it? IBM POWER architecture. 51

sync SRAM - 1M x 8 bits How do we link multiple memories together? 52

sync SRAM - 1M x 16 bits 53

sync SRAM - 4M x 8 bits 54

DRAM Memory element is entirely different in detail Destructive Read Leakage Need for analogue row latch circuitry to amplify sense signal and feedback refresh. 55

DRAM - overall structure P.S. No Clock! 56

DRAM - read cycle Address to row address register put row data into row latch Recycle row latch back to row Pull out bit from row and send to output 57

DRAM - write cycle Address to row address register put row data into row latch Supply data bit and enable writing Read bit and refresh 58

DRAM - refresh cycle Address to row address register put row data into row latch Recycle row latch back to row 59

DRAM - refresh cycle 4Mx4bit DRAM requires each bit to be refreshed at least every 64 ms 4096 rows (1024 columns) so 4096 refreshes in 64 ms Available time therefore 15.625 µs Actual refresh time is 60 ns per row. Less than 1%, so negligible if distributed 60

DRAM - refresh cycle Refresh cycle shown needs an external DRAM controller to step through the rows and supply refresh signals at appropriate times More modern method is CAS before RAS refresh (memory uses the otherwise unused CAS before RAS input to initiate a refresh cycle) which is associated with an internal refresh address counter. DRAM controller only chooses refresh times. 61

DRAM - other types EDO DRAM Still used in older machines Instead of output tri-state being controlled by CAS line becoming active on read cycle, an output enable signal is used. CAS still controls output timing, OE controls output tri-state Burst mode reads can happen much more quickly as no Z state between each one (extended data out) SDRAM Discussed before, collar some DRAM with synchronisers as in SRAM above, and then play pipelining tricks internally. 62