马上注册,结交更多好友,享用更多功能。
您需要 登录 才可以下载或查看,没有帐号?注册
x
第1页:BIOS EC 电源管理之间的关系
; u! R# ~; B9 m
) a$ }3 L' V# q5 A0 } 所所开篇:今天是本系列教程的下篇,到今天工程师权威揭密系列的教程就告一段落了。随后大家可以通过访问我们的专题页面来随时温故知新,下面一起来看下篇吧。
2 X8 \3 F% K* c% ?& x
3 v% ]) i- o! F( { 我们常会听到某些高手说“改一下COMS设置”云云,我们现在就来谈谈BIOS(CMOS)。
$ A9 U" Z0 L/ Y7 ~# b! Y# k
1 v6 b+ c& N0 A9 c5 z+ n9 l9 o, [ BIOS(Basic Input/Output System,基本输入输出系统)在整个系统中的地位是非常重要的,它实现了底层硬件和上层操作系统的桥梁。比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”的指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何写的。BIOS构建了操作系统和底层硬件的桥梁。
; f5 {' H* \' T' A/ d8 p0 s
: U; D3 M c6 }7 h+ f& x/ b8 ? 而我们平时说的BIOS设定仅仅是谈到了其软件的设定,比如设置启动顺序、禁用/启用一些功能等等。但这里有一个问题,在硬件上,BIOS是如何实现的呢?毕竟,软件是运行在硬件平台上的吧?这里我们不能不提的就是EC。
2 Y2 E+ K' R5 W* i2 l5 @- \; m1 E
. n0 R' ? l) v0 f8 O" F. ~+ j
5 u( r' }" l. k+ n3 m$ O1 a% C, x' N7 U. a$ n* h* w
7 n" \* L1 s/ a7 A, j! h" a+ Q* C+ j0 `
这是日立H8的DEMO板和其宣传画& H3 t+ m0 j- t2 ]
+ m7 N2 W; P$ O* V- o$ E
4 a v: [4 Y" z" s5 g) \0 a0 m& }WINBOND的EC: q6 a7 K; E' [: J
. f$ v% Q* T: |" }, C
EC(Embed Controller,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除。
# x5 Z+ l# [# G0 q+ H* ~5 f5 O+ K' ^: l- z
在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,EC更作为键盘控制器,充电指示灯以及风扇等设备的控制,它甚至控制着系统的待机、休眠等状态。主流笔记本系统中,EC在系统架构中的地位如下图:
) |0 Z) r0 e- B: }7 E
$ p' `9 g5 q& {
. N. x2 m# p- z% r. T5 h现在的EC有两种架构,上图左边是比较传统的,即BIOS的FLASH通过X-BUS接到EC,然后EC通过LPC接到南桥,一般这种情况下EC的代码也是放在FLASH中的,也就是和BIOS共用一个FLASH。右边的则是比较新的架构,EC和FLASH共同接到LPC总线上,一般它只使用EC内部的ROM。至于LPC总线,它是INTEL当初为了取代低速落后的X-BUS而推出的总线标准。
2 Z4 D2 f9 q4 o# \9 H; b3 G7 y. p. l* P
EC上一般都含有键盘控制器,所以也称KBC(Keyboard Controller)。
3 g e3 }- h- D" \
2 |$ \! `: q5 f6 t4 F* f' K 那EC和BIOS在系统中的工作到底有什么牵连呢?在这里我们先简单的分析一下,具体的过程在本文的最后会详细介绍。 9 x6 J& S, t. X: s, E, P+ w
" ]1 t e" B3 Z3 J; z, E 在系统关机的时候,只有RTC部分和EC部分在运行。RTC部分维持着计算机的时钟和CMOS设置信息,而EC则在等待用户按开机键。在检测到用户按开机键后,EC会通知整个系统把电源打开(这部分在最后详细介绍)。CPU被RESET后,会去读BIOS内一个特定地址内的指令(其实是一个跳转指令,这个地址是由CPU硬件设定的)。 ! u# G) a$ P' D) l
3 B, z1 T2 p3 j: I% \ 这里开始分两种情况,对于上图左边的结构:CPU发出的这个地址通过FSB到北桥,然后通过HUB-LINK到南桥,通过LPC到EC,再通过X-BUS一直到达BIOS。在CPU读到所发出的地址内的指令后,执行它被RESET后的第一个指令。在这个系统中,EC起到了桥接BIOS和南桥(或者说整个系统)的作用。 4 Q; ~. t7 H7 n4 ], p
' O; u& G" ^& z! ], ]: e) V
对于上图右边的结构:在这地址南桥后,会直接通过LPC到BIOS,不需要EC的桥接。
; B9 {6 S7 s- X% J' u* H% {- ^8 h3 S% V
这里需要说明的是,对于台式机而言,一般是不需要EC的。这里原因有很多:比如台式机本身的ATX电源就具有一定的智能功能,他已经能受操作系统控制来实现待机、休眠的状态;其次由于笔记本的键盘不能直接接到PS/2接口,而必须接到EC之上;还有就是笔记本有更多的小功能,比如充电指示灯、WIFI指示灯、Fn等很多特殊的功能,而且笔记本必须支持电池的充放电等功能,而智能充放电则需要EC的支持;另外,笔记本TFT屏幕的开关时序也必须由EC控制。这些原因导致了笔记本使用EC来做内部管理的必要性。 ' x' _0 R* `5 w+ h4 Y3 x
8 Z! E3 F. S; {0 V! v6 Z
总体来说,EC和BIOS都处于机器的最底层。EC是一个单独的处理器,在开机前和开机过程中对整个系统起着全局的管理。而BIOS是在等EC把内部的物理环境初始化后才开始运行的。 + P4 a- F3 |% I/ f
+ G7 ]4 Z0 p! f2 ~8 B9 t# R- | 看到这里,我想大家也明白EC到底是呵方神圣。如果说BIOS 是底层系统的话,那EC 似乎更加底层。 7 F) _2 h1 j9 g, g% K( T
2 W# [/ n: \( S7 h+ T; n
在南桥上还有一个功能块就是电源管理单元(PM,Power Management)。 ( m) s" O5 i+ b& s; B# F
7 N. }! o' G8 T: e3 N8 J, v 一般来说,他和EC来共同配合完成。这里包括从开机(power button)键按下后,启动,待机,休眠,关机的全部功能。还包括对背光亮度,声音等的控制等等。
6 l+ }" r( e+ q% w/ x* t% ]% R/ v- t/ t8 r; c+ s
至于现在Intel的Speed Step技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,Stop Clock)来实现睡眠、深睡眠等)。
! E3 ?2 f* K. E0 u6 U# ?+ G( R9 I" U3 y! a
这部分的设计比较简单,只需要点到点的连接南桥和CPU即可。
* b& B7 B( R4 D! M8 A/ M) f+ {1 }
' @/ t3 }6 P" `5 \[ 本帖最后由 巴州 于 2007-2-22 18:29 编辑 ] |