CBA-IO-2a
CBA-IO-2a
• Output:
– causes the interface to respond by transferring data from the bus into
one of its registers via data lines
• Input:
– Data Transfer from I/O to processor via data lines
Moving On…
• Most modern operating systems (O/Ss) pre-emptively
schedule programs.
— If you are simultaneously running two programs A and B, the
O/S will periodically switch between them, as it sees fit.
— Specifically, the O/S will:
• Stop A from running
• Copy A’s register values to memory
• Copy B’s register values from memory
• Start B running
Interaction with I/O
• Most I/O requests are made by applications or the
OS, and involve moving data between a peripheral
device and main memory.
• There are TWO main ways that programs
communicate with devices.
— Isolated I/O
— Memory-mapped I/O
• There are also several ways of managing data
transfers between devices and main memory.
— Programmed I/O
— Interrupt-driven I/O
— Direct Memory Access
I/O Bus versus Memory Bus
Computer buses can be used to communicate with
main memory and I/O in TWO ways:
1. Use common A_bus & D_bus for both memory
and I/O but have separate C_bus. There is a
separate read and write lines: I/O read and I/O
write for I/O and memory read and memory
write for memory. – Isolated I/O or I/O mapped
I/O
2. Use a common bus for memory and I/O with
common C_bus – Memory-mapped I/O
Communicating with devices