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.

Slides:



Advertisements
Similar presentations
Computer Architecture and Organization
Advertisements

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.
1 Dynamic Interconnection Networks Buses CEG 4131 Computer Architecture III Miodrag Bolic.
Computer Buses A bus is a common electrical pathway between multiple devices. Can be internal to the CPU to transport data to and from the ALU. Can be.
Chapter 7: System Buses Dr Mohamed Menacer Taibah University
IT253: Computer Organization
Computer Architecture
Digital Computer Fundamentals
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.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 1:Interrupts and shared memory dr.ir. A.C. Verschueren.
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Parallel I/O Interface Memory CPUI/OTransducer Actuator Output Device Input Device Parallel Interface Microprocessor / Microcontroller Direct memory access(DMA)
Interfacing Processors and Peripherals Andreas Klappenecker CPSC321 Computer Architecture.
TCSS 372A Computer Architecture. Getting Started Get acquainted (take pictures) Discuss purpose, scope, and expectations of the course Discuss personal.
TECH CH03 System Buses Computer Components Computer Function
68000 Interface Timing Diagrams Outline –68000 Read Cycle –68000 Write Cycle Goal –Understand bus cycles –Learn how to attach memory, peripherals.
Chapter #6: Sequential Logic Design 6.2 Timing Methodologies
CSS Lecture 2 Chapter 3 – Connecting Computer Components with Buses Bus Structures Synchronous, Asynchronous Typical Bus Signals Two level, Tri-state,
CPU Chips The logical pinout of a generic CPU. The arrows indicate input signals and output signals. The short diagonal lines indicate that multiple pins.
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.
Spring EE 437 Lillevik 437s06-l2 University of Portland School of Engineering Advanced Computer Architecture Lecture 2 NSD with MUX and ROM Class.
CPU BASICS, THE BUS, CLOCKS, I/O SUBSYSTEM Philip Chan.
MICROPROCESSOR INPUT/OUTPUT
THE COMPUTER SYSTEM. Lecture Objectives Computer functions – Instruction fetch & execute – Interrupt Handling – I/O functions Interconnections Computer.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Top Level View of Computer Function and Interconnection.
Interrupts, Buses Chapter 6.2.5, Introduction to Interrupts Interrupts are a mechanism by which other modules (e.g. I/O) may interrupt normal.
CSS 372 Oct 4th - Lecture 3 Chapter 3 – Connecting Computer Components with Buses Bus Structures Synchronous, Asynchronous Typical Bus Signals Two level,
August 1, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 9: I/O Devices and Communication Buses * Jeremy R. Johnson Wednesday,
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Expected Course Outcome #Course OutcomeCoverage 1Explain the concepts that underlie modern.
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
EEE440 Computer Architecture
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
Chapter 4 MARIE: An Introduction to a Simple Computer.
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.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 16: Introduction to Buses and Interfaces.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
Unit 1 Lecture 4.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
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.
Computer Architecture. Top level of Computer A top level of computer consists of CPU, memory, an I/O components, with one or more modules of each type.
Interconnection Structures
Department of Computer Science and Engineering
Chapter 6 Input/Output Organization
Appendix B The Basics of Logic Design
Chapter 3 Top Level View of Computer Function and Interconnection
Overview of Computer Architecture and Organization
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture
Presentation transcript:

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 are visible to all the modules on the bus. The bus is used to communicate data from one module to another. At any one time one module is considered the Master if it Initiates the bus transaction cycle (requesting data or storing data in another module).

Example of Buses ISA (Industry Standard Architecture): Used to equip 486 based computers. Now being phased out for desktops as considered too slow. VL-BUS or VESA Bus: Introduced to speed up graphic display for ISA based computers. PCI (Peripheral Components Interconnect): This is the standard in desktop today. The PCI bus also supports Plug and Play. VME (Versatile Modular Eurocard): Mainly used in special applications and in industrial systems.

