万卷书   首页 > 电脑书籍 > 硬件文章 > 深入i815/815e芯片组
 
 前 言

  本来,我已经准备放弃再写深入架构的文章,因为这类文章的适用范围不大,只有少数对电脑有狂热兴趣的朋友才会去看。但是,在看过网上的一些评论性文章之后,我决定继续工作下去。Why?原因很简单,我发现有许多文章都在争论同级产品中那个比较好,不少人仅仅是对产品有表面的了解,就妄下结论(包括外国某些著名站点)。由于国内大部分文章(特别是所谓的抢“鲜”评测)都是从外国站点转译的,在翻译过程中,如果对产品没有深入的认识,很容易犯同样的错误。因此,掌握产品的架构就变得十分重要了,只有清楚了内部工作原理,才能客观地评价一个产品。


  为了对抗VIA,英特尔可是有备而来,在全球范围狂吹i815/i815E,看看各大站点的评测报告,你就能发现芯片巨人的影响力之大。实际上,英特尔自己的评测也表明i815/i815E确实不比i820好多少,既然BX与i820相差不远,i815/i815E和BX也不过半斤八两。下面,我将和各位详细分析这款新芯片组。


一、i815/815E的新特性

与i810相比,i815E有几个重大变化,提高了芯片组的总体性能:

  1. 82815 GMCH(Graphics & Memory Controller Hub,图形和内存控制中心),利用英特尔图形技术,加强了向后兼容性,统一图形驱动程序,提高OS和图形性能的PC133系统内存利用率。

  2. 加强升级GPA(Graphics Performance Accelerator,图形性能加速卡),增加i752显卡的缓存,最大性能增益可达30%。

  3. AGP 4X图形总线,除了CC820之外,英特尔提供的第二款SDRAM+AGP 4X芯片组;82801BA ICH(Input/Output Controller Hub,输入/输出控制中心)第二代,比传统的南桥架构多二倍的带宽,提供了专有的数据路径来对附加带宽进行优化。

  4. 双USB控制器,拥有双倍带宽(24M bps),支持4个端口;AC 97音频,完全六声道环绕声和软件Modem支持。

  5. CNR(Communication and Networking Riser,通讯和网络升级卡),可扩展USB、LAN和音频能力数字视频输出,允许连接传统电视和数字平面显示器,兼容DVI(Digital Visual Interface,数字化视像接口)规格。

  6. 整合了LAN能力,提供三种独特的网络环境:1Mbps home PNA、10/100Mbps LAN、可管理

10/100Mbps LAN。它们使用SingleDriver技术,以同样的驱动程序来配合,简化了网络的复杂性;

ATA/100,使用Ultra ATA Storage驱动程序,向后兼容Ultra DMA 66/33硬盘。


二、i815和i815E的区别在于I/O HUB接口

  i815包括82815 GMCH和82801AA ICH,i815E包括82815 GMCH和82801BA ICH2。i815与i815E的最大区别在于ICH(ICH2)、AMR(CNR)和GPA,i815使用ICH和AMR,仅支持ATA-66。i815E使用ICH第二代,支持ATA-100和CNR设备。作为I815E的基本图形核心i752,是Intel在i740图形技术的基础发展起来,属于一种低成本的图形性能解决方案,i752能解决大部分普通的程序应用,对于大型3D程序就没有办法。用户如果要升级i815E平台的图形性能,可以有两种方法去实现:1. I815E和I815一样,屏蔽了i752,通过额外的AGP 4X插槽连接外置的AGP 4X显示卡,这种方法对于整体和图形子系统的性能提升有根本的作用。但是无形中,你就浪费了本身的i752。2. 如果你不需要另外购买显示卡但又想稍微提升i752的性能,可以通过购买AIMM模块GPA卡来升级图形性能。GPA的全称为:图形性能加速(Graphics Performance Accelerator),意思是否跟AGP:Accelerated Graphics Port(图形加速接口)差不多呢?GPA卡就是插在3.3V 的AGP 插槽中,它板载2颗 4-8MB PC133标准SDRAM,SDRAM符合Intel PC SG/SDRAM v0.99标准,4层电路板设计,采用32位宽度的数据接口。在GPA卡上贴的标签“AIMM-X-abc”:比如 AIMM-133-333。AIMM的意思就是AGP Inline Memory Module,133也就是PC133标准,在333中 a = CL,b=Trcd,c=Trp,根据Intel官方公布,GPA卡能提升i752图形性能20-30%,目前已经有Micron和一个Smart Modular技术公司推出了相应的产品,4MB产品的价格低于200元。


