Académique Documents
Professionnel Documents
Culture Documents
Cosc 3P92
1
COSC 3P92
Input/ Output
• There are two general types of I/O devices:
1. physical I/O devices
eg. output port to printer
2. virtual (logical) I/O devices: operating system abstractions eg.
spooled print file, files vs. sectors on disk
» Telephony Application Programmed Interface (TAPI)
» Telephony Service Provider Programming Interface (TSPI)
Physical I/O
• To transfer information between CPU and physical
I/O devices, one may use the following
techniques:
1. programmed I/O
2. interrupt (-driven) I/O
3. direct memory access (DMA)
2
COSC 3P92
1. Programmed I/O
• I/O ports may be addressed using:
3
COSC 3P92
8088 i/o
port control
4
COSC 3P92
1. Programmed I/O
• Disadvantages:
– I/O interfaces may need more circuitry to recognize larger
addresses.
– possible slow down in bus performance.
5
COSC 3P92
Data-direction register
0 1 1 0 0 1 1 0 1=output 0=input
I/O port
6
COSC 3P92
– Parallel ports
» Each I/O port (as a whole) may be configured as either
input or output.
Command register
0 1 1 0 0 1 1 0 1=output 0=input
Other control signals B A
7
COSC 3P92
Interrupt I/O
• When an I/O device is ready to send (receive) data
to (from) the CPU, it signals (or interrupts) the
CPU for its attention.
– No need to poll device status.
– As soon as the CPU finishes the current instruction, it
transfers its execution to an interrupt-service routine which
responds to the external interrupt.
Interrupt I/O
example code:
Setting up interrupt I/O...
move.b #$81, DDRA ; data direction
move.b #$00, DDRB ; registers
move.b #$81, PORTA ; start pulse
move.b #$01, PORTA ; to device
...
Device will cause interrupt when ready/done,
and an interrupt routine will complete
transaction...
move.b PORTB, D1 ; interrupt service rtn.
rte
9
COSC 3P92
• Daisy-chain
10
COSC 3P92
11
COSC 3P92
12
COSC 3P92
DMA
3 techniques:
1. Block transfer
- whole data block transferred
- CPU can do non-related bus activities in the
meanwhile
2. Cycle stealing
- DMA controller freezes the CPU, and then
does a DMA while CPU frozen
- word-by-word transfer
3. Interleaved
- DMA controller uses CPU cycles that aren't
using the bus, letting DMA xfers and CPU
alternate use of the bus
13
COSC 3P92
14
COSC 3P92
I/O processors
• Some considerations:
– priority system for IOP's sharing system bus
– priority system for devices on one IO bus
– IOP requires software or hardware to manage different devices
15
COSC 3P92
IO example: LED
16
COSC 3P92
8086 Programmed IO
17
COSC 3P92
8086 Programmed IO
18
COSC 3P92
68000 IO
20
COSC 3P92
68000 IO
21
COSC 3P92
68000 memory
22
COSC 3P92
The end
26