SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
CSCI 4717/5717
Computer Architecture
Topic: Input/Output
Reading: Stallings, Chapter 7
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
General Description of I/O
Wide variety of peripherals
• Delivering different amounts of data
• At different speeds
• In different formats (bit depth, etc.)
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Closing the Gap
• Need I/O modules to act as bridge
between processor/memory bus and the
peripherals
Processor Bus
I/O
Module
External
sensors
and
controls
Device
Interface
Device
Interface
Device
Interface
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
External Devices
• External devices are needed as a means of
communication to the outside world (both input and
output – I/O)
• Types
– Human readable – communication with user
(monitor, printer, keyboard, mouse)
– Machine readable – communication with
equipment (hard drive, CDROM, sensors, and
actuators)
– Communication – communication with remote
computers/devices (Can be any of the first two or
a network interface card or modem)
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Generic Device Interface
Configuration
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Device Interface Components
• The control logic is the I/O module's interface to the device
• The data channel passes the collected data from or the data
to be output to the device. On the opposite end is the I/O
module, but eventually it is the processor.
• The transducer acts as a converter between the digital data
of the I/O module and the signals of the outside world.
– Keyboard converts motion of key into data representing
key pressed or released
– Temperature sensor converts amount of heat into a digital
value
– Disk drive converts data to electronic signals for controlling
the read/write head
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
I/O Module Functions
• Control & Timing
• Processor Communication
• Device Communication
• Data Buffering
• Error Detection
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
I/O Module: Control and Timing
• Required because of multiple devices all
communicating on the same channel
• Example
– CPU checks I/O module device status
– I/O module returns status
– If ready, CPU requests data transfer
– I/O module gets data from device
– I/O module transfers data to CPU
– Variations for output, DMA, etc.
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
I/O Module: Processor
Communication
• Commands from processor – Examples: READ
SECTOR, WRITE SECTOR, SEEK track
number, and SCAN record ID.
• Data – passed back and forth over the data bus
• Status reporting – Request from the processor
for the I/O Module's status. May be as simple as
BUSY and READY
• Address recognition – I/O device is setup as a
block of one or more addresses unique to itself
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Other I/O Module Functions
• Device Communication – specific to each device
• Data Buffering – Due to the differences in speed
(device is usually orders of magnitude slower) the
I/O module needs to buffer data to keep from tying
up the CPU's bus with slow reads or writes
• Error Detection – simply distributing the need for
watching for errors to the module. They may
include:
– Malfunctions by device (paper jam)
– Data errors (parity checking at the device level)
– Internal errors to the I/O module such as buffer overruns
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
I/O Module Structure
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
I/O Module Level of Operation
• How much control will the CPU be required to
handle?
• How much will the CPU be allowed to handle?
• What will the interface look like, e.g., Unix treats
everything like a file
• Support multiple or single device
• Will additional control be needed for multiple
devices on a single port (e.g., serial port versus
USB)
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Input/Output Techniques
• Programmed I/O – poll and response
• Interrupt driven – module calls for CPU
when needed
• Direct Memory Access (DMA) – module
has direct access to specified block of
memory
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Addressing I/O Devices
“Memory-Mapped I/O”
• Data transfer is the same as a memory
access (chip selects)
• 80x86 example, any assembly language
command accessing memory use memory
read (^MRDC) and write (^MWTC) lines
• Can use ALL memory instructions which is
much greater than I/O instructions
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Addressing I/O Devices
“Isolated I/O”
• Data transfer uses the same address lines
but different read/write control lines
• 8086 example, in and out commands use
same bus with different read (^IORC) and
write (^IOWC) lines
• Limited number of instructions to choose
from
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Programmed I/O –
CPU has direct control over I/O
• Processor requests operation with commands sent
to I/O module
– Control – telling a peripheral what to do
– Test – used to check condition of I/O module or device
– Read – obtains data from peripheral so processor can read
it from the data bus
– Write – sends data using the data bus to the peripheral
• I/O module performs operation
• When completed, I/O module updates its status
registers
• Sensing status – involves polling the I/O module's
status registers
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Programmed I/O (continued)
• I/O module does not inform CPU directly
• CPU may wait or do something and come back
later
• Wastes CPU time because typically processor is
much faster than I/O
– CPU acts as a bridge for moving data between I/O
module and main memory, i.e., every piece of data
goes through CPU
– CPU waits for I/O module to complete operation
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Programmed I/O Example
Motorola 68HC11 Serial Communications
• Memory-mapped control registers
– SCCR1(0x102C)
– SCCR2 (0x102D)
• Memory-mapped status register SCSR (0x102E)
TIE TCIE RIE ILIE TE RE RWU
TDRE TC RDRF IDLE OR NF FE 0
R8 T8 0 M WAKE 0 0 0
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Programmed I/O Example (continued)
Control:
• Transmit enable (TE) – Set to one in order to
enable serial output
• Receive enable (RE) – Set to one in order to
enable serial input
Status:
• Transmit data register empty (TDRE) – Set to one
to indicate data can be placed in buffer
• Transmit complete (TC) – zero means character is
being sent; one means transmitter idle
• Receive data register full – Set to a one when
received data needs to be read
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Programmed I/O Example (continued)
“Transmitting a character”
SCCR2 |=0x08; // Set TE to 1
while !end_of_stream
{
while !(SCSR & 0x80); // Wait until TDRE=1
SCDR = next_byte_to_send;
}
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Programmed I/O Example (continued)
“Receiving a character”
SCCR2 |=0x04; // Set RE to 1
while !(SCSR & 0x20); // Wait until RDRF=1
received_byte = SCDR;
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Interrupt Driven I/O
• Overcomes CPU waiting
• Requires setup code and interrupt service
routine
• No repeated CPU checking of device
• I/O module interrupts when ready
• Still requires CPU to be go between for
moving data between I/O module and
main memory
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Analogy: Exception Handling
• Before exception handling, functions would indicate
an error with a return value
– Calling code would check return code and handle error
accordingly
– Code littered with extra if-statements
– Ex: if(myFunction() == -1) printf("Error occurred.");
• Exception handling creates some sort of error flag.
– Third party code watches for flag, and if it gets set,
executes error handler.
– Allows for single error handler and cleaner code
• Configuration consists of trigger, listener, and handler
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Basic Interrupt I/O Operation
• CPU initializes the process
• I/O module gets data from peripheral while
CPU does other work
• I/O module interrupts CPU
• CPU requests data
I/O module transfers data
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
CPU
Viewpoint
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
CPU Viewpoint (continued)
• Issue read command
Do other work
• Check for interrupt at end of each
instruction cycle (NO CODE IS INVOLVED
IN THIS)
• I/O module issues interrupt request
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
CPU Viewpoint (continued)
I/O module issues interrupt request forcing processor to:
• Save context on stack
– Registers (this may have to be done by ISR)
– Pointers including PC/IP, but not SP
– Flags (Program Status Word)
• Send acknowledgement so I/O module can release request
• Process interrupt by loading address of ISR into PC/IP
• Interrupt must save results of ISR because more than likely,
returning from the interrupt will erase all indications that it
happened at all
• Retrieve context including PC/IP
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Interrupt I/O Example
(continued from programmed I/O)
Control:
• Transmit interrupt enable (TIE) – set to one
enables interrupt when TDRE is set to one
• Transmit complete interrupt enable (TCIE) –
set to one enables interrupt when TC is set to
one
• Receive interrupt enable (RIE) – set to one
enables interrupt when RDRF is set to one or
when error occurs
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Interrupt I/O Example (continued)
Status:
• Overrun error (OR) – set to one when
character received but there was no room in
SCDR
• Noise flag (NF) – set to one when noise is
detected on receive input
• Framing error (FE) – set to one when
received data had error with framing bits
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Interrupt I/O Example (continued)
“Transmitting a character”
SCCR2 |=0x88; // Set TIE and TE to 1
setISR(&ser_tx_ISR());
// At this point, processor can do something else
void INTERRUPT ser_tx_ISR()
{
SCDR = next_byte_to_send;
}
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Interrupt I/O Example (continued)
“Receiving a character”
SCCR2 |=0x24; // Set RIE and RE to 1
setISR(&ser_rx_ISR());
// At this point, processor can do something else
void INTERRUPT ser_rx_ISR()
{
if ((SCSR & 0x2E) == 0x20)
received_byte = SCDR;
else if ((SCSR & 0xE) != 0) process_error();
}
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Design Issues
• Resolution of multiple interrupts – How do
you identify the module issuing the
interrupt?
• Priority – How do you deal with multiple
interrupts at the same time or interrupting
in the middle of an interrupt?
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Identifying Interrupting Module
• Different interrupt line for each module
• Limits number of devices
• Even with this method, there are often
multiple interrupts still on a single interrupt
lined
• Priority is set by hardware
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Software poll
• Single interrupt line – when interrupt
occurs, CPU then goes out to check who
needs attention
• Slow
• Priority is set by order in which CPU
polls devices
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Daisy Chain or Hardware poll
• Interrupt Acknowledge sent down a chain
• Module responsible places unique vector
on bus
• CPU uses vector to identify handler
routine
• Priority is set by order in which
interrupt acknowledge gets to I/O
modules, i.e., order of devices on the
chain
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Bus Arbitration
• Allow multiple modules to control bus (See
“Method of Arbitration,” p. 75)
• I/O Module must claim the bus before it can raise
interrupt
• Can do this with:
– Bus controller/arbiter
– Distribute control to devices
• Must be one master, either processor or other
device
• Device that "wins" places vector on bus uniquely
identifying interrupt
• Priority is set by priority in arbitration, i.e.,
whoever is currently in control of the bus
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Example:
82C59A
(Fig. 7.9)
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
82C59A (continued)
• 80386 has one interrupt line
• 8259A has 8 interrupt lines
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
82C59A Sequence of Events
• 82C59A accepts interrupts
• 82C59A determines priority
– Fully nested IR0 (highest) through IR7 (lowest)
– Rotating – after interrupt is serviced, it goes to bottom
of priority list
– Special mask – allows individual interrupts to be
disabled
• 82C59A signals 8086 (raises INTR line)
• CPU Acknowledges with INTA line
• 82C59A puts correct vector on data bus
• CPU processes interrupt
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Direct Memory Access (DMA)
• Impetus behind DMA – Interrupt driven
and programmed I/O require active CPU
intervention (All data must pass through
CPU)
• Transfer rate is limited by processor's
ability to service the device
• CPU is tied up managing I/O transfer
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
DMA (continued)
• Additional Module (hardware) on bus
• DMA controller takes over bus from CPU
for I/O
– Waiting for a time when the processor doesn't
need bus
– Cycle stealing – seizing bus from CPU (more
common)
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
DMA Operation
• CPU tells DMA controller:
– whether it will be a read or write operation
– the address of device to transfer data from
– the starting address of memory block for the
data transfer
– the amount of data to be transferred
• DMA performs transfer while CPU does
other processes
• DMA sends interrupt when completed
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
DMA
Function
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Cycle Stealing
• DMA controller takes over bus for a cycle
• Transfer of one word of data
• Not an interrupt – CPU does not switch
context
• CPU suspended just before it accesses
bus – i.e. before an operand or data fetch
or a data write
• Slows down CPU but not as much as CPU
doing transfer
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
In-class discussion
• What effect does caching memory have on
DMA?
• Hint: How much are the system buses
available?
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
DMA Configurations
Single Bus, Detached DMA controller
– Each transfer uses bus twice – I/O to DMA
then DMA to memory
– CPU is suspended twice
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
DMA Configurations (continued)
Single Bus, DMA controller integrated into I/O module
– Controller may support one or more devices
– Each transfer uses bus once – DMA to memory
– CPU is suspended once
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
DMA Configurations (continued)
Separate I/O Bus
– Bus supports all DMA enabled devices with single
DMA controller
– Each transfer uses bus once – DMA to memory
– CPU is suspended once
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
Evolutions of I/O Methods
Growth of more sophisticated I/O devices
1.Processor directly controls device
2.Processor uses Programmed I/O
3.Processor uses Interrupts
4.Processor uses DMA
5.Some processing moved to processors in I/O
module that access programs in memory and
execute them on their own without CPU
intervention (I/O Module referred to as an I/O
Channel)
6.Distributed processing where I/O module is a
computer in its own right(I/O Module referred to
as an I/O Processor)
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
I/O Channels (continued)
• I/O Channel is extension of DMA concept
• CPU instructs the I/O channel to execute a
program in memory
• Following these instructions, the I/O channel
does the transfer of data itself
• Architecture
– Selector – one device transferring block of data at a
time
– Multiplexor – TDM
Input/Output– Page ‹#› of 51
CSCI 4717 – Computer Architecture
I/O Channels
(continued)

