- 积分
- 2
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2014-9-7
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 yanshuide 于 2012-1-8 21:07 编辑
! v' ~& G+ d9 E7 u$ K3 C
[free]BIOS(基本输入输出系统)在整个系统中的地位是非常重要的,它实现=了底层硬件和上层操作系统的桥梁。
比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”的指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。/ C4 E* ^8 {; I) ?# S( _6 L. D, F* l" K
对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何写的。# _0 Q2 [1 q% G! e
BIOS构建了操作系统和底层硬件的桥梁。而我们平时说的BIOS设定仅仅是谈到了其软件的设定,比如设置启动顺序、禁用/启用一些功能等等。
但这里有一个问题,在硬件上,BIOS是如何实现的呢?毕竟,软件是运行在硬件平台上的吧?这里我们不能不提的就是EC。
EC(Embed Controller,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。
EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除.
在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,EC更作为键盘控制器,充电指示灯以及风扇和其他各种指示灯等设备的控制,它甚至控制着系统的待机、休眠等状态。6 w* F; c$ }$ o( x; K7 E
主流笔记本系统中.现在的EC有两种架构,比较传统的,即BIOS的FLASH通过X-BUS接到EC,然后EC通过LPC接到南桥,一般这种情况下EC的代码也是放在FLASH中的,也就是和BIOS共用一个FLASH。% W' A) O- ?* X+ b
右边的则是比较新的架构,EC和FLASH共同接到LPC总线上,一般它只使用EC内部的ROM。至于LPC总线,它是INTEL当初为了取代低速落后的X-BUS而推出的总线标准。* E9 S" A; d) p/ `% N0 ?
EC上一般都含有键盘控制器,所以也称KBC。那EC和BIOS在系统中的工作到底有什么牵连呢?
在这里我们先简单的分析一下。在系统关机的时候,只有RTC部分和EC部分在运行。RTC部分维持着计算机的时钟和CMOS设置信息,而EC则在等待用户按开机键。5 n& c. A! l; K- z
在检测到用户按开机键后,EC会通知整个系统把电源打开,CPU被RESET后,会去读BIOS内一个特定地址内的指令(其实是一个跳转指令,这个地址是由CPU硬件设定的)。
这里开始分两种情况,1 CPU发出的这个地址通过FSB到北桥,然后通过HUB-LINK到南桥,通过LPC到EC,再通过X-BUS一直到达BIOS。
在CPU读到所发出的地址内的指令后,执行它被RESET后的第一个指令。9 U3 R- |6 \+ E5 E+ g) e9 _' x* O
在这个系统中,EC起到了桥接BIOS和南桥(或者说整个系统)的作用,在CPU发出的地址到南桥后,会直接通过LPC到BIOS,不需要EC的桥接。
这里需要说明的是,对于台式机而言,一般是不需要EC的。, y0 |4 W& I! e
这里原因有很多:比如台式机本身的ATX电源就具有一定的智能功能,他已经能受操作系统控制来实现待机、休眠的状态;其次由于笔记本的键盘不能直接接到PS/2接口,而必须接到EC之上;
还有就是笔记本有更多的小功能,比如充电指示灯、WIFI指示灯、Fn等很多特殊的功能,而且笔记本必须支持电池的充放电等功能,而智能充放电则需要EC的支持;0 L \4 H- _7 R0 X# C: ^ _
另外,笔记本TFT屏幕的开关时序也必须由EC控制。这些原因导致了笔记本使用EC来做内部管理的必要性。`9 s( f [( Q- i. ] Y1 D
总体来说,EC和BIOS都处于机器的最底层。EC是一个单独的处理器,在开机前和开机过程中对整个系统起着全局的管理。$ d; p/ K* f3 x
而BIOS是在等EC把内部的物理环境初始化后才开始运行的。
看到这里,我想大家也明白EC到底是呵方神圣。如果说BIOS 是底层系统的话,那EC 似乎更加底层。 : Y2 \/ P4 T- y; K' h3 W. m
在南桥上还有一个功能块就是电源管理单元(PM,Power Management),一般来说,他和EC来共同配合完成。
这里包括从开机键按下后,启动,待机,休眠,关机的全部功能。还包括对背光亮度,声音等的控制等等。3 \# ~! c6 s3 ]7 K
至于现在Intel的Speed Step技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,Stop Clock)来实现睡眠、深睡眠等)。
这部分的设计比较简单,只需要点到点的连接南桥和CPU即可。~5 c- C$ X5 m7 q. {
逻辑上的开机过程:
开机过程对于电脑设计是至关重要的。在笔记本电脑打好PCB后第一次开机时,如果电源的时序正确了,其他的问题都比较好解(一般来说时序正确的话机器都能开起来)。
最怕的就是电源时序不对,机器开不起来,这才是最要命的。
在笔记本内部的电压有好几种, 首先是RTC电源,这部分电力是永远不关闭的,除非电池(纽扣电池)没电并且没接任何外部电源(比如电池和电源适配器)。; c' C6 G5 M8 K. p2 x
RTC用以保持机器内部时钟的运转和保证CMOS配置信息在断电的情况下不丢失;其次,在你插上电池或者电源适配器,# b% k, X, ^2 D+ O
但还没按power键的时候(S5),机器内部的开启的电称为ALWAYS电,主要用以保证EC的正常运行;
再次,你开机以后,所有的电力都开启,这时候,我们称为MAIN电(S0),以供整机的运行;
在你进待机的时候(S3),机器内部的电成为SUS电,主要是DDR的电力供应,以保证RAM内部的资料不丢失;" D! {) O) B! p
而休眠(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信号,这信号表明外围电源正常开启。 3 r3 B3 T: [/ v6 c: e! Z5 H' O
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它的核心电压已经成功开启。7 U7 l+ j; C/ x I1 p
然后北桥发出H_CPURST#信号给CPU,CPU被RESET,并正式开始工作。
在用户需要进入待机模式(S3)的时候,系统的ACPI和windows同时运作,拉低SLP_S3#,并保持SLP_S4#和SLP_S5#被拉高,
以关闭了MAIN电,系统则进入待机模式。
而在需要进入休眠或者关机模式时,同时拉低SLP_S3#、SLP_S4#和SLP_S5#,关闭除了RTC以外的电源。9 V( Y( |: t- k
当然,在这一系列的过程中,需要操作系统和BIOS的共同协作,对硬件来说,只需要保证在特定的状态保证特定的电压供给即可。
当机器要要从S0进入S5,即关机的时候,也会有一定的时序进行,基本上就是前面时序的逆运行。 - z% _3 }. C/ m
以上就是整个硬件的开机、进入S3,S5的过程,当然不同的硬件有不同的开机过程,这里说的不过是最普通、最为常见的一种
|
|