三、82815(GMCH)特性

  IDE控制器:Ultra ATA/66/33(ICH)、Ultra ATA/100/66/33(ICH2);USB主控制接口:1个主控制器和2个USB端口(ICH)、2个主控制器和4个USB端口(ICH2);SMB(System Management Bus,全系统管理总线)兼容大多数I^2 C设备:ICH有总线主控能力,ICH2有总线主控和主线副控;AC 97 2.1适应链结音频和电话解码器:2通道(ICH)、升级到6通道(ICH2);i815的FWH与i810或i820都无甚分别,FWH( Firmware Hub,固件中心)是82802,包含一个RNG(Random number Generator,随机数字发生器),五个GPIs(General Purpose Inputs,普通操作输入),寄存器级块锁定,硬件级锁定,非易失性闪光存储器可记录系统平台编码和数据,此外,FWH也可由其它厂商提供;AOL(Alert On LAN,局域网警告):AOL(ICH和ICH2均支持),AOL2(ICH2);82801BA(ICH2),360针EBGA(Enhanced Ball Grid Array,增强形球状矩阵排列)封装。


四、GMCH系统内存接口

  GMCH整合的内存控制器支持64位 100/133MHz SDRAM,支持标准64位宽DIMM设备,12个多元地址线(SMAA [12:0] ),两个bank选择线(SBS [1:0] ),兼容2M、4M、8M、16和32M * 64 DIMM不对称寻址。GMCH有6个SCS#线(2个用于电子载入备份),可以支持6个64位SDRAM列。至于CL2和CL3的SDRAM,可包括单边和双边DIMM。此外,GMCH也提供了1024纵深刷新队列,用开放内存排列保持4个页的内存,让任何一个bank的内存都能做存储工作。GMCH拥有自动侦察机制,一旦发现内存超出系统要求,会立即通过系统时钟发生器的双线接口,把SDRAM时钟调到100MHz,保证系统稳定性。


五、AGP接口

GMCH支持单AGP连接器,有两个可选择模式:

- 3.3V,非5V安全,兼容AGP 1.0和2.0。