Bus Functions Bus lines can be split into three groups Address, data and commands: Bus transfer control lines: (also called `data handshake lines’) control timing of information transfers on the bus. These start and stop bus transactions regardless of transaction type. Arbitration lines: guarantee that only one module at a time transmits on the bus i.e. they prevent clashes by arbitrating which module gains access to the bus. The winning module will be called the BUS MASTER. Other modules are BUS SLAVES.

Bus Transaction Protocols Also called the Bus Handshake. A bus transfer protocol is just a convention for data transmission that involves a sequence of actions according to some timing specification. There are three classes of bus transfer protocols: SYNCHRONOUS - clocked transfer with one clock period per transfer. ASYNCHRONOUS - unclocked transfer. SEMI-SYNCHRONOUS - clocked-transfer with more than one clock period per transfer.

Synchronous Buses Have a clock signal which is distributed on the bus to synchronise all modules to a common time base. The typical MASTER/SLAVE structure Read/Write timing for a system with clock rising edge starting transaction and clock falling edge ending transaction.

Synchronous Transfer Cycles

Signal Preparation and timing with respect to Clock Signal skew delay is the change in the relative timing of signals on a bus due to differences in propagation delays, signal paths, gate delays and logic thresholds: Bus protocol must incorporate set-up and hold times that are long enough to satisfy the maximum of address and data requirements

Synchronous Bus Speeds Effects that limit bus speed are: setup time of data and control signals before clock : — TSetup address decode delay : — TDecode skew time of address and data signals relative to a rising and relative to a falling clock edge : — 2 TSkew hold time of data at a buffer input : — TH round-trip TP for READ cycle. To calculate the bus cycle time, we must add these to the maximum response time of the slaves plus the internal delay of the master between transactions. Bus cycle time, TCYC, cannot be smaller than the sum

Read Cycle Round-Trip Time For example if a MASTER generates clock: suppose the master drives the clock inactive at the end of the cycle. Tp later, slave sees clock deactivate and stops driving the data lines. data will be stable at the masters input buffers one Tp after the slave stops driving the data lines. This time delay has to be accounted for when calculating bus cycles

Advantages/Disadvantages Simplicity - single line control Generally lead to fastest possible transactions since has minimal extra delay overheads Disadvantages Bus length is usually short because of the requirement of distributing the clock. System clock rate must be set to handle slowest slave on bus.

Asynchronous Buses Overcomes the disadvantages of a synchronous bus but at expense of complexity and reduced speed. The safest and most common asynchronous bus is the Fully Interlocked, Asynchronous Bus. An example is the VME (Versatile Modular Eurocard) bus Requires two control signals, one from the MASTER and one from the SLAVE.

Fully Interlocked Asynchronous Transfer

Hold Times for Slaves Hold times for the SLAVE can be guaranteed in a WRITE cycle by the SLAVE delaying its rising edge, and in READ cycle by the MASTER delaying its falling edge for the master’s hold requirements. For a READ the SLAVE rising edge is delayed to satisfy the slave’s address hold time requirements.

Asynchronous Bus Transaction Speed Minimum cycle time for READ operation must account for skew and setup time of address at the slave address decode at the slave skew and hold time of data returned by slave two round-trip propagation delays of MASTER and SLAVE signals The purpose of the second round-trip propagation delay is to convey completion information that is not bounded in advance (as is the case in the synchronous bus). Asynchronous buses can be VERY LONG buses.

Semisynchronous Buses Wait-State Protocols Combines advantages of synchronous and asynchronous buses. An example is the PC AT (ISA) bus. Requires 2 control signals: CLOCK from master and WAIT from slave.

Wait State Transactions

Wait State Transactions If the slave is fast enough to respond in one clock cycle it does not raise WAIT and the bus behaves like a synchronous one. If the slave cannot respond in one cycle it raises WAIT and the master waits. Slave drops WAIT when it can respond and the master completes the transaction as for the synchronous protocol. Restricts bus length due to requirement that WAIT must be asserted within a fixed period of time.

Bus Arbitration Protocols Bus Arbitration protocols decide bus mastership and hence access when more than one module is requesting the bus. Several arbitration methods, and we look at two here: 2-Wire Daisy Chain Bus Arbitration 3-Wire Daisy Chain ...

2-Wire Daisy Chain Modules close to bus arbiter have higher priority than modules further away. Simple 2-wire systems must be implemented with care!

Example of 2-Wire Daisy Chain Failure Consider the following sequence: M2 requests bus at a time when M1 does not Arbiter senses Request, issues Grant M1 passes Grant to M2 M2 accepts Grant, blocks Gout to M3, and takes bus then shortly after M1 wants bus, sees Grant and takes bus!!

Example of 2-Wire Daisy Chain Failure MORAL: Looking only at Grant is not adequate. Modules must inspect both Request and Grant lines to determine if a lower-priority module is actively controlling bus. Grant H and Request H define this condition. One possible safe arbitration scheme for a 2-wire daisy chain is: Module must see grant go high after it’s request is raised. Grant not passed to lower modules if no request from them

3-Wire Daisy Chain BUS BUSY is asserted by module which has control of bus Modules wanting bus raise the REQUEST line ARBITER issues GRANT when REQUEST active and BUS BUSY inactive Modules not requesting pass GRANT down chain Module takes bus when it has local request pending BUS BUSY is inactive it detects rising edge of GRANT

Daisy Chain Summary The 3-wire protocol has higher reliability than the 2-wire protocol - inactive BUS BUSY and the rising edge of GRANT must be seen before a module will attempt to take the bus. The 3-wire protocol is thus less sensitive to glitches. The 3-wire scheme or variations of it are used for most high performance buses. The asynchronous nature of arbitration protocols means that none are completely safe. The reason for this surprising result is that the asynchronous arbitration signals must be recognised by synchronous devices. When set-up times are not met, the phenomenon of metastable states can cause failure.