2024年3月3日发(作者:绪白卉)
作者序:您真的是笔记本电脑高手吗?
所所开篇:各位早上好,都打起精神来,按惯例我们又给大家带爆料来了。经过上几期的笔记本低价猫腻、Nvdia MXM技术、揭密笔记本散热误区等三篇“权威揭密”系列文章后,接下来该为大家带来什么呢?
从本周开始,我们将带领大家全面认知笔记本的硬件架构设计,由于篇幅十分浩瀚,为了不让大家感到恐惧,我们将整个文章分为上、中、下三篇分别发出,每篇均有自己的主题,独立成章。相信当你看完所有篇幅后,你一定可以成为真正的笔记本发烧友了。
从2004年跨入2005年,笔记本的价格可谓一落千丈,笔记本电脑也不再是身份地位的象征,它更是一个工具,帮助我们从纷繁的事务中解脱出来。
自己升级CPU?太easy了~都不好意思说出来
也正因为笔记本价格的滑落,我们身边多了很多笔记本的高手。他们对其硬件技术兴趣近乎痴迷,他们升级所有能升级的硬件,从MMC2接口的PII升级到PIII已经不再是新闻,而自己扩展USB口也不是什么新鲜事,至于为无网卡的机器打造内建网卡,为无蓝牙的机器打造内建的蓝牙也一直在论坛上看到,还有为IBM ThinkPad 600X制作内建的MINI-PCI无线网卡,用的天线居然是原来Modem的线……
笔者不否认这些强人的动手能力和他们的创意,甚至他们对硬件的了解程度超越了在开发第一线的RD工程师。但尽管如此,我相信他们对笔记本的整体架构,内部总线的了解还有欠缺。
比如,我们都知道如何CPU会自动降频以减低自身功耗,但你是否知道他们具体物理动作?
又如,我们常说的BIOS,我相信高手对BIOS的设定几乎可以闭着眼睛来,但你是否能回答这BIOS究竟是谁在运行?毕竟,软件是要靠硬件来运行的吧?!
再如,或许某些DIYER对台式机的开机过程了如指掌,听报警声就知道机器挂在哪里,但你是否清楚笔记本电脑的开机过程?是否也能仅仅凭报警声就能明白?
还有,大家都晓得CPU过热会引起保护性关机。那你是否知道这个过热保护系统是如何工作的呢?那AC97呢?笔记本中的MODEM都独立出来了,他们到底是怎么工作的?如果你是IBM的Fans,你肯定知道BMDC吧?那BMDC到底是如何实现的呢?
拆拆装装,简直就是家常便饭
实际上,随着对很多简单问题的深入,我们会发现其实这些问题并不简单。虽然对于业余的DIYER,他们不知道这些已经无关紧要,他们仍然已经是很“高手”的了。但我相信,一个真正的DIYER对技术的渴望会超乎想像,又有什么能够阻止他们向更高的技术领域进军呢?
或许,也有读者说,我只要用好我的电脑就好,他怎么运作关我什么事?!那么在此我将很遗憾的对你说,您真的并不适合看本文。
偶尔还会拿个台式机P4 CPU代替迅驰CPU搞怪一下,当然是开不了机的
撰写本文,其实是希望那些DIYER 能对笔记本电脑有一个系统的了解。在本文中,您会看到我对以上的问题做详尽的解释,相信在你读完本文之后,对笔记本的整个体系有了完整的概念。而对于真正的那么些DIY高手来说,或许有些知识您已了然于胸,但对于一些你知其然,而不知其所以然的问题,或许你能在读完本文后能找到答案。
另外作为比较,本文也会以最新的Sonoma平台和Centrino平台做一些比较。好吧,闲话少说,我们正式开始吧!
从架构开始学习 让我们认识更多
当前笔记本虽然是品牌众多,且外观、功能各有千秋,但究其原理还是一样,都是基于IBM PC/AT的老架构(当然Apple的除外)。这里值得注意的是,虽然台式机和笔记本外形差别很大,但其基本的架构和原理都是一样的,都是兼容IBM PC/AT架构的。
那么我们先来说说笔记本电脑的主要框架。
一台很方便拆卸的华硕M5N作为客串嘉宾
系统的主要构成主要分为如下几个部分:North Bridge(匇桥),South Bridge(南桥),显示卡,EC(嵌入式控制器),这几个部分一般都是集成到主板上的,配合CPU,内存就可以开机进入BIOS。以上的部分是必须的,因为这属于PC/AT架构的基本构成。其他诸如硬盘,Wireless Card(无线网卡),Card
Bus(PCMCIA控制器)等等都是次要的,并不影响整机的工作,或者说,不影响机器的开机。
Intel Centrino架构
为了方便讨论并具有一定的代表性,我们取当前比较流行的Centrino架构来说明。上图便是标准的Centrino平台,按照这个平台搭建的笔记本,可以打上Intel Centrino漂亮的蝴蝶标志。而如果在Pentium+
855GM/PM/GME+ ICH4+ Intel PRO Wireless的搭配中有一项不符合,就不能用Centrino的标志,就不能使用INTEL的免费广告咯,呵呵~~这也是Intel聪明的经商策略:)
笔记本硬件结构各部分功能简介
为了照顾一下入门级的朋友,我们首先非常简单的介绍一下系统各个功能块的作用。CPU嘛,笔者就不多说了,我相信大家都清楚哦~(什么,你不知道CPU?!我$#!@%^&!)
匇桥的功能主要是连接CPU和内存,如果是独立显卡的话,会提供与显卡的AGP接口,并用HUB-LINK与南桥通信。匇桥常被成为MCH或者GMCH,也就是Memory Control Hub或者Graphic Memory Control Hub的意思。
用三星X30作为案例,点击上面图片可以获得更多解释
南桥的功能主要是连接一些外围设备,比如PCI界面的网卡,PC卡控制器等等,另外诸如USB接口、IDE接口也是由南桥来提供的,南桥提供LPC总线与EC通信。南桥也常被称为ICH,其意思是I/O Control Hub的意思。
至于INTEL为什么用Hub-Link这个词,我想是因为南匇桥都是两个HUB(Memory Control Hub和I/O Control Hub)的原因吧。
EC(Embed Controller,嵌入式控制器)虽然和我们常说的BIOS有点像,不过其实EC是BIOS的物理控制器和载体,它通过LPC与南桥通信。
如果看不懂本页,请参考这张图,我相信很容易就明白了。文中的我们提到了各种接口,比如FSB,AGP,LPC I/F等等,这些接口我们会在下面具体的谈。
正确认知CPU前端总线 信号抗干扰是头等大事
从这里开始是本文的重点,将详细介绍各部分的连接和规范。
系统中最高速、最复杂的连接莫过于CPU和匇桥的连接,我们称之为FSB(Front Side Bus,前端总线)或者HOSTBUS。
Dothan CPU
FSB有64位的数据线和32位的地址线。正是通过FSB,CPU和匇桥才能完成通信。
虽然实际上CPU与匇桥的连接都是点到点的,但由于其高速性,在实际的布线中还是需要非常非常小心。而EMI/EMC工程师在这方面也将是不遗余力的帮助硬件工程师解决问题(解决不好就不能通过有关方面的认证,也就是不能卖啦!)。
那么什么是EMI/EMC呢?具体的含义是EMI(Electro Magnetic Interference,电磁干扰),EMC(Electro Magnetic Compatibility,电磁兼容性)。
所以我们可以这样认为:FSB对其他信号的干扰非常严重(EMI很严重),而且其本身也比较容易受到干扰(EMC很弱)。很明显,如果FSB被干扰并出现误判,机器是必死无疑的。
在考虑了EMI/EMC的影响后,在实际的布线中,通常将这部分线路放在内层(一般笔记本电脑主板都有6~8层,6层在Centrino平台勉强可以,到了Sonoma平台就几乎不可能了),以防止高速信号对其他信号造成的串绕。所以一般情况下,我们在主板上是看不到FSB的。
下面的图片是INTEL的设计指南里的建议,我们看一下。
FSB总线
图中,DATA是FSB的64位数据线,ADDRESS则是32位的地址线。左上脚的L3代表的是第三层PCB。由于在同一层中不可能把数据线和地址线全部走完,所以其实第三层仅仅走了一部分的FSB,余下的在第六层中。
FSB总线
同样,L6代表的是第六层的PCB。
头疼的布线 让你深入芯片内部!
由于FSB是绝对的高速信号,所以在布线的时候,我们需要考虑到信号线长度的一致性。
比如,INTEL要求每一根的FSB的长度需要一致,所以,在PCB步线的时候,就免不了要走“Z”字型的线路来满足长度的一致性。在这里,我想大家可能没想到一点,那就是关于芯片内部走线的长度的考虑(也
就是说,为了满足长度的一致性,我们必须要考虑到CPU内部的线路长度),然后加上外部走线(即在PCB上的走线)的长度,才是整个一个信号线的长度哦!当然这个长度是由INTEL提供给各个OEM/ODM厂商的。
下图是DDR那边的走线示意图,其中MCH Pkg Route就代表着匇桥芯片内部的走线长度。
布线其实需要考虑的比你想像的更多
接下来,我们来放大一下前面的图,看一下所谓的“Z”字型走线。
“Z”字型的走线是为了满足信号线长度的一致性
图中方框内的线路都是“Z”字型的走线。由于这些线路都是在PCB的内层,一般来说我们是看不到的。不过基于同样的原理,在一些其他地方的设计上,也要考虑走线的长度,比如显卡,显存,匇桥到DDR的走线等。
显卡和显存颗粒的布线
上图是某笔记本显卡和显存部分的走线,我们看到,也是大量采用了“Z”字型的走线方法,其原因就如上文所说。下面是匇桥到DDR的走线,道理是一样的。
匇桥到DDR的走线
在FBS总线上有个小知识,对与FSB来说,虽然地址线应该有32根,也就是ADD[0…31],但实际上地址线只用到了ADD[3…31],而不是ADD[0…31],为什么呢?其实很简单,因为现在的CPU读取数据都是8位连读的,所以CPU只需要知道一个数据的首地址,其后的7个bit就会自动被读取。所以不需要ADD[0…2]这三位。如果对这点感到难以理解的读者,建议去看一下《微型机计算机原理与应用》,我想你很容易会找到答案。
想了解CPU为何自动降频?不知道VID怎么行!
从移动版的PIII开始,INTEL的CPU就多了一个输出VID的功能。其作用是实现CPU都具有自动降频的,在必要时,甚至会进入深睡眠、关闭内部时钟等情况。其具体流程是:CPU根据自身的状态输出VID到电源IC,电源IC接到VID后解码,并输出一个跟VID对应的CPU工作电压。而对于CPU的各种状态及其切换过程,我们会在《下篇》具体讨论到。
INTEL CPU的VID列表
我们看到,CPU的工作电压可以一直从1.708V一直降到其最低的0.700V。在系统最先开机的时候,也就是在电源IC未接到VID的时候,其输出是其最低电压,即0.7V。
下图是IBM配合迅驰技术使用的电源管理软件。我们看到CPU的速度有高/自适应/慢/很慢四档可以调节。实际上,如果有必要,可以做成更多的调节,就像上面的那张VID表一样。
迅驰CPU的各种工作状态
这里要说的是,INTEL对于其VID的一致性做的比较好,其各种CPU一般都支持相同的VID—电压对应表;而对于AMD就不大一样,一般它的不同的CPU都会有不相同的VID表与之对应。这在研发上也增加了一点点的小麻烦。:)
匇桥:DDR内存的走线密如蛛丝
匇桥是信息的中转站。根据上文所说的功能,它有4个接口,分别是FSB ,DDR,AGP以及HUB-LINK。
匇桥近照
FSB是和CPU的接口,参见上文,这里不再多说。
DDR是对内存的接口,现在的855GM/PM支持到266MHZ,这部分线路和FSB那边的连接将影响到主板的格局,因为他们都是高速的,大量的信号线的集合。在布线的时候最先考虑的就是它们。
如图是Intel建议的布线图,这里仅仅是DDR的信号线,并不包括地址线。
匇桥到DDR的信号线
地址线则在另外一层,如下图:
匇桥到DDR的地址线
我们看到,这与数据线并不在同一层。而图中我们看到的Series Dampening resistors和Parallel Termination on both layers则是在DDR RAM那边特有的。其意思分别是串行衰减电阻和终端并行电阻。
衰减电阻和终端电阻之惑
我们先来解释一下串行衰减电阻和终端并行电阻。前者的意思是从匇桥出发的每一根数据线,必须与一个电阻串联再到达DDR RAM部分。而后者的意思则是,在数据线到达DIMM1和DIMM2后,必须有一个在串联一个电阻后上拉到1.25V,也就是下图中的VTT。
具体的示意图:
衰减电阻和终端电阻的示意图
其中的RS就是所谓的串行衰减电阻(Resister Serial),而RT则是终端电阻(Resister Termination),而SO_DIMM0 PAD则是指DIMM的PIN脚。至于什么是DIMM?Dual In line Memory Module,字面翻译就是双列内存模块。
那为什么需要终端电阻呢?在进入DDR时代,DDR内存对工作环境提出更高的要求,如果先前发出的信号不能被电路终端完全吸收掉而在电路上形成反射现象,就会对后面信号的影响从而造成运算出错。因此目前支持DDR主板都是通过采用终结电阻来解决这个问题。
由于每根数据线至少需要一个终结电阻,这意味着每块DDR主板需要大量的终结电阻,这也无形中增加了主板的生产成本,而且由于不同的内存模组对终结电阻的要求不可能完全一样,也造成了所谓的“内存兼容性问题”。这点在DDR II上得到了比较完美的解决,我们在下面具体谈。
衰减电阻和终端电阻的实物图
上图中,蓝色框是匇桥,红色框内是衰减电阻,而黄色框内则是终端电阻(看到框框边上一大块绿色的铜皮了吗?这是VTT 1.25V哦!)。我们看到,其走线的顺序也是跟上面示意图一致(从匇桥经过衰减电阻到DIMM的PIN脚,然后接终端电阻到VTT)。
匇桥:DDR单/双通道区别到底在哪里?
而DDR SDRAM的接法有双通道和单通道之分。
相对于传统的单通道而言,双通道DDR 技术是一种新的内存控制技术,它和双通道RDRAM 技术非常相类似,是在现有的DDR 内存技术上,通过扩展内存子系统位宽使得内存子系统的带宽在频率不变的情况提高了一倍:即通过两个64bit 内存控制器来获得128bit 内存总线所达到的带宽。双通道体系包含了两个独立的、具备互补性的智能内存控制器,两个内存控制器都能够在彼此间零等待时间的情况下同时运作。当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然,这样的内存控制模式可以让等待时间缩减50%。
双通道技术显然需要匇桥的支持,INTEL的855芯片组并不支持双通道DDR I,比较搞笑的是在CENTRIO平台的时候,VIA的一些芯片组能支持双通道内存技术而INTEL不能,呵呵。
下图是单通道DDR-I内存的示意图,左边的信号来自匇桥。如果是双通道的话要加上另一组DDR与匇桥的接口。双通道对于单通道来说能显著加快内存数据和CPU的交换速度,但是出于PCB布线的考虑,双通道明显增加了线的数目,增大了布线的难度,并由此产生的成本问题对企业来说更为敏感。
单通道DDR RAM的物理连接
这里也有RS和RTT,其意义和上文所说的串行衰减电阻和终端并行电阻一致。
转换思路 问题迎刃而解 DDR II的新创意
在最新的DDR II上,主板设计上已经取消了部分信号的衰减电阻和终端电阻,而将其集成于内存上。
我们称这DDR II的新特性为ODT功能,即On Die Terminator(内建终端电阻器)。当在DRAM模块工作时把终结电阻器关掉,而对于不工作的DRAM模块则进行终结操作,起到减少信号反射的作用(注:ODT的开启与禁止由匇桥芯片控制,ODT所终结的信号包括DQS、RDQS、DQ等等,可参考单通道DDR-I内存的示意图)。
这样可以产生更干净的信号品质,从而产生更高的内存时钟频率速度。而将终端电阻设计在内存芯片之上还可以简化了主板的设计,降低了主板的成本,而且终端电阻可以和内存颗粒的"特性"相符,从而减少内存与主板的兼容问题的出现。
DDR II内存
已经砍掉部分终端电阻的DDR II的主板
如图,DDR II的插槽边上已经没有了终端电阻,这样在设计上将更为简便,布局也会更加合理。
本文小结与中篇预告
由于篇幅关系,本文的上篇就先写到这里。在这里我们首先讨论了当前笔记本的基本架构以及在FSB和DDR走线方面的一些设计技巧,另外还有一些技术性比较强的知识,比如衰减电阻,终端电阻等等。
我相信很多朋友都意犹未尽,让我们在中篇中继续我们的话题。在中篇中,我们会谈到一些问题,比如:
1,当前笔记本的显示单元,以及MXM技术
2,HUB-LINK技术
3,IDE接口,并比较详细的讨论SATA和PATA的区别和性能情况
4,PCI总线和最新的PCI-E总线的区别
5,AC97规范,在这里我们会谈到AC97上的声卡,MODEM,BMDC(如果你是IBM的FANS,我相信你一定知道这是什么东西哦!)的实现,这个非常有趣。
6,USB口的实现,将涉及到其硬件部分的设计。这也许对DIYER有比较大的帮助。
匇桥:显示单元是区分855GM/GME和855PM的好办法
所所开篇:大家好,今天是周末了。相信大家在看本周一关于笔记本硬件结构终极教程上篇后,已经都兴奋的不行了。所以这次在周末期间提前推出本文的中篇。让大家可以将热情继续下去,而下篇也会在下周的时候发出。到时候三篇连着读起来,一定爽的不行啊。闲话就不多说了,大家开始上课吧,安静哦~
各位好,很高兴又与大家见面了。在上次发表了本文的上篇后一直忙于工作,昨天晚上终于抽空写完了这次的中篇。这次的内容有大家比较关心的PCI Express总线和传统的PCI总线的区别,以及SATA/PATA技术的一些分析。
而对于IBM 的FANS来说,或许通过本文,您甚至可以自己升级BMDC模块(这很令人兴奋哦!)另外USB也会再谈论一下,对DIYER有点帮助,也许使用IBM Thinkpad 600E的朋友可以扩展您第二个USB口。好吧,闲话少说,我们正式开始!
AGP是加速图形接口的简称。对于我们常说的集成显卡的855GM/GME来说,在设计的时候是涉及不到AGP接口的,因为其匇桥能直接支持VGA输出,LVDS输出(到TFT Panel),以及S-VIDEO输出。设计者只需要把这些信号延伸到主板的各个接口即可。
855GM的系统架构
如图是采用855GM芯片的系统图,我们看到在显示部分,已经直接由匇桥来负责输出。下图是某笔记本的整体写真,我们看到除了CPU,匇桥,南桥外,没有显示卡芯片。
集成显卡的主板
而对于独立显卡的设计(855PM芯片),则会相对麻烦一些。因为设计者需要通过855PM的AGP通道连接显卡,并通过显卡输出需要的数据,如VGA,LVDS等等。
855PM的系统架构
我们看到,在采用855PM的芯片组时,匇桥只负责输出AGP到显卡,然后由显卡负责输出各种显示信号(VGA,LVDS….)
如图是台式机的AGP显卡,在笔记本中不过是把这张卡也集成到主板上了而已(当然是选用移动版的GPU啦!)下图是含有独立显卡的IBM T42和三星X30,分别采用ATI 7500和NVIDIA 5200的GPU。
而一些台湾公司的匇桥,如VIA和SIS的匇桥不直接支持Panel,它们需要一个Transmitter来转换才能输出VGA、LVDS等信号,比如最新的PN800(PT800的移动版本)和K8N800(K8T800的移动版本),如果有需要更多信息的话可跟笔者联系,在这里就不做介绍了。
最新的MXM技术也已经初具雏形,笔者当前有幸接触到MXM的设计,核心是比较新的NV43。至于什么是MXM,笔者简单说一下:MXM是相对当前的笔记本电脑无法更换显示卡而提出的一个规范,其通过一个特定的接口能实现显示卡和主机分离,使得用户可方便的升级笔记本电脑的显示卡,如同台式机能方便更换AGP显示卡一样。其接口的详细规范,就不再多说.
匇桥:HUB-LINK 你了解多少?
HUB-LINK,这是Intel的规范,其作用是提供南匇桥的高速数据连接。其运作频率是66MHZ,速度为266MB/s。Hub-Link有12根的数据线,以及2根差分的时钟线,以及数根的控制线。
以往的南匇桥连接都是直接套用PCI总线,速度慢不说,还有一堆的信号线要你排。
在这种情况下,INTEL提出了Hub-Link以改变这种情况。而HUB-LINK对布线的简化确实有相当的帮助,当然对提升速度也有很多的好处(相对应的也有VIA提出的V-LINK,ALI提出的A-LINK等)。对于最新的915平台,这部分称为DMI(Direct Media Interface)连接,以最大2GB/s的数据传速率远远超过266MB/s的Hub Link。
下图是Hub-Link的连接示意图。
Hub-Link的布线一般要求并不是太强,可参考以下的表格。
我们可以看到其最大允许的长度为6 inch,宽度需要至少4mils,间隔8mils等等
南桥:IDE接口 说难不难说简单也不简单
南桥是外围(I/O)设备的中转站,一般来说主要的接口有HUB-LINK,IDE,PCI,AC97,USB,PM(Power Management,电源管理)等,对于最新的ICH6,更有SATA,DMI等。
HUB-LINK的定义见上文。
IDE是大家比较熟悉的接口,硬盘一般都通过IDE通道与南桥建立连接。在ICH4上,有两个IDE接口,所以我们一般硬盘用IDE0,光驱用IDE1。而在在最新的915平台上只有一个IDE,另外还有4个SATA。当然这是Intel在积极推行SATA的结果。IDE通道有16根[0..15] 数据线,还有一些相关的控制信号。如图是硬盘和南桥通过IDE来连接HDD的示意图:
下图是实际的IDE接口,共有44PIN,当然,有些也是空PIN,有些则是接地:
跟台式机不一样的是,笔记本中光区的接口和硬盘不一样,这也可能是一个行业标准吧。笔记本光区的接口如下图,共有50PIN,比硬盘的PIN数多是因为CD-ROM上需要引出音频信号以及一些控制信号:
虽然光区和硬盘的接口并不一样,但其本质上其实是相同的,都属于IDE范畴。
南桥:PATA,SATA之争
在只有一个IDE接口的时候,副硬盘只能通过主IDE设备来实现中断(IRQ),比如现在有些厂商需要在915平台上使用IDE的硬盘,以降低成本。如此一来,势必要使硬盘和光区使用一个IDE通道,如果从光盘拷贝大量数据到硬盘的话,速度会有明显的下降。
而有些时候,RD为了提高性能,甚至需要用转换芯片将SATA转成PATA(没听说过吧?呵呵,用Marvell 88SA8040这颗IC就行了,参考这里 /products/?ProdID=1001002)。
下图是ICH6M的硬盘部分的功能块,有四组SATA和一组的PATA接口。
SATA和PATA(IDE)
相对PATA来说,SATA的设计就显得简单的多,只需4根/2组差分信号和一个电源即可搞定。但由于其数据的高速性,设计者对布线,以及控制EMI/EMC来说却需要投入更多的精力。最新的ICH6提供了4个通道的SATA,看来Intel把SATA尽快的推到笔记本上信心实足。
下图是SATA和PATA的笔记本硬盘 接口比较。我们看到实际上SATA的PIN脚还是有很多,但其实很大一部分都是地线,用来保证信号质量用的,当然,也有一部分是空PIN来做保留。
在这里笔者多说两句,其实早在2002年富士通就以桥接方式推出了串行笔记本硬盘。根据国外硬件网站TomHardware的测试报告,这款4200转的SATA硬盘,数据传输速率和存储时间都与PATA(IDE)产品差不多。也就是说,单纯更换接口,对速度的提升尚未显示出太大的帮助,笔记本硬盘的瓶颈并不是在接口上。它主要的好处是使用方便、接口简单而且支持热插拔。
现在,日立和富士通都跟随Sonoma的步伐发布了新一代的SATA硬盘,有测试报告称速度达到了30MB/s。然而在其昂贵的价格面前,SATA笔记本硬盘的优势还很微弱,甚至没有。但我们必须得承认,笔记本全面进入串行时代,是无法扭转的历史进程。SATA硬盘的普及,也会是必然。
南桥:从PCI到PCI-EXPRESS
PCI是外设的最主要通道,几乎所有的外围设备都能通过PCI来实现其功能。对笔记本通常而言,主要挂有CARDBUS、MINI PCI、网卡,或者电视卡。而对于这些设备的物理连接,我们也将在下篇中具体谈到。
由于PCI只是跑在33MHZ上,所以它的布线比较宽松,并不需要严格的控制。
而对于最新的ICH6已经开始支持PCI-Express,相对PCI原来的近60pin,PCI-Express的引脚只有区区四根。这对于硬件的设计来说是个绝对的好消息,PIN脚越少,越不容易出错啊!更重要的是,PCI EXPRESS并不需要像PCI那样指定PCI设备的中断和中断响应,对于BIOS和硬件工程师来说就少了需要共同协商的部分,加快了开发的进程。
笔记本上我们看不到PCI-E,我们来看看台式机吧,反正通道的原理是一样的。
由上到下分别是:PCI-Express 16X,PCI-E *2,PCI总线*3。可以看到PCI-E比传统的PCI总线的PIN数要少太多了。下图是PCI和PCI-E的对照表,大家可以看到两者的区别:
PCI和PCI-Express
ICH6提供了4组PCI-Express接口,理论上至少可接4个PCI-Express设备(我是没碰到过,实在是因为用不了那么多,呵呵)。
AC97 Modem BMDC 您又了解多少?
AC'97是Audio Codec'97的缩写,它所定义的是一种在主流PC中实现音频特性的方法,后来又扩展了实现Modem的功能。AC'97利用核心芯片组的功能和外围的模拟设备共同实现音频卡/Modem的功能。下图AC97接口是示意图:
我们看到南桥输出7个信号,从上到下分别是复位、输出、同步、时钟,以及三个输出信号。按图中的意思,AC97接口至少可以接3个设备,共用复位、输出、同步、时钟四个信号,但输入信号各自独用。一般情况下,我们常接入的是D/A转换(SDATA_IN0,数字信号转成模拟的音频信号)和Modem(SDATA_IN1)两个设备,保留了第三个设备接入的能力。
下图是笔记本上AC97的接口,如今已经是通用的接口了。
笔记本上的Modem(AC97)接口
AC97单元在主板的设计上并不困难。但由于音频是模拟信号,而且由我们的耳朵直接聆听,所以如果走线不合理的话,就有可能引发干扰声。另外,如果处理不好干扰的话,也会影响Modem的拨号速度。所以一般在做PCB布线的时候,会在音频解码器的范围内禁止走高速的信号,比如网卡,USB等等。并且需要严格把AC97的解码器的数字和模拟部分分开,最后,在解码器的下方的一般都会加上一大块的铜作为模拟地以将干扰减小到最低。
至于如IBM的高档机型上用的Modem/BlueTooth的Combo卡(炒的比较热的BMDC卡),其实是利用在AC97的接插件上空余的pin,接上了USB的线路(2根而已),然后通过USB总线来连接BLUETOOTH,这根我们常用的USB蓝牙其实是一样的,可见其成本并不高。笔者参与设计的几个项目都是用AC'97来扩展蓝牙的。
IBM的Modem/蓝牙Combo卡
下图是AC97接口的PIN脚功能图,我们看到左边部分的PIN是连接到南桥的AC97接口,而右边则是蓝牙的功能块。除此之外还有很多空余的PIN脚,BMDC正是通过这些空余的PIN实现Modem、蓝牙二合一的。
BMDC接口的线路图
如果要利用MINI-PCI的空余PIN来做的话也是可行的,这样的话也就是Wireless/Bluetooth Combo卡了,而且理论上来说,做成Wireless/Bluetooth Combo更方便,不仅是因为MINI-PCI的空PIN更多,而且其空间也越大。不过由于迅驰技术的限制,如果不使用Intel的无线网卡,就不能打上迅驰的标签。而Intel的无线网卡是不大可能集成蓝牙功能的,所以现在Wireless/Bluetooth Combo卡并不多见。
MINI PCI的无线网卡。看看,是不是空间更大?:)
随着ICH6M的推出,最新的Azalia(Intel称之为High Definition Audio)相信大家也听说过。以其多声道,高保真的效果正在逐步替代传统的AC97。最新的音频解码器(AZALIA)目前量产的就我知道的也就两家,一家是Retelk的ALC880,另一家是C-Media的CMI9880。下面是两者的图片:
Azalia音效芯片最大的特色在于能够进行自动设备检测和接口定义功能,可以自行判断哪个端口有何种设备插入;还能为接口定义属性,利用这个功能,我们可以重新分配音频插孔的定义,之后就可以播放不同的音频、视频文件,听不同的歌曲了!呵呵~~
至于更详细的说明,请参看《颠覆还是改良 紫光迅驰II性能测试揭密》的第八页。
南桥:USB口 没想像中那么简单
USB,Universal Serial Bus(通用串行总线)。我们知道,我们现在用的USB口上有4个引脚。其中中间两根是从南桥引过来的信号线。另外两个边上的则是一个正5V,一个接地。下面是USB口的接口具体定义:
其中供电的时候一般由一颗IC来控制电流的大小,当超过预定的电流时候(USB1.0为500MA,2.0则是720MA),改IC会给出一个OC#(OVER CURRENT,过流)信号给南桥,南桥切断USB口的信号,从
而保护南桥内部的寄存器和整机的安全。INTEL推荐使用专门的IC来切断电压,这样能更好的保证机器的稳定性。图中的5V Switch就是供电IC:
USB的保护电路
具体的电路,参考《权威揭密 从成本分析看低价笔记本猫腻》第六页。
仔细看一下USB口,其中间两根信号线比较短,而电源线则比较长。这样的设计是使UBS口在插入的时候先接通电源,后接通信号。个人以为这样的设计是为能保护南桥内部的寄存器不会受到冲击电流的影响。
由于USB的高速性,特别是USB2.0的发布,更加剧了这部分布线的难度。对EMI工程师来说,为了通过EMC验证,必定是线越短越好。而对硬件和机构工程师来说,有时候这点并不能满足……所以冲突是难免的。
下图是为解决USB的EMI/EMC问题设计的电路,也是INTEL的建议线路。其中USB+/-是直接从南桥引出来的,通过一个共模电感输出到USB口,提高整机线路的EMI/EMC性能。
USB的EMI保护
所以说我们常看到一些网络上的高手直接从南桥引出USB信号线来实现USB扩展其实是比较不规范的哦,至少EMI/EMC肯定过不了,呵呵。当然,能直接从南桥引出USB的信号线对于业余者来说已经是非常不简单了,而且对于个人用户来说,EMI/EMC的需求就并非那么强烈了,所以这样做是完全可行的。
上图是某些发烧友为IBM THINKPAD 600X加装第二个USB口的图,图中他们已经标出了南桥引出的USB信号线。
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完全卸除。
在关机状态下,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网卡的传输效率确实也比较高。
上图蓝色框内的就是PCI的网卡(REALTLK8100C)
第二种则是“真正集成”的网卡,MAC层部分被做到了南桥里面,然后需要用一个外围电路(PHY)来配合南桥里的MAC来实现网卡的功能。
如图,南桥内部的网卡MAC输出一组信号线(称为MII总线),连接PHY(上图中的Intel 82562ET),然后引出RX+-和TX+-两对差分线,透过Transformer来控制EMI,然后输出到RJ45接口即刻。这里的Transformer的结构跟中篇里的USB的共模电感相似,作用也相似。上面的REALTLK8100C的那张图中,红色框内就是Transformer。经过Transformer的信号线必须以最短的距离接到RJ45接口上以减少干扰,所以它离和RJ45的距离是必须被严格控制的。
INTEL的网卡PHY(82562ET)
那么MAC地址是什么呢?MAC地址是区别网络设备的唯一物理标志,理论上,世界上任何一个网络设备的MAC应该都是不同的。那么网卡的MAC地址到底放在哪里呢?
对于走PCI总线的网卡,一般会在网卡上挂一个小小的的E2PROM来存储,里面烧有MAC地址以及一些厂商信息。而对于用PHY来连接的网卡,会把MAC地址信息放在挂在南桥上的E2PROM(因为网卡的MAC控制器在南桥)。
上图中黄色框内的U6就是E2PROM,用来记录网卡的MAC地址。
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采用的TI的芯片PCI 1510 控制器和NEC的某款产品,采用理光R5C551的CardBus控制器。
对CardBus一些其他分析可参考《权威揭密 从成本分析看低价笔记本猫腻》一文,/nb/04/12/56526/。
至于mini PCI则更加简单了,只需把南桥的PCI总线点到点的接到mini PCI的接口上即可。顺便说一句,mini PCI和台式机上的PCI的物理定义是一致的,不同的仅仅是插槽不一致而已。
我们见到过为了台式机上为了使用Mini PCI接口的无线网卡而出现的转接卡:
我们看到,这样的转接板也是非常的简单,除了一些用以稳压用的元器件外没有任何用以信号转换的芯片。这也从侧面说明了Mini PCI 只是PCI的翻版。
笔记本也可以超频么?
所有的数字电路都需要依靠时钟信号来使组件的运作同步,每单位时间内电路可运作的次数取决于时钟的频率,因此时钟运作的频率即被大家视为系统运作的性能指针。在笔记本的内部,时钟都是由一颗Clock Generator来产生的。
上图中,大颗的是Clock Generator,小颗的是14.318Mhz的晶振
一般来说这颗IC自身采用14.318Mhz的晶振来产生部分需要的频率。系统的各部分频率分别是:CPU-100M,南桥/匇桥- 66M, AC97-14M,LAN-25M,PCI CLK-66M,USB-48M等等。南桥由于设备的多样性,可能同时需要66/14/48/33等频率,这主要看各种南桥的Specification(规格)和你采用的功能来决定(比如你需要加一个Super I/O来增加一个红外口,那么你需要加一组14.318Mhz频率来提供给Super
I/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(System Management Bus)接口,可由BIOS直接控制,甚至不用拆机壳,只需坐在计算机面前,通过键盘及屏幕,即可随意调整系统工作频率了。图中蓝色框内的就是SMBus的接口。
通过SMBus我们可以以极小的线性级距微调CPU的外频(以MHz为单位),不像以往的跳线设定方式,一下子从100MHz直接跳至133MHz,CPU容易超出其极限而导致当机。但很遗憾,笔记本电脑在设计之时就已经确定了其最稳定的工作频率,可以频率调节的BIOS版本仅会存在于测试样机,而绝不会留给使用者在BIOS里超频的可能。
SMBus 2.0/I2C Bus
上页我们提到了SMBus,相对前面说FSB,USB,PCI等总线,SMBUS2.0的速度实在是低的可怜(不过反正它也不需要那么高的速度)。但其作用却不可小视。简单的说,SMBUS是一种慢速的系统总线,他为整个系统提供基本的运行信息。
我想稍有内存知识的朋友都知道,内存上有SPD来记录内存的容量,厂商等信息。而这些信息就是靠SMBus来读取的。另外,SMBus也可用来做CPU温度检测之用。在新型的笔记本或者台式机的设计中,Clock Generator的频率控制也可以用SMBus来调整,以达到线性、平滑的超频(当然,在笔记本中……这就只可能出现在工程样机中了)。
下图是具体的逻辑图,注意是SMBus哦,不是SMLink哦。
其实在笔记本电脑内部,有不止一根的系统总线。比如说侦测电池信息的SMBUS等。笔者对这方面的信息笔者知之甚少,仅在此抛砖引玉了,有兴趣的朋友可以自己去搜索。
CPU的核心电压,如何变化?主频如何自适应?
可能大家都知道,现在的CPU有频率的自动调节功能以满足性能/电池续航的最佳平衡。那么如何调节呢?我们看一下下面这张图,它说明了CPU在各个状态间的切换:
我们看到,CPU具有相当的智能,它会对当前的负荷量做一个检测,如果要求的处理量不大的话就自动进入Auto Halt,Stop Grant等状态,如果发现负荷量还是偏小的话,南桥会发出一些SLP或DEEP SLP信号(分别代表睡眠,深睡眠)来通知CPU进入睡眠、深睡眠状态。
而在DEEP SLP情况下,如果CPU的运算量还是偏小,那么CPU就会发出VID通知CPU Core Voltage Regulator(CPU电压产生器)降低当前的工作电压,在收到CPU发出的VID后,电压产生器就会输出想对应的CPU CORE电压,在得到降低的电压后,CPU的频率会下降以达到低功耗的目的。而在这时候CPU进去的模式我们称为DEEPER SLP(即更深的睡眠)。
至于VID和CPU的关系,我相信下面的图能给你比较直观的认识:
CPU发出VID到CPU Core Voltage Regulator,后者解码VID后,改变CPU的核心电压。以Intel的Improved Enhanced SpeedStep技术为例,在小于1/2000秒的时间里,自动电源识别系统(CPU和南桥共同协作)和自动电压调整系统(CPU Core Voltage Regulator系统)将使CPU的电压自动增加或者减少到最佳的值。由此不难看出,SpeedStep技术能让CPU在最高性能模式和电池优化模式之间随意地切换或按用户的命令进行切换,而性能切换时,SpeedStep技术可将处理器的功率降低40%,同时仍保持80%的最高性能。
关于CPU具体的功耗和电压信息,可参考《权威揭密 重扣轰杀笔记本散热认知误区》的第13,14,15页。
一般来说,这颗电压产生器会使用MAXIM(美信)或者ITSEL两家。而在最新的Sonoma平台上,ADP这家老牌的IC生产商也蠢蠢欲动。
充电电路,保护锂电池就靠它了
对于如今的笔记本电脑,都具有锂电池作为电源(在03,04年HP也曾推出过过时的镍氢电池作为电源以降低成本,但没多久就消失了)。
为了延长电池的使用寿命,除了要养成良好的电池使用习惯外,对锂电池的智能充放电也非常重要。目前在笔记本电脑中,几乎都采用了“电池管理”和“充放电控制”两种芯片级管理系统。
其中“电池管理芯片”安置于笔记本电脑内部,该芯片的寄存器里存储着该台电脑所用锂离子电池的容量、工作温度、ID系列号、充放电状态、充放电累计次数等重要信息。这些数据信息在使用过程中,需要根据实际情况不断地刷新。如图是IBM T4X系列采用的ADP3806充电IC,由它负责对电池状态的监控。
而电池内置的“充放电控制芯片”最主要的作用,就是监视、控制电池的整个充放电过程并加以记录。
早期IBM ThinkPad 电池控制电路
对于离子电池的整个充电过程,一般分为“恒流快速充电”和“恒压电流递减充电”两个阶段。所谓“恒流快速充电”是指在刚刚开始充电时,充电电流固定而充电电压跟随电池的端电压逐渐升高,直至达到标称电压的充电方式。当电池达到了端电压标准数值后,控制芯片会自动转入“恒压电流递减充电”阶段,此时充电电压将不会再继续升高,而充电电流则跟随电池容量的不断上升逐步递减,并最终达到零,如此便完成了电池的全部充电过程。
2024年3月3日发(作者:绪白卉)
作者序:您真的是笔记本电脑高手吗?
所所开篇:各位早上好,都打起精神来,按惯例我们又给大家带爆料来了。经过上几期的笔记本低价猫腻、Nvdia MXM技术、揭密笔记本散热误区等三篇“权威揭密”系列文章后,接下来该为大家带来什么呢?
从本周开始,我们将带领大家全面认知笔记本的硬件架构设计,由于篇幅十分浩瀚,为了不让大家感到恐惧,我们将整个文章分为上、中、下三篇分别发出,每篇均有自己的主题,独立成章。相信当你看完所有篇幅后,你一定可以成为真正的笔记本发烧友了。
从2004年跨入2005年,笔记本的价格可谓一落千丈,笔记本电脑也不再是身份地位的象征,它更是一个工具,帮助我们从纷繁的事务中解脱出来。
自己升级CPU?太easy了~都不好意思说出来
也正因为笔记本价格的滑落,我们身边多了很多笔记本的高手。他们对其硬件技术兴趣近乎痴迷,他们升级所有能升级的硬件,从MMC2接口的PII升级到PIII已经不再是新闻,而自己扩展USB口也不是什么新鲜事,至于为无网卡的机器打造内建网卡,为无蓝牙的机器打造内建的蓝牙也一直在论坛上看到,还有为IBM ThinkPad 600X制作内建的MINI-PCI无线网卡,用的天线居然是原来Modem的线……
笔者不否认这些强人的动手能力和他们的创意,甚至他们对硬件的了解程度超越了在开发第一线的RD工程师。但尽管如此,我相信他们对笔记本的整体架构,内部总线的了解还有欠缺。
比如,我们都知道如何CPU会自动降频以减低自身功耗,但你是否知道他们具体物理动作?
又如,我们常说的BIOS,我相信高手对BIOS的设定几乎可以闭着眼睛来,但你是否能回答这BIOS究竟是谁在运行?毕竟,软件是要靠硬件来运行的吧?!
再如,或许某些DIYER对台式机的开机过程了如指掌,听报警声就知道机器挂在哪里,但你是否清楚笔记本电脑的开机过程?是否也能仅仅凭报警声就能明白?
还有,大家都晓得CPU过热会引起保护性关机。那你是否知道这个过热保护系统是如何工作的呢?那AC97呢?笔记本中的MODEM都独立出来了,他们到底是怎么工作的?如果你是IBM的Fans,你肯定知道BMDC吧?那BMDC到底是如何实现的呢?
拆拆装装,简直就是家常便饭
实际上,随着对很多简单问题的深入,我们会发现其实这些问题并不简单。虽然对于业余的DIYER,他们不知道这些已经无关紧要,他们仍然已经是很“高手”的了。但我相信,一个真正的DIYER对技术的渴望会超乎想像,又有什么能够阻止他们向更高的技术领域进军呢?
或许,也有读者说,我只要用好我的电脑就好,他怎么运作关我什么事?!那么在此我将很遗憾的对你说,您真的并不适合看本文。
偶尔还会拿个台式机P4 CPU代替迅驰CPU搞怪一下,当然是开不了机的
撰写本文,其实是希望那些DIYER 能对笔记本电脑有一个系统的了解。在本文中,您会看到我对以上的问题做详尽的解释,相信在你读完本文之后,对笔记本的整个体系有了完整的概念。而对于真正的那么些DIY高手来说,或许有些知识您已了然于胸,但对于一些你知其然,而不知其所以然的问题,或许你能在读完本文后能找到答案。
另外作为比较,本文也会以最新的Sonoma平台和Centrino平台做一些比较。好吧,闲话少说,我们正式开始吧!
从架构开始学习 让我们认识更多
当前笔记本虽然是品牌众多,且外观、功能各有千秋,但究其原理还是一样,都是基于IBM PC/AT的老架构(当然Apple的除外)。这里值得注意的是,虽然台式机和笔记本外形差别很大,但其基本的架构和原理都是一样的,都是兼容IBM PC/AT架构的。
那么我们先来说说笔记本电脑的主要框架。
一台很方便拆卸的华硕M5N作为客串嘉宾
系统的主要构成主要分为如下几个部分:North Bridge(匇桥),South Bridge(南桥),显示卡,EC(嵌入式控制器),这几个部分一般都是集成到主板上的,配合CPU,内存就可以开机进入BIOS。以上的部分是必须的,因为这属于PC/AT架构的基本构成。其他诸如硬盘,Wireless Card(无线网卡),Card
Bus(PCMCIA控制器)等等都是次要的,并不影响整机的工作,或者说,不影响机器的开机。
Intel Centrino架构
为了方便讨论并具有一定的代表性,我们取当前比较流行的Centrino架构来说明。上图便是标准的Centrino平台,按照这个平台搭建的笔记本,可以打上Intel Centrino漂亮的蝴蝶标志。而如果在Pentium+
855GM/PM/GME+ ICH4+ Intel PRO Wireless的搭配中有一项不符合,就不能用Centrino的标志,就不能使用INTEL的免费广告咯,呵呵~~这也是Intel聪明的经商策略:)
笔记本硬件结构各部分功能简介
为了照顾一下入门级的朋友,我们首先非常简单的介绍一下系统各个功能块的作用。CPU嘛,笔者就不多说了,我相信大家都清楚哦~(什么,你不知道CPU?!我$#!@%^&!)
匇桥的功能主要是连接CPU和内存,如果是独立显卡的话,会提供与显卡的AGP接口,并用HUB-LINK与南桥通信。匇桥常被成为MCH或者GMCH,也就是Memory Control Hub或者Graphic Memory Control Hub的意思。
用三星X30作为案例,点击上面图片可以获得更多解释
南桥的功能主要是连接一些外围设备,比如PCI界面的网卡,PC卡控制器等等,另外诸如USB接口、IDE接口也是由南桥来提供的,南桥提供LPC总线与EC通信。南桥也常被称为ICH,其意思是I/O Control Hub的意思。
至于INTEL为什么用Hub-Link这个词,我想是因为南匇桥都是两个HUB(Memory Control Hub和I/O Control Hub)的原因吧。
EC(Embed Controller,嵌入式控制器)虽然和我们常说的BIOS有点像,不过其实EC是BIOS的物理控制器和载体,它通过LPC与南桥通信。
如果看不懂本页,请参考这张图,我相信很容易就明白了。文中的我们提到了各种接口,比如FSB,AGP,LPC I/F等等,这些接口我们会在下面具体的谈。
正确认知CPU前端总线 信号抗干扰是头等大事
从这里开始是本文的重点,将详细介绍各部分的连接和规范。
系统中最高速、最复杂的连接莫过于CPU和匇桥的连接,我们称之为FSB(Front Side Bus,前端总线)或者HOSTBUS。
Dothan CPU
FSB有64位的数据线和32位的地址线。正是通过FSB,CPU和匇桥才能完成通信。
虽然实际上CPU与匇桥的连接都是点到点的,但由于其高速性,在实际的布线中还是需要非常非常小心。而EMI/EMC工程师在这方面也将是不遗余力的帮助硬件工程师解决问题(解决不好就不能通过有关方面的认证,也就是不能卖啦!)。
那么什么是EMI/EMC呢?具体的含义是EMI(Electro Magnetic Interference,电磁干扰),EMC(Electro Magnetic Compatibility,电磁兼容性)。
所以我们可以这样认为:FSB对其他信号的干扰非常严重(EMI很严重),而且其本身也比较容易受到干扰(EMC很弱)。很明显,如果FSB被干扰并出现误判,机器是必死无疑的。
在考虑了EMI/EMC的影响后,在实际的布线中,通常将这部分线路放在内层(一般笔记本电脑主板都有6~8层,6层在Centrino平台勉强可以,到了Sonoma平台就几乎不可能了),以防止高速信号对其他信号造成的串绕。所以一般情况下,我们在主板上是看不到FSB的。
下面的图片是INTEL的设计指南里的建议,我们看一下。
FSB总线
图中,DATA是FSB的64位数据线,ADDRESS则是32位的地址线。左上脚的L3代表的是第三层PCB。由于在同一层中不可能把数据线和地址线全部走完,所以其实第三层仅仅走了一部分的FSB,余下的在第六层中。
FSB总线
同样,L6代表的是第六层的PCB。
头疼的布线 让你深入芯片内部!
由于FSB是绝对的高速信号,所以在布线的时候,我们需要考虑到信号线长度的一致性。
比如,INTEL要求每一根的FSB的长度需要一致,所以,在PCB步线的时候,就免不了要走“Z”字型的线路来满足长度的一致性。在这里,我想大家可能没想到一点,那就是关于芯片内部走线的长度的考虑(也
就是说,为了满足长度的一致性,我们必须要考虑到CPU内部的线路长度),然后加上外部走线(即在PCB上的走线)的长度,才是整个一个信号线的长度哦!当然这个长度是由INTEL提供给各个OEM/ODM厂商的。
下图是DDR那边的走线示意图,其中MCH Pkg Route就代表着匇桥芯片内部的走线长度。
布线其实需要考虑的比你想像的更多
接下来,我们来放大一下前面的图,看一下所谓的“Z”字型走线。
“Z”字型的走线是为了满足信号线长度的一致性
图中方框内的线路都是“Z”字型的走线。由于这些线路都是在PCB的内层,一般来说我们是看不到的。不过基于同样的原理,在一些其他地方的设计上,也要考虑走线的长度,比如显卡,显存,匇桥到DDR的走线等。
显卡和显存颗粒的布线
上图是某笔记本显卡和显存部分的走线,我们看到,也是大量采用了“Z”字型的走线方法,其原因就如上文所说。下面是匇桥到DDR的走线,道理是一样的。
匇桥到DDR的走线
在FBS总线上有个小知识,对与FSB来说,虽然地址线应该有32根,也就是ADD[0…31],但实际上地址线只用到了ADD[3…31],而不是ADD[0…31],为什么呢?其实很简单,因为现在的CPU读取数据都是8位连读的,所以CPU只需要知道一个数据的首地址,其后的7个bit就会自动被读取。所以不需要ADD[0…2]这三位。如果对这点感到难以理解的读者,建议去看一下《微型机计算机原理与应用》,我想你很容易会找到答案。
想了解CPU为何自动降频?不知道VID怎么行!
从移动版的PIII开始,INTEL的CPU就多了一个输出VID的功能。其作用是实现CPU都具有自动降频的,在必要时,甚至会进入深睡眠、关闭内部时钟等情况。其具体流程是:CPU根据自身的状态输出VID到电源IC,电源IC接到VID后解码,并输出一个跟VID对应的CPU工作电压。而对于CPU的各种状态及其切换过程,我们会在《下篇》具体讨论到。
INTEL CPU的VID列表
我们看到,CPU的工作电压可以一直从1.708V一直降到其最低的0.700V。在系统最先开机的时候,也就是在电源IC未接到VID的时候,其输出是其最低电压,即0.7V。
下图是IBM配合迅驰技术使用的电源管理软件。我们看到CPU的速度有高/自适应/慢/很慢四档可以调节。实际上,如果有必要,可以做成更多的调节,就像上面的那张VID表一样。
迅驰CPU的各种工作状态
这里要说的是,INTEL对于其VID的一致性做的比较好,其各种CPU一般都支持相同的VID—电压对应表;而对于AMD就不大一样,一般它的不同的CPU都会有不相同的VID表与之对应。这在研发上也增加了一点点的小麻烦。:)
匇桥:DDR内存的走线密如蛛丝
匇桥是信息的中转站。根据上文所说的功能,它有4个接口,分别是FSB ,DDR,AGP以及HUB-LINK。
匇桥近照
FSB是和CPU的接口,参见上文,这里不再多说。
DDR是对内存的接口,现在的855GM/PM支持到266MHZ,这部分线路和FSB那边的连接将影响到主板的格局,因为他们都是高速的,大量的信号线的集合。在布线的时候最先考虑的就是它们。
如图是Intel建议的布线图,这里仅仅是DDR的信号线,并不包括地址线。
匇桥到DDR的信号线
地址线则在另外一层,如下图:
匇桥到DDR的地址线
我们看到,这与数据线并不在同一层。而图中我们看到的Series Dampening resistors和Parallel Termination on both layers则是在DDR RAM那边特有的。其意思分别是串行衰减电阻和终端并行电阻。
衰减电阻和终端电阻之惑
我们先来解释一下串行衰减电阻和终端并行电阻。前者的意思是从匇桥出发的每一根数据线,必须与一个电阻串联再到达DDR RAM部分。而后者的意思则是,在数据线到达DIMM1和DIMM2后,必须有一个在串联一个电阻后上拉到1.25V,也就是下图中的VTT。
具体的示意图:
衰减电阻和终端电阻的示意图
其中的RS就是所谓的串行衰减电阻(Resister Serial),而RT则是终端电阻(Resister Termination),而SO_DIMM0 PAD则是指DIMM的PIN脚。至于什么是DIMM?Dual In line Memory Module,字面翻译就是双列内存模块。
那为什么需要终端电阻呢?在进入DDR时代,DDR内存对工作环境提出更高的要求,如果先前发出的信号不能被电路终端完全吸收掉而在电路上形成反射现象,就会对后面信号的影响从而造成运算出错。因此目前支持DDR主板都是通过采用终结电阻来解决这个问题。
由于每根数据线至少需要一个终结电阻,这意味着每块DDR主板需要大量的终结电阻,这也无形中增加了主板的生产成本,而且由于不同的内存模组对终结电阻的要求不可能完全一样,也造成了所谓的“内存兼容性问题”。这点在DDR II上得到了比较完美的解决,我们在下面具体谈。
衰减电阻和终端电阻的实物图
上图中,蓝色框是匇桥,红色框内是衰减电阻,而黄色框内则是终端电阻(看到框框边上一大块绿色的铜皮了吗?这是VTT 1.25V哦!)。我们看到,其走线的顺序也是跟上面示意图一致(从匇桥经过衰减电阻到DIMM的PIN脚,然后接终端电阻到VTT)。
匇桥:DDR单/双通道区别到底在哪里?
而DDR SDRAM的接法有双通道和单通道之分。
相对于传统的单通道而言,双通道DDR 技术是一种新的内存控制技术,它和双通道RDRAM 技术非常相类似,是在现有的DDR 内存技术上,通过扩展内存子系统位宽使得内存子系统的带宽在频率不变的情况提高了一倍:即通过两个64bit 内存控制器来获得128bit 内存总线所达到的带宽。双通道体系包含了两个独立的、具备互补性的智能内存控制器,两个内存控制器都能够在彼此间零等待时间的情况下同时运作。当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然,这样的内存控制模式可以让等待时间缩减50%。
双通道技术显然需要匇桥的支持,INTEL的855芯片组并不支持双通道DDR I,比较搞笑的是在CENTRIO平台的时候,VIA的一些芯片组能支持双通道内存技术而INTEL不能,呵呵。
下图是单通道DDR-I内存的示意图,左边的信号来自匇桥。如果是双通道的话要加上另一组DDR与匇桥的接口。双通道对于单通道来说能显著加快内存数据和CPU的交换速度,但是出于PCB布线的考虑,双通道明显增加了线的数目,增大了布线的难度,并由此产生的成本问题对企业来说更为敏感。
单通道DDR RAM的物理连接
这里也有RS和RTT,其意义和上文所说的串行衰减电阻和终端并行电阻一致。
转换思路 问题迎刃而解 DDR II的新创意
在最新的DDR II上,主板设计上已经取消了部分信号的衰减电阻和终端电阻,而将其集成于内存上。
我们称这DDR II的新特性为ODT功能,即On Die Terminator(内建终端电阻器)。当在DRAM模块工作时把终结电阻器关掉,而对于不工作的DRAM模块则进行终结操作,起到减少信号反射的作用(注:ODT的开启与禁止由匇桥芯片控制,ODT所终结的信号包括DQS、RDQS、DQ等等,可参考单通道DDR-I内存的示意图)。
这样可以产生更干净的信号品质,从而产生更高的内存时钟频率速度。而将终端电阻设计在内存芯片之上还可以简化了主板的设计,降低了主板的成本,而且终端电阻可以和内存颗粒的"特性"相符,从而减少内存与主板的兼容问题的出现。
DDR II内存
已经砍掉部分终端电阻的DDR II的主板
如图,DDR II的插槽边上已经没有了终端电阻,这样在设计上将更为简便,布局也会更加合理。
本文小结与中篇预告
由于篇幅关系,本文的上篇就先写到这里。在这里我们首先讨论了当前笔记本的基本架构以及在FSB和DDR走线方面的一些设计技巧,另外还有一些技术性比较强的知识,比如衰减电阻,终端电阻等等。
我相信很多朋友都意犹未尽,让我们在中篇中继续我们的话题。在中篇中,我们会谈到一些问题,比如:
1,当前笔记本的显示单元,以及MXM技术
2,HUB-LINK技术
3,IDE接口,并比较详细的讨论SATA和PATA的区别和性能情况
4,PCI总线和最新的PCI-E总线的区别
5,AC97规范,在这里我们会谈到AC97上的声卡,MODEM,BMDC(如果你是IBM的FANS,我相信你一定知道这是什么东西哦!)的实现,这个非常有趣。
6,USB口的实现,将涉及到其硬件部分的设计。这也许对DIYER有比较大的帮助。
匇桥:显示单元是区分855GM/GME和855PM的好办法
所所开篇:大家好,今天是周末了。相信大家在看本周一关于笔记本硬件结构终极教程上篇后,已经都兴奋的不行了。所以这次在周末期间提前推出本文的中篇。让大家可以将热情继续下去,而下篇也会在下周的时候发出。到时候三篇连着读起来,一定爽的不行啊。闲话就不多说了,大家开始上课吧,安静哦~
各位好,很高兴又与大家见面了。在上次发表了本文的上篇后一直忙于工作,昨天晚上终于抽空写完了这次的中篇。这次的内容有大家比较关心的PCI Express总线和传统的PCI总线的区别,以及SATA/PATA技术的一些分析。
而对于IBM 的FANS来说,或许通过本文,您甚至可以自己升级BMDC模块(这很令人兴奋哦!)另外USB也会再谈论一下,对DIYER有点帮助,也许使用IBM Thinkpad 600E的朋友可以扩展您第二个USB口。好吧,闲话少说,我们正式开始!
AGP是加速图形接口的简称。对于我们常说的集成显卡的855GM/GME来说,在设计的时候是涉及不到AGP接口的,因为其匇桥能直接支持VGA输出,LVDS输出(到TFT Panel),以及S-VIDEO输出。设计者只需要把这些信号延伸到主板的各个接口即可。
855GM的系统架构
如图是采用855GM芯片的系统图,我们看到在显示部分,已经直接由匇桥来负责输出。下图是某笔记本的整体写真,我们看到除了CPU,匇桥,南桥外,没有显示卡芯片。
集成显卡的主板
而对于独立显卡的设计(855PM芯片),则会相对麻烦一些。因为设计者需要通过855PM的AGP通道连接显卡,并通过显卡输出需要的数据,如VGA,LVDS等等。
855PM的系统架构
我们看到,在采用855PM的芯片组时,匇桥只负责输出AGP到显卡,然后由显卡负责输出各种显示信号(VGA,LVDS….)
如图是台式机的AGP显卡,在笔记本中不过是把这张卡也集成到主板上了而已(当然是选用移动版的GPU啦!)下图是含有独立显卡的IBM T42和三星X30,分别采用ATI 7500和NVIDIA 5200的GPU。
而一些台湾公司的匇桥,如VIA和SIS的匇桥不直接支持Panel,它们需要一个Transmitter来转换才能输出VGA、LVDS等信号,比如最新的PN800(PT800的移动版本)和K8N800(K8T800的移动版本),如果有需要更多信息的话可跟笔者联系,在这里就不做介绍了。
最新的MXM技术也已经初具雏形,笔者当前有幸接触到MXM的设计,核心是比较新的NV43。至于什么是MXM,笔者简单说一下:MXM是相对当前的笔记本电脑无法更换显示卡而提出的一个规范,其通过一个特定的接口能实现显示卡和主机分离,使得用户可方便的升级笔记本电脑的显示卡,如同台式机能方便更换AGP显示卡一样。其接口的详细规范,就不再多说.
匇桥:HUB-LINK 你了解多少?
HUB-LINK,这是Intel的规范,其作用是提供南匇桥的高速数据连接。其运作频率是66MHZ,速度为266MB/s。Hub-Link有12根的数据线,以及2根差分的时钟线,以及数根的控制线。
以往的南匇桥连接都是直接套用PCI总线,速度慢不说,还有一堆的信号线要你排。
在这种情况下,INTEL提出了Hub-Link以改变这种情况。而HUB-LINK对布线的简化确实有相当的帮助,当然对提升速度也有很多的好处(相对应的也有VIA提出的V-LINK,ALI提出的A-LINK等)。对于最新的915平台,这部分称为DMI(Direct Media Interface)连接,以最大2GB/s的数据传速率远远超过266MB/s的Hub Link。
下图是Hub-Link的连接示意图。
Hub-Link的布线一般要求并不是太强,可参考以下的表格。
我们可以看到其最大允许的长度为6 inch,宽度需要至少4mils,间隔8mils等等
南桥:IDE接口 说难不难说简单也不简单
南桥是外围(I/O)设备的中转站,一般来说主要的接口有HUB-LINK,IDE,PCI,AC97,USB,PM(Power Management,电源管理)等,对于最新的ICH6,更有SATA,DMI等。
HUB-LINK的定义见上文。
IDE是大家比较熟悉的接口,硬盘一般都通过IDE通道与南桥建立连接。在ICH4上,有两个IDE接口,所以我们一般硬盘用IDE0,光驱用IDE1。而在在最新的915平台上只有一个IDE,另外还有4个SATA。当然这是Intel在积极推行SATA的结果。IDE通道有16根[0..15] 数据线,还有一些相关的控制信号。如图是硬盘和南桥通过IDE来连接HDD的示意图:
下图是实际的IDE接口,共有44PIN,当然,有些也是空PIN,有些则是接地:
跟台式机不一样的是,笔记本中光区的接口和硬盘不一样,这也可能是一个行业标准吧。笔记本光区的接口如下图,共有50PIN,比硬盘的PIN数多是因为CD-ROM上需要引出音频信号以及一些控制信号:
虽然光区和硬盘的接口并不一样,但其本质上其实是相同的,都属于IDE范畴。
南桥:PATA,SATA之争
在只有一个IDE接口的时候,副硬盘只能通过主IDE设备来实现中断(IRQ),比如现在有些厂商需要在915平台上使用IDE的硬盘,以降低成本。如此一来,势必要使硬盘和光区使用一个IDE通道,如果从光盘拷贝大量数据到硬盘的话,速度会有明显的下降。
而有些时候,RD为了提高性能,甚至需要用转换芯片将SATA转成PATA(没听说过吧?呵呵,用Marvell 88SA8040这颗IC就行了,参考这里 /products/?ProdID=1001002)。
下图是ICH6M的硬盘部分的功能块,有四组SATA和一组的PATA接口。
SATA和PATA(IDE)
相对PATA来说,SATA的设计就显得简单的多,只需4根/2组差分信号和一个电源即可搞定。但由于其数据的高速性,设计者对布线,以及控制EMI/EMC来说却需要投入更多的精力。最新的ICH6提供了4个通道的SATA,看来Intel把SATA尽快的推到笔记本上信心实足。
下图是SATA和PATA的笔记本硬盘 接口比较。我们看到实际上SATA的PIN脚还是有很多,但其实很大一部分都是地线,用来保证信号质量用的,当然,也有一部分是空PIN来做保留。
在这里笔者多说两句,其实早在2002年富士通就以桥接方式推出了串行笔记本硬盘。根据国外硬件网站TomHardware的测试报告,这款4200转的SATA硬盘,数据传输速率和存储时间都与PATA(IDE)产品差不多。也就是说,单纯更换接口,对速度的提升尚未显示出太大的帮助,笔记本硬盘的瓶颈并不是在接口上。它主要的好处是使用方便、接口简单而且支持热插拔。
现在,日立和富士通都跟随Sonoma的步伐发布了新一代的SATA硬盘,有测试报告称速度达到了30MB/s。然而在其昂贵的价格面前,SATA笔记本硬盘的优势还很微弱,甚至没有。但我们必须得承认,笔记本全面进入串行时代,是无法扭转的历史进程。SATA硬盘的普及,也会是必然。
南桥:从PCI到PCI-EXPRESS
PCI是外设的最主要通道,几乎所有的外围设备都能通过PCI来实现其功能。对笔记本通常而言,主要挂有CARDBUS、MINI PCI、网卡,或者电视卡。而对于这些设备的物理连接,我们也将在下篇中具体谈到。
由于PCI只是跑在33MHZ上,所以它的布线比较宽松,并不需要严格的控制。
而对于最新的ICH6已经开始支持PCI-Express,相对PCI原来的近60pin,PCI-Express的引脚只有区区四根。这对于硬件的设计来说是个绝对的好消息,PIN脚越少,越不容易出错啊!更重要的是,PCI EXPRESS并不需要像PCI那样指定PCI设备的中断和中断响应,对于BIOS和硬件工程师来说就少了需要共同协商的部分,加快了开发的进程。
笔记本上我们看不到PCI-E,我们来看看台式机吧,反正通道的原理是一样的。
由上到下分别是:PCI-Express 16X,PCI-E *2,PCI总线*3。可以看到PCI-E比传统的PCI总线的PIN数要少太多了。下图是PCI和PCI-E的对照表,大家可以看到两者的区别:
PCI和PCI-Express
ICH6提供了4组PCI-Express接口,理论上至少可接4个PCI-Express设备(我是没碰到过,实在是因为用不了那么多,呵呵)。
AC97 Modem BMDC 您又了解多少?
AC'97是Audio Codec'97的缩写,它所定义的是一种在主流PC中实现音频特性的方法,后来又扩展了实现Modem的功能。AC'97利用核心芯片组的功能和外围的模拟设备共同实现音频卡/Modem的功能。下图AC97接口是示意图:
我们看到南桥输出7个信号,从上到下分别是复位、输出、同步、时钟,以及三个输出信号。按图中的意思,AC97接口至少可以接3个设备,共用复位、输出、同步、时钟四个信号,但输入信号各自独用。一般情况下,我们常接入的是D/A转换(SDATA_IN0,数字信号转成模拟的音频信号)和Modem(SDATA_IN1)两个设备,保留了第三个设备接入的能力。
下图是笔记本上AC97的接口,如今已经是通用的接口了。
笔记本上的Modem(AC97)接口
AC97单元在主板的设计上并不困难。但由于音频是模拟信号,而且由我们的耳朵直接聆听,所以如果走线不合理的话,就有可能引发干扰声。另外,如果处理不好干扰的话,也会影响Modem的拨号速度。所以一般在做PCB布线的时候,会在音频解码器的范围内禁止走高速的信号,比如网卡,USB等等。并且需要严格把AC97的解码器的数字和模拟部分分开,最后,在解码器的下方的一般都会加上一大块的铜作为模拟地以将干扰减小到最低。
至于如IBM的高档机型上用的Modem/BlueTooth的Combo卡(炒的比较热的BMDC卡),其实是利用在AC97的接插件上空余的pin,接上了USB的线路(2根而已),然后通过USB总线来连接BLUETOOTH,这根我们常用的USB蓝牙其实是一样的,可见其成本并不高。笔者参与设计的几个项目都是用AC'97来扩展蓝牙的。
IBM的Modem/蓝牙Combo卡
下图是AC97接口的PIN脚功能图,我们看到左边部分的PIN是连接到南桥的AC97接口,而右边则是蓝牙的功能块。除此之外还有很多空余的PIN脚,BMDC正是通过这些空余的PIN实现Modem、蓝牙二合一的。
BMDC接口的线路图
如果要利用MINI-PCI的空余PIN来做的话也是可行的,这样的话也就是Wireless/Bluetooth Combo卡了,而且理论上来说,做成Wireless/Bluetooth Combo更方便,不仅是因为MINI-PCI的空PIN更多,而且其空间也越大。不过由于迅驰技术的限制,如果不使用Intel的无线网卡,就不能打上迅驰的标签。而Intel的无线网卡是不大可能集成蓝牙功能的,所以现在Wireless/Bluetooth Combo卡并不多见。
MINI PCI的无线网卡。看看,是不是空间更大?:)
随着ICH6M的推出,最新的Azalia(Intel称之为High Definition Audio)相信大家也听说过。以其多声道,高保真的效果正在逐步替代传统的AC97。最新的音频解码器(AZALIA)目前量产的就我知道的也就两家,一家是Retelk的ALC880,另一家是C-Media的CMI9880。下面是两者的图片:
Azalia音效芯片最大的特色在于能够进行自动设备检测和接口定义功能,可以自行判断哪个端口有何种设备插入;还能为接口定义属性,利用这个功能,我们可以重新分配音频插孔的定义,之后就可以播放不同的音频、视频文件,听不同的歌曲了!呵呵~~
至于更详细的说明,请参看《颠覆还是改良 紫光迅驰II性能测试揭密》的第八页。
南桥:USB口 没想像中那么简单
USB,Universal Serial Bus(通用串行总线)。我们知道,我们现在用的USB口上有4个引脚。其中中间两根是从南桥引过来的信号线。另外两个边上的则是一个正5V,一个接地。下面是USB口的接口具体定义:
其中供电的时候一般由一颗IC来控制电流的大小,当超过预定的电流时候(USB1.0为500MA,2.0则是720MA),改IC会给出一个OC#(OVER CURRENT,过流)信号给南桥,南桥切断USB口的信号,从
而保护南桥内部的寄存器和整机的安全。INTEL推荐使用专门的IC来切断电压,这样能更好的保证机器的稳定性。图中的5V Switch就是供电IC:
USB的保护电路
具体的电路,参考《权威揭密 从成本分析看低价笔记本猫腻》第六页。
仔细看一下USB口,其中间两根信号线比较短,而电源线则比较长。这样的设计是使UBS口在插入的时候先接通电源,后接通信号。个人以为这样的设计是为能保护南桥内部的寄存器不会受到冲击电流的影响。
由于USB的高速性,特别是USB2.0的发布,更加剧了这部分布线的难度。对EMI工程师来说,为了通过EMC验证,必定是线越短越好。而对硬件和机构工程师来说,有时候这点并不能满足……所以冲突是难免的。
下图是为解决USB的EMI/EMC问题设计的电路,也是INTEL的建议线路。其中USB+/-是直接从南桥引出来的,通过一个共模电感输出到USB口,提高整机线路的EMI/EMC性能。
USB的EMI保护
所以说我们常看到一些网络上的高手直接从南桥引出USB信号线来实现USB扩展其实是比较不规范的哦,至少EMI/EMC肯定过不了,呵呵。当然,能直接从南桥引出USB的信号线对于业余者来说已经是非常不简单了,而且对于个人用户来说,EMI/EMC的需求就并非那么强烈了,所以这样做是完全可行的。
上图是某些发烧友为IBM THINKPAD 600X加装第二个USB口的图,图中他们已经标出了南桥引出的USB信号线。
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完全卸除。
在关机状态下,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网卡的传输效率确实也比较高。
上图蓝色框内的就是PCI的网卡(REALTLK8100C)
第二种则是“真正集成”的网卡,MAC层部分被做到了南桥里面,然后需要用一个外围电路(PHY)来配合南桥里的MAC来实现网卡的功能。
如图,南桥内部的网卡MAC输出一组信号线(称为MII总线),连接PHY(上图中的Intel 82562ET),然后引出RX+-和TX+-两对差分线,透过Transformer来控制EMI,然后输出到RJ45接口即刻。这里的Transformer的结构跟中篇里的USB的共模电感相似,作用也相似。上面的REALTLK8100C的那张图中,红色框内就是Transformer。经过Transformer的信号线必须以最短的距离接到RJ45接口上以减少干扰,所以它离和RJ45的距离是必须被严格控制的。
INTEL的网卡PHY(82562ET)
那么MAC地址是什么呢?MAC地址是区别网络设备的唯一物理标志,理论上,世界上任何一个网络设备的MAC应该都是不同的。那么网卡的MAC地址到底放在哪里呢?
对于走PCI总线的网卡,一般会在网卡上挂一个小小的的E2PROM来存储,里面烧有MAC地址以及一些厂商信息。而对于用PHY来连接的网卡,会把MAC地址信息放在挂在南桥上的E2PROM(因为网卡的MAC控制器在南桥)。
上图中黄色框内的U6就是E2PROM,用来记录网卡的MAC地址。
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采用的TI的芯片PCI 1510 控制器和NEC的某款产品,采用理光R5C551的CardBus控制器。
对CardBus一些其他分析可参考《权威揭密 从成本分析看低价笔记本猫腻》一文,/nb/04/12/56526/。
至于mini PCI则更加简单了,只需把南桥的PCI总线点到点的接到mini PCI的接口上即可。顺便说一句,mini PCI和台式机上的PCI的物理定义是一致的,不同的仅仅是插槽不一致而已。
我们见到过为了台式机上为了使用Mini PCI接口的无线网卡而出现的转接卡:
我们看到,这样的转接板也是非常的简单,除了一些用以稳压用的元器件外没有任何用以信号转换的芯片。这也从侧面说明了Mini PCI 只是PCI的翻版。
笔记本也可以超频么?
所有的数字电路都需要依靠时钟信号来使组件的运作同步,每单位时间内电路可运作的次数取决于时钟的频率,因此时钟运作的频率即被大家视为系统运作的性能指针。在笔记本的内部,时钟都是由一颗Clock Generator来产生的。
上图中,大颗的是Clock Generator,小颗的是14.318Mhz的晶振
一般来说这颗IC自身采用14.318Mhz的晶振来产生部分需要的频率。系统的各部分频率分别是:CPU-100M,南桥/匇桥- 66M, AC97-14M,LAN-25M,PCI CLK-66M,USB-48M等等。南桥由于设备的多样性,可能同时需要66/14/48/33等频率,这主要看各种南桥的Specification(规格)和你采用的功能来决定(比如你需要加一个Super I/O来增加一个红外口,那么你需要加一组14.318Mhz频率来提供给Super
I/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(System Management Bus)接口,可由BIOS直接控制,甚至不用拆机壳,只需坐在计算机面前,通过键盘及屏幕,即可随意调整系统工作频率了。图中蓝色框内的就是SMBus的接口。
通过SMBus我们可以以极小的线性级距微调CPU的外频(以MHz为单位),不像以往的跳线设定方式,一下子从100MHz直接跳至133MHz,CPU容易超出其极限而导致当机。但很遗憾,笔记本电脑在设计之时就已经确定了其最稳定的工作频率,可以频率调节的BIOS版本仅会存在于测试样机,而绝不会留给使用者在BIOS里超频的可能。
SMBus 2.0/I2C Bus
上页我们提到了SMBus,相对前面说FSB,USB,PCI等总线,SMBUS2.0的速度实在是低的可怜(不过反正它也不需要那么高的速度)。但其作用却不可小视。简单的说,SMBUS是一种慢速的系统总线,他为整个系统提供基本的运行信息。
我想稍有内存知识的朋友都知道,内存上有SPD来记录内存的容量,厂商等信息。而这些信息就是靠SMBus来读取的。另外,SMBus也可用来做CPU温度检测之用。在新型的笔记本或者台式机的设计中,Clock Generator的频率控制也可以用SMBus来调整,以达到线性、平滑的超频(当然,在笔记本中……这就只可能出现在工程样机中了)。
下图是具体的逻辑图,注意是SMBus哦,不是SMLink哦。
其实在笔记本电脑内部,有不止一根的系统总线。比如说侦测电池信息的SMBUS等。笔者对这方面的信息笔者知之甚少,仅在此抛砖引玉了,有兴趣的朋友可以自己去搜索。
CPU的核心电压,如何变化?主频如何自适应?
可能大家都知道,现在的CPU有频率的自动调节功能以满足性能/电池续航的最佳平衡。那么如何调节呢?我们看一下下面这张图,它说明了CPU在各个状态间的切换:
我们看到,CPU具有相当的智能,它会对当前的负荷量做一个检测,如果要求的处理量不大的话就自动进入Auto Halt,Stop Grant等状态,如果发现负荷量还是偏小的话,南桥会发出一些SLP或DEEP SLP信号(分别代表睡眠,深睡眠)来通知CPU进入睡眠、深睡眠状态。
而在DEEP SLP情况下,如果CPU的运算量还是偏小,那么CPU就会发出VID通知CPU Core Voltage Regulator(CPU电压产生器)降低当前的工作电压,在收到CPU发出的VID后,电压产生器就会输出想对应的CPU CORE电压,在得到降低的电压后,CPU的频率会下降以达到低功耗的目的。而在这时候CPU进去的模式我们称为DEEPER SLP(即更深的睡眠)。
至于VID和CPU的关系,我相信下面的图能给你比较直观的认识:
CPU发出VID到CPU Core Voltage Regulator,后者解码VID后,改变CPU的核心电压。以Intel的Improved Enhanced SpeedStep技术为例,在小于1/2000秒的时间里,自动电源识别系统(CPU和南桥共同协作)和自动电压调整系统(CPU Core Voltage Regulator系统)将使CPU的电压自动增加或者减少到最佳的值。由此不难看出,SpeedStep技术能让CPU在最高性能模式和电池优化模式之间随意地切换或按用户的命令进行切换,而性能切换时,SpeedStep技术可将处理器的功率降低40%,同时仍保持80%的最高性能。
关于CPU具体的功耗和电压信息,可参考《权威揭密 重扣轰杀笔记本散热认知误区》的第13,14,15页。
一般来说,这颗电压产生器会使用MAXIM(美信)或者ITSEL两家。而在最新的Sonoma平台上,ADP这家老牌的IC生产商也蠢蠢欲动。
充电电路,保护锂电池就靠它了
对于如今的笔记本电脑,都具有锂电池作为电源(在03,04年HP也曾推出过过时的镍氢电池作为电源以降低成本,但没多久就消失了)。
为了延长电池的使用寿命,除了要养成良好的电池使用习惯外,对锂电池的智能充放电也非常重要。目前在笔记本电脑中,几乎都采用了“电池管理”和“充放电控制”两种芯片级管理系统。
其中“电池管理芯片”安置于笔记本电脑内部,该芯片的寄存器里存储着该台电脑所用锂离子电池的容量、工作温度、ID系列号、充放电状态、充放电累计次数等重要信息。这些数据信息在使用过程中,需要根据实际情况不断地刷新。如图是IBM T4X系列采用的ADP3806充电IC,由它负责对电池状态的监控。
而电池内置的“充放电控制芯片”最主要的作用,就是监视、控制电池的整个充放电过程并加以记录。
早期IBM ThinkPad 电池控制电路
对于离子电池的整个充电过程,一般分为“恒流快速充电”和“恒压电流递减充电”两个阶段。所谓“恒流快速充电”是指在刚刚开始充电时,充电电流固定而充电电压跟随电池的端电压逐渐升高,直至达到标称电压的充电方式。当电池达到了端电压标准数值后,控制芯片会自动转入“恒压电流递减充电”阶段,此时充电电压将不会再继续升高,而充电电流则跟随电池容量的不断上升逐步递减,并最终达到零,如此便完成了电池的全部充电过程。