UNIT 3 COA Flashcards
I/O subsystem and examples
aka peripheral eff mode of comm: central sys -> outside enviro M:cl K P S (master key paints school) monitor kbd printer storage device
I/O interface need
COST
conversion of sig maybe
synch mech: transfer rate of peri slower than cpu
data codes+formats diff in word formats -> cpu, memory
operating modes of peri diff->peri control no deisturb others to cpu
(io has registers to help out)
special h/w comp bw cpu + peripheral
supervise and synch i/o transfers
I/O bus
DAC data address control (diag 1)
Interface modules
SICRI SCSI IDE centronics rs-232 ieee-488
I/O Commands
COSI Control->io read, give contro; sig to io output status->io ready? input->initialize inp
io bus vs memory bus
iop->separate busses for mem and io
memory->same bus, diff control lines:(io read,write mem read,write)
iso i/o or i/o mapped i/o
memory->same bus,same control lines:(some loc -> mem, some loc-> io devices, if these ranges we know which)
mem-map io
comp bus?
comm with memory and io
example of io
(diag 2)
processor side -> bus buffer
chip select -> which device interface
register select -> which register?
modes of transfer
to and from peripherals (io -> cpu, io -> memory) PID programmed -> cpu interrupt initiated -> cpu dma -> memory
programmed io
io -> cpu
program for io -> instructions in program
(diag 3)
data valid active, if data on io bus
interface: data to dr in interface + set flag(io data in dr) in interface
enables data accepted line
io device waits for data accepted acknowdgement to place next data on bus
cpu part(diag 4) status, flag -> 0 data not ready flag -> 1 keeps on reading and transfering to memory, if op not done again and againnnn DISADV: continous monitor(instradd of moving on) flag bit only when 1, continue
interrupt initiated io
interrupt to cpu when ready (io data ready) and tells which device as well, no waiting
nonvectored -> fixed branch address -> isr
vectored -> interrupt source(kbd, mouse) gives branch address (direct isr) of int vector
io routines
sw routines control peri and transfer data processor -> peri
standard -> manu
in os
in os procedures
priority interrupt
many interrupts, identify source and determine first
sw -> polling
hw -> daisy chaining, parallel priority
polling
identify highest priority sw
one common branch for all interrupts->polls in sequence(one by one to see, you want interrupt?)->highest priority tested first
DISADVANTAGE: alllll the device checking,exceed time to service device
daisy chain
(diag 5)
highest priority -> next highest …->lowest
device sends interrupt request to cpu directly
cpu sends interrupt acknowledgement to first device, pi = 1, if that device, po=0
vad(vector address) placed on data bus to go to cpu (isr)
cpu executes isr
(diag 6 and 7)in each device