Weitere ähnliche Inhalte

Ähnlich wie I/O Module Functions CSCI 4717

Io techniques & its types
Io techniques & its typesIo techniques & its types
Io techniques & its typesNehal Naik
 
Computer Architecture and Organization.pptx
Computer Architecture and Organization.pptxComputer Architecture and Organization.pptx
Computer Architecture and Organization.pptxLearnersCoach
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAAiman Hud
 
Computer architecture input output organization
Computer architecture input output organizationComputer architecture input output organization
Computer architecture input output organizationMazin Alwaaly
 
Mba admission in india
Mba admission in indiaMba admission in india
Mba admission in indiaEdhole.com
 
03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.pptAmirZaman21
 
Basics of Computer! BATRA COMPUTER CENTRE IN AMBALA
Basics of Computer! BATRA COMPUTER CENTRE IN AMBALABasics of Computer! BATRA COMPUTER CENTRE IN AMBALA
Basics of Computer! BATRA COMPUTER CENTRE IN AMBALAjatin batra
 
Introduction to computer applications
Introduction to computer applications Introduction to computer applications
Introduction to computer applications funnyvideo55
 
Microprocessor & microcontroller
Microprocessor & microcontroller Microprocessor & microcontroller
Microprocessor & microcontroller Nitesh Kumar
 

