CSEE 3827: Fundamentals of Computer Systems. Storage

Similar documents
Memory and Programmable Logic

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

Memory and Programmable Logic

ENGR 303 Introduction to Logic Design Lecture 7. Dr. Chuck Brown Engineering and Computer Information Science Folsom Lake College

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

+1 (479)

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

Chapter 6 (Lect 3) Counters Continued. Unused States Ring counter. Implementing with Registers Implementing with Counter and Decoder

ELCT 912: Advanced Embedded Systems

Lecture 13: Memory and Programmable Logic

EECS150 - Digital Design Lecture 16 Memory 1

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Digital Logic & Computer Design CS Professor Dan Moldovan Spring 2010

EECS150 - Digital Design Lecture 16 - Memory

Concept of Memory. The memory of computer is broadly categories into two categories:

Introduction to SRAM. Jasur Hanbaba

Computer Organization and Assembly Language (CS-506)

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Memory & Logic Array. Lecture # 23 & 24 By : Ali Mustafa

UNIT V (PROGRAMMABLE LOGIC DEVICES)

Digital Design, Kyung Hee Univ. Chapter 7. Memory and Programmable Logic

Semiconductor Memories: RAMs and ROMs

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

SRAM. Introduction. Digital IC

Introduction to CMOS VLSI Design Lecture 13: SRAM

Digital Integrated Circuits Lecture 13: SRAM

ECE 341. Lecture # 16

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

Very Large Scale Integration (VLSI)

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

Chapter 3. SEQUENTIAL Logic Design. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris.

Chapter 5 Internal Memory

ECE369. Chapter 5 ECE369

Injntu.com Injntu.com Injntu.com R16

ECE 2300 Digital Logic & Computer Organization

CENG 4480 L09 Memory 2

ENGIN 112 Intro to Electrical and Computer Engineering

Programmable Logic Devices (PLDs)

Presentation 4: Programmable Combinational Devices

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

Computer Organization. 8th Edition. Chapter 5 Internal Memory

CS429: Computer Organization and Architecture

Address connections Data connections Selection connections

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

Semiconductor Memory Classification. Today. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. CPU Memory Hierarchy.

ECE 485/585 Microprocessor System Design

Topic #6. Processor Design

RTL Design (2) Memory Components (RAMs & ROMs)

Slide Set 10. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

PROGRAMMABLE LOGIC DEVICES

! Memory Overview. ! ROM Memories. ! RAM Memory " SRAM " DRAM. ! This is done because we can build. " large, slow memories OR

END-TERM EXAMINATION

Design and Implementation of an AHB SRAM Memory Controller

Picture of memory. Word FFFFFFFD FFFFFFFE FFFFFFFF

Storage Elements & Sequential Circuits

Read and Write Cycles

Memory Devices. Future?

Memory in Digital Systems

Memory memories memory

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture

ECE 152 Introduction to Computer Architecture

Model EXAM Question Bank

CENG 4480 L09 Memory 3

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

Memory in Digital Systems

Memory in Digital Systems

Memory & Simple I/O Interfacing

ECEN 449 Microprocessor System Design. Memories

ECE 2300 Digital Logic & Computer Organization. Single Cycle Microprocessor

R10. II B. Tech I Semester, Supplementary Examinations, May

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

ECEN 449 Microprocessor System Design. Memories. Texas A&M University

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

The D igital Digital Logic Level Chapter 3 1

SECTION-A

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

Code No: R Set No. 1

Lec-6-HW-2-digitalDesign

Read Only Memory ROM

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

Random Access Memory (RAM)

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13

Chapter 5 - Memory. Sarah L. Harris and David Money Harris. Digital Design and Computer Architecture: ARM Edi>on 2015

COMPSCI 210 S Computer Systems 1. 6 Sequential Logic Circuit

EE 3170 Microcontroller Applications

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment

Memory classification:- Topics covered:- types,organization and working

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

MEMORY AND PROGRAMMABLE LOGIC

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers

P-2 Digital Design & Applications

Transcription:

