Re: [RFC/SERIOUS] grilling troubled CPUs for fun and profit?

From: linux-os (Dick Johnson)
Date: Wed Jun 21 2006 - 13:56:21 EST



On Wed, 21 Jun 2006, Ian Romanick wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> linux-os (Dick Johnson) wrote:
>
>> The CPU produces heat. It's efficiency as a heater is nearly 100%
>> because it doesn't produce much noise or anything else to transfer
>> its 50+ watts into anything but heat. Spinning doesn't make friction.
>> It doesn't make more heat. The total box dissipation might even
>> be reduced because there is little memory activity and no seeks
>> of hard disks.
>>
>> Some CPUs will go to a low-power 'sleep' mode if halted. Some require
>> more than that, they must fetch 'pause', i.e., rep nop to stay in
>> a low power mode. Other CPUs will throttle back their power
>> consumption when the instruction cache is inactive, read spinning.
>> These CPUs are normally used in lap-tops to maximize battery life.
>
> What creates a fair amount of the heat in a CPU is the period of time
> when the transistors switch from nearly zero resistance to infinite
> resistance. That brief period where the resistance very high but not
> yet infinite generates heat. That's why running a CPU at a higher clock
> speed generates more heat: there are more of those high resistance
> transitions in a given period of time.
>
> I think every processor since at least 1998 or so has had a mode where
> executing the HLT instruction puts the bulk of the chip in a steady
> state. When it's in that steady state, the transistors don't switch, so
> there are no high resistance periods.
>
> This is, of course, completely different than the sleep or reduced clock
> modes that modern processors support.

P = I^2 * R, where R is resistance, I is current, and P is power. So
naively, one might assume that a high resistance state would cause
high power dissipation. This is not what's happening when the clock
is running.

What happens is that logic levels form voltage levels within devices.
The elements that are charged and discharged due to logic level changes
have associated capacitances. Changing the voltage on a capacitor
requires current to flow. It's this current, often called displacement
current, flowing through the non-zero output resistances of the devices
that charge these capacities, that cause the dominant power loss. There
are other resistances as well, through which this displacement current
must flow.

This displacement current varies directly with the charging rate
(frequency), but the power loss (from I^2) varies as the square of
the frequency. That's why reducing the clock rate during idle periods
even a small amount, or shutting down some clocked portions of the
chip during such periods can be effective in reducing the power
dissipation and, therefore, heat generation. If you reduce the
current a small amount, the power reduction can be substantial.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.16.4 on an i686 machine (5592.88 BogoMips).
New book: http://www.AbominableFirebug.com/
_


****************************************************************
The information transmitted in this message is confidential and may be privileged. Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@xxxxxxxxxxxx - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/