List and define
Three categories of External Devices
List
Major functions for an I/O module
List
Three possible techniques for I/O operations
Programmed I/O
Interrupt-driven I/O
Direct memory access I/O (DMA)
Define
Programmed I/O
Data are exchanged between the processor and the I/O module.
Processor executes a program that gives it direct control of the I/O operation.
When the processor issues a command it must wait for the I/O operation to complete.
If the processor is faster than the I/O module, this is wasteful of processor time
Transfer through processor, does not use interrupts
Define
Interrupt-driven I/O
Processor issues an I/O command, continues to execute other instructions, and is interrupted by the I/O module when the latter has completed its work.
Transfer through processor, uses interrupts
Define
Direct memory access (DMA)
The I/O module and mm exchange data directly without processor involvement. Most efficient method for moving large volumes of data.
Transfer straight to main memory, uses interrupts
Describe
Drawbacks of Programmed and Interrupt-drive I/O
List and define
Four types of I/O commands
Define
I/O mapping summary
two types
Memory mapped I/O – devices and memory share an address space. I/O looks just like r/w, no special commands.
Isolated I/O – separate address spaces. Needs I/O or memory select lines. Special commands (limited set)
Describe
Two design issues with implementing interrupt I/O
List
4 general categories of techniques to identify which device interrupted
Define
Multiple interrupt lines
Between the processor and I/O modules. Most straightforward approach. Even if multiple lines are used, likely that each line will have multiple I/O modules attached to it.
Define
Software poll
When the processor detects and interrupt it branches to an interrupt service routine whose job is to poll each I/O module to determine which module caused the interrupt. Time consuming.
Define
Daisy chain
interrupts
The interrupt acknowledge line is daisy chained through the modules. Vector -address of the I/O module or some other unique identifier. Vector interrupt - processor uses the vector as a pointer to the appropriate device service routine, avoiding the need to execute a general interrupt service routine first.
Define
Bus arbitration
An I/O module must first gain control of the bus before it can raise the interrupt request line. When the processor detects the interrupt it responds on the interrupt acknowledge line. Then the requesting module places its vector on the data lines.
Descibe
Process of transmitting data in DMA scheme
Application that wants to transmit data places it in an assigned buffer in main memory.
The core transfers this to a system buffer in main memory and creates necessary TCP and IP headers, which are also buffered in system memory.
The packet is then picked up via the DMA for transfer via the NIC.
This activity engages not only main memory but also the cache.
Similar transfers between system and app buffers are required for incoming traffic
Define
Direct cache access: simplest strategy
This form of DCA applies only to incoming network traffic. The DCA function in the memory controller sends a prefetch hint to the core as soon as the data is available in system memory. This enables the core to prefetch the data packet from the system buffer.
Describe
Direct cache access: Direct data I/O
The packet and packet descriptor information are accessed only once in the system buffer by the core. For incoming packets, the core reads the data from the buffer and transfers the packet payload to an application buffer. It has no need to access the data in the system buffer again.
Cache injection
List
Evolution of the I/O function
Define
Universal Serial Bus
(USB) Widely used for peripheral connections, default for slower speed devices. Commonly used high-speed I/O. Is controlled by root host controller which attaches to devices to create a local network with a heirarchical tree topology
Define
Small computer system interface
Old standard for connecting peripheral devices to small and medium sized computers. Physical organiation is shared bus that can support 16 or 32 devices, depending on generation. Speed ranges from 5 Mbps to 160 Mbps
Define
FireWire Serial Bus
Uses daisy chain configuration, up to 63 devices connected off single port. Provides for hot plugging which makes it possible to connect and disconnect
peripherals without having to power the computer system down or reconfigure the system. Provides for automatic configuration. No terminations and the system automatically performs a configuration function to assign addresses
Define
Thunderbolt
Most recent and fastest peripheral connection technology to become available for general-purpose use. Developed by Intel with collaboration from Apple. The technology combines data, video, audio, and power into a
single high-speed connection for peripherals such as hard drives, RAID arrays, video-capture boxes, and network interfaces. Provides up to 10 Gbps throughput in each direction and up to 10 Watts of power to connected peripherals
Define
SATA
Serial Advanced Technology
Attachment. An interface for disk storage systems.
Provides data rates of up to 6 Gbps, with a maximum per device of 300 Mbps.
Widely used in desktop computers and in industrial and embedded applications