Ähnlich wie I/O Module Functions CSCI 4717 (20)

Io techniques & its types
Io techniques & its typesIo techniques & its types
Io techniques & its types
 
IO_ORGANIZATION.pdf
IO_ORGANIZATION.pdfIO_ORGANIZATION.pdf
IO_ORGANIZATION.pdf
 
ch1.pptx
ch1.pptxch1.pptx
ch1.pptx
 
Coa presentation4
Coa presentation4Coa presentation4
Coa presentation4
 
Computer Architecture and Organization.pptx
Computer Architecture and Organization.pptxComputer Architecture and Organization.pptx
Computer Architecture and Organization.pptx
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
 
5120224.ppt
5120224.ppt5120224.ppt
5120224.ppt
 
Ch12 io systems
Ch12   io systemsCh12   io systems
Ch12 io systems
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Computer architecture input output organization
Computer architecture input output organizationComputer architecture input output organization
Computer architecture input output organization
 
Mba admission in india
Mba admission in indiaMba admission in india
Mba admission in india
 
Cs intro-ca
Cs intro-caCs intro-ca
Cs intro-ca
 
03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt
 
Basics of Computer! BATRA COMPUTER CENTRE IN AMBALA
Basics of Computer! BATRA COMPUTER CENTRE IN AMBALABasics of Computer! BATRA COMPUTER CENTRE IN AMBALA
Basics of Computer! BATRA COMPUTER CENTRE IN AMBALA
 
