I/O Devices Flashcards
(58 cards)
⭐️ What sort of structure does I/O hardware have?
Hierarchical structure
⭐️ What is at the top, middle & lower level of the I/O hardware hierarchy: memory bus, PCI bus, Peripheral I/O bus?
- Memory bus
- PCI bus
- Peripheral I/O bus
⭐️ Which piece of I/O hardware is this?
Connection point for devices
Port
⭐️ Which piece of I/O hardware is this?
Enables shared direct access
Bus
⭐️ Which piece of I/O hardware is this?
Electronics that operate port & bus device. Contains processor, microcode, private memory & bus controller
Controller
⭐️ Which piece of I/O hardware is this?
Present uniform device-access interface to I/O subsystem
Device driver
Which register in the canonical device communicating with the OS is this?
Can be read to see the current status of the device
Status register
Which register in the canonical device communicating with the OS is this?
Tells the device to perform a certain task
Command register
Which register in the canonical device communicating with the OS is this?
Passes data to / gets data from the device
Data register
What is the goal of I/O interrupts?
To lower CPU overhead
I/O interrupts allow for the overlap of…
computation & I/O
⭐️ Should polling or I/O interrupts be used in the case described below?
A fast device
Polling - better to spin than to take the interrupt overhead
⭐️ Should polling or I/O interrupts be used in the case described below?
Unknown time for device
Both/Hybrid: Spin, then use interrupts
⭐️ Give the definition:
Batching together several interrupts
Interrupt coalescing
⭐️ What can a flood of arriving interrupts lead to?
Livelock
⭐️ Give the definition:
Lock that occurs when always handling interrupts
Livelock
⭐️ If a flood of interrupts arrives is it better to ignore the interrupts, or to handle them right away?
Better to ignore the interrupts, while making some progress handling them
What type of I/O transfer of data is this?
CPU directly controls data transfer between memory & an I/O device
Programmed I/O (PIO)
What type of I/O for data transfer has this downside?
High CPU overhead - the CPU is fully occupied during transfer
Programmed I/O (PIO)
⭐️ What type of I/O for data transfer has the following definition:
Bypasses CPU to transfer data directly between I/O device & memory
Direct Memory Access (DMA)
⭐️ What data transfer I/O method is used to avoid PIO for large data movement?
DMA (Direct Memory Access)
⭐️ What communication method for an I/O is this?
Each device has a port & IN/OUT instructions communicate with the device using reg ports
I/O instructions
⭐️ What communication method for an I/O is this?
Hardware maps registers into memory address space. CPU uses load/store instructions that are sent to the device.
Addresses are loaded/mapped during system initialization & remain active until shutdown
Memory-Mapped I/O (MMIO)
What part of the I/O software is this?
An abstraction that hides details & differences between devices, and provides standard interfaces
Device driver