您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > BIOS_EC_电源管理之间的关系
第1页:BIOSEC电源管理之间的关系所所开篇:今天是本系列教程的下篇,到今天工程师权威揭密系列的教程就告一段落了。随后大家可以通过访问我们的专题页面来随时温故知新,下面一起来看下篇吧。我们常会听到某些高手说“改一下COMS设置”云云,我们现在就来谈谈BIOS(CMOS)。BIOS(BasicInput/OutputSystem,基本输入输出系统)在整个系统中的地位是非常重要的,它实现了底层硬件和上层操作系统的桥梁。比如你现在从光盘拷贝一个文件到硬盘,您只需知道“复制、粘贴”的指令就行了,您不必知道它具体是如何从光盘读取,然后如何写入硬盘。对于操作系统来说也只需要向BIOS发出指令即可,而不必知道光盘是如何读,硬盘是如何写的。BIOS构建了操作系统和底层硬件的桥梁。而我们平时说的BIOS设定仅仅是谈到了其软件的设定,比如设置启动顺序、禁用/启用一些功能等等。但这里有一个问题,在硬件上,BIOS是如何实现的呢?毕竟,软件是运行在硬件平台上的吧?这里我们不能不提的就是EC。这是日立H8的DEMO板和其宣传画WINBOND的ECEC(EmbedController,嵌入式控制器)是一个16位单片机,它内部本身也有一定容量的Flash来存储EC的代码。EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除。在关机状态下,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(KeyboardController)。那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,PowerManagement)。一般来说,他和EC来共同配合完成。这里包括从开机(powerbutton)键按下后,启动,待机,休眠,关机的全部功能。还包括对背光亮度,声音等的控制等等。至于现在Intel的SpeedStep技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,StopClock)来实现睡眠、深睡眠等)。这部分的设计比较简单,只需要点到点的连接南桥和CPU即可。至于现在Intel的SpeedStep技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,StopClock)来实现睡眠、深睡眠等)。第2页:PCI设备:网卡1394的不同接法在台式机上,我们常听到关于集成网卡这个说法。而对于笔记本来说,网卡一般都是集成在主板上的,进入PIII时代以后,就没有无内建网卡的机器了。对于笔记本网卡来说(不考虑PCMCIA的网卡哦),一般有两种接法。上图蓝色框内的就是PCI的网卡(REALTLK8100C)INTEL的网卡PHY(82562ET)上图中黄色框内的U6就是E2PROM,用来记录网卡的MAC地址而1394和网卡的构建形式差不多,也是由MAC控制器和PHY来构成。其原理和布线准则也和网卡类似,笔者就不多费笔墨了第3页:PCI设备:PCMCIA,MiniPCI1989年由200多家公司确立了PCMCIA(PersonalComputerMemoryCardInternationalAssociation)标准,最初只是用来扩展内存,91年后随着I/O设备扩展需求,多种设备都被做成了PCMCIA接口,PCMCIA成为了笔记本最重要的扩展插槽。PCMCIA的成长史几乎是整个笔记本电脑产业的成长史。那PCMCIA到底是如何实现的呢?实际上,PCMCIA的实现方法并不复杂,把南桥的PCI总线拉到PCMCIA控制器,然后从PCMCIA控制器就能输出Cardbus,接上标准的PCMCIA接口就可以了。下图就是PCMCIA的框图实际上在设计的时候,CardBusController的设计厂商都已经对其开发作好了一整套的外围电路,OEM厂商只需要简单的按标准电路做简单的修改即可(比如一些降低成本的动作)。一般来说,CardBusController有TI,RICHO,ENE等几家可以选择。如图是IBMR40采用的TI的芯片PCI1510控制器和NEC的某款产品,采用理光R5C551的CardBus控制器。对CardBus一些其他分析可参考《权威揭密从成本分析看低价笔记本猫腻》一文,。至于miniPCI则更加简单了,只需把南桥的PCI总线点到点的接到miniPCI的接口上即可。顺便说一句,miniPCI和台式机上的PCI的物理定义是一致的,不同的仅仅是插槽不一致而已。我们见到过为了台式机上为了使用MiniPCI接口的无线网卡而出现的转接卡:我们看到,这样的转接板也是非常的简单,除了一些用以稳压用的元器件外没有任何用以信号转换的芯片。这也从侧面说明了MiniPCI只是PCI的翻版。第4页:笔记本也可以超频么?所有的数字电路都需要依靠时钟信号来使组件的运作同步,每单位时间内电路可运作的次数取决于时钟的频率,因此时钟运作的频率即被大家视为系统运作的性能指针。在笔记本的内部,时钟都是由一颗ClockGenerator来产生的。上图中,大颗的是ClockGenerator,小颗的是14.318Mhz的晶振一般来说这颗IC自身采用14.318Mhz的晶振来产生部分需要的频率。系统的各部分频率分别是:CPU-100M,南桥/北桥-66M,AC97-14M,LAN-25M,PCICLK-66M,USB-48M等等。南桥由于设备的多样性,可能同时需要66/14/48/33等频率,这主要看各种南桥的Specification(规格)和你采用的功能来决定(比如你需要加一个SuperI/O来增加一个红外口,那么你需要加一组14.318Mhz频率来提供给SuperI/O)。如果我们仔细研究一下这颗时钟芯片的规格书,我们会发现,控制其输出频率高低的有三个PIN,通过这三个PIN的高低电平,我们可以获得不同的频率输出。我们举个例子,ICS954226这颗芯片是为P4-M和P-M系统设计的时钟芯片,它的PIN图如下:其中红色框内的就是可以用来调整系统时钟频率的跳线,具体的对应表如下图:红色框内是P-M采用的数据至此我想各位也都明白,只要研究一下时钟芯片的跳线,并调整跳线就可以改变CPU的外频和主频。这实在让人兴奋!不过在实际上并非那么简单。因为单纯的提高时钟频率必然导致整机功耗的偏大,发热必将严重。而笔记本电脑在散热方面基本没有DIY的可能性。这样,散热在这里就成为比较突出的问题。在调整时钟的时候,我们也必须考虑到北桥对FSB的承受能力,超负荷的运作可能会导致北桥不堪重负而发生问题。在老式的主板上,我们需要多考虑一个问题。因为其各个组件都有其固定的工作频率,而各个总线的工作频率和系统的频率大部分都维持固定的比例来工作。换句话说,传统的时钟发生器通常是以CPU的外频作为基准频率,通过固定比例的除频,产生其余外设所使用的时钟。所以当使用者调高CPU外频的同时,总线及外设的时钟也会等比例地被提升,有的时候CPU尚未超出其工作极限,反而是外设承受不了过高的频率而罢工了。而在设计时,为了使同一款频率发生器能在更多的系统上使用,新一代的时钟发生器将AGP/PCI等总线的频率,采用与CPU外频“异步”的设计方式,使用者就可以自由设定AGP/PCI的工作频率,以符合外设的工作需求。如上图中我们可以看到,我们改变CPU外频的同时并未改变PCI等传统外设的工作频率,这无论对设计者来说还是超频爱好者而言都具方便性。除了玩跳线以外,这颗时钟发生器配备有SMBus(SystemManagementBus)接口,可由BIOS直接控制,甚至不用拆机壳,只需坐在计算机面前,通过键盘及屏幕,即可随意调整系统工作频率了。图中蓝色框内的就是SMBus的接口。通过SMBus我们可以以极小的线性级距微调CPU的外频(以MHz为单位),不像以往的跳线设定方式,一下子从100MHz直接跳至133MHz,CPU容易超出其极限而导致当机。但很遗憾,笔记本电脑在设计之时就已经确定了其最稳定的工作频率,可以频率调节的BIOS版本仅会存在于测试样机,而绝不会留给使用者在BIOS里超频的可能第5页:SMBus2.0/I2CBus上页我们提到了SMBus,相对前面说FSB,USB,PCI等总线,SMBUS2.0的速度实在是低的可怜(不过反正它也不需要那么高的速度)。但其作用却不可小视。简单的说,SMBUS是一种慢速的系统总线,他为整个系统提供基本的运行信息。我想稍有内存知识的朋友都知道,内存上有SPD来记录内存的容量,厂商等信息。而这些信息就是靠SMBus来读取的。另外,SMBus也可用来做CPU温度检测之用。在新型的笔记本或者台式机的设计中,ClockGenerator的频率控制也可以用SMBus来调整,以达到线性、平滑的超频(当然,在笔记本中……这就只可能出现在工程样机中了)。下图是具体的逻辑图,注意是SMBus哦,不是SMLink哦。其实在笔记本电脑内部,有不止一根的系统总线。比如说侦测电池信息的SMBUS等。笔者对这方面的信息笔者知之甚少,仅在此抛砖引玉了,有兴趣的朋友可以自己去搜索。第6页:CPU的核心电压,如何变化?主频如何自适应?可能大家都知道,现在的CPU有频率的自动调节功能以满足性能/电池续航的最佳平衡。那么如何调节呢?我们看一下下面这张图,它说明了CPU在各个状态间的切换:们看到,CPU具有相当的智能,它会
本文标题:BIOS_EC_电源管理之间的关系
链接地址:https://www.777doc.com/doc-2900532 .html