In out system
In out systemIn out system
In out system
 
High speed I/O
High speed I/OHigh speed I/O
High speed I/O
 
Computer hardware
Computer hardwareComputer hardware
Computer hardware
 
Introduction to computer applications
Introduction to computer applications Introduction to computer applications
Introduction to computer applications
 
Microprocessor & microcontroller
Microprocessor & microcontroller Microprocessor & microcontroller
Microprocessor & microcontroller
 

Mehr von AshokRachapalli1

17.INTRODUCTION TO SCHEMA REFINEMENT.pptx
17.INTRODUCTION TO SCHEMA REFINEMENT.pptx17.INTRODUCTION TO SCHEMA REFINEMENT.pptx
17.INTRODUCTION TO SCHEMA REFINEMENT.pptxAshokRachapalli1
 
joins in dbms its describes about how joins are important and necessity in d...
joins in dbms  its describes about how joins are important and necessity in d...joins in dbms  its describes about how joins are important and necessity in d...
joins in dbms its describes about how joins are important and necessity in d...AshokRachapalli1
 
6.Database Languages lab-1.pptx
6.Database Languages lab-1.pptx6.Database Languages lab-1.pptx
6.Database Languages lab-1.pptxAshokRachapalli1
 
inputoutputorganization-140722085906-phpapp01.pptx
inputoutputorganization-140722085906-phpapp01.pptxinputoutputorganization-140722085906-phpapp01.pptx
inputoutputorganization-140722085906-phpapp01.pptxAshokRachapalli1
 
