Programmed Input/Output

Programmed Input / Output (also known as Programmable Input / Output, short PIO) is a set of rules to control the exchange of data between the processor and the peripherals, especially ATA devices of a computer.

The processor can access by means of read and write commands to the memory location of a device and use it to transport data between the device and processor registers. If the actual data exchange between the peripheral device and the main memory be made, which is often the case, the processor has to write into the main memory, the data obtained by PIO, in a further step.

Executing unit for this exchange of data, the CPU, i.e., processing power of the processor is used. This is one of the main disadvantages of this data exchange process. By using DMA ( direct memory access), which regulates the exchange of data without direct involvement of the CPU, a significant performance improvement can be achieved for larger amounts of data. For smaller amounts of data such as control information PIO is often the better choice.

PIO for hard drives

For compatibility, support HDD PIO modes to transfer the data. However, DMA transfers are used primarily for performance reasons.

Especially for hard disk access modes are specified that differ in the achievable rate. There are five ATA PIO modes, which are specified in different versions and offer the following speeds:

The PIO mode 5 with transfer rates up to 22.2 replaced MByte / s has not been implemented, but by the faster Ultra DMA mode with 33 Mbytes / s.

661992
de