Professional Documents
Culture Documents
& Architecture
BITS Pilani Chandan Ranvandur n
Pilani Campus
Input /Output
4
BITS Pilani, Pilani Campus
I/O Module Functions-1
• Data Buffering
– To overcome the speed mismatch between CPU or
memory and device
• Error Detection
– Mechanical, electrical malfunctioning and
transmission
– e.g. paper jam, disk bad sector
6
BITS Pilani, Pilani Campus
EXTERNAL DEVICES
7
BITS Pilani, Pilani Campus
General I/O Module Structure
• 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
8
BITS Pilani, Pilani Campus
I/O Methods
• Programmed
• Interrupt driven
• Direct Memory Access (DMA)
9
BITS Pilani, Pilani Campus
Programmed I/O
• Isolated I/O
– Separate address spaces
– Need I/O or memory select lines
– Special commands for I/O
– 210= 1024 lines
11
BITS Pilani, Pilani Campus
Memory Mapped and Isolated
I/O
12
BITS Pilani, Pilani Campus
Interrupts
14
BITS Pilani, Pilani Campus
Simple Interrupt Processing
15
BITS Pilani, Pilani Campus
Changes in Memory and Registers for an
Interrupt
17
BITS Pilani, Pilani Campus
Device Identification-2
• Hardware Poll
– All I/O modules share a common interrupt request line
– Interrupt ACK line is Daisy changed through the modules
– Requesting module places address of the I/O module on data
bus which is called as a vector
– Technique is called as vectored Interrupt
18
BITS Pilani, Pilani Campus
A common interrupt request line
20
BITS Pilani, Pilani Campus
Sequence of events involved in handling
interrupt
21
BITS Pilani, Pilani Campus
Simultaneous requests
22
BITS Pilani, Pilani Campus
Simultaneous requests
23
BITS Pilani, Pilani Campus
Simultaneous requests Example
24
BITS Pilani, Pilani Campus
Simultaneous requests Example
25
BITS Pilani, Pilani Campus
Simultaneous requests Example 2
26
BITS Pilani, Pilani Campus
Simultaneous requests Example 2
27
BITS Pilani, Pilani Campus
Multiple Interrupts - Sequential
Processor will ignore further interrupts whilst processing one interrupt
Interrupts remain pending and are checked after first interrupt has been
processed
28
BITS Pilani, Pilani Campus
Multiple Interrupts: Priority
Low priority interrupts can be interrupted by higher priority interrupts
When higher priority interrupt has been processed, processor returns
to previous interrupt
29
BITS Pilani, Pilani Campus
Use of the 82C59A Interrupt Controller
30
BITS Pilani, Pilani Campus
Review Questions
32
BITS Pilani, Pilani Campus
The Cache Coherence Problem
It is denoted by ‘I’ .Invalidated blocks are also known as dirty, i.e. they
should not be used.
36
BITS Pilani, Pilani Campus
Snoopy Bus Protocols
38
BITS Pilani, Pilani Campus
Sharing of writable data
When two processors (P1 and P2) have same data element (X) in their
local caches and one process (P1) writes to the data element (X), as
the caches are write-through local cache of P1, the main memory is
also updated. Now when P2 tries to read data element (X), it does not
find X because the data element in the cache of P2 has become
outdated. 39
BITS Pilani, Pilani Campus
Process migration
In the first stage, cache of P1 has data element X, whereas P2 does not have
anything. A process on P2 first writes on X and then migrates to P1. Now, the
process starts reading data element X, but as the processor P1 has outdated data
the process cannot read it. So, a process on P1 writes to the data element X and
then migrates to P2. After migration, a process on P2 starts reading the data
element X but it finds an outdated version of X in the main memory.
40
BITS Pilani, Pilani Campus
I/O activity
42
BITS Pilani, Pilani Campus