简介
Environment Controller,即环境控制器,可以说是SIO中最复杂也是最重要的功能了,它主要包含了风扇控制、电压监测和温度监测三个模块,它们组合起来就可以实现智能风扇(Smart Fan)功能,能根据主机温度实时调节风扇转速,保证CPU能够稳定运行。
访问
在SIO关于Environment Controller这一章的SPEC中,里边所定义的寄存器是比较少的,SIO会把寄存器放在IO SPACE中,这一点我第一篇中就有讲到。访问IO SPACE就需要知道这个空间的地址,从SPEC中可以知道,是定义在LDN4中的index 0x60,0x61中,默认情况下这个地址是0x290,访问的时候还要加上0x05和0x06分别作为I/O index/data,最终为0x295/0x296。这个地址可以通过BIOS配置变更的,当然最后的验证方法是直接用RW修改0x60,0x61的值就可以很快看到结果了。
什么是Bank
先来看一下手册中一个读取温度的寄存器:
这里所写的bank2是什么意思呢?画了个简图:
环境控制器中由于使用的寄存器比较多,单单256个是不够的,所以使用了bank的方式来扩展,这个方法类似于LDN的寄存器,可以通过0x07来切换不同设备的寄