PIO vs. DMA
To understand why this problem happens, pay attention to the following table.
|Standard||Maximum Transfer Rate|
|PIO 0||3.3 MB/s|
|PIO 1||5.2 MB/s|
|PIO 2||8.3 MB/s|
|PIO 3||11.1 MB/s|
|PIO 4||16.6 MB/s|
|UDMA mode 1||25 MB/s|
|UDMA mode 2 (UDMA/33)||33.3 MB/s|
|UDMA mode 3||44.4 MB/s|
|UDMA mode 4 (UDMA/66)||66.6 MB/s|
|UDMA mode 5 (UDMA/100)||100 MB/s|
|UDMA mode 6 (UDMA/133)||133 MB/s|
Obs: ATA-33 and UDMA/33, ATA-66 and UDMA/66 etc mean the same thing.
Data transfers between your computer and your hard disk can be done using two methods: PIO (Programmed I/O) or UDMA (Ultra Direct Memory Access). In the first method, the computer CPU is in charge of the transfers between the hard disk and the RAM memory. In the second method, the motherboard chipset is in charge of this transfer. This means that in UDMA mode the CPU is not used to move data from the hard disk to the memory, raising your PC performance, since the CPU will be available during these transfers.
This is why in Figure 1 over 90% of the CPU was being utilized on hard disk transfers: the computer was configured to use PIO. In Figure 2, the CPU utilization dropped below 3% as we configured UDMA (also called bus mastering) to be used.
As you can see, hard disks with transfer rates up to 16.6 MB/s use PIO mode, while hard disks beginning at 25 MB/s uses the UDMA mode.
All chipsets – i.e., all motherboards – can operate with PIO modes. But to operate with UDMA modes the following criteria must be matched:
- The chipset (south bridge) must be compatible with the hard disk’s UDMA mode. Otherwise the hard disk will be accessed with the chipset’s maximum transfer rate. For example, if you install an ATA-100 hard disk on an ATA-66 motherboard, the maximum transfer rate will be 66 MB/s due to the chipset limitation.
- The bus mastering drivers must be enable on the operating system. UDMA modes are software programmed – the operating system must program the chipset to perform the transfers thus releasing the CPU from this task. If the operating system is not correctly configured, the hard disk will be accessed only at 16 MB/s, even if you have a 133 MB/s hard drive installed on your PC.
- A 80-wire flat cable must be used with ATA-66, ATA-100 and ATA-133 hard disks. Otherwise the disk will be accessed up to 33 MB/s only.
Let’s better explain these items.