Data buffering: Since the speed of the I/O device is low and the CPU and memory rates are high, a buffer must be set in the controller. At the time of outputting, this buffer temporarily stores the data transmitted by the host at high speed, and then transfers the data in the buffer to the I/O device at the rate that the I/O device has; when it is input, the buffer is used. The data sent from the I/O device is temporarily stored. After a batch of data is received, the data in the buffer is transmitted to the host at a high speed.
Error Control: The device controller also manages error detection of data transmitted from the I/O device. If it is found that an error has occurred in the transmission, the error detection code is usually set and reported to the CPU. The CPU then invalidates the data transmitted this time and retransmits the data again. This will ensure correct data entry.
Data Exchange: This refers to the exchange of data between the CPU and the controller and between the controller and the device. For the former, data is written to the controller in parallel by the CPU through the data bus, or read out from the controller in parallel; for the latter, the device inputs data to the controller or from the controller to the device. . To do this, set the data register in the controller.
State Description: The status controller that identifies and reports the device should note the status of the device for the CPU to understand. For example, the CPU can start the controller to read data from the device only when the device is in a ready-to-send state. To this end, a status register should be set in the controller, with each of these bits reflecting a certain state of the device. When the CPU reads the contents of the register, it can understand the status of the device.
Receive and identify commands: The CPU can send a variety of different commands to the controller. The device controller should be able to receive and recognize these commands. For this purpose, a corresponding control register should be provided in the controller for storing the received command and parameters and decoding the received command. For example, the disk controller can receive 15 different commands such as Read, Write, Format, etc. sent by the CPU, and some commands also have parameters; accordingly, there are multiple registers and command decoders in the disk controller.
Address identification: Just as every unit in the memory has an address, every device in the system has an address, and the device controller must be able to identify the address of each device it controls. In addition, these registers should have unique addresses in order for the CPU to write (or read) data into (or from) registers.
Error Control: The device controller also manages error detection of data transmitted from the I/O device. If it is found that an error has occurred in the transmission, the error detection code is usually set and reported to the CPU. The CPU then invalidates the data transmitted this time and retransmits the data again. This will ensure correct data entry.
Data Exchange: This refers to the exchange of data between the CPU and the controller and between the controller and the device. For the former, data is written to the controller in parallel by the CPU through the data bus, or read out from the controller in parallel; for the latter, the device inputs data to the controller or from the controller to the device. . To do this, set the data register in the controller.
State Description: The status controller that identifies and reports the device should note the status of the device for the CPU to understand. For example, the CPU can start the controller to read data from the device only when the device is in a ready-to-send state. To this end, a status register should be set in the controller, with each of these bits reflecting a certain state of the device. When the CPU reads the contents of the register, it can understand the status of the device.
Receive and identify commands: The CPU can send a variety of different commands to the controller. The device controller should be able to receive and recognize these commands. For this purpose, a corresponding control register should be provided in the controller for storing the received command and parameters and decoding the received command. For example, the disk controller can receive 15 different commands such as Read, Write, Format, etc. sent by the CPU, and some commands also have parameters; accordingly, there are multiple registers and command decoders in the disk controller.
Address identification: Just as every unit in the memory has an address, every device in the system has an address, and the device controller must be able to identify the address of each device it controls. In addition, these registers should have unique addresses in order for the CPU to write (or read) data into (or from) registers.
Lithium Battery Pack,6V Lithium Battery Pack,6 Volt Lithium Battery,Crv3 Lithium Battery
Jiangmen Hongli Energy Co.ltd , https://www.honglienergy.com