CSEE 387: Fundamentals of Computer Systems Storage

The big picture General purpose processor (e.g., Power PC, Pentium, MIPS) Internet router (intrusion detection, pacet routing, etc.) WIreless transceiver (e.g., wifi, iphone) addr data_out C L combinational logic sequential logic, finite state machines data_in r_en w_en Memory storage elements (net) D Q logic gates, boolean algebra flip-flops, latches

Registers A flip-flop can store 1 bit. A register is a set of n flip flops that stores n bits. 3

Register w. load control input (v1) Encapsulate logic inside register Send cloc signal to flip-flops only when Load=1 This technique is called cloc gating 4

Register w. load control input (v) Encapsulate logic inside flip-flop EN signal selects between current value of register (Q) or new value (D) Preferable to v1 as it leaves cloc signal unadultered. 5

Shift register A register capable of shifting bits laterally in one or both directions 6

Shift register w. parallel load Three modes: Serial input Parallel input No input 7

Shift register w. parallel load Serial input operation (enabled by Shift) 8

Shift register w. parallel load Parallel load operation (enabled by Load AND Shift) 9

Shift register w. parallel load Do nothing operation (enabled by Load AND Shift) 10

Ripple Counter D X C0 D Y C1 D Z C Each flip-flop feeds Q into D: complements its value X s Q feeds into Y s cloc, Y s Q feeds into Z s cloc - why? 11

Ripple Counter D X C0 D Y C1 Y s cloc D Z C Note: each FF is negative-edge triggered 1

Ripple Counter D X C0 D Y C1 D C Z C 0 0 0 0 1 1 1 1 0 0 C1 0 0 1 1 0 0 1 1 0 0 C0 0 1 0 1 0 1 0 1 0 1 13

Ripple Counter with Positive Edge Triggering D X C0 D Y C1 D Z C C 0 1 1 1 1 0 0 0 0 1 1 C1 0 1 1 0 0 1 1 0 0 1 1 C0 0 1 0 1 0 1 0 1 0 1 0 14

Serial Counter (counting upward) D X C0 C 0 0 0 0 1 1 1 1 0 0 C1 0 0 1 1 0 0 1 1 0 0 C0 0 1 0 1 0 1 0 1 0 1 Y(t+1) differs from Y(t) only when X(t)=1 D Y C1 Z(t+1) differs from Z(t) when both X(t)=1 and Y(t)=1 so Y changes when X (evaluates to TRUE), Z changes when XY (evaluates to TRUE) X = X, Y = Y X, Z = Z XY D Z C for the jth bit (in a j+1 bit counter), Bj = Bj Bj-1Bj-...B1B0 15

Register MUXing Reg 00 In En Reg 01 In En In1 In Some -input, 1-output combinational circuit (e.g., +, -) Reg 10 In En Reg 11 In En Suppose have 4 -bit registers with Enable (for writing) combinational logic to perform some operation OP Goal: Allow system to select registers registers selected for inputs (A & B) 1 register for output (C) At end of cycle: C = A OP B Note: A&B can be same register, C can also be same as A or B 16

Register MUXing eample e.g., Reg01 = Reg01 OP Reg10 Reg10 = Reg10 OP Reg10 (if OP were +, this would do Reg10 *= ) OP selecting: be able to choose from different OPs, e.g. Reg01 = Reg01 + Reg10 Reg10 = Reg01 * Reg00 17

Register MUXing Reg 00 In En C A B SEL SEL -to-4 DEC Reg 01 In En Reg 10 In En 4-to-1 MUX SEL 4-to-1 MUX In1 In Some -input, 1-output combinational circuit (e.g., +, -) Reg 11 In En 18

Register MUXing Reg 00 In En C A B SEL SEL -to-4 DEC Reg 01 In En Reg 10 In En 4-to-1 MUX 4-to-1 MUX In Some -input, 1-output combinational circuit (e.g., +, -) Decoder selects In1 which register is enabled (will be written to) SEL Reg 11 In En 19

