Input/Output Flashcards
What is considered I/O?
Any transfer of data to or from the CPU / memory
What are point - to - point connections?
pairwise connections between nodes. No addresses needed, lots of wires for lots of connections.
What is a mesh network?
Pairwise connections between nodes, nodes route messages between addresses. Can get messy and slow
What is bus architecture?
Every node has equal access to a shared network called the bus.
How does a node send a message to another node in bus architecture?
- Announce who the message is for. (Address)
- Announce what type of message it is
- Announce the data
- Ensure the above signals don’t collide.
Advantages of a bus architecture ?
Easy to add new devices, low cost as not many connections are needed.
Disadvantages of a bus architecture ?
The bus can bottleneck the whole network, and the performance can be limited by other physical factors (bus length, number of connections)
What is the address line ?
It designates the source and destination of data on the bus.
What detirmines the bus capacity ?
The width of the bus.
What are data and control lines ?
Data lines transport data, control lines transport data and address lines. Provides command and timing info for the nodes.
How do you calculate bandwidth ?
bandwidth = lane speed * number of lanes
What registers in the CPU control I/O ?
MAR (Memory Address Register) holds addresses of read / write to go on address lines. MBR (Memory Buffer Register) holds data to go on the data line.
What is an I/O module ?
I/O modules act as RAM within memory addresses. Can send commands and data to the I/O module, we can also read / write from the module.
How does the I/O module handle work ?
Not as fast as the CPU but can manage instructions independent of the CPU (Parallelisation)
How does the I/O module send data to peripherals ?
The CPU rate is high ,therefore, the data is buffered in the I/O module and sent to the peripheral at its own rate. The I/O module also manages errors from the peripherals
What is the difference between I/O module and device drivers ?
I/O module is hardware on the bus connected to the CPU. Device drivers are responsible for the communication between the perihperal and I/O module.
What is polling I/O ?
The CPU periodically checks the status of the I/O module until the operation is complete. Simple to implement but inefficient.
What is interrupt driven I/O ?
When the I/O operation is done it sends an interrupt request ot the CPU.
What is Direct Memory Access I/O ?
Takes I/O communcation from the CPU, sends interrupt request when done. Used in large data movment. Frees the CPU but can clog the bus.
What can be used rather than a I/O module ?
Memory Mapped I/O:
Assign dedicated RAM to represent devices. Devices read from the memory itself. Used as VRAM.
CPU I/O Pins:
Dedicated pins on the CPU for I/O. Frees up bus and address space. Used in embedded systems.
What is the bus hierachy ?
- Northbridge (Connects to the CPU, RAM, PCIe, GPU)
- Southbridge (I/O modules, migrated onto a single chip)
What is PCIe ?
General purpose data transfer for internal peripherals. Not really a bus more of a mesh.
What is USB ?
Standardised for connecting to peripheral devices. Not really a bus, point-to-point connection. manager / worker protocol.