迅维网

查看: 7328|回复: 18
打印 上一主题 下一主题

BIOS与超级IO之间的联系?BIOS是如何参与触发的? 知道的前辈请讲解下

  [复制链接]
跳转到指定楼层
1#
发表于 2010-11-1 10:35:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 广东深圳 来自 广东深圳

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
BIOS与EC之间的联系?BIOS是如何参与触发的?   谢谢。。  

推荐
发表于 2010-11-2 21:36:36 | 只看该作者 来自: 湖南长沙 来自 湖南长沙
转一篇文章供楼主参考
BIOS(基本输入输出系统)在整个系统中的地位是非常重要的,它实现=了底层硬件和上层操作系统的桥梁。比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”的指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何写的。BIOS构建了操作系统和底层硬件的桥梁。而我们平时说的BIOS设定仅仅是谈到了其软件的设定,比如设置启动顺序、禁用/启用一些功能等等。但这里有一个问题,在硬件上,BIOS是如何实现的呢?毕竟,软件是运行在硬件平台上的吧?这里我们不能不提的就是EC。     
        EC(Embed Controller,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除。在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,EC更作为键盘控制器,充电指示灯以及风扇和其他各种指示灯等设备的控制,它甚至控制着系统的待机、休眠等状态。主流笔记本系统中
    现在的EC有两种架构,比较传统的,即BIOS的FLASH通过X-BUS接到EC,然后EC通过LPC接到南桥,一般这种情况下EC的代码也是放在FLASH中的,也就是和BIOS共用一个FLASH。右边的则是比较新的架构,EC和FLASH共同接到LPC总线上,一般它只使用EC内部的ROM。至于LPC总线,它是INTEL当初为了取代低速落后的X-BUS而推出的总线标准。 EC上一般都含有键盘控制器,所以也称KBC。那EC和BIOS在系统中的工作到底有什么牵连呢?在这里我们先简单的分析一下。在系统关机的时候,只有RTC部分和EC部分在运行。RTC部分维持着计算机的时钟和CMOS设置信息,而EC则在等待用户按开机键。在检测到用户按开机键后,EC会通知整个系统把电源打开,CPU被RESET后,会去读BIOS内一个特定地址内的指令(其实是一个跳转指令,这个地址是由CPU硬件设定的)。这里开始分两种情况,1 CPU发出的这个地址通过FSB到北桥,然后通过HUB-LINK到南桥,通过LPC到EC,再通过X-BUS一直到达BIOS。在CPU读到所发出的地址内的指令后,执行它被RESET后的第一个指令。在这个系统中,EC起到了桥接BIOS和南桥(或者说整个系统)的作用,在CPU发出的地址到南桥后,会直接通过LPC到BIOS,不需要EC的桥接。     
      这里需要说明的是,对于台式机而言,一般是不需要EC的。这里原因有很多:比如台式机本身的ATX电源就具有一定的智能功能,他已经能受操作系统控制来实现待机、休眠的状态;其次由于笔记本的键盘不能直接接到PS/2接口,而必须接到EC之上;还有就是笔记本有更多的小功能,比如充电指示灯、WIFI指示灯、Fn等很多特殊的功能,而且笔记本必须支持电池的充放电等功能,而智能充放电则需要EC的支持;另外,笔记本TFT屏幕的开关时序也必须由EC控制。这些原因导致了笔记本使用EC来做内部管理的必要性。  
        总体来说,EC和BIOS都处于机器的最底层。EC是一个单独的处理器,在开机前和开机过程中对整个系统起着全局的管理。而BIOS是在等EC把内部的物理环境初始化后才开始运行的。   
        看到这里,我想大家也明白EC到底是呵方神圣。如果说BIOS 是底层系统的话,那EC 似乎更加底层。   
     在南桥上还有一个功能块就是电源管理单元(PM,Power Management),一般来说,他和EC来共同配合完成。这里包括从开机键按下后,启动,待机,休眠,关机的全部功能。还包括对背光亮度,声音等的控制等等。至于现在Intel的Speed Step技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,Stop Clock)来实现睡眠、深睡眠等)。
        这部分的设计比较简单,只需要点到点的连接南桥和CPU即可。
        逻辑上的开机过程:
    开机过程对于电脑设计是至关重要的。在笔记本电脑打好PCB后第一次开机时,如果电源的时序正确了,其他的问题都比较好解(一般来说时序正确的话机器都能开起来)。最怕的就是电源时序不对,机器开不起来,这才是最要命的。在笔记本内部的电压有好几种, 首先是RTC电源,这部分电力是永远不关闭的,除非电池(纽扣电池)没电并且没接任何外部电源(比如电池和电源适配器)。RTC用以保持机器内部时钟的运转和保证CMOS配置信息在断电的情况下不丢失;其次,在你插上电池或者电源适配器,
    但还没按power键的时候(S5),机器内部的开启的电称为ALWAYS电,主要用以保证EC的正常运行;
          再次,你开机以后,所有的电力都开启,这时候,我们称为MAIN电(S0),以供整机的运行;
          在你进待机的时候(S3),机器内部的电成为SUS电,主要是DDR的电力供应,以保证RAM内部的资料不丢失;
          而休眠(S4)和关机(S5)的电是一样的,都是Always电。其中,上文中括号内的是表示计算机的状态(S0-开机,S3-待机,S4-休眠,S5-关机)。
        现在我们假设没有任何的电力设备在供电(没电池和电源),这时候,机器内部只有RTC电路在运作,南桥上会接有一个3V的纽扣电池来供给RTC电力,以保持内部时间的运行和CMOS信息。
        南桥的启动时序 !
        根据前面的Power Status,我们来分析一下开机的过程。在插上电池或者电源的时候,机器内部的单片机EC就Reset并开始工作,等待用户按下Power键。在此期间的时序是:ALWAYS电开启以后,EC Reset并开始运行,随后发给南桥一个称为‘RSMRST#’的信号。这时候南桥的部分功能开始初始化并等待开机信号。这里要注意,这时候的南桥并没有打开全部电源,只有很少一部分的功能可用,比如供检测开机信号的PWRBTN#信号。
      在用户按下Power键的时候,EC检测到一个电平变化(一般时序是:高-低-高),然后发送一个开机信号(PWRBTN#)给南桥,南桥收到PWRBTN#信号后依次拉高SLP_S5#,SLP_S4#,SLP_S3#信号,开启了所有的外围电压,主要是+3V,+5V以及DDR2.5V等,并发送PM PWROK信号,这信号表明外围电源正常开启。
      PM PWROK将作为一个使能信号发送到CPU外围VCCP的电压Generator,并开启VCCP。在此之后,VCCP Generator会发出CORE_VR_ON来开启CORE VR(即CPU的核心电压)。至此,整机的电压已经全部开启。
       在用VR_PWRGD_ICH这个信号通知南桥CORE VR成功开启后,南桥会发出PCI RST#信号到PCI总线,于是总线上的设备都被初始化(包括北桥),并同时发出H_PWRGD来通知CPU它的核心电压已经成功开启。然后北桥发出H_CPURST#信号给CPU,CPU被RESET,并正式开始工作。
       在用户需要进入待机模式(S3)的时候,系统的ACPI和windows同时运作,拉低SLP_S3#,并保持SLP_S4#和SLP_S5#被拉高,以关闭了MAIN电,系统则进入待机模式。
        而在需要进入休眠或者关机模式时,同时拉低SLP_S3#、SLP_S4#和SLP_S5#,关闭除了RTC以外的电源。当然,在这一系列的过程中,需要操作系统和BIOS的共同协作,对硬件来说,只需要保证在特定的状态保证特定的电压供给即可。
        当机器要要从S0进入S5,即关机的时候,也会有一定的时序进行,基本上就是前面时序的逆运行。
      以上就是整个硬件的开机、进入S3,S5的过程,当然不同的硬件有不同的开机过程,这里说的不过是最普通、最为常见的一种

点评

相当经典的文章,堪称读不懂此文不要修电脑  发表于 2010-11-4 11:45
回复 支持 1 反对 0

使用道具 举报

2#
发表于 2010-11-1 16:06:23 | 只看该作者 来自: 广东深圳 来自 广东深圳
怎么没人帮我呢?

回复 支持 反对

使用道具 举报

3#
发表于 2010-11-1 16:17:34 | 只看该作者 来自: 江苏徐州 来自 江苏徐州
BIOS就是个存储器,有的电脑会把EC需要的程序写在里面,BIOS损坏,EC读不到程序,自然就无法开机!判断BOIS是否参与触发,只要在待机下测量BIOS上有无工作电压即可!

回复 支持 反对

使用道具 举报

4#
发表于 2010-11-1 19:26:29 | 只看该作者 来自: 广东深圳 来自 广东深圳
回复 chenchuai 的帖子

  只需量BIOS的工作电压吗?不需要知道BIOS与EC之间的通讯吗?

回复 支持 反对

使用道具 举报

6#
发表于 2010-11-4 10:43:10 | 只看该作者 来自: 广东深圳 来自 广东深圳
    很经典,感谢你,疑惑解了不少。

回复 支持 反对

使用道具 举报

7#
发表于 2010-11-4 11:47:14 | 只看该作者 来自: 北京 来自 北京
以前读过5楼的文章,现在再读一次,感受都不一样,建议我等新手多读几遍

回复 支持 反对

使用道具 举报

8#
发表于 2010-11-5 10:43:06 | 只看该作者 来自: 天津 来自 天津
回复 豆腐刀 的帖子

为你这句话  回家好好研究研究

回复 支持 反对

使用道具 举报

9#
发表于 2010-11-5 11:20:30 | 只看该作者 来自: 广东 来自 广东
后面部份,看得懂,前面部份不怎么懂。。太过于理论化。对维修而言,,用处也不大。

回复 支持 反对

使用道具 举报

10#
发表于 2010-11-7 21:36:23 | 只看该作者 来自: 安徽宣城 来自 安徽宣城
也来学习一下5楼的典型内容。谢谢5楼的朋友!

回复 支持 反对

使用道具 举报

11#
发表于 2010-11-27 17:58:35 | 只看该作者 来自: 广东深圳 来自 广东深圳

有些EC没有软体、、不像H8那样、 所以要外挂一个BIOS   

回复 支持 反对

使用道具 举报

12#
发表于 2010-12-2 22:08:07 | 只看该作者 来自: 山东烟台 来自 山东烟台
简单地说BIOS就是SW主要存放上电时序和开机代码,EC就是HW负责调用BIOS里面的程序

回复 支持 反对

使用道具 举报

13#
发表于 2010-12-4 08:23:25 | 只看该作者 来自: 广东中山 来自 广东中山
期待象5#一样更多的资料

回复 支持 反对

使用道具 举报

14#
发表于 2010-12-4 08:56:16 | 只看该作者 来自: 广东广州 来自 广东广州
五楼 实在写的太好了,绝对应该加分加精~!!  本人好少赞,这个忍不住赞一个~!

回复 支持 反对

使用道具 举报

15#
发表于 2010-12-9 18:26:27 | 只看该作者 来自: 湖北黄石 来自 湖北黄石

回复 支持 反对

使用道具 举报

16#
发表于 2010-12-9 18:47:08 | 只看该作者 来自: 四川成都 来自 四川成都
http://www.chinafix.com.cn/thread-302227-1-1.html大家不妨看看这个主要讲bios 和ec 电源管理之间的关系

回复 支持 反对

使用道具 举报

17#
发表于 2010-12-14 14:22:34 | 只看该作者 来自: 广东深圳 来自 广东深圳
本帖最后由 小魁 于 2010-12-14 14:22 编辑

       新手值得看看,高手们别口水

回复 支持 反对

使用道具 举报

18#
发表于 2011-1-8 00:50:50 | 只看该作者 来自: 上海 来自 上海
关于BIOS 与EC,这个论坛有一贴子介绍的很详细了,楼主仔细找一下.

回复 支持 反对

使用道具 举报

19#
发表于 2011-1-8 00:51:13 | 只看该作者 来自: 上海 来自 上海
关于BIOS 与EC,这个论坛有一贴子介绍的很详细了,楼主仔细找一下.

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索

快速回复