Chapter 5 Input/Output Organization. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Similar documents
Unit 5. Memory and I/O System

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION

INPUT/OUTPUT ORGANIZATION

INPUT/OUTPUT ORGANIZATION

UNIT V INPUT OUTPUT ORGANIZATION

ACCESSING I/O DEVICES

INPUT/OUTPUT ORGANIZATION

HANDLING MULTIPLE DEVICES

UNIT 2 MACHINE INSTRUCTIONS & PROGRAMS (CONT.)

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture


Generic Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals

Organisasi Sistem Komputer

INPUT-OUTPUT ORGANIZATION

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

ECE 341. Lecture # 19

1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals.

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

Modes of Transfer. Interface. Data Register. Status Register. F= Flag Bit. Fig. (1) Data transfer from I/O to CPU

Chapter 3. Top Level View of Computer Function and Interconnection. Yonsei University

INPUT-OUTPUT ORGANIZATION

8. Interfacing Processors and Peripherals

Programmed I/O Interrupt-Driven I/O Direct Memory Access (DMA) I/O Processors. 10/12/2017 Input/Output Systems and Peripheral Devices (02-2)

STANDARD I/O INTERFACES

SRI VIDYA COLLEGE OF ENGINEERING AND TECHNOLOGY,VIRUDHUNAGAR

UNIT-I: BASIC STRUCTURE OF COMPUTERS

2 MARKS Q&A 1 KNREDDY UNIT-I

Chapter 7 : Input-Output Organization

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

Chapter 9 Pipelining. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 3 Machine Instructions & Programs. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Digital System Design

Computer Architecture CS 355 Busses & I/O System

INTERFACING THE ISCC TO THE AND 8086

Top-Level View of Computer Organization

CS152 Computer Architecture and Engineering Lecture 20: Busses and OS s Responsibilities. Recap: IO Benchmarks and I/O Devices

Buses. Disks PCI RDRAM RDRAM LAN. Some slides adapted from lecture by David Culler. Pentium 4 Processor. Memory Controller Hub.

Unit 1. Chapter 3 Top Level View of Computer Function and Interconnection

Interconnection Structures. Patrick Happ Raul Queiroz Feitosa

14 CS / IT 403 II/IV B.Tech (Regular)DEGREE EXAMINATION

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1

Digital Design Laboratory Lecture 6 I/O

Chapter 8. Input Output Organization

Chapter 8. A Typical collection of I/O devices. Interrupts. Processor. Cache. Memory I/O bus. I/O controller I/O I/O. Main memory.

4 Multiplexer. Y Fig Keyboard Scan Matrix

Buses. Maurizio Palesi. Maurizio Palesi 1

AC58/AT58 COMPUTER ORGANIZATION DECEMBER Q2 (a) With the help of diagram explain the different functional units of a Computer?

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

PCI and PCI Express Bus Architecture

William Stallings Computer Organization and Architecture 10 th Edition Pearson Education, Inc., Hoboken, NJ. All rights reserved.

6 Direct Memory Access (DMA)

QUIZ Ch.6. The EAT for a two-level memory is given by:

PESIT Bangalore South Campus

Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices.

INPUT-OUTPUT ORGANIZATION

3. Controtlto specify the mode of transfer such as read or write 4. A control to start the DMA transfer

Eastern Mediterranean University School of Computing and Technology INPUT / OUTPUT

Digital Input and Output

The von Neuman architecture characteristics are: Data and Instruction in same memory, memory contents addressable by location, execution in sequence.

Input Output (IO) Management

The D igital Digital Logic Level Chapter 3 1

Computer Architecture. Hebrew University Spring Chapter 8 Input/Output. Big Picture: Where are We Now?

The Purpose of Interrupt

Chapter 6. I/O issues

Introduction to the PCI Interface. Meeta Srivastav

1 MALP ( ) Unit-1. (1) Draw and explain the internal architecture of 8085.

Typical System Implementation

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture)

These three counters can be programmed for either binary or BCD count.

ECE468 Computer Organization and Architecture. OS s Responsibilities

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

1. Internal Architecture of 8085 Microprocessor

Unit DMA CONTROLLER 8257

Topics. Interfacing chips

Bus (Väylä) Stallings: Ch 3 What moves on Bus? Bus characteristics PCI-bus PCI Express

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)

Microprocessor Architecture

Computer System Overview

EC 6504 Microprocessor and Microcontroller. Unit II System Bus Structure

The PCI 9054 has Direct Master, DMA and Direct Slave Hitachi SH bit RISC Processor

