Slacker by night, Windows programmer in ArcGIS environment by day.
Go to http://www.sysinternals.com
and download the "sysinternals suite". My first tool of choice is "procexp", the process explorer. Gives you a configurable htop-like display of what is going on, complete with sortable columns like %CPU, etc. By the way, the URL I have redirects to MSDN, the Microsoft Developer Network, and is Microsoft-hosted. Mark Russinovich was hired by MS on the strength of his Sysinternals stuff.
I also use "autoruns" quite a bit, it shows all of the eleventy-seven locations that Windows stuff can automatically run from as well as letting you toggle the running on and off. Be careful here, other utilities do the same thing but don't necessarily understand just where autoruns stuffs the items you've turned off.
After you've identified some process that is _responding_ to lots of interrupts you might want to trace exactly what the process is doing by using "procmon", the process monitor. You can build filters in procmon so that you can narrow down the monitoring from all windows events/registry writes/disk reads to just the few (or the many, or the specific process) that you want to monitor.
Procexp also has a "trace-the-boot" mode where it gets started really early and logs the boot process.
Hope this helps.
EDIT: Add some columns in Procexp, you'll probably be able to figure out what, but things like Disk I/O, swap space, memory used, etc. You might just be having a case of not quite enough RAM and thrashing the pagefile like crazy. If you do Disk I/O be sure to add all three (reads, writes, other, IIRC).