If your PC experiences any of these problems:
It is possible one or more of your IDE drives have reverted from "DMA mode" to "PIO mode". In PIO mode, the CPU has to hand-hold each and every byte of data transferred to or from the IDE drive, causing excessive interrupts, port I/O, and CPU usage.
This problem, is described by Microsoft here: http://www.microsoft.com/whdc/device/storage/IDE-DMA.mspx
A potential hotfix is described here: http://support.microsoft.com/kb/817472
Basically, Microsoft seems to be overly aggressive in reverting to PIO mode, and once this occurs, it persists forever, basically making the PC unusable in many cases.
The best way to check for this problem is to run Process Explorer from: http://www.microsoft.com/technet/sysinternals/utilities/processexplorer.mspx
The telltale sign of the problem is excessive time spent in "Interrupts", when View -> Show Processes From All Users is selected.
You can verify the problem further by installing kernrate.exe from: http://www.microsoft.com/whdc/system/sysperf/krview.mspx
You invoke it from a cmd.exe window as follows, while your system is misbehaving, to zoom into the HAL CPU usage:
kernrate -av -z hal
And if you see lots of CPU usage like the following, you can be almost sure you have the issue:
Time 16219 hits, 19531
events per hit --------
Module
Hits msec %Total Events/Sec
HalBeginSystemInterrupt
11148 36668 40 %
5937918
HalProcessorIdle
11119 36668 40 %
5922471
WRITE_PORT_BUFFER_USHORT
3832 36668 13 %
2041092
READ_PORT_BUFFER_USHORT
1090 36668 3 %
580582
KfLowerIrql
61 36668 0 %
32491
KeGetCurrentIrql
23 36668 0 %
12250
You can verify this using Device Manager, as well, by looking at the Advanced Properties on both your Primary and Secondary IDE controllers -- they should indicate a DMA mode, not PIO mode, for the Current Transfer Mode of all detected devices, for any relatively recent PC, as follows:

If one or more of your devices are in PIO mode, you have lots of alternatives that might work to fix it, including uninstalling and reinstalling the device (I didn't have the guts to try this on my root disk! :-). Just do a google search like:
http://www.google.com/search?q=dma+pio+ide
and you'll see many folks struggling with this.
If you want to try a simpler solution, or you're not sure if you have the problem, you can run the following VBscript file which we've tried on lots of systems, but of course comes with the standard Microsoft disclaimer about editing the registry -- use at your own risk!
This file (dmatiming.vbs) is just a script so you can examine what it does before running it. It asks for confirmation before making any registry changes.