2 of 2 people found this helpful
This is easy to explain, but using this information effectively is going to be tough...
- Fan speed control is implemented by an external device (external to the Processor SOC, that is). In the AY (and BN) NUC, it is implemented by a special Embedded Controller (EC - which, BTW, is also responsible for the Power LED and LED Ring programming/operation).
- In most processors, a bus coming out of the processor, called the Platform Environmental Control Interface (PECI), provides temperature readings to external devices. Unfortunately, PECI is not supported by Apollo Lake Pentium/Celeron/Atom processors. This means that external devices have no means for obtaining processor temperature readings.
- With no means for obtaining processor temperature readings, the EC must base its fan speed control decisions upon what other temperature sensors it has access to. In this case, two sensors are available, one that is located on the same side of the board as the processor SOC (near the system's VR circuitry) and one that is located on the opposite side of the board (near/under the Memory SODIMMs, I believe).
Knowing this information, how do you choose how the blower (it's not a fan!) should respond to these temperature sensors? Well, this can be tough.
First of all, you are going to want to make most of the decisions based upon the sensor near the VR circuitry. Why? Because this circuitry will heat up as the processor heats up (though not quite as quickly and not quite as much). As the processor works harder, it utilizes more power and generates more heat. As the VR circuitry is asked to provide the processor with more power, it too has to work harder and it too generates more heat as it does so.
Secondly, you need to create a table that relates the current temperature of the VR circuitry to the current temperature of the processor. That is, as the processor is made busier and gets hotter, record the corresponding temperatures for the VR circuitry. Once you have this information, you can set the blower speed based upon the temperature of the VR circuitry and thus (also) maintain the processor temperature.
This (well, to me) sounds fairly easy, but there is a problem - a huge problem. Since this EC is a brand new device, there is not yet any software (well, other than Visual BIOS) that can extract temperature readings from this EC and allow you to compare it to processor temperatures (as the processor is made busier and gets hotter). Someday, applications like AIDA64, SpeedFan, HWMonitor, HWiNFO64, etc. will have support for doing this - but none of them do today.
I am in communication with Intel's engineers and I hope to soon get the information that I will need to in order to implement some software that will support this data collection capability, but I don't have it today. In the meantime, all you can do is make trial-and-error changes to the fan speed control programming in the BIOS settings and see how this (also) affects processor temperature at runtime. All I can tell you today is that Intel's default programming is inadequate and you (Dave) have seen this borne out...
Thanks for your answer. That explains the behavior.
It's really a pitty, that the CPU is not able to provide its temperature to external components.
However I am able to read out the temperature from the CPU under Windows.
If we could get software control of the EC in Windows to control the blower, we could implement a software based regulator reading out the CPU temperature and controling the blower speed accordingly.
Looks like we will really have to wait for Intel to give us this information.
In my opinion, Intel should provide this software as the blower regulation as is, is just switching the fan on and off and is not regulating the speed at all.
My tests until now showed no change of the blower speed even with the duty cycle increase per °K set to 20%. Will do some more tests when I get home.
In this case, the recommendation is to change the settings in the BIOS as we don't have a program to manage the fan activity or RPMs.
You can always have 3rd party programs, you may find the next article from How-To Geek useful:
How to Auto-Control Your PC’s Fans for Cool, Quiet Operation - How-To Geek
NOTE: This link is being offered for your convenience and should not be viewed as an endorsement by Intel of the content, products, or services offered there.
I hope this information helps.
unfortunately, this information does not help.
SpeedFan currently does not support controlling the fan of my NUC.
As of now, I am stuck with unpleasing BIOS settings that don't allow to control the fan so that it turns up when the CPU temperature rises.
A solution to the problem would be that you release information on how to access the chip on the motherboard to control the fan. Then one could write a program to implement a controller or provide this information to the creator of SpeedFan.
1 of 1 people found this helpful
The higher temperature you get while running Prime95 is expected. The TJunction limit is 105°C for the CPU on this Intel® NUC.
Currently, there aren't any additional options for fan control/speed, however; I provided your feedback to the appropriate team.
I know to expect a high temperature while running prime95 and therefore pushing my CPU to 100% load.
The fan is however just running at its minimum duty cycle despite the CPU being 90°C hot!
I have set the duty cycle increment value to the maximum settable value which didn't cause any change.
This is a serious problem, as I don't want my fan to always make noise. It should however adjust its speed when the CPU gets hot.
As N.Scott.Pearson pointed out, there is no connection between the fan controller and the CPU temperature, so a controller needs to be made to run at the OS level.
Thanks for forwarding the problem to the appropriate team.
Please keep me updated.
I am passing your feedback up the chain (thank you for that).
Would you please confirm if the system is exhibiting any specific issue such us: rebooting due to overheating, thermal trip, throttling or anything else related to thermal overheating?
I did serveral tests with the duty cycle increment value set to the maximum value.
While running prime95, the CPU reaches 101°C with around 25°C ambient temperature.
From time to time, the fan turns up a bit but not according to the CPU temperature.
It then runs at a slightly higher speed for around 1 minute, then it runs slower again.
I however did not see any throttling, but if it would be summer, I think I would have experienced it. The system does not show any faults. It's just that the CPU isn't cooled related to the important temperatures and the fan runs far away from its maximum speed. Also I don't think it's healthy to keep the CPU at such a high temperature level during longer load periods.
In my experience and this may varies a lot depending on the processor type, cooling solution, chassis airflow, etc., if the processor is having a thermal condition beyond its limits it will immediately throttle or shutdown (older processors) to protect itself. I would say that if you are running Prime95 and temperature is reaching 101C and you are perceiving a slightly higher speed of the fan, everything sounds as expected.
The Intel® NUC Kit NUC6CAYH holds an Intel® Celeron® Processor J3455 (2M Cache, up to 2.3 GHz) and TJUNCTION (Maximum temperature allowed at the processor die) for this processor is 105C, see here http://www.intel.com/content/www/us/en/products/processors/celeron/j3455.html, in other words, the processor is still not reaching maximum temperature.
Let me know if you have more questions,
well, I'd like to have an option to regulate the fan according to the CPU temperature.
Everything other than that is not really a regulation.
Maybe Intel can provide some information on how to alter the fan speed from within windows? That would be great.