马上注册,结交更多好友,享用更多功能。
您需要 登录 才可以下载或查看,没有帐号?注册
x
第1页:BIOS EC 电源管理之间的关系
, Z9 J+ [1 u- L( a& |% w* H, } u/ z
所所开篇:今天是本系列教程的下篇,到今天工程师权威揭密系列的教程就告一段落了。随后大家可以通过访问我们的专题页面来随时温故知新,下面一起来看下篇吧。
2 S7 k8 q% j9 D8 ^, r6 N8 u4 M# O: u4 \' l
我们常会听到某些高手说“改一下COMS设置”云云,我们现在就来谈谈BIOS(CMOS)。
! `3 _( H7 j, {! i4 R3 `4 V3 Z5 B# Q1 y1 z8 s4 G8 h a4 g( C
BIOS(Basic Input/Output System,基本输入输出系统)在整个系统中的地位是非常重要的,它实现了底层硬件和上层操作系统的桥梁。比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”的指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何写的。BIOS构建了操作系统和底层硬件的桥梁。
4 N }1 c$ b! n3 U/ u n; p3 p7 w: c
! r/ _* b1 V2 R+ q# _ 而我们平时说的BIOS设定仅仅是谈到了其软件的设定,比如设置启动顺序、禁用/启用一些功能等等。但这里有一个问题,在硬件上,BIOS是如何实现的呢?毕竟,软件是运行在硬件平台上的吧?这里我们不能不提的就是EC。 % f6 J3 Z2 d. ?
! i0 Q9 u% H/ Q! }7 \) N! c \. q
" F# N0 Y# @) U9 ?- W8 f$ A3 I3 e3 w: }! u: @- m: P5 f' M Q
8 Y7 {8 v; J: Z
$ a4 z7 I, X- x2 |9 {. s: H9 H0 B' r3 p& M* h+ A$ F
这是日立H8的DEMO板和其宣传画
( O& C' F$ M6 Q5 N
1 u3 q( ~$ M( i1 p. h" l6 Z2 R8 l
. p$ A# ?. B! MWINBOND的EC
: }$ [# o2 h$ d+ _+ y3 R( _8 U( g9 I2 B( r4 D
EC(Embed Controller,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除。 8 C% \4 m# i( }& @/ y$ h
0 @# _5 Z0 ^3 ?% C i* g
在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,EC更作为键盘控制器,充电指示灯以及风扇等设备的控制,它甚至控制着系统的待机、休眠等状态。主流笔记本系统中,EC在系统架构中的地位如下图:
" I6 F) w( K8 U- Q8 I G2 u- m4 d2 C4 R% s0 G) G' T
4 {- Q9 Q; B7 u* Y) x% J5 G- v
现在的EC有两种架构,上图左边是比较传统的,即BIOS的FLASH通过X-BUS接到EC,然后EC通过LPC接到南桥,一般这种情况下EC的代码也是放在FLASH中的,也就是和BIOS共用一个FLASH。右边的则是比较新的架构,EC和FLASH共同接到LPC总线上,一般它只使用EC内部的ROM。至于LPC总线,它是INTEL当初为了取代低速落后的X-BUS而推出的总线标准。
3 g( w( q+ O( [& p' _2 n
9 w. I+ \( D" X& `; | EC上一般都含有键盘控制器,所以也称KBC(Keyboard Controller)。
1 j! Y! _; R: O- C, q! g- b) }, n- v+ N& W- f
那EC和BIOS在系统中的工作到底有什么牵连呢?在这里我们先简单的分析一下,具体的过程在本文的最后会详细介绍。 3 `$ C f9 O/ e
7 H. n! a# i, J# y2 ? 在系统关机的时候,只有RTC部分和EC部分在运行。RTC部分维持着计算机的时钟和CMOS设置信息,而EC则在等待用户按开机键。在检测到用户按开机键后,EC会通知整个系统把电源打开(这部分在最后详细介绍)。CPU被RESET后,会去读BIOS内一个特定地址内的指令(其实是一个跳转指令,这个地址是由CPU硬件设定的)。 4 i7 l. t2 B% F% M& w
- T2 U5 }- [9 w/ n, f/ C$ p) ?& k0 y
这里开始分两种情况,对于上图左边的结构:CPU发出的这个地址通过FSB到北桥,然后通过HUB-LINK到南桥,通过LPC到EC,再通过X-BUS一直到达BIOS。在CPU读到所发出的地址内的指令后,执行它被RESET后的第一个指令。在这个系统中,EC起到了桥接BIOS和南桥(或者说整个系统)的作用。 ; S4 B. l' U) ~5 R
# k* ]9 x7 ?% O) ~. t, m% f. ]: G A 对于上图右边的结构:在这地址南桥后,会直接通过LPC到BIOS,不需要EC的桥接。
$ m+ H+ d- U0 r6 k
7 J0 {. H+ { q# ] 这里需要说明的是,对于台式机而言,一般是不需要EC的。这里原因有很多:比如台式机本身的ATX电源就具有一定的智能功能,他已经能受操作系统控制来实现待机、休眠的状态;其次由于笔记本的键盘不能直接接到PS/2接口,而必须接到EC之上;还有就是笔记本有更多的小功能,比如充电指示灯、WIFI指示灯、Fn等很多特殊的功能,而且笔记本必须支持电池的充放电等功能,而智能充放电则需要EC的支持;另外,笔记本TFT屏幕的开关时序也必须由EC控制。这些原因导致了笔记本使用EC来做内部管理的必要性。 6 m1 `% P3 s( v& x; ?3 V
! M$ D$ ], O1 L; W7 P
总体来说,EC和BIOS都处于机器的最底层。EC是一个单独的处理器,在开机前和开机过程中对整个系统起着全局的管理。而BIOS是在等EC把内部的物理环境初始化后才开始运行的。 * Y4 L8 X* H0 j2 c6 D
0 v( ?0 ]" {) X* s+ S7 A0 g0 @
看到这里,我想大家也明白EC到底是呵方神圣。如果说BIOS 是底层系统的话,那EC 似乎更加底层。 + A- K, J+ j1 M9 c
. ?" j- k& x- ?- }# C 在南桥上还有一个功能块就是电源管理单元(PM,Power Management)。 # }0 b# V4 Y' _+ [' N8 m/ F% k4 {
& c5 K- O G/ \5 C, N2 `% b! y 一般来说,他和EC来共同配合完成。这里包括从开机(power button)键按下后,启动,待机,休眠,关机的全部功能。还包括对背光亮度,声音等的控制等等。
- W, P3 ^6 }9 q- i
+ d: e, l5 k0 \$ S3 L 至于现在Intel的Speed Step技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,Stop Clock)来实现睡眠、深睡眠等)。
1 {6 M0 r& y0 ?' T4 y# E5 Q. _
0 }( A; m8 F8 x" W. L2 {! B2 F 这部分的设计比较简单,只需要点到点的连接南桥和CPU即可。
B; ^/ N, U5 b4 ]( K. E0 p$ I6 g' c }8 |! o) E! O
[ 本帖最后由 巴州 于 2007-2-22 18:29 编辑 ] |