Lect11-BusArchitecture
Lect11-BusArchitecture
Shobhanjana Kalita,
Dept. of CSE, Tezpur University
Initiator Initiator
Ready Ready
(SYNC/ INIT) (Sync/Init)
RD/WR’ RD/WR
Address Address
Target Target
Ready Ready
(ACK) (Ack)
Data Data
t0 t1 t2 t3 t4 t5 t0 t1 t2 t3 t4 t5
Interface Circuits
An I/O interface consists of circuitry required to connect to an I/O
device to a computer bus
One end of the interface consists of bus – address, data and control lines
Other end consists of data path and associated controls to data to I/O
device – called a port.
There are two types of port: Serial Port and Parallel Port
Interface Circuits : Parallel
Parallel port transfers data a number of bits at the same time – usually 8 to 16
Connection between device and computer uses a multiple-pin connector with as many
wires to carry multiple bits at a time
Simple; suitable when devices are physically close
A 25 pin connector used with printers and communication cables primarily; used
initially for devices and applications that required faster data transfer
Interface Circuits : Parallel
Interface Circuits : Serial
Serial Port transfers data a single bit at a time
On the device end communication is in a bit-serial fashion
On the bus side communication is in a bit-parallel fashion
Suitable for longer cables, because there are fewer wires
Less common but still used to connect a variety of devices, including mice, modems
and communications cables
Interface Circuits : Serial
Standard I/O Interfaces
I/O device interfaces ought to be compatible with different types of devices and
computers
A set of standard interface signals and protocols is needed
3 widely used bus standards are:
PCI – Peripheral Component Interconnect
SCSI – Small Computer System Interface
USB – Universal Serial Bus
PCI defines an expansion bus to the motherboard
SCSI and USB are used for connecting additional devices
Example connection
PCI
PCI is a popular high-bandwidth, processor independent bus that can
function as a peripheral bus
PCI delivers better system performance for high speed I/O subsystems
Devices connected to PCI bus appear as though they are connected directly
to the processor bus
Used in graphic display adapters, network interface controllers,
and disk controllers
When processor request for a word, a sequence of data words starting
at that address is sent
For a write operation processor sends a memory address followed by a
sequence of words
PCI
Data Transfer
PCI is designed to support data transfer involving specification of an
address followed by transfer of a sequence of words starting from that
address location
Supports 3 address spaces – I/O, memory and configuration
But recommends memory-mapped I/O for wider compatibility
Device Configuration
When a device is connected – it needs to be configured i.e. the software
communicating with it needs to know its address and characteristics
(transmission speed etc.)
PCI incorporates a small ROM with each I/O interface that stores
configuration information (configuration address space)
PCI initialization software reads these ROMs when system is powered up –
relieves user to be involved in the configuration
SCSI
Devices connected via SCSI are not part of the processor address space
SCSI bus is connected to the processor bus via a SCSI controller
SCSI controller uses DMA to transfer packets from the main memory
to device or vice versa
Packets may contain a block of data, commands from the processor to the
device, or status information about the device
SCSI controller can be one of two types – initiator or target
Initiator selects a target to send commands: controller on the processor side
Target carries out commands received from the initiator: controller on the
device side
SCSI
Initiator establishes a logical connection with intended target
Once established, it can be suspended or restored as required to
transfer bursts of data – while suspended bus can be used by other
devices
Overlapping of data transfers – key feature of SCSI bus that leads to high
performance
Data transfer
Initiator SCSI controller requests for bus
On winning arbitration selects target for communication
Transfers control of bus to the target controller
Target controller starts data transfer operation to receive command from
the initiator
Target responds with status information and data transfer operation
USB
USB (Universal Serial Bus) is a simple low cost mechanism to connect a
variety of I/O devices
Supports two operation speeds: low speed (1.5 Mbps) and full speed
(12 Mbps)
USB 2.0 further supports High Speed (480 Mbps)
USB 3.0 further supports Super Speed (4.8 Gbps)
Designed to meet following key objectives
Provide a simple, low-cost, easy-to-use interconnection system that
overcomes difficulties due to limited number of I/O ports
Accommodate a wide range of data transfer characteristics for I/O devices
– including telephone & internet connection
Enhance use experience through Plug & Play mode of operation
USB
Port-limitation
Serial and parallel ports provide a general purpose point of connection –
but only a few such ports on a computer
To add new ports physically open up and install new interfaces
USB makes it possible to add a wide range of device without installing new
interfaces
Device Characteristics
Asynchronous and low speed – events generated are not synchronized with
computer – keyboard, mouse, game controllers
Isochronous and high speed – successive events are separated by equal
periods of time – microphones (A to D converter)
USB
Plug and play
Means that a new device may be connected at any time while the system is
running
System detects the existence of this new device automatically,
identifies appropriate device driver software and any other facilities needed for the
device
Establishes appropriate addresses and logical connections for communication
USB Architecture
Serial transmission – low cost and flexible
Tree structure – each node of the tree has a device called hub
Root hub connects entire tree to host computer
Leaves of the tree are the I/O devices being serviced - functions
USB
Tree structure enables many
devices to be connected
including other hubs while
using point-to-point serial
links
Message sent by host device
is sent to all devices but only
the addressed device
responds to the message
Root hub appears as single
device with one address on
the processor bus