Interface between device controller and processor
This interface is used to achieve communication between the CPU and the device controller. There are three types of signal lines: data lines, address lines, and control lines. Data cables are usually connected to two types of registers. The first type is data registers (there may be one or more data registers in the controller, used to store data (input) sent from the device or data (output) sent from the CPU); The second type is control/status registers (there can be one or more of these registers in the controller, used to store control information or device status information sent from the CPU).
Interface between device controller and device
On a device controller, one or more devices can be connected. Correspondingly, there are one or more device interfaces in the controller, and one interface connects to one device. There are three types of signals in each interface: data, control, and status. The I/O logic in the controller selects a device interface based on the address signal sent by the processor.
I/O logic
The I/O logic in the device controller is used to control the device. It interacts with the processor through a set of control lines, and the processor uses this logic to send I/O commands to the controller; I/O logic decodes received commands. Whenever the CPU needs to start a device, it sends a startup command to the controller; On the other hand, the address is also sent to the controller through the address line, and the I/O logic of the controller decodes the received address, and then controls the selected device based on the translated command.