Do the following two references give different claims on the relations between IO ports and registers in a device controller? What are their relations actually?
Does the following quote from https://cs.nyu.edu/courses/fall10/V22.0436-001/lecture24.html mean that in a device controller, there is exactly one IO port for each register, and there is exactly one register for each IO port?
Each I/O device is connected to the I/O bus through a controller. A simple controller will have at least 3 addresses (ports) on the bus, each corresponding to a register in the controller
- a data register (either readable or writable, depending on whether it is an input or output device)
- a control register (writable, for controlling device operation)
- a status register (readable, for determining device status -- in particular, whether it is ready to receive or provide data)
More complex devices (e.g., disks) will have multiple control and status registers
Does the following quote from Operating System Concepts mean that in a device controller, a IO port has four registers?
An I/O port typically consists of four registers, called the status, control, data-in, and data-out registers.
• The data-in register is read by the host to get input.
• The data-out register is written by the host to send output.
• The status register contains bits that can be read by the host.
• The control register. ...