arithmeticmicrooperations-180130061637.pptx
arithmeticmicrooperations-180130061637.pptxarithmeticmicrooperations-180130061637.pptx
arithmeticmicrooperations-180130061637.pptxAshokRachapalli1
 
Computer Network Architecture.pptx
Computer Network Architecture.pptxComputer Network Architecture.pptx
Computer Network Architecture.pptxAshokRachapalli1
 
Computer Network Types.pptx
Computer Network Types.pptxComputer Network Types.pptx
Computer Network Types.pptxAshokRachapalli1
 
dataencoding-150701201133-lva1-app6891.pptx
dataencoding-150701201133-lva1-app6891.pptxdataencoding-150701201133-lva1-app6891.pptx
dataencoding-150701201133-lva1-app6891.pptxAshokRachapalli1
 

Mehr von AshokRachapalli1 (20)

17.INTRODUCTION TO SCHEMA REFINEMENT.pptx
17.INTRODUCTION TO SCHEMA REFINEMENT.pptx17.INTRODUCTION TO SCHEMA REFINEMENT.pptx
17.INTRODUCTION TO SCHEMA REFINEMENT.pptx
 
joins in dbms its describes about how joins are important and necessity in d...
joins in dbms  its describes about how joins are important and necessity in d...joins in dbms  its describes about how joins are important and necessity in d...
joins in dbms its describes about how joins are important and necessity in d...
 
6.Database Languages lab-1.pptx
6.Database Languages lab-1.pptx6.Database Languages lab-1.pptx
6.Database Languages lab-1.pptx
 
Chapter5 (1).ppt
Chapter5 (1).pptChapter5 (1).ppt
Chapter5 (1).ppt
 
Cache Memory.pptx
Cache Memory.pptxCache Memory.pptx
Cache Memory.pptx
 
Addressing Modes.pptx
Addressing Modes.pptxAddressing Modes.pptx
Addressing Modes.pptx
 
inputoutputorganization-140722085906-phpapp01.pptx
inputoutputorganization-140722085906-phpapp01.pptxinputoutputorganization-140722085906-phpapp01.pptx
inputoutputorganization-140722085906-phpapp01.pptx
 
NOV11 virtual memory.ppt
NOV11 virtual memory.pptNOV11 virtual memory.ppt
NOV11 virtual memory.ppt
 
lec16-memory.ppt
lec16-memory.pptlec16-memory.ppt
lec16-memory.ppt
 
lecture-17.ppt
lecture-17.pptlecture-17.ppt
lecture-17.ppt
 
arithmeticmicrooperations-180130061637.pptx
arithmeticmicrooperations-180130061637.pptxarithmeticmicrooperations-180130061637.pptx
arithmeticmicrooperations-180130061637.pptx
 
instruction format.pptx
instruction format.pptxinstruction format.pptx
instruction format.pptx
 
Computer Network Architecture.pptx
Computer Network Architecture.pptxComputer Network Architecture.pptx
Computer Network Architecture.pptx
 
Computer Network Types.pptx
Computer Network Types.pptxComputer Network Types.pptx
Computer Network Types.pptx
 
dataencoding-150701201133-lva1-app6891.pptx
dataencoding-150701201133-lva1-app6891.pptxdataencoding-150701201133-lva1-app6891.pptx
dataencoding-150701201133-lva1-app6891.pptx
 
Flow Control.pptx
Flow Control.pptxFlow Control.pptx
Flow Control.pptx
 
Chapter4.ppt
Chapter4.pptChapter4.ppt
Chapter4.ppt
 
intro22.ppt
intro22.pptintro22.ppt
intro22.ppt
 
osi.ppt
osi.pptosi.ppt
osi.ppt
 
switching.pptx
switching.pptxswitching.pptx
switching.pptx
 

Kürzlich hochgeladen

Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxachiever3003
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentBharaniDharan195623
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate productionChinnuNinan
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 

Kürzlich hochgeladen (20)

Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptx
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managament
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate production
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 

