我所知道的EC====>Thermal
- Thermal Introduction
NB体积都非常小,空间受限,但是NB又需要具有良好的散热功能,较低的风扇噪声,同时又要达到很好的系统性能。这些看似矛盾的目标在NB上都要通过EC去实现。
- System Temperature
NB中根据机器需要探测的温度有两组:
1) CPU Temperature
2) VGA Temperature
如果NB是UMA的,那么VGA的Temperature就不用去探测了。EC会在initial时load一个Thermal table和Fan Table。Thermal table中定义了不同level温度所对应的Fan Table的index;Fan table则定义Fan不同level的speed。EC会在“S0”时通过smbus读取CPU和VGA Temperature(如果NB是非UMA),然后比较两者的Fan Table,Fan speed较大者送给Fan,驱动Fan工作。
- Active & Passive Thermal Policy
ACPI定义了两种降温的方式,主动与被动降温。主动降温是指EC通过侦测CPU,VGA的温度,主动调整风扇的转速进行降温。被动则是指系统通过降低IC内部的性能,减少发热量达到降温的目的。一个是通过增加能量消耗,噪声降低系统温度,最大限度的发挥系统性能,另一个则是通过降低系统功耗,性能达到降低系统温度的目的。这其实是完全相反的两种策略,是OSPM提供给用户的选择,让用户根据喜好去决定。
Example:
1. Active Thermal Policy,EC检测系统温度然后根据不同的Trigger Point调整风扇的转速level,降低系统温度。
2. Passive Thermal Policy,EC检测到系统温度达到Throttle Trigger Point,EC Send Start Throttle SCI给系统,然后系统开始降频,降低能耗。如下图1所示:
- Critical Shutdown
当系统温度到了规定的threshold时,系统需要系统Critical Shutdown完整的过程是:EC检测到温度达到threshold,然后EC发Critical Temperate Event,系统端收到该SCI Event后需要进行Shutdown 动作,而且如果系统端在规定的时间内没有完成Shutdown动作,EC将会模拟一个四秒关机的过程。
Peter