1 IKI20210 Pengantar Organisasi Komputer Kuliah No. 20: DMA & Standard I/O Bus 27 November 2002 Bobby Nazief Johny Moningka

Slides:



Advertisements
Similar presentations
Lecture 15: Busses and Networking (1)
Advertisements

Bus Design.
IT253: Computer Organization
Ceg3420 L17 Bus.1 DAP Fa97, U.CB CEG3420 Computer Design Lecture 18: Bus Design.
I/O Organization popo.
Lecture 21Comp. Arch. Fall 2006 Chapter 8: I/O Systems Adapted from Mary Jane Irwin at Penn State University for Computer Organization and Design, Patterson.
1  1998 Morgan Kaufmann Publishers Interfacing Processors and Peripherals.
Datorteknik BusInterfacing bild 1 Bus Interfacing Processor-Memory Bus –High speed memory bus Backplane Bus –Processor-Interface bus –This is what we usually.
IOSystems.1 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output  Important metrics for an I/O system l Performance.
S. Barua – CPSC 440 CHAPTER 8 INTERFACING PROCESSORS AND PERIPHERALS Topics to be covered  How to.
Lecture 25 Buses and I/O (2)
Interfacing Processors and Peripherals Andreas Klappenecker CPSC321 Computer Architecture.
CS152 / Kubiatowicz Lec /10/99©UCB Fall 1999 CS152 Computer Architecture and Engineering Lecture 21 Buses and I/O #1 November 10, 1999 John Kubiatowicz.
Chapters 8 (partial coverage).
1 CSE SUNY New Paltz Chapters 8 Interfacing Processors and Peripherals.
CS152 / Kubiatowicz Lec24.1 4/30/03©UCB Spring 2003 CS152 Computer Architecture and Engineering Lecture 24 Buses (continued) Disk IO Queueing Theory April.
TECH CH03 System Buses Computer Components Computer Function
Lecture 12 Today’s topics –CPU basics Registers ALU Control Unit –The bus –Clocks –Input/output subsystem 1.
Computer Architecture Lecture 08 Fasih ur Rehman.
MicroComputer Engineering Bus slide 1 What is a bus? Slow vehicle that many people ride together –well, true... A bunch of wires...
Digital System Bus A bus in a digital system is a collection of (usually unbroken) signal lines that carry module-to-module communications. The signals.
CPU BASICS, THE BUS, CLOCKS, I/O SUBSYSTEM Philip Chan.
1chapter 8 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Important metrics for an I/O system –Performance.
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture Peripherals.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Block I/O. 2 Definition Any I/O operation in which the unit of data is several words, not just one word or byte.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
3/8/2002CSE Buses Buses Pentium 4 Processor L1 and L2 caches Memory Controller Hub RDRAM Disks RDRAM I/O Controller Hub MB/sec (33 MHz, 32.
Digital Computer Architecture Lecture 10b I/O Introduction: Storage Devices, Metrics, & Productivity Pradondet Nilagupta Original note from Professor.
Bus Mr. Mukul Varshney. Bus A bus, in computing, is a set of physical connections (cables, printed circuits, etc.) which can be shared by multiple hardware.
The Big Picture: Where are We Now? Control Datapath Memory Processor Input Output °I/O Systems Control Datapath Memory Processor Input Output Network.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
August 1, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 9: I/O Devices and Communication Buses * Jeremy R. Johnson Wednesday,
1 IKI10230 Pengantar Organisasi Komputer Bab 4.2: DMA & Bus 26 Maret 2003 Bobby Nazief Qonita Shahab bahan kuliah:
CSIE30300 Computer Architecture Unit 11: Bus and I/O Systems Hsin-Chou Chi [Adapted from material by and
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
Datorteknik F1 bild 1 What is a bus? Slow vehicle that many people ride together –well, true... A bunch of wires...
EEE440 Computer Architecture
I/O—I/O Busses Professor Alvin R. Lebeck Computer Science 220 Fall 2001.
Datorteknik F1 bild 1 What is a bus? Slow vehicle that many people ride together –well, true... A bunch of wires...
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
Csci 136 Computer Architecture II – Buses and IO
CS2100 Computer Organisation Input/Output – Own reading only (AY2015/6) Semester 1 Adapted from David Patternson’s lecture slides:
Bus, Cache and shared memory. Bus System System bus of a computer system operates on contention basis Effective bandwidth available to each processor.
CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Bus Protocols and Interfacing Bus basics I/O transactions MPC555 bus Reference:
Bus Protocols and Interfacing (adopted Steven and Marios’s slides) Bus basics I/O transactions MPC823 bus Reference: Chapter 13 of “White Book”
1 Lecture 14 Buses and I/O Data Transfer Peng Liu
Mohamed Younis CMCS 411, Computer Architecture 1 CMCS Computer Architecture Lecture 26 Bus Interconnect May 7,
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
1 Computer Architecture & Assembly Language Spring 2001 Dr. Richard Spillman Lecture 19 – IO II.
Buses: Presentation Outline
Interconnection Structures
Department of Computer Science and Engineering
What is a bus? Slow vehicle that many people ride together
Chapter 8-A BUS.
Overview of Computer Architecture and Organization
Lecture 14 Buses and I/O Data Transfer
Peng Liu Lecture 14 I/O Peng Liu
Buses: Presentation Outline
Overview of Computer Architecture and Organization
BUSES FUNCTIONAL UNITS Ch.Ramesh Embedded Systems.
Presentation transcript:

1 IKI20210 Pengantar Organisasi Komputer Kuliah No. 20: DMA & Standard I/O Bus 27 November 2002 Bobby Nazief Johny Moningka bahan kuliah: Sumber: 1. Hamacher. Computer Organization, ed Materi kuliah CS152, th. 1997, UCB. 3. Materi kuliah CS61C, th. 2000, UCB.

2 Review: I/O – OS – User’s Program I/O Device User’s Program I/O Services Device Driver OS getchar(); System.in.readLine(); putchar(); System.out.println(); Device Driver

3 Improving Data Transfer Performance °Thus far: OS give commands to I/O, I/O device notify OS when the I/O device completed operation or an error °What about data transfer to I/O device? Processor busy doing loads/stores between memory and I/O Data Register: Wait: sbisDiskControl,1; is Disk ready? rjmpWait; no inr0,DiskData; get byte stX+,r0; store it decr16; done? bneWait; not yet °Ideal: specify the block of memory to be transferred, be notified on completion? Direct Memory Access (DMA) : a simple computer transfers a block of data to/from memory and I/O without involving the processor, interrupting upon done

4 Delegating I/O Responsibility from the CPU: DMA °Direct Memory Access (DMA): External to the CPU Act as a maser on the bus Transfer blocks of data to or from memory without CPU intervention CPU IOC device Memory DMAC CPU sends a starting address, direction, and length count to DMAC. Then issues "start". DMAC provides handshake signals for Peripheral Controller, and Memory Addresses and handshake signals for Memory. Issue: Who controls the BUS? (CPU or DMAC may do so) How?

5 Bus Arbitration

6 Arbitration: Obtaining Access to the Bus °One of the most important issues in bus design: How is the bus reserved by a devices that wishes to use it? °Chaos is avoided by a master-slave arrangement: Only the bus master can control access to the bus: It initiates and controls all bus requests A slave responds to read and write requests °The simplest system: Processor is the only bus master All bus requests must be controlled by the processor Major drawback: the processor is involved in every transaction Bus Master Bus Slave Control: Master initiates requests Data can go either way

7 Multiple Potential Bus Masters: the Need for Arbitration °Bus arbitration scheme: A bus master wanting to use the bus asserts the bus request A bus master cannot use the bus until its request is granted A bus master must signal to the arbiter after finish using the bus °Bus arbitration schemes usually try to balance two factors: Bus priority: the highest priority device should be serviced first Fairness: Even the lowest priority device should never be completely locked out from the bus °Bus arbitration schemes can be divided into four broad classes: Daisy chain arbitration: single device with all request lines. Centralized, parallel arbitration: see next-next slide Distributed arbitration by self-selection: each device wanting the bus places a code indicating its identity on the bus. Distributed arbitration by collision detection: Ethernet uses this.

8 The Daisy Chain Bus Arbitrations Scheme °Advantage: simple °Disadvantages: Cannot assure fairness: A low-priority device may be locked out indefinitely The use of the daisy chain grant signal also limits the bus speed Bus Arbiter Device 1 Highest Priority Device N Lowest Priority Device 2 Grant Release Request wired-OR

9 Centralized Parallel Arbitration °Used in essentially all processor-memory busses and in high-speed I/O busses Bus Arbiter Device 1 Device N Device 2 Grant Req

10 More on BUS

11 Types of Buses °Processor-Memory Bus (design specific) Short and high speed Only need to match the memory system -Maximize memory-to-processor bandwidth Connects directly to the processor Optimized for cache block transfers °I/O Bus (industry standard) Usually is lengthy and slower Need to match a wide range of I/O devices Connects to the processor-memory bus or backplane bus °Backplane Bus (standard or proprietary) Backplane: an interconnection structure within the chassis Allow processors, memory, and I/O devices to coexist Cost advantage: one bus for all components

12 A Computer System with One Bus: Backplane Bus °A single bus (the backplane bus) is used for: Processor to memory communication Communication between I/O devices and memory °Advantages: Simple and low cost °Disadvantages: slow and the bus can become a major bottleneck °Example: IBM PC - AT ProcessorMemory I/O Devices Backplane Bus

13 A Two-Bus System °I/O buses tap into the processor-memory bus via bus adaptors: Processor-memory bus: mainly for processor-memory traffic I/O buses: provide expansion slots for I/O devices °Apple Macintosh-II NuBus: Processor, memory, and a few selected I/O devices SCCI Bus: the rest of the I/O devices ProcessorMemory I/O Bus Processor Memory Bus Bus Adaptor Bus Adaptor Bus Adaptor I/O Bus I/O Bus

14 A Three-Bus System °A small number of backplane buses tap into the processor-memory bus Processor-memory bus is used for processor memory traffic I/O buses are connected to the backplane bus °Advantage: loading on the processor bus is greatly reduced ProcessorMemory Processor Memory Bus Bus Adaptor Bus Adaptor Bus Adaptor I/O Bus ( e.g., SCSI ) Backplane Bus ( e.g., PCI ) I/O Bus

15 What defines a bus? Bunch of Wires Physical / Mechanical Characterisics – the connectors Electrical Specification Timing and Signaling Specification Transaction Protocol

16 Synchronous and Asynchronous Bus °Synchronous Bus: Includes a clock in the control lines A fixed protocol for communication that is relative to the clock Advantage: involves very little logic and can run very fast Disadvantages: -Every device on the bus must run at the same clock rate -To avoid clock skew, they cannot be long if they are fast °Asynchronous Bus: It is not clocked It can accommodate a wide range of devices It can be lengthened without worrying about clock skew It requires a handshaking protocol

17 Simplest bus paradigm °All agents operate syncronously °All can source / sink data at same rate °=> simple protocol just manage the source and target

18 Simple Synchronous Protocol °Even memory busses are more complex than this memory (slave) may take time to respond it need to control data rate BReq BG Cmd+Addr R/W Address Data1Data2 Data

19 Typical Synchronous Protocol °Slave indicates when it is prepared for data xfer °Actual transfer goes at bus rate BReq BG Cmd+Addr R/W Address Data1Data2 Data Data1 Wait

20 Asynchronous Handshake Address Data Write Req Ack Master Asserts Address Master Asserts Data Next Address Write Transaction t0 t1 t2 t3 t4 t5 °t0 : Master has obtained control and asserts address, direction, data ° Waits a specified amount of time for slaves to decode target °t1: Master asserts request line °t2: Slave asserts ack, indicating data received °t3: Master releases req °t4: Slave releases ack

21 Read Transaction Address Data Read Req Ack Master Asserts AddressNext Address t0 t1 t2 t3 t4 t5 °t0 : Master has obtained control and asserts address, direction, data ° Waits a specified amount of time for slaves to decode target\ °t1: Master asserts request line °t2: Slave asserts ack, indicating ready to transmit data °t3: Master releases req, data received °t4: Slave releases ack

22 I/O BUS

23 The I/O Bus Problem °Designed to support wide variety of devices full set not know at design time °Allow data rate match between arbitrary speed deviced fast processor – slow I/O slow processor – fast I/O

24 PCI: Peripheral Component Interconnect

25 PCI Read/Write Transactions °All signals sampled on rising edge °Centralized Parallel Arbitration °All transfers are (unlimited) bursts °Address phase starts by asserting FRAME# °Next cycle “initiator” asserts cmd and address °Data transfers happen on when IRDY# asserted by master when ready to transfer data TRDY# asserted by target when ready to transfer data transfer when both asserted on rising edge °FRAME# deasserted when master intends to complete only one more data transfer

26 PCI Read Transaction – Turn-around cycle on any signal driven by more than one agent

27 PCI Write Transaction

28 PCI Optimizations °Push bus efficiency toward 100% under common simple usage like RISC °Bus Parking retain bus grant for previous master until another makes request granted master can start next transfer without arbitration °Arbitrary Burst length intiator and target can exert flow control with xRDY target can disconnect request with STOP (abort or retry) master can disconnect by deasserting FRAME arbiter can disconnect by deasserting GNT °Delayed (pended, split-phase) transactions free the bus after request to slow device

Backplane/IO Bus Survey BusSBusTurboChannelMicroChannelPCI OriginatorSunDECIBMIntel Clock Rate (MHz) async33 AddressingVirtualPhysicalPhysicalPhysical Data Sizes (bits)8,16,328,16,24,328,16,24,32,648,16,24,32,64 MasterMultiSingleMultiMulti ArbitrationCentralCentralCentralCentral 32 bit read (MB/s) Peak (MB/s) (222) Max Power (W)

30 SCSI: Small Computer System Interface °Asynchronous Bus °Distributed Arbitration by Self-selection °Data transfers happen on when: C/D is deasserted by initiator I/O determines transfer direction between initiator & target REQ is asserted by target to request transfer cycle ACK is asserted by initiator when it has completed a transfer

31 SCSI Signals Description Signal Description BSY indicates that the bus is being used SEL used by an initiator to select a target, or by a target to reselect an initiator. C/D indicates control or data information is on the data bus I/0 control the direction of data movement on the data bus MSG driven by a target during the Message phase REQ driven by a target to request a REQ/ACK handshake ACK driven by an initiator to acknowledge a REQ/ACK ATN driven by an initiator to indicate the attention condition (indicator has a message for the target). RST hard reset condition DB 8 data-bit signals, plus a parity-bit signal that form a Data Bus DB(7) is the most significant bit and has the highest prioty Bit number, significance, and priority decrease downward

32 SCSI Arbitration

33 SCSI Read/Write Transactions

34 SCSI Roadmap

35 SCSI Bus Characteristics Type Bus Width (bits) Bus Speed (MB's/sec) Max. Devices Bus Length (Meters) SCSI Fast SCSI81083 Ultra SCSI Ultra2 SCSI LVD Fast Wide SCSI Ultra Wide SCSI Ultra2 Wide SCSI Ultra3 SCSI Ultra320 SCSI

36 Summary of Bus Options °OptionHigh performanceLow cost °Bus widthSeparate addressMultiplex address & data lines& data lines °Data widthWider is fasterNarrower is cheaper (e.g., 32 bits)(e.g., 8 bits) °Transfer sizeMultiple words hasSingle-word transfer less bus overheadis simpler °Bus mastersMultipleSingle master (requires arbitration)(no arbitration) °ClockingSynchronousAsynchronous °ProtocolpipelinedSerial