Dear AMD Processors forum attenders,
I’m working with Advantech's PCA-6763 ISA Half-size SBC with AMD G-T16R (615 MHz), QNX 4.25 operating system, AMI 220.127.116.11 BIOS (UEFI 2.3, PI 1.2 compliance). It’s a Family 14h Model, Bobcat architecture.
I’ve found a high CPU temperature and lack of power management capabilities, which is abnormal for the embedded applications.
Here is what i’ve already done:
1) Ran the AMI Setup Utility: Advanced → H/W Monitor → CPU temperature = +80OC (after 1 hour working). Setup Utility provide only PState0 adjustment of the _PPC object. The direct measurement if the CPU radiator temperature shows +60OC.
2) Studied Advantech’s reliability test reports: #14S025A0, #16E004A0. They did dry heat test at 65 OC temperature with Passmark Burn-in V7.0 test. Although they didn’t find any performance degradation, I have a doubts, because they didn’t analyze the CPU and GPU temperature during the test (or I don’t have such graphics).
3) Ran the QNX 4.25.
3a) Made a temperature and voltage monitoring utility (reading D18F3xA4 CPU register and communication with on-board super I/O chip NCT6776D).
I’m interpreting the CurTemp field of the D18F3xA4 register simply: absolute temperature of the CPU is CurTemp*0.125. This approach gives me a figures equal shown by Setup utility. Although the BKDG says: “Tctl is a temperature on its own scale aligned to the processors cooling requirements. Therefore Tctl does not represent a temperature which could be measured on the die or the case of the processor. Instead, it specifies the processor temperature relative to the maximum operating temperature, Tctl_max.”
3b) Tried to change P-state following the instructions of the AMD64 Architecture Programmer’s Manual Volume 2: System Programming, Chapter 17 Hardware Performance Monitoring and Control:
a) MSR (0xC001006B) <- 0x8000026300005c32 (~450 MHz at P-state 7).
b) MSR (0xC0010062) <- 0x07 (command to change P-state)
c) MSR (0xC0010063) -> 0x0 (nothing happens)
And I can’t change the MSR (0xC0010061) PstateMaxVal field – it is only for reading and it’s reset value is product-specific and set in 0x000.
3c) Ran my own idle process with the endless loop at the priority 1 with FIFO dispatching. The system idle process can not get the CPU time, so there is no ability to call HLT instruction. The CPU temperature raised from 80 to 83,5 OC in 10 minutes.
1) There is only P-state0 available.
2) The CPU frequency can not be changed.
3) The operating system in idle process calls the HLT instruction, but there is no sufficient effect on the CPU temperature.
Please confirm my assumptions.
Please advise, how could I reduce the CPU temperature of the G-T16R.