Accessing I/O Devices
Accessing I/O Devices
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Eg:- Move DATAIN, Ro Reads the data from DATAIN then into processor register Ro.
Move Ro, DATAOUT Send the contents of register Ro to location DATAOUT.
DATAIN Input buffer associated with keyboard.
DATAOUT Output data buffer of a display unit / printer.
Address Decoder:
It enables the device to recognize its address when the address appears on address lines.
Data register It holds the data being transferred to or from the processor.
Status register It contains infn/. Relevant to the operation of the I/O devices.
The address decoder, data & status registers and the control circuitry required to co-ordinate
I/O transfers constitute the device’s I/F circuit.
For an input device, SIN status flag in used SIN = 1, when a character is entered at the
keyboard.
For an output device, SOUT status flag is used SIN = 0, once the char is read by processor.
The data from the keyboard are made available in the DATAIN register & the data sent to the
display are stored in DATAOUT register
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Here the processor repeatedly checks a status flag to achieve the required synchronization
between Processor & I/O device.(ie) the processor polls the device.
There are 2 mechanisms to handle I/o operations. They are,
Interrupt, -
DMA (Synchronization is achieved by having I/O device send special over the bus where is
ready for data transfer operation)
DMA:
1. Synchronization is achieved by having I/O device send special over the bus where is ready for
data transfer operation)
2. It is a technique used for high speed I/O device.
3. Here, the input device transfer data directly to or from the memory without continuous
involvement by the processor.
INTERRUPTS
When a program enters a wait loop, it will repeatedly check the device status. During
this period, the processor will not perform any function.
The Interrupt request line will send a hardware signal called the interrupt signal to the
processor.
On receiving this signal, the processor will perform the useful function during the
waiting period. The routine executed in response to an interrupt request is called
Interrupt Service Routine. The interrupt resembles the subroutine calls.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
The processor first completes the execution of instruction i Then it loads the
PC(Program Counter) with the address of the first instruction of the ISR.
After the execution of ISR, the processor has to come back to instruction i + 1.
Therefore, when an interrupt occurs, the current contents of PC which point to i +1 is
put in temporary storage in a known location.
A return from interrupt instruction at the end of ISR reloads the PC from that
temporary storage location, causing the execution to resume at instruction i+1.
When the processor is handling the interrupts, it must inform the device that its request
has been recognized so that it remove its interrupt requests signal.
This may be accomplished by a special control signal called the interrupt
acknowledge signal.
The task of saving and restoring the information can be done automatically by the
processor.
The processor saves only the contents of program counter & status register (ie) it
saves only the minimal amount of information to maintain the integrity of the program
execution.
Saving registers also increases the delay between the time an interrupt request is
received and the start of the execution of the ISR. This delay is called the Interrupt
Latency.
Generally, the long interrupt latency in unacceptable.
The concept of interrupts is used in Operating System and in Control Applications,
where processing of certain routines must be accurately timed relative to external
events. This application is also called as real-time processing.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Interrupt Hardware:
Fig:An equivalent circuit for an open drain bus used to implement a common interrupt request
line
A single interrupt request line may be used to serve „n‟ devices. All devices are connected to
the line via switches to ground.
To request an interrupt, a device closes its associated switch, the voltage on INTR line drops
to 0(zero).
If all the interrupt request signals (INTR1 to INTRn) are inactive, all switches are open and
the voltage on INTR line is equal to Vdd.
When a device requests an interrupts, the value of INTR is the logical OR of the requests from
individual devices.
(ie) INTR = INTR1+…………+INTRn
INTR It is used to name the INTR signal on common line it is active in the low voltage
state.
Open collector (bipolar ckt) or Open drain (MOS circuits) is used to drive INTR line.
The Output of the Open collector (or) Open drain control is equal to a switch to the ground
that is open when gates input is in „0‟ state and closed when the gates input is in „1‟ state.
Resistor „R‟ is called a pull-up resistor because it pulls the line voltage upto the high voltage
state when the switches are open.
The arrival of an interrupt request from an external device causes the processor to
suspend the execution of one program & start the execution of another because the
interrupt may alter the sequence of events to be executed.
INTR is active during the execution of Interrupt Service Routine.
There are 3 mechanisms to solve the problem of infinite loop which occurs due to
successive interruptions of active INTR signals.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Edge-triggered:
The processor has a special interrupt request line for which the interrupt handling circuit
responds only to the leading edge of the signal. Such a line said to be edge-triggered.
Polling Scheme:
If two devices have activated the interrupt request line, the ISR for the selected device (first
device) will be completed & then the second request can be serviced.
The simplest way to identify the interrupting device is to have the ISR polls all the
encountered with the IRQ bit set is the device to be serviced
IRQ (Interrupt Request) -> when a device raises an interrupt requests, the status register
IRQ is set to 1.
Merit:
It is easy to implement.
Demerit:
The time spent for interrogating the IRQ bits of all the devices that may not be requesting any
service.
Here the device requesting an interrupt may identify itself to the processor by sending
a special code over the bus & then the processor start executing the ISR.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
The code supplied by the processor indicates the starting address of the ISR for the
device.
The code length ranges from 4 to 8 bits.
The location pointed to by the interrupting device is used to store the staring address to
ISR.
The processor reads this address, called the interrupt vector & loads into PC.
The interrupt vector also includes a new value for the Processor Status Register.
When the processor is ready to receive the interrupt vector code, it activate the
interrupt acknowledge (INTA) line.
Interrupt Nesting:
Multiple Priority Scheme:
In multiple level priority scheme, we assign a priority level to the processor that can
be changed under program control.
The priority level of the processor is the priority of the program that is currently being
executed.
The processor accepts interrupts only from devices that have priorities higher than its
own.
At the time the execution of an ISR for some device is started, the priority of the
processor is raised to that of the device.
The action disables interrupts from devices at the same level of priority or lower.
Privileged Instruction:
The processor priority is usually encoded in a few bits of the Processor Status word. It
can also be changed by program instruction & then it is write into PS.
These instructions are called privileged instruction. This can be executed only when
the processor is in supervisor mode.
The processor is in supervisor mode only when executing OS routines.
It switches to the user mode before beginning to execute application program.
Privileged Exception:
User program cannot accidently or intentionally change the priority of the processor &
disrupts the system operation.
An attempt to execute a privileged instruction while in user mode, leads to a special
type of interrupt called the privileged exception.
Fig: Implementation of Interrupt Priority using individual Interrupt request acknowledge lines
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Device1 passes the signal on to device2 only if it does not require any service.
If devices1 has a pending request for interrupt blocks that INTA signal & proceeds to put its
identification code on the data lines.
Therefore, the device that is electrically closest to the processor has the highest priority.
Merits:
It requires fewer wires than the individual connections.
Here the devices are organized in groups & each group is connected at a different priority
level. Within a group, devices are connected in a daisy chain.
Exception of ISR:
Read the input characters from the keyboard input data register. This will cause the interface
circuits to remove its interrupt requests.
Store the characters in a memory location pointed to by PNTR & increment PNTR.
When the end of line is reached, disable keyboard interrupt & inform program main.
Return from interrupt.
EXCEPTIONS
What is an Exception? Explain in detail about the types of Exceptions?(11 Marks Dec
2014)
An interrupt is an event that causes the execution of one program to be suspended and the
execution of another program to begin.
The Exception is used to refer to any event that causes an interruption.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Kinds of exception:
Recovery from errors
Debugging
Privileged Exception
Computers have error-checking code in Main Memory , which allows detection of errors in
the stored data.
If an error occurs, the control hardware detects it informs the processor by raising an interrupt.
The processor also interrupts the program, if it detects an error or an unusual condition while
executing the instance (ie) it suspends the program being executed and starts an execution
service routine.
This routine takes appropriate action to recover from the error.
Debugging:
System software has a program called debugger, which helps to find errors in a program.
The debugger uses exceptions to provide two important facilities
They are
Trace
Breakpoint
Trace Mode:
When processor is in trace mode , an exception occurs after execution of every instance using
the debugging program as the exception service routine.
The debugging program examine the contents of registers, memory location etc.
On return from the debugging program the next instance in the program being debugged is
executed
The trace exception is disabled during the execution of the debugging program.
Break point:
Here the program being debugged is interrupted only at specific points selected by the user.
An instance called the Trap (or) software interrupt is usually provided for this purpose.
While debugging the user may interrupt the program execution after instance „I‟
When the program is executed and reaches that point it examine the memory and register
contents.
Privileged Exception:
When the processor is in user mode, it will not execute instance (ie) when the
processor is in supervisor mode , it will execute instance.
A special control unit may be provided to allow the transfer of large block of data at
high speed directly between the external device and main memory , without continous
intervention by the processor. This approach is called DMA.
DMA transfers are performed by a control circuit called the DMA Controller.
To initiate the transfer of a block of words , the processor sends,
Starting address
Number of words in the block
Direction of transfer.
When a block of data is transferred , the DMA controller increment the memory address for
successive words and keep track of number of words and it also informs the processor by
raising an interrupt signal.
While DMA control is taking place, the program requested the transfer cannot continue and
the processor can be used to execute another program.
After DMA transfer is completed, the processor returns to the program that requested the
transfer.
A DMA controller connects a high speed network to the computer bus . The disk controller
two disks, also has DMA capability and it provides two DMA channels.
To start a DMA transfer of a block of data from main memory to one of the disks, the program
write s the address and the word count inf. Into the registers of the corresponding channel of
the disk controller.
When DMA transfer is completed, it will be recorded in status and control registers of the
DMA channel (ie) Done bit=IRQ=IE=1.
Cycle Stealing:
Requests by DMA devices for using the bus are having higher priority than processor requests
.
Top priority is given to high speed peripherals such as ,
Disk
High speed Network Interface and Graphics display device.
Since the processor originates most memory access cycles, the DMA controller can be said to
steal the memory cycles from the processor. This interviewing technique is called Cycle stealing.
Burst Mode:
The DMA controller may be given exclusive access to the main memory to transfer a block of
data without interruption. This is known as Burst/Block Mode
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Bus Master:
The device that is allowed to initiate data transfers on the bus at any given time is called the
bus master.
Bus Arbitration:
It is the process by which the next device to become the bus master is selected and the bus
mastership is transferred to it.
Types:
There are 2 approaches to bus arbitration. They are,
Centralized arbitration ( A single bus arbiter performs arbitration)
Distributed arbitration (all devices participate in the selection of next bus master).
Centralized Arbitration:
Here the processor is the bus master and it may grants bus mastership to one of its DMA
controller.
A DMA controller indicates that it needs to become the bus master by activating the Bus
Request line (BR) which is an open drain line.
The signal on BR is the logical OR of the bus request from all devices connected to it.
When BR is activated the processor activates the Bus Grant Signal (BGI) and indicated the
DMA controller that they may use the bus when it becomes free.
This signal is connected to all devices using a daisy chain arrangement.
If DMA requests the bus, it blocks the propagation of Grant Signal to other devices and it
indicates to all devices that it is using the bus by activating open collector line, Bus Busy
(BBSY).
The timing diagram shows the sequence of events for the devices connected to the
processor is shown.
DMA controller 2 requests and acquires bus mastership and later releases the bus.
During its tenture as bus master, it may perform one or more data transfer.
After it releases the bus, the processor resources bus mastership
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Distributed Arbitration:
It means that all devices waiting to use the bus have equal responsibility in carrying out the
arbitration process.
Fig:A distributed arbitration scheme
BUSES
What are handshaking signals? Explain the handshake control of data transfer during input
and output operation?(11 Marks Apr 2015)
A bus protocol is the set of rules that govern the behavior of various devices connected to the
bus ie, when to place information in the bus, assert control signals etc.
The bus lines used for transferring data is grouped into 3 types. They are,
Address line
Data line
Control line.
It also carries timing infn/. (ie) they specify the time at which the processor & I/O
devices place the data on the bus & receive the data from the bus.
During data transfer operation, one device plays the role of a „Master‟.
Master device initiates the data transfer by issuing read / write command on the bus.
Hence it is also called as „Initiator‟.
The device addressed by the master is called as Slave / Target.
Types of Buses:
There are 2 types of buses. They are,
Synchronous Bus
Asynchronous Bus.
Synchronous Bus:-
In synchronous bus, all devices derive timing information from a common clock line.
Equally spaced pulses on this line define equal time.
During a „bus cycle‟, one data transfer on take place.
The „crossing points‟ indicate the tone at which the patterns change.
A „signal line’ in an indeterminate / high impedance state is represented by an intermediate
half way between the low to high signal levels.
Fig:Timing of an input transfer of a synchronous bus.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
At time to, the master places the device address on the address lines & sends an appropriate
command on the control lines.
In this case, the command will indicate an input operation & specify the length of the operand
to be read.
The clock pulse width t1 – t0 must be longer than the maximum delay between devices
connected to the bus.
The clock pulse width should be long to allow the devices to decode the address & control
signals so that the addressed device can respond at time t1.
The slaves take no action or place any data on the bus before t1.
Fig:A detailed timing diagram for the input transfer
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
The picture shows two views of the signal except the clock.
One view shows the signal seen by the master & the other is seen by the salve.
The master sends the address & command signals on the rising edge at the beginning of clock
period (t0). These signals do not actually appear on the bus until tam.
Some times later, at tAS the signals reach the slave. The slave decodes the address & at t1, it
sends the requested data.
At t2, the master loads the data into its i/p buffer.
Hence the period t2, tDM is the setup time for the masters i/p buffer.
The data must be continued to be valid after t2, for a period equal to the hold time of that
buffers.
Demerits:
The „slave-ready‟ signal is an acknowledgement form the slave to the master confirming that
valid data has been sent.
Asynchronous Bus:-
An alternate scheme for controlling data transfer on. The bus is based on the use of
„handshake‟ between Master & the Slave. The common clock is replaced by two timing control
lines.
They are
Master–ready
Slave ready.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
At t2 The selected slave having decoded the address and command information performs the
required i/p operation by placing the data from its data register on the data lines. At the same time, it
sets the “slave – Ready” signal to 1.
At t3 The slave ready signal arrives at the master indicating that the i/p data are available on the
bus.
At t4 The master removes the address and command information on the bus. The delay between t3
and t4 is again intended to allow for bus skew. Errorneous addressing may take place if the address, as
seen by some device on the bus, starts to change while the master – ready signal is still equal to 1.
At t5 When the device interface receives the 1 to 0 tranitions of the Master – ready signal. It
removes the data and the slave – ready signal from the bus. This completes the i/p transfer.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
In this diagram, the master place the output data on the data lines and at the same time it
transmits the address and command information.
The selected slave strobes the data to its o/p buffer when it receives the Master-ready signal
and it indicates this by setting the slave – ready signal to 1.
At time t0 to t1 and from t3 to t4, the Master compensates for bus.
A change of state is one signal is followed by a change is the other signal. Hence this scheme
is called as Full Handshake.
It provides the higher degree of flexibility and reliability.
INTERFACE CIRCUITS
Parallel Port:
The output of the encoder consists of the bits that represent the encoded character and one
signal called valid,which indicates the key is pressed.
The information is sent to the interface circuits,which contains a data register,DATAIN and a
status flag SIN.
When a key is pressed, the Valid signal changes from 0 to1,causing the ASCII code to be
loaded into DATAIN and SIN set to 1.
The status flag SIN set to 0 when the processor reads the contents of the DATAIN register.
The interface circuit is connected to the asynchronous bus on which transfers are controlled
using the Handshake signals Master ready and Slave-ready.
A serial port used to connect the processor to I/O device that requires transmission one bit at a
time.
It is capable of communicating in a bit serial fashion on the device side and in a bit parallel
fashion on the bus side.
USB uses a serial transmission to suit the needs of equipment ranging from keyboard
keyboard to game control to internal connection.
IDE (Integrated Device Electronics) disk is compatible with ISA which shows the
connection to an Ethernet.
PCI
PCI is developed as a low cost bus that is truly processor independent.
It supports high speed disk, graphics and video devices.
PCI has plug and play capability for connecting I/O devices.
To connect new devices, the user simply connects the device interface board to the bus.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Data Tranfer:
The data are transferred between cache and main memory is the bursts of several words and
they are stored in successive memory locations.
When the processor specifies an address and request a „read‟ operation from memory, the
memory responds by sending a sequence of data words starting at that address.
During write operation, the processor sends the address followed by sequence of data words to
be written in successive memory locations.
PCI supports read and write operation.
A read / write operation involving a single word is treated as a burst of length one.
In Clock cycle1, the processor asserts FRAME # to indicate the beginning of a
transaction ; it sends the address on AD lines and command on C/BE # Lines.
Clock cycle2 is used to turn the AD Bus lines around ; the processor ; The processor
removes the address and disconnects its drives from AD lines.
The selected target enable its drivers on AD lines and fetches the requested data to be
placed on the bus.
It asserts DEVSEL # and maintains it in asserted state until the end of the transaction.
During clock cycle 3, the initiator asserts IRDY #, to indicate that it is ready to receive
data.
If the target has data ready to send then it asserts TRDY #. In our eg, the target sends 3
more words of data in clock cycle 4 to 6.
The indicator uses FRAME # to indicate the duration of the burst, since it read 4
words, the initiator negates FRAME # during clock cycle 5.
After sending the 4th word, the target disconnects its drivers and negates DEVSEL #
during clockcycle 7.
Fig: A read operation showing the role of IRDY# / TRY#
C/BE # is used to send a bus command in clock cycle and it is used for different purpose
during the rest of the transaction.
It indicates the pause in the middle of the transaction.
The first and words are transferred and the target sends the 3rd word in cycle 5.
But the indicator is not able to receive it. Hence it negates IRDY#.
In response the target maintains 3rd data on AD line until IRDY is asserted again.
In cycle 6, the indicator asserts IRDY. But the target is not ready to transfer the fourth word
immediately, hence it negates TRDY in cycle 7. Hence it sends the 4 th word and asserts
TRDY# at cycle 8.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Device Configuration:
The PCI has a configuration ROM memory that stores information about that device. The
configuration ROM‟s of all devices are accessible in the configuration address space. The
initialization s/w read these ROM‟s whenever the S/M is powered up or reset In each case, it
determines whether the device is a printer, keyboard, Ethernet interface or disk controller. Devices are
assigned address during initialization process and each device has an w/p signal called IDSEL #
(Initialization device select) which has 21 address lines (AD) (AD to AD 31). During configuration
operation, the address is applied to AD i/p of the device and the corresponding AD line is set to and
all other lines are set to 0.
AD11 - AD31 Upper address line
A00 - A10 Lower address line → Specify the type of the operation and to
access the content of device configuration ROM.
The configuration software scans all 21 locations.
PCI bus has interrupt request lines.
Each device may requests an address in the I/O space or memory space
Electrical Characteristics:
The connectors can be plugged only in compatible motherboards PCI bus can operate with
either 5 – 33V power supply.
The motherboard can operate with signaling system.
Narrow bus It has 8 data lines & transfers 1 byte at a time.
Wide bus It has 16 data lines & transfer 2 byte at a time.
Single-Ended Transmission Each signal uses separate wire.
HVD (High Voltage Differential) It was 5v (TTL cells)
LVD (Low Voltage Differential) It uses 3.3v
Because of these various options, SCSI connector may have 50, 68 or 80 pins.
The data transfer rate ranges from 5MB/s to 160MB/s 320Mb/s, 640MB/s.
The transfer rate depends on,
Length of the cable
Number of devices connected.
To achieve high transfer rat, the bus length should be 1.6m for SE signaling and 12m for LVD
signaling.
The SCSI bus us connected to the processor bus through the SCSI controller.
The data are stored on a disk in blocks called sectors.
Each sector contains several hundreds of bytes. These data will not be stored in contiguous
memory location.
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
SCSI protocol is designed to retrieve the data in the first sector or any other selected sectors.
Using SCSI protocol, the burst of data are transferred at high speed.
The controller connected to SCSI bus is of 2 types. They are,
Initiator
Target
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Intiator:
It has the ability to select a particular target & to send commands specifying the operation to
be performed.
They are the controllers on the processor side.
Target:
The disk controller operates as a target.
It carries out the commands it receive from the initiator. The initiator establishes a logical
connection with the intended target.
Steps:
Consider the disk read operation, it has the following sequence of events.
The SCSI controller acting as initiator, contends process, it selects the target controller &
hands over control of the bus to it.
The target starts an output operation, in response to this the initiator sends a command
specifying the required read operation.
The target that it needs to perform a disk seek operation, sends a message to the initiator
indicating that it will temporarily suspends the connection between them.
Then it releases the bus.
The target controller sends a command to disk drive to move the read head to the first sector
involved in the requested read in a data buffer. When it is ready to begin transferring data to
initiator, the target requests control of the bus. After it wins arbitration, it reselects the initiator
controller, thus restoring the suspended connection.
The target transfers the controls of the data buffer to the initiator & then suspends the
connection again. Data are transferred either 8 (or) 16 bits in parallel depending on the width
of the bus.
The target controller sends a command to the disk drive to perform another seek operation.
Then it transfers the contents of second disk sector to the initiator. At the end of this transfer,
the logical connection b/w the two controller is terminated.
As the initiator controller receives the data, if stores them into main memory using DMA
approach.
The SCSI controller sends an interrupt to the processor to inform it that the requested
operation has been completed.
Bus Signals:-
Arbitration:-
When the –BSY signal is in inactive state, the bus will he free & any controller can request the
use of the bus.
Since each controller may generate requests at the same time, SCSI uses distributed arbitration
scheme.
Each controller on the bus is assigned a fixed priority with controller 7 having the highest
priority.
When –BSY becomes active, all controllers that are requesting the bus examines the data lines
& determine whether the highest priority device is requesting the bus at the same time.
The controller using the highest numbered line realizes that it has won the arbitration process.
At that time, all other controllers disconnect from the bus & wait for –BSY to become inactive
again.
Fig:Arbitration and selection on the SCSI bus.Device 6 wins arbitration and select device 2
UNIT III - INPUT/OUTPUT ORGANIZATION: Accessing I/O Devices, Interrupts, Interrupt Hardware, Enabling
and Disabling Interrupts, Handling Multiple Devices, Controlling Device Requests, Exceptions, Use Of Interrupts in
Operating Systems, Pentium Interrupt Structure, Direct Memory Access, Busses, Interface Circuits, Standard I/O
Selection:
Here Device wons arbitration and it asserts –BSY and –DB6 signals.
The Select Target Controller responds by asserting –BSY.
This informs that the connection that it requested is established.
Reselection:
The connection between the two controllers has been reestablished, with the target in control
the bus as required for data transfer to proceed.
It provide a simple, low cost & easy to use interconnection s/m that overcomes the difficulties
due to the limited number of I/O ports available on a computer.
It accommodate a wide range of data transfer characteristics for I/O devices including telephone
& Internet connections.
Enhance user convenience through ‘Plug & Play’ mode of operation.
Port Limitation:-
To add new ports, the user must open the computer box to gain access to the internal
expansion bus & install a new interface card.
The user may also need to know to configure the device & the s/w.
Merits of USB:-
USB helps to add many devices to a computer system at any time without opening the computer
box.
Device Characteristics:-
The kinds of devices that may be connected to a cptr cover a wide range of functionality.
The speed, volume & timing constrains associated with data transfer to & from devices varies
significantly.
Eg:1 Keyboard Since the event of pressing a key is not synchronized to any other event in a
computer system, the data generated by keyboard are called asynchronous.
The data generated from keyboard depends upon the speed of the human operator which is about
100bytes/sec.
USB Architecture:-
USB has a serial bus format which satisfies the low-cost & flexibility requirements.
Clock & data information are encoded together & transmitted as a single signal.
There are no limitations on clock frequency or distance arising form data skew, & hence it is
possible to provide a high data transfer bandwidth by using a high clock frequency.
To accommodate a large no/. of devices that can be added / removed at any time, the USB has
the tree structure.
USB Tree Structure
Each node of the tree has a device called „hub‟, which acts as an intermediate control point
b/w host & I/O devices.
At the root of the tree, the „root hub‟ connects the entire tree to the host computer.
The leaves of the tree are the I/O devices being served.