Register MUXing Reg 00 In En C A B SEL SEL -to-4 DEC Reg 01 In En Reg 10 In En Reg 11 In En 4-to-1 MUX SEL 4-to-1 MUX In1 In Some -input, 1-output combinational circuit (e.g., +, -) Top MUX selects using A, determines which register feeds into In1. Bottom MUX does same using B for In. 0

Eample: Reg01 = Reg10 OP Reg01 Reg 00 In En 01 10 01 SEL SEL -to-4 DEC Reg 01 In En Reg 10 In En 4-to-1 MUX SEL 4-to-1 MUX In1 In Some -input, 1-output combinational circuit (e.g., +, -) Reg 11 In En 1

Register MUXing and OP MUXing SEL -to-4 DEC Reg 00 In En Reg 01 In En Reg 10 In En SEL 4-to-1 MUX SEL 4-to-1 MUX C A B Op1 Op Op3 Opsel 4-to-1 MUX Op4 Reg 11 In En

Serial Adder Circuit C Clear SI B Shift Reg SO X Y Z Full Adder S C Serial Input RESET C Clear SI A Shift Reg SO D Carry C R CLOCK New Value pushed into A register Result pushed into B register If Shift Reg holds N bits, SUM starts calculating during N+1st cycle Done after N cycles

Serial Adder Circuit Eample: 0101 + 0011 = 1100 RESET Serial Input CLOCK C Clear SI C Clear SI B Shift Reg A Shift Reg SO SO X Y Z D R Full Adder C Carry To time 7, just rolling values into registers by adding with 0 s (B output) Adding starts time 8 with least significant bits S C Time In A B S C 0 1 0000 0000 0 0 1 0 1000 0000 0 0 1 0100 0000 0 0 3 0 1010 0000 0 0 4 0 0101 0000 1 0 5 0 1010 1000 0 0 6 1 1101 0100 1 0 7 1 0110 1010 0 0 8 X 0011 0101 0 1 9 X X011 0010 0 1 10 X XX01 0001 1 1 11 X XXX0 1000 1 0 1 X XXXX 1100 0 0

Memory interface Stores data in word units A word is several bytes (16-, 3-, or 64-bit words are typical) write operations store data to memory read operations retrieve data from memory DataIn n Address Read Enable MEMORY words n bits per word An n-bit value can be read from or written to each -bit address n Data 5

Conceptual view of memory 6

Memory array architecture (1) Memory is a D array of bits. Each bit in a cell. :4 Decoder cell bitline bitline 1 bitline 0 11 wordline 3 Address 10 wordline 01 wordline 1 00 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 7

Memory array architecture () Address is decoded into set of wordlines. Wordlines select row to be read/written. Only one wordline=1 at a time. :4 Decoder bitline bitline 1 bitline 0 11 wordline 3 Address 10 wordline 01 wordline 1 00 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 8

Memory array architecture (3) When writing, contents of word written to bitlines. :4 Decoder bitline bitline 1 bitline 0 11 wordline 3 Address 10 wordline 01 wordline 1 00 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 9

Memory cell abstraction Cell is base element of memory that stores a single bit wordline bit bitline wordline bit bitline 0 Z 1 0 0 1 1 1 Implemented with a tristate buffer. Value Z does not drive output wire to either a 0 or 1. Implementation of cell varies with type of memory. Copyright 007 Elsevier 30

Types of memory Random access memory (RAM) Volatile (no storage when power off) Read-only memory (ROM) Non-volatile (retains data when powered off) Fast reads and writes Historically called RAM because equal time to read/write all addresses (in contrast to serial-access devices such as a hard dis or tape). Somewhat misleading as ROM also can have uniform access time. Fast reads, writing is impossible or slow (again, misleading name) Historically called ROMs because written by permanently blowing fuses (so rewriting was impossible). Modern ROMs, such as flash memory in ipod are rewritable, just slowly. Dynamic RAM (DRAM) Cell stores data w. capacitors wordline bit Flip-flop bitline Static RAM (SRAM) wordline Cell stores data w. cross-coupled inverters bitline Register bitline ROM Mas-programmed (at chip fab) Hard Dis PROM Fuse- or antifuseprogrammed FLASH Electrically erasable floating gate with multiple erasure and programming modes Copyright 007 Elsevier 31

