What are these Dummy Jobs ? And Why did they have to do this instead of just leaving the CPU idle ?
What are these Dummy Jobs ? And Why did they have to do this instead of just leaving the CPU idle ?
This would require a CPU that was designed to idle.
1. If interrupts not masked, check for interrupt
2. Load instruction
3. Advance instruction pointer
4. Execute instruction
It doesn't ever stop - as soon as the current instruction is finished executing it moves on to the next one. So, if you don't have anything better for the CPU to do, you need to have it spin in a loop of instructions anyway.More modern CPU designs typically include an instruction that means "halt until next interrupt" which actually stops the CPU from fetching and executing instructions.
In your last statement I could see it making sense where the CPU actually halts, but did prior CPUs always run at about the same temperature? Or do these idle processes throw fewer instructions at one time so it's not as overwhelmed?
Basically, yes. But then they typically produced so little heat they had passive heatsinks, up to and including the Pentium II (~20 W TDP) and ATI Rage 128 that I used back in '99.
Is that what made it difficult for us to design processors capable of "idling" ? (ie) completely new hardware design
It's important to realise that there was no good reason to have the ability to stop the CPU in those days - power consumption by the CPU itself was truly trivial compared to the memory and peripherals it was attached to, and those CPUs weren't really damaged or worn out by running continuously. Having the CPU spin in software when there was nothing else to do was perfectly fine.