I/O Module Functions CSCI 4717

  • 1. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Input/Output Reading: Stallings, Chapter 7
  • 2. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture General Description of I/O Wide variety of peripherals • Delivering different amounts of data • At different speeds • In different formats (bit depth, etc.)
  • 3. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Closing the Gap • Need I/O modules to act as bridge between processor/memory bus and the peripherals Processor Bus I/O Module External sensors and controls Device Interface Device Interface Device Interface
  • 4. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture External Devices • External devices are needed as a means of communication to the outside world (both input and output – I/O) • Types – Human readable – communication with user (monitor, printer, keyboard, mouse) – Machine readable – communication with equipment (hard drive, CDROM, sensors, and actuators) – Communication – communication with remote computers/devices (Can be any of the first two or a network interface card or modem)
  • 5. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Generic Device Interface Configuration
  • 6. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Device Interface Components • The control logic is the I/O module's interface to the device • The data channel passes the collected data from or the data to be output to the device. On the opposite end is the I/O module, but eventually it is the processor. • The transducer acts as a converter between the digital data of the I/O module and the signals of the outside world. – Keyboard converts motion of key into data representing key pressed or released – Temperature sensor converts amount of heat into a digital value – Disk drive converts data to electronic signals for controlling the read/write head
  • 7. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture I/O Module Functions • Control & Timing • Processor Communication • Device Communication • Data Buffering • Error Detection
  • 8. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture I/O Module: Control and Timing • Required because of multiple devices all communicating on the same channel • Example – CPU checks I/O module device status – I/O module returns status – If ready, CPU requests data transfer – I/O module gets data from device – I/O module transfers data to CPU – Variations for output, DMA, etc.
  • 9. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture I/O Module: Processor Communication • Commands from processor – Examples: READ SECTOR, WRITE SECTOR, SEEK track number, and SCAN record ID. • Data – passed back and forth over the data bus • Status reporting – Request from the processor for the I/O Module's status. May be as simple as BUSY and READY • Address recognition – I/O device is setup as a block of one or more addresses unique to itself
  • 10. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Other I/O Module Functions • Device Communication – specific to each device • Data Buffering – Due to the differences in speed (device is usually orders of magnitude slower) the I/O module needs to buffer data to keep from tying up the CPU's bus with slow reads or writes • Error Detection – simply distributing the need for watching for errors to the module. They may include: – Malfunctions by device (paper jam) – Data errors (parity checking at the device level) – Internal errors to the I/O module such as buffer overruns
  • 11. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture I/O Module Structure
  • 12. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture I/O Module Level of Operation • How much control will the CPU be required to handle? • How much will the CPU be allowed to handle? • What will the interface look like, e.g., Unix treats everything like a file • Support multiple or single device • Will additional control be needed for multiple devices on a single port (e.g., serial port versus USB)
  • 13. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Input/Output Techniques • Programmed I/O – poll and response • Interrupt driven – module calls for CPU when needed • Direct Memory Access (DMA) – module has direct access to specified block of memory
  • 14. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Addressing I/O Devices “Memory-Mapped I/O” • Data transfer is the same as a memory access (chip selects) • 80x86 example, any assembly language command accessing memory use memory read (^MRDC) and write (^MWTC) lines • Can use ALL memory instructions which is much greater than I/O instructions
  • 15. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Addressing I/O Devices “Isolated I/O” • Data transfer uses the same address lines but different read/write control lines • 8086 example, in and out commands use same bus with different read (^IORC) and write (^IOWC) lines • Limited number of instructions to choose from
  • 16. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Programmed I/O – CPU has direct control over I/O • Processor requests operation with commands sent to I/O module – Control – telling a peripheral what to do – Test – used to check condition of I/O module or device – Read – obtains data from peripheral so processor can read it from the data bus – Write – sends data using the data bus to the peripheral • I/O module performs operation • When completed, I/O module updates its status registers • Sensing status – involves polling the I/O module's status registers
  • 17. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Programmed I/O (continued) • I/O module does not inform CPU directly • CPU may wait or do something and come back later • Wastes CPU time because typically processor is much faster than I/O – CPU acts as a bridge for moving data between I/O module and main memory, i.e., every piece of data goes through CPU – CPU waits for I/O module to complete operation
  • 18. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Programmed I/O Example Motorola 68HC11 Serial Communications • Memory-mapped control registers – SCCR1(0x102C) – SCCR2 (0x102D) • Memory-mapped status register SCSR (0x102E) TIE TCIE RIE ILIE TE RE RWU TDRE TC RDRF IDLE OR NF FE 0 R8 T8 0 M WAKE 0 0 0
  • 19. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Programmed I/O Example (continued) Control: • Transmit enable (TE) – Set to one in order to enable serial output • Receive enable (RE) – Set to one in order to enable serial input Status: • Transmit data register empty (TDRE) – Set to one to indicate data can be placed in buffer • Transmit complete (TC) – zero means character is being sent; one means transmitter idle • Receive data register full – Set to a one when received data needs to be read
  • 20. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Programmed I/O Example (continued) “Transmitting a character” SCCR2 |=0x08; // Set TE to 1 while !end_of_stream { while !(SCSR & 0x80); // Wait until TDRE=1 SCDR = next_byte_to_send; }
  • 21. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Programmed I/O Example (continued) “Receiving a character” SCCR2 |=0x04; // Set RE to 1 while !(SCSR & 0x20); // Wait until RDRF=1 received_byte = SCDR;
  • 22. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Interrupt Driven I/O • Overcomes CPU waiting • Requires setup code and interrupt service routine • No repeated CPU checking of device • I/O module interrupts when ready • Still requires CPU to be go between for moving data between I/O module and main memory
  • 23. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Analogy: Exception Handling • Before exception handling, functions would indicate an error with a return value – Calling code would check return code and handle error accordingly – Code littered with extra if-statements – Ex: if(myFunction() == -1) printf("Error occurred."); • Exception handling creates some sort of error flag. – Third party code watches for flag, and if it gets set, executes error handler. – Allows for single error handler and cleaner code • Configuration consists of trigger, listener, and handler
  • 24. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Basic Interrupt I/O Operation • CPU initializes the process • I/O module gets data from peripheral while CPU does other work • I/O module interrupts CPU • CPU requests data I/O module transfers data
  • 25. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture CPU Viewpoint
  • 26. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture CPU Viewpoint (continued) • Issue read command Do other work • Check for interrupt at end of each instruction cycle (NO CODE IS INVOLVED IN THIS) • I/O module issues interrupt request
  • 27. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture CPU Viewpoint (continued) I/O module issues interrupt request forcing processor to: • Save context on stack – Registers (this may have to be done by ISR) – Pointers including PC/IP, but not SP – Flags (Program Status Word) • Send acknowledgement so I/O module can release request • Process interrupt by loading address of ISR into PC/IP • Interrupt must save results of ISR because more than likely, returning from the interrupt will erase all indications that it happened at all • Retrieve context including PC/IP
  • 28. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Interrupt I/O Example (continued from programmed I/O) Control: • Transmit interrupt enable (TIE) – set to one enables interrupt when TDRE is set to one • Transmit complete interrupt enable (TCIE) – set to one enables interrupt when TC is set to one • Receive interrupt enable (RIE) – set to one enables interrupt when RDRF is set to one or when error occurs
  • 29. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Interrupt I/O Example (continued) Status: • Overrun error (OR) – set to one when character received but there was no room in SCDR • Noise flag (NF) – set to one when noise is detected on receive input • Framing error (FE) – set to one when received data had error with framing bits
  • 30. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Interrupt I/O Example (continued) “Transmitting a character” SCCR2 |=0x88; // Set TIE and TE to 1 setISR(&ser_tx_ISR()); // At this point, processor can do something else void INTERRUPT ser_tx_ISR() { SCDR = next_byte_to_send; }
  • 31. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Interrupt I/O Example (continued) “Receiving a character” SCCR2 |=0x24; // Set RIE and RE to 1 setISR(&ser_rx_ISR()); // At this point, processor can do something else void INTERRUPT ser_rx_ISR() { if ((SCSR & 0x2E) == 0x20) received_byte = SCDR; else if ((SCSR & 0xE) != 0) process_error(); }
  • 32. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Design Issues • Resolution of multiple interrupts – How do you identify the module issuing the interrupt? • Priority – How do you deal with multiple interrupts at the same time or interrupting in the middle of an interrupt?
  • 33. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Identifying Interrupting Module • Different interrupt line for each module • Limits number of devices • Even with this method, there are often multiple interrupts still on a single interrupt lined • Priority is set by hardware
  • 34. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Software poll • Single interrupt line – when interrupt occurs, CPU then goes out to check who needs attention • Slow • Priority is set by order in which CPU polls devices
  • 35. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Daisy Chain or Hardware poll • Interrupt Acknowledge sent down a chain • Module responsible places unique vector on bus • CPU uses vector to identify handler routine • Priority is set by order in which interrupt acknowledge gets to I/O modules, i.e., order of devices on the chain
  • 36. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Bus Arbitration • Allow multiple modules to control bus (See “Method of Arbitration,” p. 75) • I/O Module must claim the bus before it can raise interrupt • Can do this with: – Bus controller/arbiter – Distribute control to devices • Must be one master, either processor or other device • Device that "wins" places vector on bus uniquely identifying interrupt • Priority is set by priority in arbitration, i.e., whoever is currently in control of the bus
  • 37. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Example: 82C59A (Fig. 7.9)
  • 38. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture 82C59A (continued) • 80386 has one interrupt line • 8259A has 8 interrupt lines
  • 39. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture 82C59A Sequence of Events • 82C59A accepts interrupts • 82C59A determines priority – Fully nested IR0 (highest) through IR7 (lowest) – Rotating – after interrupt is serviced, it goes to bottom of priority list – Special mask – allows individual interrupts to be disabled • 82C59A signals 8086 (raises INTR line) • CPU Acknowledges with INTA line • 82C59A puts correct vector on data bus • CPU processes interrupt
  • 40. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Direct Memory Access (DMA) • Impetus behind DMA – Interrupt driven and programmed I/O require active CPU intervention (All data must pass through CPU) • Transfer rate is limited by processor's ability to service the device • CPU is tied up managing I/O transfer
  • 41. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture DMA (continued) • Additional Module (hardware) on bus • DMA controller takes over bus from CPU for I/O – Waiting for a time when the processor doesn't need bus – Cycle stealing – seizing bus from CPU (more common)
  • 42. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture DMA Operation • CPU tells DMA controller: – whether it will be a read or write operation – the address of device to transfer data from – the starting address of memory block for the data transfer – the amount of data to be transferred • DMA performs transfer while CPU does other processes • DMA sends interrupt when completed
  • 43. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture DMA Function
  • 44. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Cycle Stealing • DMA controller takes over bus for a cycle • Transfer of one word of data • Not an interrupt – CPU does not switch context • CPU suspended just before it accesses bus – i.e. before an operand or data fetch or a data write • Slows down CPU but not as much as CPU doing transfer
  • 45. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture In-class discussion • What effect does caching memory have on DMA? • Hint: How much are the system buses available?
  • 46. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture DMA Configurations Single Bus, Detached DMA controller – Each transfer uses bus twice – I/O to DMA then DMA to memory – CPU is suspended twice
  • 47. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture DMA Configurations (continued) Single Bus, DMA controller integrated into I/O module – Controller may support one or more devices – Each transfer uses bus once – DMA to memory – CPU is suspended once
  • 48. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture DMA Configurations (continued) Separate I/O Bus – Bus supports all DMA enabled devices with single DMA controller – Each transfer uses bus once – DMA to memory – CPU is suspended once
  • 49. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture Evolutions of I/O Methods Growth of more sophisticated I/O devices 1.Processor directly controls device 2.Processor uses Programmed I/O 3.Processor uses Interrupts 4.Processor uses DMA 5.Some processing moved to processors in I/O module that access programs in memory and execute them on their own without CPU intervention (I/O Module referred to as an I/O Channel) 6.Distributed processing where I/O module is a computer in its own right(I/O Module referred to as an I/O Processor)
  • 50. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture I/O Channels (continued) • I/O Channel is extension of DMA concept • CPU instructs the I/O channel to execute a program in memory • Following these instructions, the I/O channel does the transfer of data itself • Architecture – Selector – one device transferring block of data at a time – Multiplexor – TDM
  • 51. Input/Output– Page ‹#› of 51 CSCI 4717 – Computer Architecture I/O Channels (continued)