Sunday, September 26, 2004

iBook, Temperature Monitor and G3 temperatures

MBS: Temperature Monitor

The most comprehensive sounding temperature monitoring solution yet. This is why it's so hard to find something that works on my iBook:
The following Macintosh models are definitely supported by Temperature Monitor, because they are equipped with dedicated temperature sensors:
• Power Macintosh G4 (Mirrored Drive Doors)
• Power Macintosh G4 (FW 800)
• Power Macintosh G5
• PowerBook G4 (12-inch)
• PowerBook G4 (15-inch FW800)
• PowerBook G4 (17-inch)
• XServe
• XServe (Slot loading)

For all other models, there is no easy answer: Analysis of over hundred Macintosh systems shows that there is no one-to-one-relationship between model name and support status possible. Apple appears to have shipped Macintosh product lines with same labels but different hardware inside. For example, in the product series known as "Power Macintosh G4 Cube", some systems are capable of providing temperature values and others are not. The computers known as "iBook (Late 2001)" may have a PowerPC 750 cxe v 2.4, or a PowerPC 755 v3.1 inside, and so forth...

Unfortunately, this means it is impossible to predict if Temperature Monitor will run correctly on your hardware. Your only chance is to let the software analyze your particular computer.

It is very likely that your hardware is capable of providing temperature values even if it has no temperature sensor if your computer uses one of the following processors:
• PowerPC 745 (G3)
• PowerPC 750 (G3)
• PowerPC 750cxe (G3)
• PowerPC 755 (G3)
• PowerPC 7400 (G4)

Your Macintosh system is very likely not capable of providing temperature values if it has no temperature sensor and uses one of the following processors:
• PowerPC 750fx (G3)
• PowerPC 7410 (G4)
• PowerPC 7450 (G4)
• PowerPC 7455 (G4)
• PowerPC 970 (G5)
The Temperature Monitor FAQ has some interesting information about the history of Mac temperature measurement, and how OS X has changed over time. I wonder if my iBook fan stopped working because some OS X update decided there was no way to know the temperature on this machine!
...Computers built by Apple before 2002 are usually not equipped with sensor technology and therefore cannot be supported. In a few cases, sensors are indeed available, but they are not accessible by Mac OS X. Not the operating system but a self-contained control device monitors the readings in this case. [jf: That external sensor or "control device" was apparently accessible from classic, but since Apple was discontinuing its use they apparently didn't bother to put code into OS X to access it.]

Some older G3 or G4 systems can be equipped with processors containing a so called "Thermal Assist Unit (TAU)". This is a technique to acquire temperature values directly on the chip die and compute it by the processor itself. However, this technology is very inaccurate and only works correctly if each processor is calibrated. Motorola specifies that the readings supplied by such processor types can be off by 12 degrees Celsius (21,6 degrees Fahrenheit) from the actual values. For IBM G3 processors there can even be a difference of 20 degrees Celsius (68 degrees Fahrenheit) between the measured and the true values. Due to this problem, the processor manufacturers have disabled the TA Units for later product generations. Up-to-date versions of the G4 series no longer support temperature measurement on the chip die. Here, real sensors have to be used.

... If your computer contains a processor with TAU but is not displayed by the application as software sensor with the name "Mach Kernel", Mac OS X has detected your processor as being "not capable of providing temperature readings". The application has to respect this information and cannot change this.

After an operating system update the CPU temperature is no longer displayed. Is this an application error?

No, in this case you are using a processor with TAU. Because - as mentioned before - this technology is very inaccurate, Apple has tightened the checks in the latest operating system versions whether the processor is capable of measuring temperatures or not. If you update to such an operating system, Mac OS X might qualify your processor as "not capable of providing temperature readings" although it was accepted in earlier versions. The application has to respect this information and cannot change this...

I have measured a high reading x. Is this normal?

Apple doesn't publish any specifications for the temperature values measured at individual sensor locations. In most cases however, the answer is "yes". All up-to-date Macintosh models automatically shut down or enter sleep mode if one of the readings exceeds a critical limit. For this reason it is impossible that your computer can be damaged in an overheat condition.

Regarding concrete temperature values the following facts are known:

For computers with G5 processors, the design limits for temperature and fan speeds can be read out by using the MPU information panel of the application. The maximum on-chip temperature for the PPC 970 is 85 degrees Celsius (158 degrees Fahrenheit), for the PPC 970FX it is 105 degrees Celsius (221 degrees Fahrenheit).

The cooling system of the "Power Mac G4 (Mirrored Drive-Doors)" is designed to hold the temperature of the processor board in a range of 58 to 60 degrees Celsius. Under full load the values can go up to 70 degrees Celsius (158 degrees Fahrenheit). After that point, the critical limit has been reached.

Most older G3 or G4 processors are designed for a maximum operating temperature of 105 degrees Celsius (221 degrees Fahrenheit).

G4 processors of type 7455 or later (typically used in Macintosh systems with 867 MHz and above) are designed for a maximum operating temperature of 65 degrees Celsius (149 degrees Fahrenheit). This limit applies when directly measuring the on-die temperature. Because the sensors are often mounted in some distance from the processor and measure cache memory temperature at the same time, the displayed value can be higher than the value measured at the actual chip die.
It turns out that the iBook series came at a transitional time in Apple's temperature monitoring methodology, as Apple moved between its classic-oriented approach to the G4 world. A combination of sensor type and OS X release may determine support a temperature monitoring utility.

One interesting possibility is that my iBook fan stopped working because of a change in OS X! Earlier versions of the OS respected the unreliable G3 on-chip temperature readings, later versions disregard this. This may explain why a Classic utility does work on my iBook. Of course that may or may not affect whether the fan works. If the OS controlled the fan response, and it stopped tracking CPU reported temperature, the fan would never start. Of course if fan control is local (as in all PC systems) even if the OS stopped tracking CPU temperature the fan would still work.

It appears that the G3 CPU will tolerate temperatures as 105 degrees Celsius! In other words, boiling hot. Temperatures in that range would likely produce a burning smell from inside an iBook. Some Motorola chips will shut down or go to sleep near that temperature.

The iBreeze cooling stand is $30. It's starting to look better all the time.

No comments: