3.3.1 总线概述
总线(bus)是计算机内数据传输的公共路径,用于实现计算机中两个或更多部件之间的通信。
总线的性能指标主要包含下述几个方面: 1.总线的位宽
总线的位宽指的是总线能同时传送的数据位数,即常说的16位、32位64位等。 2.总线的工作频率 总线的工作频率(也称为总线的时钟频率)是指用于协调总线上各种操作的时钟信号的频率(常以MHz为单位)。 3.总线的带宽
总线的带宽(总线的数据传输速率)是指单位时间内总线上可传送的数据量,即常说的每秒钟传送多少个字节。用公式表示为: Q=W×F/N
其中,Q为总线的带宽(MBps),W为总线的数据宽度[总线位宽/8,单位为字节(B)],F为总线工作频率(MHz),N为完成一次数据传送所需的总线时钟周期的个数(N=2时,表示完成一次数据传送需要两个总线时钟周期;N=0.5时,表示1个总线时钟周期内可完成两次数据传送)。 4.总线的寻址能力
总线的寻址能力主要指地址总线的位数及所能直接寻址的存储器空间的大小。一般地,地址线的位数越多,能寻址的地址空间越大,例如,地址总线为20b时,能寻址的存储空间为1M(220)。 5.总线的握手协议
按照总线上信息传送的握手方式划分,总线有同步、异步和半同步3种。 6.突发传送
总线上数据的传送方式分正常传送和突发传送两种。正常传送方式在每一个传送周期内都先传送数据的地址,然后传送数据。 7.总线的负载能力
总线的负载能力可以理解为总线上所能挂接的遵循该总线电气规范的总线设备的数目。
3.3.2 处理器总线与存储器总线
Pentium 4 CPU的PC中的总线结构,主要总线有处理器总线、存储器总线和作为I/O总线的PCI及AGP等(新型PC中还有PCI-PCI-Express及PCI-X总线)。 1.处理器总线
处理器总线又称为前端总线(front side bus FSB),是主板上速度最快的总线,其性能指标是芯片组和主板的最重要的性能指标之一。处理器总线包含数据、地址和控制3部分电路。 2.存储器总线
存储器总线用来在CPU与主存储器之间的传递信息。存储器总线通常与主板芯片组的北桥芯片或MCH(memory controller hub)芯片相连。 3.3.3 I/O总线 1.PCI总线
PCI(peripheral component interconnect)总线是一个标准的、与处理器无关的局部总线,不受制于系统所使用的处理器的种类,通用性更强。 PCI局部总线有以下几个特点。
(1)PCI总线的传输效率高。
(2)PCI总线是一种独立于处理器的总线标准,可以支持多种处理器,从而适用于由不同CPU组成的系统。同时,它将处理器子系统与外围设备分开。 (3)由于PCI总线与CPU隔离,因此不会造成CPU负载过重的问题。 (4)PCI具有即插即用的功能。
(5)PCI总线支持总线的主控方式。 (6)PCI总线采用同步操作。 (7)PCI总线支持突发传输。
(8)PCI有部分信号线具有双重功能,地址信号与数据信号共用一条信号线,在不同时刻。分别用于传输地址与数据信号。 (9)PCI总线管理引脚安排合理。 2.加速图形端口(AGP) AGP(accelerated graphics port,加速图端口)是Intel公司提出的一种新的局部总线,专门用于高性能图形及视频支持。
AGP是一种高速连接,以66MHz的基频运行(实际为66.66MHz),为标准PCI的两倍。基本AGP模式称为1×,每个周期完成一次传输,由于AGP总线为32b(4B)宽,在每秒6 600万次的条件下能达到大约266MBps的数据传输能力。AGP2×模式,每个周期完成两次数据传输,数据传输能力达到533MBps。AGP2.0增加了4×传输能力,数据传输速率可达1 066 MBps。 3.PCI-Express
2001年,Intel发起了由数家公司组成的Arapahoe工作组,开发了一种新的高速总线技术规范——3GIO(third-generation I/0)。2001年8月,PCI-SIC(PCI special interest group)同意接受并促进3GIO作为PCI的新一代规范。2002年4月,3GIO的初始版本1.0完成并被PCI-SIG命名为PCI-Express。2002年7月,PCI-Express1.0规范被批准。 PCI-Express的主要特性如下。
(1)和已有的PCI枚举和设备驱动程序兼容。
(2)物理连接可以是铜的、光纤的或别的物理媒介以满足将来的设计规范。 (3)最大化每个引脚的带宽并且可以减小体积、降低成本、简化布线和制板设计并且简化信号的完整性问题。
(4)与同步时钟相比,内嵌的时钟更容易实现频率的改变。
(5)通过频率和宽度(通道)的增加便于提高带宽(吞吐量,throughput)。 (6)潜伏时间短有利于同步要求高(时间敏感)的数据传送,如视频流。 (7)具有热插拔能力。 (8)具有电源管理能力。
PCI-Express是PC接口从并行向串行转变的一个例子。 1)链路和带宽
PCI-Express系统中以链路(link)进行两个PCI-Express设备间的物理连接,PCI-Express 1.0规范支持通路中每个方面的发送/接收速率为2.5Gbps。 2)差分信号传送 3)PCI-Express设备
PCI-Express设备包括根复合体、交换开关、端点、PCI-Express到PCI/PCI-X的桥等。
3.4 内存储器
计算机中的存储器分为内存储器(内存)和外存储器(外存)两大类。 3.4.1 PC中常用的半导体存储器类型
半导体存储器芯片按照是否能随机地进行读写,分为随机存储器(random access memory ,RAM)和只读存储器(read only memory ROM)两大类。 1.RAM
存储器芯片中的内容可以随机地读出或写入的半导体存储器称为RAM。只有给RAM芯片供电,其中的内容才能保持。目前,PC中使用的RAM主要采用以MOS工艺制成的MOS型半导体集成电路芯片。RAM常分为DRAM和SRAM两种。 (1)DRAM DRAM(dynamic RAM,动态随机存储器)是靠MOS电路中的栅极电容上的电荷来记忆信息的,因此,电路简单,集成度高(即同样芯片面积上可制作出更多的存储单元),功耗低,适合作为PC中内存的主体部分(又称为主存储器或主存,main memory或MM)。平时所说的内存条都是由DRAM为主构成的。由于电容上的电荷会泄漏,因此,为防止数据丢失,需定时给电容上的电荷进行补充。一般DRAM必须在一定的时间间隔(数毫秒)内将数据读出并再写入,这一过程为DRAM的刷新(refresh)。这样,DRAM在使用时必须设置刷新电路,刷新过程增加了处理器的读写时间。一般地,速度相对快的DRAM其刷新周期也短。 (2)SRAM SRAM(static RAM,静态随机存储器)利用半导体双稳态触发电路的两个稳定状态表示1和0,以达到保存和记忆信息的目的。这就使得SRAM存储数据时不需要刷新。
SRAM的主要特点是:工作速度快(如小于2 ms);不需要刷新电路,因此使用简单;在读出时不会破坏原来存放的信息(即一经写入可多次读出);但成DTAM相比集成度要低(主要原因是DRAM中存放1位信息时用到的晶体管数为1个,而SRAM中存放1位信息时用到的晶体管数为6个),功耗较大,制造成本高,价格贵。 2.ROM
与RAM相比,ROM是一种能够永久或永久性地保存数据的存储器,即使芯片掉电,存放在ROM中的数据也不会丢失,因此,常被看做非易失性存储器。只读存储器ROM在工作时虽然也是可以随机访问的,但ROM中的内容是否(或怎样)改写,与ROM的种类有关。
(1)Mask ROM(掩膜ROM或固化ROM)
(2)PROM(programmable ROM,可编程ROM)
PROM中的内容在使用前由专用设备一次写入,以后不能改变。 (3)EPROM(erasable programmable ROM,可擦除可编程ROM)
EPROM和前两种ROM的不同点在于ROM中的内容可以用特殊的装置擦除和重写。一般是将芯片在紫外线下照射15~20分钟以擦除其中的内容,然后用专用设备(如EPROM写入器)将信息重新写入。一旦写入则相对固定。
(4)EEPROM/E2PROM(electrically erasable PROM,电子擦除可编程ROM) EEPROM可以通过一定的电压(或电流)来擦除其中的信息,然后重新写入。 (5)flash ROM(快擦除ROM,闪速存储器) Flash ROM是近年发展最快、前景看好的新型存储芯片。它既像ROM一样具有非易失性,又能在线进行快速擦除和重写。由于flash ROM是全片或分块擦除的,所以擦除速度非常快。Flash ROM在PC中用于存储主板BIOS程序时,就能像使用EEPEOM一样在线更新芯片中的内容。另外,flash ROM已广泛用于数码相机、优
盘等便携式电子通信、娱乐设备中。 3.4.2 主存储器的工作原理 PC中的主存储器由DRAM组成。 1.PC中常用的主存
PC中常用的主存为DDR SDRAM和DDR2 SDRAM并正在向DDR3 SDRAM过渡。
SDRAM是一种与当时推出的芯片组的北桥芯片的前端总线同步运行的DRAM,并且内部的命令发送和数据传输都以前端总线频率为基准。SDRAM支持突发模式。 DDR SDRAM(double data rate SDRAM,DDR) 虽然在发展过程中内存出现了多种类型,但都基于DRAM内部的每一个存储单元——主要是一个晶体管和一个电容。
DDR2 SDRAM可以简单地理解为是一种更快的DDR SDRAM,因为它是通过使用差分信号线而实现更快的时序来获得更高的数据吞吐量的。
DDR2相比,DDR3在核心技术方面并没有本质上的变化,与DDR2的4位预取技术类似,DDR3采用了8位预取技术,加上使用DDR技术,总体上可将存储器外部传输速率提升至核心频率的8倍。
RDRAM是Rambus公司开发的一种芯片的存储器总线,总线具有一个可以以非常高的速率交换信息的特殊装置。
为提高内存条数据读写的可靠性,往往采用奇偶校验(parity check)的方式。采用奇偶校验的内存条,在每个字节(8位)的基础上再增加1位,用于记录每个字节的奇偶性,增加的这一位被称为奇偶校验位。每次访问内存后就利用奇偶校验位进行必要的校验(校验方法可分为奇校验和偶校验),若有错误则提示系统重新访问一遍。例如,采用奇校验时,每次访问内存后检查每个字节(包括校验位)中“1”的个数是否为奇数,若为奇数则认为数据正确,否则认为数据错误。奇偶校验方法只能检查出一位数据访问或传送错误的情况,无法检查多位同时出错的情况,因此只是一种简单的查错方法。 ECC内存
ECC是错误检测和校正(error checking and correcting)的缩写。ECC内存的主要特点是可以自动检查和纠正内存中数据访问和传送过程中产生的错误。在ECC内存结构中,一般采用12位来记录一个字节的数据,在这多出的4位中保存的是根据原8位数据进行计算后得到的一个CRC(cyclic redundancy check,循环冗余校验)值;如果在读出原8位数据时有某位出错,ECC内存就可以由4位CRC值计算出是哪一位出错并将其纠正。 3.4.3 内存条的组成形式
内存条是把一些内存芯片焊在一小条印制电板上组成的部件。内存条必须插入主板中相应的内存条插槽中才能使用。根据内存的封装方式和内存条插槽的规格,内存条主要有如下几种规格。
(1)单列直插式内存条模块(single in-line memory modules,SIMM内存条); (2)双列直插式内存条模块(double in-line memory modules,DIMM内存条); (3)RAMBUS内存条模块(rambus in-line memory modules,RIMM内存条)。 3.5 输入/输出及控制 3.5.1 输入/输出概述
输入/输出设备(又称为I/O设备、外围设备、外部设备等,也简称为外设)是计算机系统的重要组成部分,计算机通过输入/输出设备与外部交换信息。 3.5.2 输入/输出控制方式
PC中输入/输出控制有3种方式,即程序控制方式、中断控制方式及DMA控制方式。 1.程序控制方式
程序控制方式是指在程序的控制下进行数据传送,这是CPU与外部设备交换信息的一种最简单的方式,可分为无条件传送方式和条件传送方式两种。 2.中断控制方式 在中断控制方式下,当输入设备已将数据准备好或输出设备可以接收数据时,便可向CPU发中断请求。CPU响应中断请求后,暂时停止执行当前程序而去执行一个为外设输入/输出数据的服务程序。此服务程序即为中断处理子程序或中断服务子程序。中断服务程序执行完后,CPU又转向到被中断处而继续执行原来的程序。 在中断控制方式下,CPU和外设在大部分时间里是并行工作的。 3.DMA控制方式
与程序控制方式相比,采用中断控制方式进行输入/输出能提高CPU的利用率。但其数据的传输仍是通过执行程序来完成的,并且每次传输都需要保护断点处的现场信息,中断服务完成后还要恢复现场信息,这又需要CPU一定的执行时间。因此,采用中断控制方式传输数据的速度不可能很快,不能满足高速I/O设备以及磁盘设备成组交换数据的需求。为提高输入/输出的速度,可采用DMA(direct memory access,直接存储器存取)方式。
DMA方式采用专门的硬件——DMA控制器(DMAC)来执行数据传送。DMAC可从CPU那里接管系统总线的控制权,并且由DMAC本身发出的存储器地址信号以及访问存储器和I/O设备的读写脉冲等控制信号,使得数据通过总线直接在存储器和I/O设备之间(或I/O设备与存储器之间,存储器与存储器之间)进行传送。在DMA接管总线执行数据传送过程中,CPU暂停工作,不参与数据传送。 使用DMA控制方式进行输入/输出操作时,CPU必须先对指定外设的DMA通道设定工作方式,给出I/O操作命令,指出要传送的数据在存储器中的起始地址及需要传送的字节数目等,然后才能启动DMAC工作。 3.5.3 8259A可编程中断控制器
由于80x86CPU只有一个可屏蔽的中断请求输入端,为了使多个外设以中断方式与CPU进行数据传输,必须有一个专用的硬件中断控制器,早期PC中采用的中断控制器是8259A。
1.8259A中断控制器结构
8259A的逻辑结构包括中断请求寄存器(IRR)、优先级分析器、中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路和级联缓冲器/比较器组成。
中断请求线IRQ0~IRQ7上的中断请求信号接至8位中断请求寄存器IRR,IRR寄存所有中断请求(对应位置1表示有中断请求)。如有多个中断请求使IRR中某些位同时置1,优先级分析器负责选择其中优先级最高的中断请求,送入ISR中对应的一位,供CPU响应中断时获得它所决定的中断向量。ISR用来寄存所有正在被服务的中断信号。IMR存放被屏蔽的中断请求,该寄存器的每1位对应1个中断信号,若为1,则屏蔽掉对应的中断,否则开放该中断。I/O设备发出的中断请求信号IROi为高电平的时间必须保持到8259A接收到CPU发生的第一个中断响应信号INTA负脉冲结束时为止。8259A接收到第二个中断响应信号INTA后,将把中断类型码的值输出到数据总线上,供CPU读入。
8259A内部的数据总线缓冲器是双向三态的,级联缓冲器/比较器用于多片8259A的连接,以实现将优先级中断最多扩展到64级。