Memory, I/O and Microcomputer Bus Architectures

Slides:



Advertisements
Similar presentations
MEMORY popo.
Advertisements

INPUT-OUTPUT ORGANIZATION
Chapter 5 Internal Memory
Computer Organization and Architecture
Prith Banerjee ECE C03 Advanced Digital Design Spring 1998
+ 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.
1 DIGITAL DESIGN I DR. M. MAROUF MEMORY Read-only memories Static read/write memories Dynamic read/write memories Author: John Wakerly (CHAPTER 10.1 to.
D75P 34 – HNC Computer Architecture Week 4 Reading and writing to RAM. © C Nyssen/Aberdeen College 2003 All images © C Nyssen/Aberdeen College except where.
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.
1 The Basic Memory Element - The Flip-Flop Up until know we have looked upon memory elements as black boxes. The basic memory element is called the flip-flop.
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.
Lecture 4: Computer Memory
I/O Subsystem Organization and Interfacing Cs 147 Peter Nguyen
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
1 EE365 Read-only memories Static read/write memories Dynamic read/write memories.
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
Physical Memory and Physical Addressing By: Preeti Mudda Prof: Dr. Sin-Min Lee CS147 Computer Organization and Architecture.
INPUT-OUTPUT ORGANIZATION
CompE 460 Real-Time and Embedded Systems Lecture 5 – Memory Technologies.
Memory Technology “Non-so-random” Access Technology:
Faculty of Information Technology Department of Computer Science Computer Organization and Assembly Language Chapter 5 Internal 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.
Survey of Existing Memory Devices Renee Gayle M. Chua.
Chapter 5 Internal Memory. Semiconductor Memory Types.
Memory and Storage Dr. Rebhi S. Baraka
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
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.
Memory System Unit-IV 4/24/2017 Unit-4 : Memory System.
CPEN Digital System Design
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
 Seattle Pacific University EE Logic System DesignMemory-1 Memories Memories store large amounts of digital data Each bit represented by a single.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Computer Architecture Lecture 24 Fasih ur Rehman.
Feb. 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 12: State Elements, Registers, and Memory * Jeremy R. Johnson Mon. Feb.
How do you model a RAM in Verilog. Basic Memory Model.
Semiconductor Memory Types
Memory Devices 1. Memory concepts 2. RAMs 3. ROMs 4. Memory expansion & address decoding applications 5. Magnetic and Optical Storage.
Memory 2 ©Paul Godin Created March 2008 Memory 2.1.
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.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Gunjeet Kaur Dronacharya Group of Institutions. Outline I Random-Access Memory Memory Decoding Error Detection and Correction Read-Only Memory Programmable.
Computer Architecture Chapter (5): Internal Memory
RAM RAM - random access memory RAM (pronounced ramm) random access memory, a type of computer memory that can be accessed randomly;
Chapter 5 Internal Memory
William Stallings Computer Organization and Architecture 7th Edition
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.
William Stallings Computer Organization and Architecture 7th Edition
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
William Stallings Computer Organization and Architecture 8th Edition
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
Bob Reese Micro II ECE, MSU
Presentation transcript:

Memory, I/O and Microcomputer Bus Architectures Lecture 7

Summary of Previous Lecture Improving program performance Standard compiler optimizations Common sub-expression elimination Dead-code elimination Induction variables Aggressive compiler optimizations In-lining of functions Loop unrolling Using the CodeWarrior IDE for profiling and optimization Architectural code optimizations

Administrivia Supplemental Required Readings (available under Course Documents c Readings) How does ROM work? How does RAM work? How does Flash memory work?

Quote of the Day The empires of the future are the empires of the mind. Winston Churchill

Outline of This Lecture The many levels of computer systems The CPU-Memory Interface The Memory Subsystem and Technologies CPU-Bus-I/O Bus Protocols

Understanding Computer Systems at Many Levels A computer system can be viewed, understood and manipulated at many different levels, each built on those below CPU + main memory as a big array of bytes this is the view/level we've been working with so far CPU + memory controllers/chips + I/O controllers/devices this is the view/level we're going to work with during the next few weeks think of the system as a bunch of independent components talking to each other of course, there must be a communication medium and a common language

CPU ­ Memory Interface CPU ­ Memory Interface usually consists of: CPU uni­directional address bus bi­directional data bus read control line write control line ready control line size (byte, word) control line Memory access involves a memory bus transaction read: (1) set address, read and size, (2) copy data when ready is set by memory write: (1) set address, data, write and size, (2) done when ready is set address bus data bus CPU Memory Read Write Ready size

Memory Subsystem Components Memory subsystems generally consist of chips+controller Each chip provides few bits (e.g., 1­4) per access Bits from multiple chips are accessed in parallel to fetch bytes and words Memory controller decodes/translates address and control signals Controller can also be on memory chip Example: contains 8 16x1­bit chips and very simple controller address bus CPU Memory data bus Read Write Ready Size 16x8-bit memory array 0000 1-of-16 decoder 1 0 1 1 0 0 1 0 0001 1 0 0 0 0 0 0 1 address 1111 0 1 0 1 0 0 1 1 D7 D6 D5 D4 D3 D2 D1 D0 16x1-bit memory chip

Memory Memories come in many shapes, sizes and types Shapes and sizes we've discussed already (e.g., 16x1­bit)

Memory Technologies DRAM: Dynamic Random Access Memory upside: very dense (1 transistor per bit) and inexpensive downside: requires refresh and often not the fastest access times often used for main memories SRAM: Static Random Access Memory upside: fast and no refresh required downside: not so dense and not so cheap often used for caches ROM: Read­Only Memory often used for bootstrapping and such

Storage Basics Just because the CPU sees RAM as one long, thin line of bytes doesn't mean that it's actually laid out that way Real RAM chips don't store whole bytes, but rather they store individual bits in a grid, which you can address one bit at a time

SRAM Chip

SRAM Memory Timing for Read Accesses Address and chip select signals are provided tAA before data is available Outputs reflect new data tRC tAA Address A11-A0 old address new address CS WE high impedance Address Bus Dout undef Data Valid tHz 2147H 2147H High-Speed 4096x1-bit static RAM A11-A0 Din WE CS Dout tACS tRC = Read cycle time tAA = Address access time tACS = Chip select access time tHZ = Chip deselections to high­Z out

SRAM Memory Timing for Write Accesses Address and data must be stable tS time-units before write enable signal falls tWC tAA Address A11-A0 old address new address tS CS WE Address Bus 2147H High-Speed 4096X1-bit static RAM Din old data new data 2147H tHz tACS Din A11-A0 tS = Signal setup time tRC = Read cycle time tAA = Address access time tACS = Chip select access time tHZ = Chip deselections to high­Z out Din WE CS

DRAM Organization and Operations In the traditional DRAM, any storage location can be randomly accessed for read/write by inputting the address of the corresponding storage location. A typical DRAM of bit capacity 2N * 2M consists of an array of memory cells arranged in 2N rows (word-lines) and 2M columns (bit-lines). Each memory cell has a unique location represented by the intersection of word and bit line. Memory cell consists of a transistor and a capacitor. The charge on the capacitor represents 0 or 1 for the memory cell. The support circuitry for the DRAM chip is used to read/write to a memory cell.

DRAM Organization and Operations Address decoders to select a row and a column (b) Sense amps to detect and amplify the charge in the capacitor of the memory cell. (c) Read/Write logic to read/store information in the memory cell. (d) Output Enable logic controls whether data should appear at the outputs. (e) Refresh counters to keep track of refresh sequence.

DRAM Memory Access DRAM Memory is arranged in a XY grid pattern of rows and columns. First, the row address is sent to the memory chip and latched, then the column address is sent in a similar fashion. This row and column-addressing scheme (called multiplexing) allows a large memory address to use fewer pins. The charge stored in the chosen memory cell is amplified using the sense amplifier and then routed to the output pin. Read/Write is controlled using the read/write logic.

How DRAM Works

DRAM Memory Access A typical DRAM read operation: Hardware Diagram of 1. The row address is placed on the address pins visa the address bus 2. RAS pin is activated, which places the row address onto the Row Address Latch. 3. The Row Address Decoder selects the proper row to be sent to the sense amps. 4. The Write Enable is deactivated, so the DRAM knows that it’s not being written to. 5. The column address is placed on the address pins via the address bus 6. The CAS pin is activated, which places the column address on the Column Address Latch 7. The CAS pin also serves as the Output Enable, so once the CAS signal has stabilized, the sense amps place the data from the selected row and column on the Data Out pin so that it can travel the data bus back out into the system. 8. RAS and CAS are both deactivated so that the cycle can begin again. Hardware Diagram of Typical DRAM (2 N x 2N x 1)

Aligned DRAM Block Copy The source and destination block are in the same DRAM chip. There is no overlap between the source and destination blocks. Blkcp operation does use register file and is not cacheable. Add two new components in DRAM chip: a Buffer Register and a MUX (multiplexer). The Buffer Register is used to temporarily store the source row, and the MUX is used to choose the write back data used in refresh period: under normal condition, column latch should be chosen to refresh, but during row copy mode, WS is raised and Buffer Register is chosen.

DRAM Performance Specs Important DRAM Performance Considerations Random access time: time required to read any random single cell Fast Page Cycle time: time required for page mode access ­­ read/write to memory location on the most recently­accessed page (no need to repeat RAS in this case) Extended Data Out (EDO): allows setup of next address while current data access is maintained SDRAM ­ Burst Mode: Synchronous DRAMs use a self­incrementing counter and a mode register to determine the column address sequence after the first memory location accessed on a page ­­ effective for applications that usually require streams of data from one or more pages on the DRAM Required refresh rate: minimum rate of refreshes

Turning Bits Into Bytes (2x This Picture)

Critical Thinking It’s a commonly held belief that adding more RAM increases your performance. If you wanted to speed up your computer, what kind of RAM would you buy and why?

CPU ­ Bus ­ I/O CPU needs to talk with I/O devices such as keyboard, mouse, video, network, disk drive, LEDs Memory­mapped I/O Devices are mapped to specific memory locations just like RAM Uses load/store instructions just like accesses to memory Ported I/O Special bus line and instructions Address CPU Memory I/O Device Data Read Write Address CPU Data Memory I/O Read Write I/O Port Memory I/O Device

I/O Register Basics I/O Registers are NOT like normal memory Device events can change their values (e.g., status registers) Reading a register can change its value (e.g., error condition reset) so, for example, can't expect to get same value if read twice Some are read­only (e.g., receive registers) Some are write­only (e.g., transmit registers) Sometimes multiple I/O registers are mapped to same address selection of one based on other info (e.g., read vs. write or extra control bits) The bits in a control register often each specify something different and important ­­ and have significant side effects Cache must be disabled for memory­mapped addresses When polling I/O registers, should tell compiler that value can change on its own volatile int *ptr;

Up Next - Bus Architectures

Bus Protocols Protocol refers to the set of rules agreed upon by both the bus master and bus slave Synchronous bus ­ transfers occur in relation to successive edges of a clock Asynchronous bus ­ transfers bear no particular timing relationship Semi­synchronous bus ­ Operations/control initiate asynchronously, but data transfer occurs synchronously Bus CPU Device 1 Device 2 Device 3

Synchronous Bus Protocol Transfer occurs in relation to successive edges of the system clock Example: Memory address is placed on the address bus within a certain time, relative to the rising edge of the clock By the trailing edge of this same clock pulse, the address information has had time to stabilize, so the READ line is asserted Once the chip has been selected, then the memory can place the contents of the specified location on the data bus Clock stable stable Address Instruction Addr Data Addr decoding delay Master (CPU) RD Master (CPU) CS unstable stable unstable stable Data I-fetch data access time

Asynchronous Bus Protocol No system clock used Useful for systems where CPU and I/O devices run at different speeds Example: Master puts address and data on the bus and then raises the Master signal Slave sees master signal, reads the data and then raises the Slave signal Master sees Slave signal and lowers Master signal Slave sees Master signal lowered and lowers Slave signal Address I see you got it there's some data Master Slave I’ve got it I see you see I got it Data write read We call this exchange “handshaking”

Bus Arbitration Bus CPU Bus CPU What happens if multiple devices want access to the bus? Scheme 1: Every device connects to the bus request line and the first one there gets it Scheme 2: daisy chain the devices ­ devices further down the daisy chain pass the request to the CPU ­ device's priority decreases further down the daisy chain Scheme 3: one bus request line per bus and arbitrator applies arbitration policy to decide who gets bus next Bus CPU Device 1 Device 2 Device 3 Bus request line Bus CPU Request Device 1 Device 2 Device 3 Grant

Summary of Lecture The many levels of computer systems The CPU-Memory Interface The Memory Subsystem and Technologies SRAM DRAM CPU-Bus-I/O I/O Register Basics Bus Protocols Synchronous bus protocol Asynchronous bus protocol Bus arbitration