Lecture 13. Storage, Network and Other Peripherals

Computer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM

Introducing. QuickLogic s The Basics of PCI. QuickPCI - The PCI Solution for System Needs

Interfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis

Announcement. Computer Architecture (CSC-3501) Lecture 23 (17 April 2008) Chapter 7 Objectives. 7.1 Introduction. 7.2 I/O and Performance

Computer Architecture

Introduction to Input and Output

Module 5 - CPU Design

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14

ECE 551 System on Chip Design

Blog -

Errata History For PCI System Architecture, 4th Edition

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

MICROPROCESSOR MICROPROCESSOR. From the above description, we can draw the following block diagram to represent a microprocessor based system: Output

Computer Systems Organization

MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS

Question Bank Microprocessor and Microcontroller

Transcription:

Chapter 5 Input/Output Organization Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Outline Accessing I/O Devices Interrupts Direct Memory Access Buses Interface Circuits Standard I/O Interfaces Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 2

Content Coverage Main Memory System Address Data/Instruction Central Processing Unit (CPU) Cache memory Operational Registers Program Counter Arithmetic and Logic Unit Instruction Sets Control Unit Input/Output System Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 3

Accessing I/O Devices Single-bus structure The bus enables all the devices connected to it to exchange information Typically, the bus consists of three sets of lines used to carry address, data, and control signals Each I/O device is assigned a unique set of addresses Processor Memory Bus I/O device 1 I/O device n Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 4

I/O Mapping Memory mapped I/O Devices and memory share an address space I/O looks just like memory read/write No special commands for I/O Isolated I/O Large selection of memory access commands available Separate address spaces Need I/O or memory select lines Special commands for I/O Limited set Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 5

Memory-Mapped I/O When I/O devices and the memory share the same address space, the arrangement is called memorymapped I/O With memory-mapped I/O, any machine instruction that can access memory can be used to transfer data to or from an I/O device Most computer systems use memory-mapped I/O. Some processors have special IN and OUT instructions to perform I/O transfers When building a computer system based on these processors, the designer has the option of connecting I/O devices to use the special I/O address space or simply incorporating them as part of the memory address space Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 6

I/O Interface for an Input Device The address decoder, the data and status registers, and the control circuitry required to coordinate I/O transfers constitute the device s interface circuit Bus Address lines Data lines Control lines Address decoder Control circuits Data and status registers Input device Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 7

I/O Techniques Programmed Interrupt driven Direct Memory Access (DMA) Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 8

Program-Controlled I/O Consider a simple example of I/O operations involving a keyboard and a display device in a computer system. The four registers shown below are used in the data transfer operations The two flags KIRQ and DIRQ in STATUS register are used in conjunction with interrupts DATAIN DATAOUT STATUS DIRQ KIRQ SOUT SIN CONTROL DEN KEN 7 6 5 4 3 2 1 0 Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 9

An Example A program that reads one line from the keyboard, stores it in memory buffer, and echoes it back to the display Move #LINE, R0 Initialize memory pointer WAITK TestBit #0,STATUS Test SIN Branch=0 WAITK Wait for character to be entered Move DATAIN,R1 Read character WAITD TestBit #1,STATUS Test SOUT Branch=0 WAITD Wait for display to become ready Move R1,DATAOUT Send character to display Move R1,(R0)+ Store character and advance pointer Compare #$0D,R1 Check if Carriage Return Branch=0 WAITK If not, get another character Move #$0A,DATAOUT Otherwise, send Line Feed Call PROCESS Call a subroutine to process the input line Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 10

Program-Controlled I/O The example described above illustrates programcontrolled I/O, in which the processor repeatedly checks a status flag to achieve the required synchronization between the processor and an input or output device. We say that the processor polls the devices There are two other commonly used mechanisms for implementing I/O operations: interrupts and direct memory access Interrupts: synchronization is achieved by having the I/O device send a special signal over the bus whenever it is ready for a data transfer operation Direct memory access: it involves having the device interface transfer data directly to or from the memory Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 11

Interrupts To avoid the processor being not performing any useful computation, a hardware signal called an interrupt to the processor can do it. At least one of the bus control lines, called an interrupt-request line, is usually dedicated for this purpose An interrupt-service routine usually is needed and is executed when an interrupt request is issued On the other hand, the processor must inform the device that its request has been recognized so that it may remove its interrupt-request signal. An interrupt-acknowledge signal serves this function Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 12

Example Program 1 COMPUTE routine Program 2 PRINT routine 1 2 Interrupt occurs here i i+1 M Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 13

