Mohamed Younis CMCS 411, Computer Architecture 1 CMCS 411-101 Computer Architecture Lecture 26 Bus Interconnect May 7, 2001 www.csee.umbc.edu/~younis/CMSC411/

Slides:



Advertisements
Similar presentations
Bus arbitration Processor and DMA controllers both need to initiate data transfers on the bus and access main memory. The device that is allowed to initiate.
Advertisements

Bus Design.
IT253: Computer Organization
Computer Architecture
Digital Computer Fundamentals
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.
CSCE 212 Chapter 8 Storage, Networks, and Other Peripherals Instructor: Jason D. Bakos.
IOSystems.1 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output  Important metrics for an I/O system l Performance.
EE30332 Ch8 DP – 1 Ch 8 Interfacing Processors and Peripherals Buses °Fundamental tool for designing and building computer systems divide the problem into.
S. Barua – CPSC 440 CHAPTER 8 INTERFACING PROCESSORS AND PERIPHERALS Topics to be covered  How to.
Cache Performance, Interfacing, Multiprocessors CPSC 321 Andreas Klappenecker.
Lecture 25 Buses and I/O (2)
Interfacing Processors and Peripherals Andreas Klappenecker CPSC321 Computer Architecture.
1  1998 Morgan Kaufmann Publishers Chapter 8 Storage, Networks and Other Peripherals.
Processor Design 5Z0321 Processor Design 5Z032 Chapter 8 Interfacing Processors and Peripherals Henk Corporaal.
1  1998 Morgan Kaufmann Publishers Chapter 8 Interfacing Processors and Peripherals.
1 CSE SUNY New Paltz Chapters 8 Interfacing Processors and Peripherals.
1 Interfacing Processors and Peripherals I/O Design affected by many factors (expandability, resilience) Performance: — access latency — throughput — connection.
Chapter 8: Part II Storage, Network and Other Peripherals.
Module I Overview of Computer Architecture and Organization.
Lecture 12 Today’s topics –CPU basics Registers ALU Control Unit –The bus –Clocks –Input/output subsystem 1.
CS-334: Computer Architecture
Computer Architecture Lecture 08 Fasih ur Rehman.
Storage & Peripherals Disks, Networks, and Other Devices.
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,
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Top Level View of Computer Function and Interconnection.
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.
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.
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,
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.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
CS2100 Computer Organisation Input/Output – Own reading only (AY2015/6) Semester 1 Adapted from David Patternson’s lecture slides:
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 16: Introduction to Buses and Interfaces.
1 Ó1998 Morgan Kaufmann Publishers Chapter 8 I/O Systems.
1 Lecture 14 Buses and I/O Data Transfer Peng Liu
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
1  2004 Morgan Kaufmann Publishers Page Tables. 2  2004 Morgan Kaufmann Publishers Page Tables.
CSCE 385: Computer Architecture Spring 2014 Dr. Mike Turi I/O.
1 Computer Architecture & Assembly Language Spring 2001 Dr. Richard Spillman Lecture 19 – IO II.
Buses: Presentation Outline
Interconnection Structures
Bus Interfacing Processor-Memory Bus Backplane Bus I/O Bus
What is a bus? Slow vehicle that many people ride together
Chapter 8-A BUS.
Virtual Memory Main memory can act as a cache for the secondary storage (disk) Advantages: illusion of having more physical memory program relocation protection.
Input-output I/O is very much architecture/system dependent
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.
William Stallings Computer Organization and Architecture
Presentation transcript:

Mohamed Younis CMCS 411, Computer Architecture 1 CMCS Computer Architecture Lecture 26 Bus Interconnect May 7, CMSC411.htm

Mohamed Younis CMCS 411, Computer Architecture 2 Lecture’s Overview q Previous Lecture: I/O systems architecture è I/O role and interface to the processor è I/O design issues I/O devices è Types and characteristics è Performance metrics and optimization factors è I/O benchmarks Magnetic Disk è Access time and performance characteristics è Theory of operation and historical trend è Disk non-functional attributes (reliability and availability) q This Lecture: Memory to processor interconnect