Volatile storage (RAM) comparisons Flip-flop SRAM DRAM Transistors / bit ~0 6 1 Density Low Medium High Access time Fast Medium Slow Destructive read? No No Yes (refresh required) Power consumption High Medium Low 3

Storage hierarchy Non-volatile CPU Registers Cache (SRAM) Main memory (DRAM) storage (Hard dis or solid-state drive) Fast access to small amount of data Slow access to large amount of data 33

Bottom-up eamination of SRAM circuits :4 Decoder bitline bitline 1 bitline 0 11 wordline 3 Address 10 01 00 wordline wordline 1 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 34

Bottom-up eamination of SRAM circuits () Bits in cells (modeled by an SR latch) :4 Decoder bitline bitline 1 bitline 0 Address 11 10 01 00 wordline 3 wordline wordline 1 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 35

Bottom-up eamination of SRAM circuits (3) Cells wired into bitslices. :4 Decoder bitline bitline 1 bitline 0 Address 11 10 01 00 wordline 3 wordline wordline 1 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 36

Bottom-up eamination of SRAM circuits (4) Bloc diagram of a bitslice :4 Decoder bitline bitline 1 bitline 0 Address 11 10 01 00 wordline 3 wordline wordline 1 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 37

Bottom-up eamination of SRAM circuits (5) Address decoded to select one row of bitslice for read/write :4 Decoder bitline bitline 1 bitline 0 Address 11 10 01 00 wordline 3 wordline wordline 1 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 38

Bottom-up eamination of SRAM circuits (6) To increase word size, add bitslices. :4 Decoder bitline bitline 1 bitline 0 Address 11 10 01 00 wordline 3 wordline wordline 1 wordline 0 Data Data 1 Data 0 Copyright 007 Elsevier 39

Coincident cell selection Decode address into both row and column select signals How many words in this RAM? How many bits per word? 40

Coincident cell selection w. larger words How many words in this RAM? How many bits per word? 41

Coincident cell selection saves decode logic STORAGE COLUMNS 15-bit address DECODER 3,768 row selects... 3K words STORAGE COLUMN 9-bits of address DECODER #1 51 row selects... 51 words 1 byte... 1 byte...64 column selects... DECODER # (3,800 gates) (608 gates) 6-bits of address 4

Multi-chip memories If you need a larger memory than any available chip Wire multiple RAM chips together to wor in concert as one large memory 43

Memory Timing: Write eample Even though memory not on the cloc, timing still an issue: inputs are on the cloc must first be properly enabled for reading or writing before data is transferred Appropriate address chosen Appropriate segment enabled Appropriate read/write configuration set Data valid: period during which writing must be performed Time Address Mem enable Read/Write Data Valid Write eample 44

Memory Timing: Read eample Even though memory not on the cloc, timing still an issue: inputs are on the cloc must first be properly enabled for reading or writing before data is transferred Appropriate address chosen Appropriate segment enabled Appropriate read/write configuration set Data valid: period during which writing must be performed Time Address Mem enable Read/Write Data Valid Read eample CPU to Mem communication delay 45

Programmable Logic Devices Programmable logic devices (PLDs) Structured lie memories Used to implement combinational logic X on array logic means wire connected to logic gate (e.g. above) Connections can be either permanent (e.g., fuse, mas) or not (e.g., Flash) 46

General PLD architecture... Fied AND, programmable OR = Programmable ROM (PROM) Programmable AND, fied OR = Programmable Array Logic (PAL) Programmable AND, programmable OR = Programmable Logic Array (PLA) 47

Programmable ROM (PROM) A B C D m0 m1... m14 m15 E F G H Fied (X) AND, programmable (X) OR 48

Programmable Array Logic (PAL) A B C D... E F Programmable (X) AND, fied (X) OR 49

Programmable Logic Array (PLA) A B C D... E F G H Programmable (X) AND, programmable (X) OR 50