马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
BIOS EC 电源管理之间的关系
所所开篇:今天是本系列教程的下篇,到今天工程师权威揭密系列的教程就告一段落了。随后大家可以通过访问我们的专题页面来随时温故知新,下面一起来看下篇吧。
我们常会听到某些高手说“改一下COMS设置”云云,我们现在就来谈谈BIOS(CMOS)。
BIOS(Basic Input/Output System,基本输入输出系统)在整个系统中的地位是非常重要的,它实现了底层硬件和上层操作系统的桥梁。比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”的指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何写的。BIOS构建了操作系统和底层硬件的桥梁。
而我们平时说的BIOS设定仅仅是谈到了其软件的设定,比如设置启动顺序、禁用/启用一些功能等等。但这里有一个问题,在硬件上,BIOS是如何实现的呢?毕竟,软件是运行在硬件平台上的吧?这里我们不能不提的就是EC。
这是日立H8的DEMO板和其宣传画
WINBOND的EC
EC(Embed Controller,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除。
文/ericman
在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,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(Keyboard Controller)。
那EC和BIOS在系统中的工作到底有什么牵连呢?在这里我们先简单的分析一下,具体的过程在本文的最后会详细介绍。
在系统关机的时候,只有RTC部分和EC部分在运行。RTC部分维持着计算机的时钟和CMOS设置信息,而EC则在等待用户按开机键。在检测到用户按开机键后,EC会通知整个系统把电源打开(这部分在最后详细介绍)。CPU被RESET后,会去读BIOS内一个特定地址内的指令(其实是一个跳转指令,这个地址是由CPU硬件设定的)。
这里开始分两种情况,对于上图左边的结构:CPU发出的这个地址通过FSB到北桥,然后通过HUB-LINK到南桥,通过LPC到EC,再通过X-BUS一直到达BIOS。在CPU读到所发出的地址内的指令后,执行它被RESET后的第一个指令。在这个系统中,EC起到了桥接BIOS和南桥(或者说整个系统)的作用。
对于上图右边的结构:在这地址南桥后,会直接通过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来共同配合完成。这里包括从开机(power button)键按下后,启动,待机,休眠,关机的全部功能。还包括对背光亮度,声音等的控制等等。
至于现在Intel的Speed Step技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,Stop Clock)来实现睡眠、深睡眠等)。
这部分的设计比较简单,只需要点到点的连接南桥和CPU即可PCI设备:网卡 1394的不同接法
在台式机上,我们常听到关于集成网卡这个说法。而对于笔记本来说,网卡一般都是集成在主板上的,进入PIII时代以后,就显有无内建网卡的机器了。对于笔记本网卡来说(不考虑PCMCIA的网卡哦),一般有两种接法。
首先我们把网卡分成两个部分。学过网络技术的读者可能都很清楚,现在的LAN都属于802.3的协议。而这个协议的物理实现却并非那么简单,需要分成两个部分。一部分是MAC控制层(Media Access Controller 媒体接入控制器),作用是根据802.3协议来做运算(采用CSMA/CD算法),另一部分是物理连接层(PHY)作用是根据MAC的算法得出的处理结果,接收和发送数据。
首先我们谈第一种,走PCI总线的网卡。如果这样接的话跟台式机的网卡唯一的区别就是把台式机的PCI网卡直接做到主板上。这颗走PCI的网卡芯片内部整合了MAC和PHY功能。实际使用中,高档一些的笔记本会采用INTEL的网卡,低档一些的就会用REALTLK或者VIA的芯片。当然,INTEL网卡的传输效率确实也比较高。第二种则是“真正集成”的网卡,MAC层部分被做到了南桥里面,然后需要用一个外围电路(PHY)来配合南桥里的MAC来实现网卡的功能
如图,南桥内部的网卡MAC输出一组信号线(称为MII总线),连接PHY(上图中的Intel 82562ET),然后引出RX+-和TX+-两对差分线,透过Transformer来控制EMI,然后输出到RJ45接口即刻。这里的Transformer的结构跟中篇里的USB的共模电感相似,作用也相似。上面的REALTLK8100C的那张图中,红色框内就是Transformer。经过Transformer的信号线必须以最短的距离接到RJ45接口上以减少干扰,所以它离和RJ45的距离是必须被严格控制的。
那么MAC地址是什么呢?MAC地址是区别网络设备的唯一物理标志,理论上,世界上任何一个网络设备的MAC应该都是不同的。那么网卡的MAC地址到底放在哪里呢?
文/ericman
对于走PCI总线的网卡,一般会在网卡上挂一个小小的的E2PROM来存储,里面烧有MAC地址以及一些厂商信息。而对于用PHY来连接的网卡,会把MAC地址信息放在挂在南桥上的E2PROM(因为网卡的MAC控制器在南桥)。
上图中黄色框内的U6就是E2PROM,用以纪录网卡的MAC地址。
而1394和网卡的构建形式差不多,也是由MAC控制器和PHY来构成。其原理和布线准则也和网卡类似,笔者就不多费笔墨了。
PCI设备:PCMCIA, Mini PCI
1989年由200多家公司确立了PCMCIA(Personal Computer Memory Card International Association)标准,最初只是用来扩展内存,91年后随着I/O设备扩展需求,多种设备都被做成了PCMCIA接口,PCMCIA成为了笔记本最重要的扩展插槽。PCMCIA的成长史几乎是整个笔记本电脑产业的成长史。那PCMCIA到底是如何实现的呢?
实际上,PCMCIA的实现方法并不复杂,把南桥的PCI总线拉到PCMCIA控制器,然后从PCMCIA控制器就能输出Cardbus,接上标准的PCMCIA接口就可以了。
PCMCIA的框图
实际上在设计的时候,CardBus Controller的设计厂商都已经对其开发作好了一整套的外围电路,OEM厂商只需要简单的按标准电路做简单的修改即可(比如一些降低成本的动作)。一般来说,CardBus Controller有TI,RICHO,ENE等几家可以选择。
IBM R40的芯片控制器
如图是IBM R40采用的TI的芯片PCI 1510 控制器和NEC的某款产品,采用理光R5C551的CardBus控制器。
至于mini PCI则更加简单了,只需把南桥的PCI总线点到点的接到mini PCI的接口上即可。顺便说一句,mini PCI和台式机上的PCI的物理定义是一致的,不同的仅仅是插槽不一致而已。
文/ericman
我们见到过为了台式机上为了使用Mini PCI接口的无线网卡而出现的转接卡: |