Mohamed Younis CMCS 411, Computer Architecture 3 Typical I/O System Processor Cache Memory - I/O Bus Main Memory I/O Controller Disk I/O Controller I/O Controller Graphics Network interrupts q The connection between the I/O devices, processor, and memory are usually called (local or internal) buses q Communication among the devices and the processor use both bus protocols and interrupts * Figure is courtesy of Dave Patterson Common performance metrics: Throughput: I/O bandwidth Response time: Latency

Mohamed Younis CMCS 411, Computer Architecture 4 Connecting I/O Devices q A bus is a shared communication link, which uses one set of wires to connect multiple subsystems q The two major advantages of the bus organization are: è Versatility: adding new devices and moving current ones among computers è Low cost: single set of wires are shared in multiple ways q The major disadvantage of a bus is that it creates a communication bottleneck possibly limiting throughput q The maximum bus speed is largely limited by physical factors: the length of the bus and the number of devices q Increasing bus bandwidth (throughput) can be increased using buffering which slow down bus access (response time) q A bus generally contains: è control lines: requests and acknowledge signals è data lines: data, addresses, commands q A bus protocol is enforced to define the semantics of the bus transaction and arbitrate bus usage

Mohamed Younis CMCS 411, Computer Architecture 5 Bus Transactions A bus transaction includes two parts: Ê sending the address Ë receiving or sending data Read transaction: transfers data from memory to processor or output device Write transaction: transfers data from processor or an input device to memory

Mohamed Younis CMCS 411, Computer Architecture 6 Types of Buses Ê Processor-memory (local) bus: q Generally short and high speed to maximize the bandwidth Ë I/O Bus q Lengthy and supportive to multiple data rates and devices q Do not interface directly to memory but use local or backplane bus q Must handle wide range of device latency, bandwidth and characteristics Ì Backplane Bus q Received that name because they lay in the back of the chassis structure q Allows memory, processor and I/O devices to be connected q Requires additional logic to interface to local and I/O buses q Local buses are usually design-specific while I/O and backplane buses are portable and often follow industry-recognized standard q A System can use one backplane or a combination of three buses to link memory, processor and the various I/O devices

Mohamed Younis CMCS 411, Computer Architecture 7 Bus Configurations

Mohamed Younis CMCS 411, Computer Architecture 8 Synchronous vs. Asynchronous Buses q Synchronous Bus: è Clock based protocol and time-based control lines è Simple interface logic and fast bus operations è Every device on the bus must run at the same clock rate è Because clock skew, synchronous busses cannot be long è Local buses are often synchronous q Asynchronous Bus: è Not clock-based  can accommodate a wide variety of devices è Not limited in length because of clock skew è Uses a handshaking protocol to ensure coordination among communicating parties è Requires additional control lines and logic to manage bus transactions q Example: 1. Memory read address when it sees ReadReq 2. I/O device sees Ack and release ReadReq 3. Memory drops Ack when ReadReq is low 4. Memory sets DataRdy when data is available 5. I/O device reads data and set Ack 6. Memory drops DataRdy when sees Ack. 7. I/O device drops Ack When DataRdy is low

Mohamed Younis CMCS 411, Computer Architecture 9 Bus Performance (An Example) One synchronous bus has a clock cycle time of 50 ns with each bus transmission taking 1 clock cycle. Another asynchronous bus requires 40 ns per handshake. The data portion of both is 32-bit wide. Find the bandwidth of each bus for one-word reads from 200-ns memory. Answer: The step for the synchronous bus are: 1. Send the address to memory: 50 ns 2. Read the memory: 200 ns 3. Send the data to the device: 50 ns The maximum bandwidth is 4 bytes every 300 ns  300 ns The step for the asynchronous bus are: 1. Memory read address when seeing ReadReq : 40 ns 2,3,4. Data ready & handshake: max(3  40 ns, 200 ns)= 200 ns 5,6,7. Read & Ack. : 3  40 ns = 120 ns The maximum bandwidth is 4 bytes every 360 ns  360 ns