Interrupt-Service Routine & Subroutine Treatment of an interrupt-service routine is very similar to that of a subroutine An important departure from the similarity should be noted A subroutine performs a function required by the program from which it is called. The interrupt-service routine may not have anything in common with the program being executed at the time the interrupt request is received. In fact, the two programs often belong to different users Before executing the interrupt-service routine, any information that may be altered during the execution of that routine must be saved. This information must be restored before the interrupted program is resumed Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 14

Interrupt Latency The information that needs to be saved and restored typically includes the condition code flags and the contents of any registers used by both the interrupted program and the interrupt-service routine Saving registers also increases the delay between the time an interrupt request is received and the start of execution of the interrupt-service routine. The delay is called interrupt latency Typically, the processor saves only the contents of the program counter and the processor status register. Any additional information that needs to be saved must be saved by program instruction at the beginning of the interrupt-service routine and restored at the end of the routine Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 15

Interrupt Hardware An equivalent circuit for an open-drain bus used to implement a common interrupt-request line V dd Processor R INTR INTR INTR1 INTR2 INTRn INTR=INTR1+INTR2+ +INTRn Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 16

Handling Multiple Devices Handling multiple devices gives rise to a number of questions: How can the processor recognize the device requesting an interrupt? Given that different devices are likely to require different interrupt-service routines, how can the processor obtain the starting address of the appropriate routine in each case? Should a device be allowed to interrupt the processor while another interrupt is being serviced? How should two or more simultaneous interrupt request be handled? The information needed to determine whether a device is requesting an interrupt is available in its status register When a device raises an interrupt request, it sets to 1 one of the bits in its status register, which we will call the IRQ bit Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 17

Identify the Interrupting Device The simplest way to identify the interrupting device is to have the interrupt-service routine poll all the I/O devices connected to the bus The polling scheme is easy to implement. Its main disadvantage is the time spent interrogating all the devices A device requesting an interrupt may identify itself directly to the processor. Then, the processor can immediately start executing the corresponding interrupt-service routine. This is called vectored interrupts An interrupt request from a high-priority device should be accepted while the processor is servicing another request from a lower-priority device Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 18

Interrupt Priority The processor s priority is usually encoded in a few bits of the processor status word. It can be changed by program instructions that write into the program status register (PS). These are privileged instructions, which can be executed only while the processor is running in the supervisor mode The processor is in the supervisor mode only when executing operating system routines. It switches to the user mode before beginning to execute application program An attempt to execute a privileged instruction while in the user mode leads to a special type of interrupt called a privilege exception Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 19

Implementation of Interrupt Priority An example of the implementation of a multiplepriority scheme INTR1 INTRp Processor Device 1 Device 2 Device p INTA1 INTAp Priority arbitration circuit Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 20

Simultaneous Requests Consider the problem of simultaneous arrivals of interrupt requests from two or more devices. The processor must have some means of deciding which request to service first Interrupt priority scheme with daisy chain INTR Processor INTA Device 1 Device 2 Device n Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 21

Priority Group Combination of the interrupt priority scheme with daisy chain and with individual interruptrequest and interrupt-acknowledge lines INTR1 Processor INTA1 INTRp Device Device Device INTAp Device Device Device Priority arbitration circuit Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 22

Direct Memory Access To transfer large blocks of data at high speed, a special control unit may be provided between an external device and the main memory, without continuous intervention by the processor. This approach is called direct memory access (DMA) DMA transfers are performed by a control circuit that is part of the I/O device interface. We refer to this circuit as a DMA controller. Since it has to transfer blocks of data, the DMA controller must increment the memory address for successive words and keep track of the number of transfers Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 23

DMA Controller Although a DMA controller can transfer data without intervention by the processor, its operation must be under the control of a program executed by the processor An example Status and control 31 30 1 0 IRQ IE Done R/W Starting address Word count Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 24

DMA Controller in a Computer System Processor Main memory System bus Disk/DMA controller DMA controller Printer Keyboard Disk Disk Network Interface Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 25

Memory Access Priority Memory accesses by the processor and the DMA controllers are interwoven. Request by DMA devices for using the bus are always given higher priority than processor requests. Among different DMA devices, top priority is given to high-speed peripherals such as a disk, a highspeed network interface, etc. Since the processor originates most memory access cycles, the DMA controller can be said to steal memory cycles from the processor. Hence, this interweaving technique is usually called cycle stealing The DMA controller may transfer a block of data without interruption. This is called block/burst mode Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 26

