Digital Logic Design 234262 Alex Bronstein Lecture 3: Memory and Buses.

Slides:



Advertisements
Similar presentations
Homework Reading Machine Projects Labs
Advertisements

Computer Organization and Architecture
Department of Computer Engineering
ECE 301 – Digital Electronics Memory (Lecture #21)
Chapter 10. Memory, CPLDs, and FPGAs
11/29/2004EE 42 fall 2004 lecture 371 Lecture #37: Memory Last lecture: –Transmission line equations –Reflections and termination –High frequency measurements.
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.
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 Prepared by:Anh Q. Vu Course:CS-147 Professor:Sin-Min Lee Date:Summer
Memory Taken from Digital Design and Computer Architecture by Harris and Harris and Computer Organization and Architecture by Null and Lobur.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
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.
Chapter 6 Memory and Programmable Logic Devices
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.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n Latches and flip-flops. n RAMs and ROMs.
Memory and Storage Dr. Rebhi S. Baraka
Digital Design: Principles and Practices
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub.
1 COMP541 Memories - I Montek Singh Oct 7, Topics  Overview of Memory Types Read-Only Memory (ROM): PROMs, FLASH, etc. Read-Only Memory (ROM):
Computer Architecture Lecture 24 Fasih ur Rehman.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /3/2013 Lecture 9: Memory Unit Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE CENTRAL.
Architectural Considerations A Review of Some Architectural Concepts.
Computer Architecture Chapter (5): Internal Memory
Chapter 2 content Basic organization of computer What is motherboard
Memory and Programmable Logic
Prof. Hsien-Hsin Sean Lee
Lecture 3. Lateches, Flip Flops, and Memory
Memories.
Chapter 5 Internal Memory
William Stallings Computer Organization and Architecture 7th Edition
COMP211 Computer Logic Design
COMP541 Memories - I Montek Singh Oct 10, 2016.
MEMORY.
Recap DRAM Read Cycle DRAM Write Cycle FAST Page Access Mode
Internal Memory.
Chapter 7.2 Computer Architecture
Morgan Kaufmann Publishers
Memory Systems 7/21/2018.
Module IV Memory Organization.
introduction to computer
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.
Dr. Michael Nasief Lecture 2
William Stallings Computer Organization and Architecture 7th Edition
Electronics Technology
Computer Architecture & Operations I
Chapter 11 Sequential Circuits.
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits
William Stallings Computer Organization and Architecture 8th Edition
Hakim Weatherspoon CS 3410 Computer Science Cornell University
EE345: Introduction to Microcontrollers Memory
Computer Organization
Module IV Memory Organization.
Computer Architecture
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
Semiconductor Memories
TOPIC : Memory Classification
Introduction to Computing Chapter 0
MICROPROCESSOR MEMORY ORGANIZATION
Overview Last lecture Digital hardware systems Today
part 2: implementation, analysis & design
Chapter 4 Internal Memory
William Stallings Computer Organization and Architecture 8th Edition
Lecture 10: Sequential Blocks Arrays
Presentation transcript:

Digital Logic Design 234262 Alex Bronstein Lecture 3: Memory and Buses

Abstraction Hierarchy Application Software Operating System (threads, files, exceptions) Computer Architecture (instruction set) Micro-Architecture (execution pipeline) Logic (adders, multipliers, FSMs) Digital Circuits (gates) Analog Circuits (amplifiers) Process and Devices (MOS FET transistors) Physics (electrons, holes, tunneling, band gap)

Reminder: D Flip Flop Positive edge-triggered D flip-flop (DFF) Logical characteristic: Output Q assumes the value of D after CLK rise Timing characteristic: If input is held constant tSU before and tH after clock rise then old output will stay valid at least tcCQ and new output will become valid at most tpCQ after clock rise D Q CLK CLK tSU tH D NEW tcCQ Q OLD NEW tpCQ

Under the Hood 1 DFF = 2×gated D-latches Based on positive feedback of inverting gates ~20 transistors / bit of memory Pros: Fast! Cons: Chip area (=$) Power

Memory Array Many circuits can be shared in a memory array N address bits (2N addresses) M bits word width Decoder selects and asserts a wordline Data stored in bit cells are transferred to or from bitlines One word can be accessed at a time Memories differ mainly by the bit cell structure wordline 0 1 N stored bit cell ADDR N:2N DECODER . bitline 0 2N DM-1 D1 D0

Multi-Ported Memory Array N N A1 A2 N:2N DECODER N:2N DECODER D0 Allows more than one word to be accessed at the same time

Illustrative Read Cycle N tRC WE3 A1 N M RD1 A1 A2 M N tAA tOH RD2 A3 N RD1 OLD DATA DATA VALID WD CLK 2 read ports: Address A1 onto data output RD1, A2 onto RD2 Read cycle is driven by A1/A2 tRC – read cycle time tAA – address access time (propagation delay) tOH – output hold from address change (contamination delay)

Illustrative Write Cycle CLK N WE3 A1 N M A2 RD1 WE3 M tWR N tAS RD2 A3 N A3 WD tDW tDH CLK WD DATA VALID 1 write port: Writes data WD onto address A3 on clock rising edge if write enable WE3 is asserted tAS – address setup (before WE3 is asserted) tWR – write recovery tDW, tDH – setup/hold times

Memory Types Random Access Memory (RAM) – volatile Static RAM (SRAM) Dynamic RAM (DRAM) Read-Only Memory (ROM) – non-volatile ROM Programmable ROM (PROM) One-time programmable (OTP) Erasable PROM (EPROM) Electrically Erasable PROM (EEPROM) Flash Memory

Static Memory (SRAM) Cross-coupled inverters to store bit 2 access transistors to read/write data 6 transistors / bit Multiported SRAM is used to implement register files Pros: Fast (but slower than FF) Cons: Chip area (but less than FF) bitline bitline wordline

Dynamic Memory (DRAM) Capacitor to store bit Access transistor to read/write data Pros: Area Cost Cons: Slow (output not actively driven by a transistor) Power (due to refresh) More complicated controllers Page open latencies bitline wordline

Non-Volatile Memory (ROM) Access transistor: 0 bit No transistor: 1 bit Content established at manufacturing Fuse programmable ROM (aka one-time programmable, OTP): Transistor is present in all cells Fuse blown once to program content bitline bitline wordline bit 1 bit 0 bitline bitline wordline bit 1 bit 0

EPROM/EEPROM Floating gate transistor Programming by application of higher voltage (hot charge injection into floating gate) Erasure by EPROM: exposing the die to UV light EEPROM: applying reverse voltage (electron tunneling from floating gate) bitline wordline

Look-up Table (LUT) ROM can implement any CL function N-bit address, M-bit word width = N-bit input, M-bit output Often used for controllers, FSMs, nonlinear transformations Depending on the function, logic/arithmetic implementation might be advantageous

System Bus From Latin omnibus (=“for all”); English plural: buses or busses A communication system connecting internal components of a computer Common data highway is cheaper than many point-to-point links PRIMARY MEMORY SECOND. MEMORY CPU I/O CONTROL ADDRESS DATA

System Bus Address bus – selects device (and address within) PRIMARY MEMORY SECOND. MEMORY CPU I/O CONTROL ADDRESS DATA Address bus – selects device (and address within) Control bus – specifies what action the device needs to perform Data bus – transfers data

Master and Slave PRIMARY MEMORY SECOND. MEMORY CPU I/O WRITE READ CONTROL 123FA ADDRESS <DATA> DATA Electrically a bus is a wire (actually, a bundle thereof) Bus master – device that drives the bus (its output sets the voltage) Bus slave – device that is driven by the bus (its input receives the signals from the bus)

Tri-State Logic 1 1 X 1 BUS 1 CPU OUTPUT RAM OUTPUT

Tri-State Logic EN EN Add Enable signal to disconnect output from the bus When disconnected, the output is floating (high impedance, high Z)

Tri-State Logic Tri-state buffers Tri-state inverters Active high enable Active low enable Active high enable Active low enable X Y X Y X Y X Y _ _ E E E E _ _ E X Y 0 0 Z 0 1 Z 1 0 0 1 1 1 E X Y 0 0 0 0 1 1 1 0 Z 1 1 Z E X Y 0 0 Z 0 1 Z 1 0 1 1 1 0 E X Y 0 0 1 0 1 0 1 0 Z 1 1 Z Tri-state logic can be in 3 states: 0, 1, and Z Buffers amplify signal, improve fanout and isolate systems Inverters further invert output

Bidirectional Tristate Buffer to bus direction bus from bus Allows to access the bus for reading or writing

Bus Arbiter A multi-master bus requires an arbiter to decide which master is going to control the bus at each clock cycle Arbiter can be centralized (a dedicated circuit) such as in PCI, or decentralized implementing some handshake protocol

Direct Memory Access (DMA) Using the CPU to directly control I/O devices can be very costly It would be better if an I/O device (e.g., a harddrive) could transfer data directly to/from RAM without the CPU needing to execute any in/out instructions Direct Memory Access Controller (DMAC) has the capability to become the bus master to control the bus to transfer data between I/O device and memory CPU sets up the DMAC to transfer a sequence of bytes DMAC can handle several concurrent transfers (channels) competing over the bus

DMAC Bus Arbitration I/O Device DMAC Memory CPU DMA Request Hold Request asserted Hold Acknowledge asserted DMA Acknowledge Data transfer via bus . Cycle stealing Data transfer via bus Hold Request deasserted Hold Acknowledge deasserted