Mohamed Younis CMCS 411, Computer Architecture 10 Increasing Bus Bandwidth q Much of bus bandwidth is decided by the protocol and timing characteristics q The following are other factors for increasing the bandwidth: Data bus width: è Transfers multiple words requires fewer bus cycles è Increases the number of bus lines Multiplexing Address & data line: è Uses separate lines for data and address speeds up transactions è Simplifies the bus control logic è Increases the number of bus lines Block transfer: è Transfers multiple words in back-to-back bus cycles without releasing the bus or sending new address è Increases response time since transactions will be longer è Increases complexity of the bus control logic Increasing the number of bus lines has very significant impact on the bus cost

Mohamed Younis CMCS 411, Computer Architecture 11 Bus Access q A single bus master is very simple to implement but requires the involvement of the processor in every transaction q Multi-master buses requires arbitration to coordinate bus usage among potential access requesters q I/O should occur without processor's continuous and low-level involvement q A bus master, e.g. processor, controls access to the bus and initiates and manage all bus requests q A bus slave, e.g. memory, only responds to access requests but never initiate its own requests Single master bus transaction

Mohamed Younis CMCS 411, Computer Architecture 12 Bus Arbitration q Bus arbitration coordinates bus usage among multiple devices using request, grant, release mechanism q Arbitration usually tries to balance two factors in choosing the granted device: è Devices with high bus-priority should be served first è Maintaining fairness to ensure that no device will be locked out from the bus q Arbitration time is an overhead  should be minimized to expedite bus access Arbitration Schemes Distributed arbitration by self-selection: (e.g. NuBus used on Apple Macintosh) è Uses multiple request lines for devices è Devices requesting the bus determine who will be granted access è Devices associate a code with their request indicating their priority è Low priority devices leave the bus if they notice a high priority requester Distributed arbitration by collision detection: (e.g. Ethernet) è Devices independently request the bus and assume access è Simultaneous requests results in a collision è A scheme for selecting among colliding parties is used

Mohamed Younis CMCS 411, Computer Architecture 13 Arbitration Schemes (Cont.) Daisy chain arbitration: (e.g. VME bus) è The bus grant line runs through devices from highest priority to lowest è High priority devices simply intercept the grant signal and prevent the low priority device from seeing the signal è Simple to implement (use edge triggered bus granting) è Low priority devices can starve (some designs prevent bus usage in two successive clock cycles) è Limits the bus speed (grant signals take long to reach the last device in the chain) è Allow fault propagation (failure of a high priority device might lock the bus) Centralized, parallel arbitration: (e.g. PCI bus) è Uses multiple request-lines and devices independently request bus (one line / device) è A centralized arbiter selects a device and notifies it to be the bus master è The arbiter can be a bottleneck for bus usage

Mohamed Younis CMCS 411, Computer Architecture 14 Bus Standards q I/O bus serves as a way of expanding the machine and connecting new peripherals q Standardizing the bus specifications ensure compatibility and portability of peripherals among different computers q Popularity of a machine can make its I/O bus a de facto standard, e.g. IBM PC-AT bus q Examples of widely known bus standards are Small Computer Systems Interface (SCSI), Ethernet, and Peripheral Computer Interface (PCI)

Mohamed Younis CMCS 411, Computer Architecture 15 Conclusion q Summary è Memory to processor interconnect Definition of bus structure Bus transactions Types of buses Bus Standards è Bus Performance and Protocol Synchronous versus Asynchronous buses Bandwidth optimization factors è Bus Access Single versus multiple master bus Bus arbitration approaches q Next Lecture è Interfacing I/O devices to memory, processor and OS Reading assignment includes section 8.4 in the text book