Bus Arbitration A conflict may arise if both the processor and a DMA controller or two DMA controllers try to use the bus at the same time to access the main memory. To resolve this problem, an arbitration procedure on bus is needed The device that is allowed to initiate data transfer on the bus at any given time is called the bus master. When the current master relinquishes control of the bus, another device can acquire this status Bus arbitration is the process by which the next device to become the bus master take into account the needs of various devices by establishing a priority system for gaining access to the bus Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 27

Bus Arbitration There are two approaches to bus arbitration Centralized and distributed In centralized arbitration, a single bus arbiter performs the required arbitration In distributed arbitration, all devices participate in the selection of the next bus master Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 28

Centralized Arbitration BBSY Processor BG1 DMA Controller 1 BR BG2 DMA Controller 2 BR BG1 BG2 BBSY Processor DMA controller 2 Processor Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 29

Distributed Arbitration Assume that IDs of A and B are 5 and 6. Also, the code seen by both devices is 0111 V cc ARB3 ARB2 ARB1 ARB0 Start-Arbitration O.C. 0 1 0 1 0 1 1 1 Interface circuit for device A Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 30

Buses A bus protocol is the set of rules that govern the behavior of various devices connected to the bus as to when to place information on the bus, assert control signals, and so on In a synchronous bus, all devices derive timing information from a common clock line. Equal spaced pulses on this line define equal time intervals In the simplest form of a synchronous bus, each of these intervals constitutes a bus cycle during which one data transfer can take place Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 31

A Synchronous Bus Example Timing of an input transfer on a synchronous bus Bus clock Address and command Data t 0 t 1 Bus Cycle t 2 Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 32

A Synchronous Bus Example Detail timing diagram Bus clock Seen by master Address and command t AM Data t DM Seen by slave Address and command t AS Slave send the requested data Data t DS t 1 t t 2 1 Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 33

Input Transfer Using Multiple Clock Cycles 1 2 3 4 Clock Address Command Data Slave-ready Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 34

Asynchronous Bus An alternative scheme for controlling data transfers on the bus is based on the use of a handshake between the master and slave Address and command Master-ready Slave-ready Data t 0 t 1 t 2 t 3 t 4 t 5 Bus cycle Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 35

Asynchronous Bus Handshake control of data transfer during an output operation Address and command Data Master-ready Slave-ready t 0 t 1 t 2 t 3 t 4 t 5 Bus cycle Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 36

Discussion The choice of a particular design involves trade-offs among factors such as Simplicity of the device interface Ability to accommodate device interfaces that introduce different amounts of delay Total time required for bus transfer Ability to detect errors results from addressing a nonexistent device or from an interface malfunction Asynchronous bus The handshake process eliminates the need for synchronization of the sender and receiver clock, thus simplifying timing design Synchronous bus Clock circuitry must be designed carefully to ensure proper synchronization, and delays must be kept within strict bounds Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 37

Interface Circuits Keyboard to processor connection When a key is pressed, the Valid signal changes from 0 o 1, causing the ASCII code to be loaded into DATAIN and SIN to be set to 1 The status flag SIN is cleared to 0 when the processor reads the contents of the DATAIN register Data Processor Address R/W Master-ready Slave-ready DATAIN SIN Input Interface Data Valid Encoder and Debouncing circuit Keyboard switches Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 38

Input Interface Circuit DATAIN D7 D0 Q 7 D 7 Q 0 D 0 Keyboard data 1 SIN Readdata Readstatus Slaveready Status flag Valid R/W Masterready A31 A1 A0 Address decoder Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 39

Circuit for the Status Flag Block Read-data SIN Master-ready Q D 1 Q Clear Valid Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 40

Printer to Processor Connection The interface contains a data register, DATAOUT, and a status flag, SOUT The SOUT flag is set to 1 when the printer is ready to accept another character, and it is cleared to 0 when a new character is loaded into DATAOUT by the processor When the printer is ready to accept a character, it asserts its idle signal Data Address DATAOUT Data Processor R/W SOUT Valid Printer Master-ready Slave-ready Output Interface Idle Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 41

D7 Output Interface Circuit DATAOUT D 7 Q 7 D1 D 1 Q 1 D0 D 0 Q 0 Printer data 1 SOUT Loaddata Readstatus Slaveready Handshake control Idle Valid R/W Masterready A31 A1 A0 Address decoder Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 42

A General 8-Bit Parallel Interface D7 P7 DATAIN D0 P0 DATAOUT Data Direction Register Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 43

