首页 > 其他分享 >Super IO

Super IO

时间:2022-10-26 18:33:38浏览次数:61  
标签:EC CSDN 博客 IO Super CPU

  这一段时间,主管给了我两个任务,下面先简单记录一下关于Super IO的相关内容(本文使用的芯片时IT8786E的)

  Super IO是个很重要的东西,在我的感觉里面,只要有的外设好像或多或少的受到Super IO控制,比如常见的键盘,鼠标,ps2,com口,并口等。这里再说一下为什么会有Super IO,就我了解到的内容,以上所说的设备都是低速设备,而南桥,内存等速度远大于他们,Super IO就是为了对相应资源进行转化和管理。(Super IO通过时序受南桥的控制)

  看到过一篇简单讲解电脑各部分速度的文章,CPU的速度是一天的话,内存就需要一年(天上一天,地上一年);而内存的速度是一天的话,io就是十年;所以程序如果需要使用IO时,仅仅提高CPU是用处不大的,需要提高IO的速度。(木桶原理:能放入的水,由最短的木头决定)。在查询资料的时候,看到IO阻塞的问题,也说一下我的理解(不喜勿喷)。先说一下阻塞,在我编写程序的时候,需要按下按键的时候,电脑能给出响应,最初使用的scanf,但是你会发现,程序在运行到scanf的时候不能运行,只有你输入数值的时候才会继续,如果你需要的这个操作在循环里面就会出现很大的问题:程序不动了,所以我找到了_kbhit()函数(非阻塞)和getch()函数(阻塞),当你处于循环中是,你也可以实现按下按键,执行其他操作。可以体会一下下面代码,正常运行以及去掉注释运行。

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main(void)
{
    char ch=0;
    while (ch != 13)
    {
        printf("HelloWorld\n");
//        if (_kbhit())
            ch = getch();
            printf("%d\n", ch);
    }
    printf("End!\n");
    system("pause");
    return 0;
}

我理解的IO阻塞,是CPU把自己的问题解决了,但是IO的问题却还在进行中(CPU速度大于IO速度),以至于CPU在闲置(当然CPU会处理其他事情,只是这样好理解)。

  回归正题,IT8786有8个GPIO,看门狗,红外,并口,串口等。而EC提供了五个电压输入,3个温度传感器输入,五个FAN转速计输入和五组先进的风扇控制器(我的任务是关于EC的,所以重点说这里)。IT8786可以理解成一栋大别墅,你如果想进去就需要一个钥匙,而IT8786提供了两组钥匙,一般使用的是2E/2F,进入大门之后,你会看到几个门,这几个门是不能直接进入的,需要先去第七个门(LDN=7)哪里输入你要去那个门(LDN),之后,你才能进入。我需要处理EC,所以我去第四个门(LDN=4),进入第四个门后依然会有一些小房间,这些房间有些是住人,但是有些却没有住人。在IT8786中60,61是EC的门牌号,门牌号中保存的值是进门的钥匙,不过这个钥匙是加密的,我的钥匙是0A40,但是真正的钥匙是0A45(地址)/0A46(数据)(不同的芯片可能会有不同的加密方式,看使用说明书)。进入0A45/0A46之后你就进入了EC的世界,这时候你就可以通过index找到各部分的用处。有几点需要说明:一般都会有使能位,需要打开才能使用;电压采用电阻分压的方式实现,如果没有电阻分压,电压就不需要完全按照说明书来使用。

 

  推荐几篇文章,关于EC空间以及smart fan的使用:1.(11条消息) ITE Super IO - Environment Controller_AY123NET的博客-CSDN博客_环境控制器(这篇文章中对smart fan讲解的很好)

                         2.(11条消息) 第十六篇 -- SuperIO学习_diecexun4639的博客-CSDN博客(总体流程讲解)

                         3.(11条消息) BIOS实战之读写逻辑设备(SIO)_潇洒Anthony的博客-CSDN博客_逻辑设备(进入大门的方式,以及进入各个门的方式)

                         4.(11条消息) BIOS实战之Super IO-Smart Fan_潇洒Anthony的博客-CSDN博客(将风扇开到最大,可以打个样,最重要的是列出了与fan相关的寄存器)

  本人的github地址:https://github.com/ycgmhh/Smart-Fan.git,虽然程序写的不好,但是基本思路都是正确的。留下备用。

                      

 

标签:EC,CSDN,博客,IO,Super,CPU
From: https://www.cnblogs.com/mhhzhao/p/16828747.html

相关文章