马上注册,结交更多好友,享用更多功能。
您需要 登录 才可以下载或查看,没有帐号?注册
x
第1页:BIOS EC 电源管理之间的关系 % d @4 i. x' }: Z$ r
4 f, u: |9 H8 f2 m' e. _
所所开篇:今天是本系列教程的下篇,到今天工程师权威揭密系列的教程就告一段落了。随后大家可以通过访问我们的专题页面来随时温故知新,下面一起来看下篇吧。 1 ?! L; [( i$ A b
+ e) e+ a+ }# L. C/ k& ?
我们常会听到某些高手说“改一下COMS设置”云云,我们现在就来谈谈BIOS(CMOS)。 " ] C3 y, k0 T9 T
9 r: v' _9 c M# q; @ BIOS(Basic Input/Output System,基本输入输出系统)在整个系统中的地位是非常重要的,它实现了底层硬件和上层操作系统的桥梁。比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”的指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何写的。BIOS构建了操作系统和底层硬件的桥梁。 & }+ o6 `. v# s. w( L' {
Q0 I6 B6 w/ @$ Q* Z* D 而我们平时说的BIOS设定仅仅是谈到了其软件的设定,比如设置启动顺序、禁用/启用一些功能等等。但这里有一个问题,在硬件上,BIOS是如何实现的呢?毕竟,软件是运行在硬件平台上的吧?这里我们不能不提的就是EC。
+ Q. u, y) P9 V' ]2 p' J' E/ W' x2 t
3 o* E1 }1 j3 L1 q7 y1 i! U4 \. J
' O7 N" f6 s6 ?# I5 K5 `0 ?
* q: p. M( u3 c# H! e1 b( I4 @9 X) g. }) I2 ~8 U+ R
0 O6 E' b, [' _% W" f
这是日立H8的DEMO板和其宣传画
/ c |5 m# H( U
( v& E: w; L8 X0 t H* e" ~6 |3 e
: B! T8 g5 ]6 u$ ?WINBOND的EC; h' B) c5 i$ d0 J) W3 M
1 o- R% A: |# i0 X
EC(Embed Controller,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除。
, _2 r; q$ }) t2 D) a1 `' V* W7 a+ E
5 `/ U1 ^) ~" C( Q 在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,EC更作为键盘控制器,充电指示灯以及风扇等设备的控制,它甚至控制着系统的待机、休眠等状态。主流笔记本系统中,EC在系统架构中的地位如下图: & U* ~, w8 ~4 s1 x
( ?; h# z1 C* M, n' \$ K% X0 h0 l' ?, ~, M
现在的EC有两种架构,上图左边是比较传统的,即BIOS的FLASH通过X-BUS接到EC,然后EC通过LPC接到南桥,一般这种情况下EC的代码也是放在FLASH中的,也就是和BIOS共用一个FLASH。右边的则是比较新的架构,EC和FLASH共同接到LPC总线上,一般它只使用EC内部的ROM。至于LPC总线,它是INTEL当初为了取代低速落后的X-BUS而推出的总线标准。
: T- {7 ^/ s0 l2 `# j$ i8 {8 V7 J3 V7 @ B b3 X1 e$ G
EC上一般都含有键盘控制器,所以也称KBC(Keyboard Controller)。
) ?7 I3 {- ^" c1 P% Z% N
2 Q9 Z5 M8 L# V/ x' P2 ]2 p$ p 那EC和BIOS在系统中的工作到底有什么牵连呢?在这里我们先简单的分析一下,具体的过程在本文的最后会详细介绍。
) n2 ~: y. h* Q
" w5 H/ N/ M2 U# H, K5 h& I& F 在系统关机的时候,只有RTC部分和EC部分在运行。RTC部分维持着计算机的时钟和CMOS设置信息,而EC则在等待用户按开机键。在检测到用户按开机键后,EC会通知整个系统把电源打开(这部分在最后详细介绍)。CPU被RESET后,会去读BIOS内一个特定地址内的指令(其实是一个跳转指令,这个地址是由CPU硬件设定的)。 ' E9 m) o0 N W Y& u7 [. O
1 S6 z/ b' k7 O" C 这里开始分两种情况,对于上图左边的结构:CPU发出的这个地址通过FSB到北桥,然后通过HUB-LINK到南桥,通过LPC到EC,再通过X-BUS一直到达BIOS。在CPU读到所发出的地址内的指令后,执行它被RESET后的第一个指令。在这个系统中,EC起到了桥接BIOS和南桥(或者说整个系统)的作用。
3 D! r1 [5 B8 B, z' v7 v* s3 X
1 V# a5 y, j8 |1 b 对于上图右边的结构:在这地址南桥后,会直接通过LPC到BIOS,不需要EC的桥接。 8 x' _1 m. \ C" t
& W: U# D" K ~. |0 [ a 这里需要说明的是,对于台式机而言,一般是不需要EC的。这里原因有很多:比如台式机本身的ATX电源就具有一定的智能功能,他已经能受操作系统控制来实现待机、休眠的状态;其次由于笔记本的键盘不能直接接到PS/2接口,而必须接到EC之上;还有就是笔记本有更多的小功能,比如充电指示灯、WIFI指示灯、Fn等很多特殊的功能,而且笔记本必须支持电池的充放电等功能,而智能充放电则需要EC的支持;另外,笔记本TFT屏幕的开关时序也必须由EC控制。这些原因导致了笔记本使用EC来做内部管理的必要性。
( Q; Q) v4 @2 Y$ s7 ^( ]4 Z7 j. Q: I& J
总体来说,EC和BIOS都处于机器的最底层。EC是一个单独的处理器,在开机前和开机过程中对整个系统起着全局的管理。而BIOS是在等EC把内部的物理环境初始化后才开始运行的。 ) s: A% e% M2 \5 C
7 z& m8 H# T+ P @ Q, }7 S3 F$ W 看到这里,我想大家也明白EC到底是呵方神圣。如果说BIOS 是底层系统的话,那EC 似乎更加底层。
! Y+ i, V4 F, \2 \ ~/ ]+ S8 I0 n" K9 u8 I3 ]0 ]; `$ N1 `! p
在南桥上还有一个功能块就是电源管理单元(PM,Power Management)。 + W. O7 S; z6 M8 s: l2 L% K6 O9 B( z1 y
8 [. A4 K+ E) I9 x0 M& [) R$ E
一般来说,他和EC来共同配合完成。这里包括从开机(power button)键按下后,启动,待机,休眠,关机的全部功能。还包括对背光亮度,声音等的控制等等。 ; d+ W9 Y( m9 J/ d2 j# x, E! K
6 W+ @( H% l" C d% G 至于现在Intel的Speed Step技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,Stop Clock)来实现睡眠、深睡眠等)。
. ~0 \0 E! d7 I$ I' V4 M- H5 M
# g% M( }1 s* a; \# b" x; c 这部分的设计比较简单,只需要点到点的连接南桥和CPU即可。/ O5 n" ]1 \+ h! ^- M
* A2 H( W1 |' k) J
[ 本帖最后由 巴州 于 2007-2-22 18:29 编辑 ] |