SIO有关知识

Superio概述

Super I/O芯片也叫I/O芯片。在486以上档次的主板上都有I/O控制电路。因为在南桥这样的高速设备和串行、并行接口、软盘驱动器及键盘鼠标等大量低速设备之间必定存在资源的不匹配,而需要经过转换和管理。而Super I/O芯片则完成了该功能。

通常在硬件监控芯片硬件监控芯片中会整合超级I/O功能,可用于监控受监控对象的电压、温度、转速等。主板在附件中会提供某种软件,它和主板上的硬件配合使用就能实现对电压、温度、风扇转速等的监控,一旦检测到这些参数超出设定的指标时,它会自动作出调整,以保护元件的安全。常见的温度控制芯片有ADT7463等等;通用的通用硬件监控芯片有Winbond的W83697HF和W83627HF,SMSC的LPC47M172,ITE的IT8705F、IT8703F,ASUS的AS99172F等等,这些芯片通常还整合了对于温度的监控需与温度传感元件配合;对风扇电机转速的监控,则需与CPU的散热风扇配合使用。

SIO是一个半可定制化的芯片,怎么说是半可定制化呢?比如上电时序,这一部分就是固化好的,而可定制化部分则是逻辑设备(Logic Device)部分。接入电源后SIO便根据固化的程序开始运作,等待power button触发。按下power button后SIO开始跑上电时序,CPU Reset后BIOS才开始跑,此时BIOS给SIO配置的Logic Device也才生效。
 

访问SIO

可以通过 index/data 的IO的方式访问SIO,端口分别是0x2E/0x2F。访问前需要先进入PnP mode,之后便可以通过往0x07这里写入逻辑设备号切换到相应的逻辑设备。

(1) Enter the extended function mode

(2) Configure the configuration registers

(3) Exit the extended function mode

SIO中的IO Space(转)

逻辑设备中的256个byte寄存器对于配置一些比较复杂的功能(如Smart Fan)远远是不够的,所以SIO还给我们提供了额外的寄存器去实现更加复杂的功能,那便是IO Space。要访问这个Space,就得知道它的Base Address,那在哪里呢?

IO Base Address一般是每个逻辑设备0x60,0x61,0x62,0x63这几个位置的值,当然,这段空间首先得经过南桥decode才可以,decode的这个问题我们暂且忽略。为了方便理解,我们举个例子。

就拿LDN 4 EC这个设备来说,我们要访问他的IO Space,首先得知道它的地址是多少,从IT8625的SPEC可以知道,地址就是0x60,0x61中的值。

这里的两个值是不能直接用的,按照说明,需要分别给他们加上05h和06h,再用index/data的IO方式访问就可以了。假如0x60的值是02h,0x61的值是90h(这两个值可以用RW看到),则:

index port address = 290h + 05h = 295h
data port address = 290h + 06h = 296h
用RW访问这个IO地址便可以看到结果了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值