- 1.5V,非3.3V安全,兼容AGP 2.0。

  AGP定义(PIPE#或SBA[ 7:0])周期到SDRAM,无须经过主机总线,AGP FRAME#周期到SDRAM也无须主机总线干预。GMCH支持PIPE#或SBA[ 7:0]寻址机制,但不能同时进行,只可以在初始化时任选一个。另外,GMCH还能做:高优化权存取、从HUB接口到AGP的内存写入、AGP到HUB接口的处理。


GMCH支持的AGP数据传输率和信号级


六、整合图形芯片

  在GMCH中,显示缓存专门用于Z缓冲,纹理和显示缓冲区定位在系统内存中,如果没有显示缓存,才把Z缓冲定位于系统内存。2D图形部分,i752包括了BLT和算术STRBLT引擎、一个硬件指针和扩展型2D寄存器和指令集。在输出方面,GMCH的内置图形模式兼容多种扫描设备,它可以直接驱动CRT到1600*1200分辨率,提供一个数字视频输出接口与外部设备相连,间接驱动1280*1024非梯状DDP EDID 1.2数字平面显示器或数字CRT。高达1.3V信号允许连接高频率装置,如1.8V电视输出解码器。AGP连接器之中,信号基本与普通的AGP相同,但主要以优化AIMM卡为目标,可以消除一些特殊类型的AGP信号(滤波、开放排出等)。某些现有的AGP连接器信号对显示缓存无太大作用,因此没有加载到GMCH的AGP接口中。


七、系统时钟

  82815 GMCH拥有新型时钟架构,它整合的SDRAM缓冲区可以运行在100或133MHz,不受系统总线频率约束。GMCH使用USB时钟复件来作为点时钟输入到图形像素时钟PLL。


八、GMCH的能源消耗

  82815内核电压是1.85V,系统内存操作电压是3.3V,显示缓存的电压也是3.3V,AGP 1X/2X 输入/输出可用3.3V或1.5V,AGP 4X输入输出仅支持1.5V,AGP接口电压由主板上的VDDQ发生器来决定。


九、寄存器

  GMCH拥有大量寄存器和指令来控制图形,英特尔图形驱动程序在这个架构级提供了软件接口,很明显,寄存器/指令接口属于API(Application Programming Interfaces,应用程序接口)级。


GMCH有以下三大类的寄存器:

  1. PCI设置寄存器,GMCH包含PCI设置寄存器用于设备0(主机到HUB接口桥/DRAM控制器)、设备1(AGP桥)、设备2(GMCH内部图形设备)。

  2. 显示缓存接口寄存器,定位于内存空间,寻址列表偏移量从基本内存地址编程到MMADR寄存器(设备2,PCI设置偏移量14h)。

  3. 显示缓存侦察和诊断寄存器,寄存器存取通过I/O或内存空间来完成,寻址列表偏移量从基本内存地址编程到MMADR寄存器(设备1,PCI设置偏移量14h)。


GMCH拥有两组软件易接近的寄存器,存取主机I/O地址空间:

  1. 控制寄存器,映射到主I/O空间控制PCI配置空间的存取(也可看作I/O映射寄存器);

  2. 内部配置寄存器,又分成三个逻辑设备寄存器集(“逻辑”意味着它们位于一个单独的物理设备中):

(1)第一个寄存器集用于主机到HUB接口桥/DRAM控制器,控制PCI总线0的操作(如:DRAM设置、

芯片组操作参数、可选特性)。

(2)第二个寄存器用于AGP接口。

(3)第三个用于内部图形设备。


  GMCH支持PCI配置空间存取通过机制#1来完成,GMCH的内部寄存器(I/O映射和配置寄存器)由主机来存取。除了CONF_ADDR仅支持Dword外,寄存器的存取可通过字节、字(16位)或Dword(32位)来做到,所有多字节数区域都使用小型结束排序(低地址包含在最少的配置部分中)。GMCH有两个寄存器预留在处理器I/O地址空间:配置地址寄存器(CONF_ADDR)和配置数据寄存器(CONF_DATA),配置地址寄存器负责开启/关闭配置空间,并决定配置空间的那一部分可用配置数据窗口反映出来。


十、PCI设备空间存取

  GMCH和I/O控制HUB通过HUB接口来连接。HUB接口属于逻辑PCI总线#0,所有内部数据交换都由此总线负责。系统主要PCI扩充总线负责PCI到PCI桥,还用一个可编程PCI总线数字连接到I/O控制器。此处要注意:PCI 0不属于PCI总线#0。物理PCI总线#0是不存在的,HUB接口、GMCH内部设备和I/O控制HUB以软件连接成逻辑PCI总线#0。

  GMCH包含三个PCI设备,设备0、1、2作为一个映射留在PCI总线#0:设备0:主机到HUB接口桥/DRAM控制器,逻辑上属于PCI总线#0,物理上包含PCI寄存器、DRAM寄存器,和其它GMCH特殊寄存器。设备1:AGP桥支持1X/2X/4X传输率。设备2:GMCH内部图形设备,这类寄存器已经包括了专用的PCI寄存器。


十一、PCI总线配置机制

  PIC总线的基于Slot的可配置空间,允许每个设备包含8个功能,每个功能包含256 8位配置寄存器。PCI规格定义了两个总线周期来存取PCI配置空间(配置读和配置写),处理器直接支持内存和I/O空间,GMCH通过映射来执行机制,PCI提供的机制有两个:#1和#2。GMCH仅支持#1,使用CONF_ADDR和CONF_DATA寄存器,并以Dword I/O写入周期来放置数值到CONF_ADDR中,对PCI总线、总线设备、设备功能、寄存器功能进行详细说明。CONF_ADDR[ 31]必须设置为1来开启配置周期,然后CONF_DATA成为四字节配置空间的联系窗口,任何读或写到CONF_DATA的结果将被转换成CONF_ADDR的适当周期。GMCH负责转换和路由处理器I/O存取到CONF_ADDR和CONF_DATA寄存器到内部GMCH配置寄存器、内部图形设备或HUB接口。


十二、逻辑PCI总线#0配置机制

  GMCH解码总线数字(位 23:16)和CONF_ADDR寄存器范围内的设备数字,CONF_ADDR设备数字是0,配置周期的目标就是一个PCI总线#0设备。设备#0,GMCH中主机到HUB接口桥/DRAM控制器的实体;设备#1,GMCH中AGP接口的实体;设备#2,GMCH中内部图形设备的实体。配置周期到一个GMCH内部设备受到GMCH的限制,不能通过HUB接口来发送,只有PCI总线#0上的设备#3-#31才是通过HUB接口来发送信号。


十三、主PCI(PCI0)和下游配置机制

  如果CONF_ADDR上的总线数字是非零,GMCH会生成一个配置周期越过HUB接口,I/O控制器HUB将比较非零总线数字(包含在二级总线数字中)和主PCI扩展总线(PCI0)或下流PCI总线上的次要总线数字寄存器。


十四、DRAM设备方案

DD(Double Side,双面内存)、SD(Single Side,单面内存)


分配的内存空间

WE(Write Enalbe,可写入),RE(Read Enable,可读取):

当RE=1时,处理器按照GMCH要求,直接读取系统主内存中相应的内存段;

当RE=0时,主机读存取直接指向HUB接口/PCI 0;

当WE=1时,处理器按照GMCH要求直接写入系统主内存中相应的内存段;

当WE=0时,主机写入存取直接指向HUB接口/PCI 0。

通过RE、WE就能实现四种状态:只读、只写、读/写、完全禁止。如果RE=1和WE=0代表了只读。


GMCH把内存空间分给了各种设备:

1. DOS区(00000h– 9FFFFh),640KB空间。

2. 视频缓存区(A0000h– BFFFFh),128KB图形适配器内存空间。用于映射传统的视频设备(如:VGA控制器),此区域不能用属性位和处理器初始化周期控制,只能以HUB接口工AGP/内部图形设备来做终止,也是SMM(System Management Mode,系统管理模式)的缺省空间。

3. 黑白适配器区(B0000h– B7FFFh),专门分配给单色图形控制器。

4. 扩充区(C0000h– DFFFFh),128KB ISA扩展区域。共分为8个16KB段,每段代表一种读/写状态:只读、只写、读/写,读/写禁止,用于映射到GMCH和子牵引解码到ISA空间,内存段被禁止时将不会映射到其它地方。

5.扩展系统BIOS区(E0000h– EFFFFh),64KB区域。共分为4个16KB段,每段都分配了读和写属性,可以映射到主内存或HUB接口,通常,这个区域用于RAM或ROM。内存段被禁止时将不会映射到其它地方。

6.系统BIOS区域(F0000h– FFFFFh),这是一个单独的64KB段,可分配读和写属性,缺省为读/写禁止,并拥有一个向前到HUB接口的周期。为了加快存取速度,GMCH把BIOS的内容映射到DRAM,关闭时此区,不能进行映射。

7.GMCH支持4GB寻址内存空间和64KB + 3寻址I/O空间。在1MB以下的内存可通过编程来进行控制属性,GMCH主机桥会自动终止任何超过4GB的存取,并对主机总线上的数据进行归零处理。在下面的例子中,假定内存全部兼容,并且VGA区可能会映射到内部图形设备。GMCH内存映射包括了许多可编程区域,所有区域必须统一,而且没有硬件互锁机制,存取超出范围的区域会导致不确定的结果。


高级系统地址映射表


详细的映射区域表,并显示了每一部分的作用

兼容区分为以下几个部分:

1. 0-640 KB DOS区;

2. 640-768 KB 视频缓冲区;

3. 768-896 KB 16K每段,共8段,扩充区;

4. 896-960 KB 16K每段,共4段,扩展系统BIOS区;

5. 960 KB - 1 MB 系统BIOS内存。

  GMCH支持兼容区中所有16个内存段,以上13个内存区都能独立开启/关闭读/写周期。在兼容区以上100000h (1 MB)到FFFFFFFFh(4 GB-1)的空间称为扩充内存区,分为几个部分:主内存,即1MB到512M使用128M技术,除非内存孔建立了,否则所有此区域的存取都将指向DRAM;从TOM(Top of- main memory,主内存顶端)到4GB,称为PCI内存空间,其中APIC设备空间从FEC0_0000h(4 GB-20 MB)到FECF_FFFFh和FEE0_0000h到FEEF_FFFFh,高级BIOS区域从4GB到(4GB-2MB),15MB - 16MB内存孔。

  也许你已经在BIOS设置中看到过此选项,它可以控制设备0空间中FDHC寄存器的开启,存取指向HUB接口。开启此选项后,物理DRAM内存无法映射到内存中。某些旧式ISA设备(视频加速卡)和测试卡使用内存孔来进行操作,但它不是一个必须的选项,毕竟没有人会放弃16MB以后的内存空间。GMCH可以把主内存看成SMRAM(System Management RAM,系统管理内存),供SMM模式使用,GMCH支持三种SMM选项:兼容SMRAM(AB段开启)、高段内存(HSEG)、顶段内存(TSEG)。它还提供SMI句柄代码和数据存储,此区域通常被隐藏于操作系统之后,让处理器直接存取来进入SMM。所有内存块指定的读或写都能映射到GMCH DRAM内存,使ROM代码执行更迅速,ROM会自动在DRAM的副 本中加入只读属性,让操作系统感觉不到它与普通ROM的差别。


单边内存与双边内存的配搭


十五、DVMT(Dynamic Video Memory Technology,动态视频内存技术)

  GMCH支持显示缓存,用DC来执行渲染缓冲(如:Z缓冲),需要4MB缓存来完成上述工作,而且要借助纹理MIP映射。如果使用了DVMT,可以直接在系统内存执行渲染,会自动分辨出纹理MIP映射和渲染。显示缓存发出或接收的数据内部缓冲FIFO(First Input First Output,先入先出队列)确定资料可以同步到内部管道,显示缓存接口时钟DVM将同步到内核和系统总线。


十六、i752的功能

  GMCH集成的i752显示芯片,拥有3D渲染、BLT和STRBLT(2D操作)、显示、运动补偿和覆盖功能。GMCH支持1024*1024到1*1纹理像素的11级LOD,在小型缓存中能够提供有效的MIP映射,它有几种过滤方式:邻近点采样、线性过滤、MIP邻近点采样、MIP线性、三线性、各向异性等。GMCH还支持多种纹理模式,透视修正映射是其最常用的,映射图能够平铺、镜像到U或V方向,甚至放到纹理的末尾和暂时性物体(clamp,紧夹模式),用户也可以对纹理联合其它物体的属性进行定义。


3D管道结构


十七、平面/数字CRT接口/1.8V TV输出接口

  GMCH拥有专门的平面显示器输出接口,它是一个16位数字端口,包括4个控制位和12个数据位,使用1.8V 电压,支持多种显示模式,即使外部传换器不支持缩放,也可由GMCH本身来实现。


GMCH支持的数字显示模式

十八、AC 97六声道

  支持AC 97是ICH2的特点之一,能用于AC(Audio Codec,音频多媒体数字信号编解码器),MC(modem codec,调制解调器多媒体数字信号编解码器),AMC(audio/modem codec,音频/调制解调器多媒体数字信号编解码器)。不要以为AC 97仅与声音有关,其实它还包括了Modem的数据交换,通过数字链路来接通多个设备。ICH2支持六声道输出,在代替ISA音频和Modem的前提下,还提高了系统的总体性能。


三种AC 97解决方案

十九、电路接口


GMCH的接口定义


ICH2的接口定义


HUB接口信号行程


ICH2与PCI的接口例子


ICH2与LAN的连接


82562ET/82562EM的终结

二十、CK815时钟发生器

1. 2 DIMM插槽

CK815时钟发生器是56针SSOP封装,它有9个100MHz SDRAM时钟(3.3V)[SDRAM0?7, DClk],7个33MHz(3.3V)的PCI时钟,2个33MHz的APIC时钟,同步于处理器时钟(2.5V),1个48MHz USB时钟(3.3V,非SSC,第三类缓冲),1个48MHz DOT时钟(3.3V,非SSC),3个3-V 66MHz时钟(3.3V),1个REF时钟14.31818MHz(3.3V),涉及振荡器输入,能源降低针脚,伸展频谱支持,用于关闭无用时钟的IIC功能。


2 DIMM时钟解决方案


2. 3 DIMM插槽

而3 DIMM时钟发生器与2 DIMM稍有不同,区别在于,它有13个SDRAM时钟,1个PCI时钟,1个APIC时钟,其它指标都与2 DIMM插槽相类似。

二十一、Glue 芯片 3(英特尔ICH2 Glue芯片)

  为了节省ICH2平台的成本,英特尔把一些功能控制集成在单个芯片中,此芯片就是Glue芯片。其主要功能有:PWROK信号生成,STR(Suspend To RAM,内存唤醒)电路控制,能源上升电路支持,快速FLUSH#/INIT#电路,硬盘单色LED驱动,IDE重启信号生成/PCIRST#缓冲,DDC(Display Data Channel,显示数据通道)到显示器电压转换,测试专用第三状态缓冲区等。


AIMM显示缓存


二十二、讨论

  讲完理论,再讨论一下i815/i815E的价值,因为网上已经有许多测试报告,在这里我就不再重复了,总的来说,PC133 SDRAM+815E平台在普通应用方面性能高于RDRAM+820平台,而且价格要低得多,是PC用户不错的选择。不过,从另一角度看,根本没有必要从BX升级到i815,至于i815E是没有选择的选择,追求稳定性和兼容性的朋友不想买VIA系芯片组,那么只能用i815E了。其实,看看各大主板厂商对BX产品的价格定位就可以知道,它们仍然把BX作为主流产品来推广,除了卖清存货之外,BX的高性能也是一个不容置疑的因素。以前,英特尔在自己的i810主板中使用i754显卡,图形性能自然要比其它i810主板的i752好一些啦,不知这次英特尔又有否搞鬼。与当年i810需要质量好的PC100内存一样,i815E对内存的要求也非常严格,英特尔的PC133标准CAS为2,市面上大多数PC133内存均不符合规格(VIA标准CAS=3),很容易出现死机现象。


  网上许多测试报告的真实性极其有限,千万不要被分数所玩弄,基准测试只是一个参考,即使是自己测出来的分数,也有局限性,不能保证100%通用。最明显的例子是VIA 694x与最新版440BX芯片组的比较,速度、兼容性、稳定性均是BX占优,所以重要的是相信口碑,别拿那些所谓实测报告当宝贝。

WanJuanShu