Podcast
Questions and Answers
What is the primary disadvantage of programmed I/O?
What is the primary disadvantage of programmed I/O?
It wastes CPU time since the CPU waits for the I/O module to complete the operation.
How does the I/O module communicate its status to the CPU in programmed I/O?
How does the I/O module communicate its status to the CPU in programmed I/O?
The I/O module sets status bits that the CPU checks periodically.
What role does the I/O module play in the relationship between the CPU and external devices?
What role does the I/O module play in the relationship between the CPU and external devices?
The I/O module acts as an intermediary, performing operations on the devices and managing status and data transfer.
What are the types of I/O commands issued by the CPU to the I/O module?
What are the types of I/O commands issued by the CPU to the I/O module?
Signup and view all the answers
What is one key decision an I/O module must make regarding device properties?
What is one key decision an I/O module must make regarding device properties?
Signup and view all the answers
What role does the I/O module play in a computer's architecture?
What role does the I/O module play in a computer's architecture?
Signup and view all the answers
Name and describe the three categories of external devices connected to an I/O module.
Name and describe the three categories of external devices connected to an I/O module.
Signup and view all the answers
Why can't high-speed system buses be used to communicate directly with peripherals?
Why can't high-speed system buses be used to communicate directly with peripherals?
Signup and view all the answers
What types of data might be exchanged between an I/O module and an external device?
What types of data might be exchanged between an I/O module and an external device?
Signup and view all the answers
How does the data transfer rate mismatch between peripherals and the processor/memory affect system design?
How does the data transfer rate mismatch between peripherals and the processor/memory affect system design?
Signup and view all the answers
What is the main function of an I/O module in interpreting address lines?
What is the main function of an I/O module in interpreting address lines?
Signup and view all the answers
Describe the key difference between memory-mapped I/O and isolated I/O.
Describe the key difference between memory-mapped I/O and isolated I/O.
Signup and view all the answers
Explain how interrupt-driven I/O improves CPU efficiency.
Explain how interrupt-driven I/O improves CPU efficiency.
Signup and view all the answers
What steps does the CPU take when it receives an interrupt from an I/O module?
What steps does the CPU take when it receives an interrupt from an I/O module?
Signup and view all the answers
How can a system identify which device has issued an interrupt?
How can a system identify which device has issued an interrupt?
Signup and view all the answers
What is the impact of DMA on CPU performance during data transfers?
What is the impact of DMA on CPU performance during data transfers?
Signup and view all the answers
How does a single-bus integrated DMA controller differ from a detached DMA controller in terms of bus usage?
How does a single-bus integrated DMA controller differ from a detached DMA controller in terms of bus usage?
Signup and view all the answers
Explain the role of the I/O controller in modern computer systems.
Explain the role of the I/O controller in modern computer systems.
Signup and view all the answers
What evolutionary changes have occurred in I/O channels regarding CPU involvement?
What evolutionary changes have occurred in I/O channels regarding CPU involvement?
Signup and view all the answers
Describe the efficiency benefits of using a separate I/O bus in DMA configurations.
Describe the efficiency benefits of using a separate I/O bus in DMA configurations.
Signup and view all the answers
What are the maximum data transfer speeds for USB 3.0 and USB 3.1?
What are the maximum data transfer speeds for USB 3.0 and USB 3.1?
Signup and view all the answers
How many devices can be connected in a FireWire daisy chain configuration?
How many devices can be connected in a FireWire daisy chain configuration?
Signup and view all the answers
What are the two types of transmission methods used in the FireWire link layer?
What are the two types of transmission methods used in the FireWire link layer?
Signup and view all the answers
What is the primary purpose of InfiniBand in computing environments?
What is the primary purpose of InfiniBand in computing environments?
Signup and view all the answers
What role does the root play in FireWire's arbitration scheme?
What role does the root play in FireWire's arbitration scheme?
Signup and view all the answers
What are two key advantages of using InfiniBand in server architecture?
What are two key advantages of using InfiniBand in server architecture?
Signup and view all the answers
How does InfiniBand manage data traffic during transfers?
How does InfiniBand manage data traffic during transfers?
Signup and view all the answers
Explain the role of virtual lanes in InfiniBand operations.
Explain the role of virtual lanes in InfiniBand operations.
Signup and view all the answers
What is the maximum distance allowed for I/O connections using single-mode fiber in InfiniBand?
What is the maximum distance allowed for I/O connections using single-mode fiber in InfiniBand?
Signup and view all the answers
Describe the three principal I/O techniques mentioned in the content.
Describe the three principal I/O techniques mentioned in the content.
Signup and view all the answers
Study Notes
Input/Output (I/O)
- I/O involves peripherals with various operation methods
- There's a mismatch between peripheral data transfer rates and memory/processor rates
- Peripherals often use different data formats and word lengths than the computer itself
I/O Module
- Functions as an intermediary between the processor and memory and peripherals
- Interfaces to the processor and memory via the system bus or central switch
- Interfaces to one or more peripheral devices
External Devices
- Provide a means of exchanging data between the external environment and the computer
- An external device attaches to the computer via a link to an I/O module
- The link exchanges control, status, and data between the I/O module and the external device
- Often referred to as a peripheral device
External Device Categories
- Human-readable: Suitable for communication with the user (e.g., screen, printer, keyboard)
- Machine-readable: Suitable for communication with equipment (e.g., magnetic disk, tape system, sensors, actuators)
- Communication: Suitable for communication with remote devices (e.g., modem, network interface card (NIC))
External Device Block Diagram
- Control signals: Determine the device's function (e.g., read/write, report status, etc.)
- Control logic: Processes and interprets control signals to the device
- Buffer: Temporarily holds data during transfer between the I/O module and the environment
- Transducer: Converts data from one form (electrical) to another form (e.g., mechanical, thermal)
I/O Module
- Control & Timing: Coordinates flow between internal and external resources. Handles device communication (commands, status, data).
- Data Buffering: Handles high CPU/memory transfer rates, often vastly slower peripheral rates.
- Error Detection: Monitors peripheral for mechanical/electrical malfunctions
CPU Communication
- Command decoding: I/O module accepts commands from the processor
- Data transfers: Data exchanged between the processor and I/O module via the data bus.
- Status reporting: Key for peripherals that are slow, status information is critical for the I/O module.
- Address recognition: I/O module identifies the device with a unique address for control.
I/O Steps
- CPU checks I/O module's device status
- I/O module returns its status
- CPU requests data
- I/O module gets data from device
- I/O module sends data to CPU
I/O Module Decisions
- Hide or reveal device properties to CPU.
- Support multiple or single devices
- Control device functions or leave for CPU.
- Operating System (O/S) decisions on how devices are treated (e.g. Unix treats peripherals as files).
I/O Operation Techniques
-
Programmed I/O: CPU directly controls I/O, waits for each operation to complete
-
Interrupt-driven I/O: CPU issues a command, then moves on to other tasks; CPU gets interrupted when device is ready
-
Direct Memory Access (DMA): DMA controller handles transfer between memory and peripheral without continuous CPU intervention
I/O Commands
- Issued by the CPU to the I/O module.
- Identifies the module and any specific device as required via addresses
- Includes I/O commands for control (e.g., disc spin-up), test, read, and write processes
I/O Instructions
- Executed by the processor; tightly coupled with the I/O commands.
- The form of the instructions depends on how the external devices are addressed
Addressing I/O Devices
- Programmed I/O data transfers mimic memory access
- Each device gets a unique identifier (address)
- CPU commands contain the identifier for the device
Addressing Modes
- Memory-mapped I/O: Devices and memory share the address space
- Isolated I/O: Separate address spaces, specialized commands
Interrupt-Driven I/O
- Overcomes CPU waiting
- I/O module interrupts CPU when ready.
- No need to repeatedly monitor the device
DMA (Direct Memory Access)
- Interrupt driven and programmed I/O require active CPU intervention
- DMA is the answer to faster transfer speeds, taking over system control from the processor for transfers
- DMA controller uses the bus only when the processor does not, possibly causing temporary suspension (cycle stealing)
DMA Functions
- Additional module on the system bus
- DMA controller takes over I/O functions from the CPU
DMA Operations
- CPU tells the DMA controller on the type of read/write, the device address and the memory block address where to write or read data.
- CPU continues with other tasks whilst DMA manages data transfers between peripheral and memory.
- DMA controller sends interrupt when finished.
DMA Cycle Stealing
- DMA takes control of the bus for a cycle
- Transfer of data without an interrupt
- CPU suspended temporarily
DMA Configurations
- Single-bus: DMA controller detached, using the bus twice for each transfer, CPU is suspended twice
- Single-bus, Integrated: DMA controller integrated with I/O using the bus only once for each transfer, CPU is suspended once.
- Separate I/O bus: Separate I/O bus, the bus is used only once for each transfer, CPU is suspended only once
I/O Channels
- As systems evolve, I/O devices become more complex and I/O channels allow for an improved transfer speed and reduced burden on the CPU.
- This can take over the entire I/O from the CPU.
- I/O controllers respond to I/O instructions and execute them.
- Selector channel: Controls multiple high-speed devices at the same time and on a single transfer.
- Multiplexor channel: Designed for handling multiple low-speed devices; can serve multiple devices rapidly
Interfacing
- Parallel interfaces: Multiple data lines connect the I/O module to the peripheral; bits are transferred simultaneously. (e.g., tape and disc drives)
- Serial interfaces: Only one data line used to transfer data sequentially. (e.g., printers)
Interfacing: I/O Modules and External Devices
- Point-to-point: Dedicated link between the I/O module and the external device (e.g., keyboard, printer).
- Multipoint: Used to support mass storage devices (such as disk and tape drives), and multimedia devices (such as CD-ROMs). Includes examples like FireWire and Infiniband.
External Interconnection Standards
- Various standards exist for connecting external devices, including USB, FireWire, SCSI, Thunderbolt, InfiniBand, PCI Express, SATA, Ethernet, and Wi-Fi
USB
- Widely used for connecting peripherals.
- Multiple generations exist with increasing data rates.
IEEE 1394 FireWire
- High-performance, low-cost serial bus.
- Common in digital cameras, VCRs, and TVs
- Daisy chain or tree-structured configuration, up to 63 devices.
- Layers (physical, link, transaction)
FireWire Configuration
- Daisy-chain up to 63 devices on one port
- Up to 1022 buses via bridges (tree configuration).
- Automatic configuration.
FireWire 3 Layer Stack
- Physical layer: Transmission medium
- Link layer: Packets
- Transaction layer: Requests and responses
FireWire Protocol Stack
- Layers define how data is organized for transmission and handling across the FireWire system
FireWire - Physical Layer
- Data rates range from 25 to 400 Mbps
- Uses tree-based arbitration, with root acting as arbiter
- Arbitration methods include fair, urgent, and first-come, first-served
FireWire - Link Layer
- Two transmission types: Asynchronous and isochronous
- Asynchronous: Variable-length data packets
- Isochronous: Fixed-size data packets at regular intervals
InfiniBand
- High-end server I/O specification
- High capacity, expandability, flexibility
- Replaces PCI in servers.
- Supports up to 30Gbps
InfiniBand Architecture
- Remote storage, network connections between servers.
- Higher server density
- Scalable data centres
- Long distances using fiber optics (up to 10 km)
InfiniBand Operations
- 16 logical channels (virtual lanes) per physical link.
- One channel for management, others for data
- Data transmitted as packets, virtual lane for temporary transfers to end-points.
- Switches map incoming to outgoing lanes.
Summary
- I/O architecture enables interaction with the outside world.
- Three main I/O techniques: programmed, interrupt-driven, and direct memory access (DMA). Each technique is suited to specific needs and workloads relating to the CPU.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge on the role and functioning of I/O modules in computer architecture. This quiz covers their interaction with the CPU, types of commands, and the impact on system design. Dive into the intricacies of programmed I/O and peripheral communication.