Output Interface Circuit for a Bus Protocol D7 DATAOUT D 7 Q 7 D1 D 1 Q 1 D0 D 0 Q 0 Printer data SOUT Loaddata Readstatus Handshake control Idle Valid Myaddress R/W Slaveready A31 A1 A0 Clock Address decoder Timing Logic Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 44 Go Respond Go=1 My-address Idle

Timing Diagram for an Output Operation Clock 1 2 3 Time Address R/W Data Go Slave-ready Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 45

Serial Port A serial port is used to connect the processor to I/O devices that require transmission of data one bit at a time The key feature of an interface circuit for a serial port is that it is capable of communicating in a bit-serial fashion on the device side and in a bitparallel fashion on the bus side The transformation between the parallel and serial formats is achieved with shift registers that have parallel access capability Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 46

A Serial Interface Input shift register Serial input DATAIN D7 D0 DATAOUT Output shift register Serial output Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 47

Standard I/O Interfaces The processor bus is the bus defined by the signals on the processor chip itself. Devices that require a very high speed connection to the processor, such as the main memory, may be connected directly to this bus The motherboard usually provides another bus that can support more devices. The two buses are interconnected by a circuit, which we called a bridge, that translates the signals and protocols of one bus into those of the other It is impossible to define a uniform standards for the processor bus. The structure of this bus is closely tied to the architecture of the processor The expansion bus is not subject to these limitations, and therefore it can use a standardized signaling structure Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 48

Peripheral Component Interconnect Bus Use of a PCI bus in a computer system Host PCI bridge Main memory PCI Bus Disk Printer Ethernet interface Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 49

PCI Bus The bus support three independent address spaces: memory, I/O, and configuration. The I/O address space is intended for use with processors, such Pentium, that have a separate I/O address space. However, the system designer may choose to use memory-mapped I/O even when a separate I/O address space is available The configuration space is intended to give the PCI its plug-and-play capability. A 4-bit command that accompanies the address identifies which of the three spaces is being used in a given data transfer operation Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 50

Data Transfer Signals on the PCI Bus Name CLK Function A 33-MHz or 66MHz clock FRAME# Sent by the initiator to indicate the duration of a transaction AD C/BE# IRDY#, TRDY# DEVSEL# IDSEL# 32 address/data lines, which may be optionally increased to 64 4 command/byte-enable lines (8 for 64-bit bus) Initiator-ready and Target-ready signals A response from the device indicating that it has recognized its Address and is ready for a data transfer transaction Initialization Device Select Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 51

A Read Operation on the PCI Bus 1 2 3 4 5 6 7 CLK Frame# AD Address #1 #2 #3 #4 C/BE# IRDY# Cmnd Byte enable TRDY# DEVSEL# Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 52

Universal Serial Bus (USB) The USB has been designed to meet several key objectives Provide a simple, low-cost, and easy to use interconnection system that overcomes the difficulties due to the limited number of I/O ports available on a computer Accommodate a wide range of data transfer characteristics for I/O devices, including telephone and Internet connections Enhance user convenience through a plug-and-play mode of operation Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 53

USB Structure A serial transmission format has been chosen for the USB because a serial bus satisfies the low-cost and flexibility requirements Clock and data information are encoded together and transmitted as a single signal Hence, there are no limitations on clock frequency or distance arising from data skew To accommodate a large number of devices that can be added or removed at any time, the USB has the tree structure Each node of the tree has a device called a hub, which acts as an intermediate control point between the host and the I/O device At the root of the tree, a root hub connects the entire tree to the host computer Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 54

USB Tree Structure Host Computer Root hub Hub Hub Hub I/O device I/O device I/O device I/O device I/O device I/O device Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 55

USB Tree Structure The tree structure enables many devices to be connected while using only simple point-to-point serial links Each hub has a number of ports where devices may be connected, including other hubs In normal operation, a hub copies a message that it receives from its upstream connection to all its downstream ports As a result, a message sent by the host computer is broadcast to all I/O devices, but only the addressed device will respond to that message A message sent from an I/O device is sent only upstream towards the root of the tree and is not seen by other devices Hence, USB enables the host to communicate with the I/O devices, but it does not enable these devices to communicate with each other Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 56

USB Protocols All information transferred over the USB is organized in packets, where a packet consists of one or more bytes of information The information transferred on the USB can be divided into two broad categories: control and data Control packets perform such tasks as addressing a device to initiate data transfer, acknowledging that data have been received correctly, or indicating an error Data packets carry information that is delivered to a device. For example, input and output data are transferred inside data packets Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 57