总线结构概述 PC的组成部件都是通过数据总、地址总线和控制总线这三组,总线连接在一起并完成和实现它们之间的通讯与数据传送的,因此总线的概念是理解PC和主板的组成结构、工作原理及部件之间相互关系统的基础。 一、概述 1.地址总线AB(Address Bus) 是用来传送地址信息的信号线,其特点是: (1).地址信号一般都由CPU发出,当采用MDA(Direct Memory Access,即直接内存访问)方式访问内存和I/O设备时,地址信号也可以由DMA控制器发生,并被送往各个有关的内存单元或I/O接口,实现CPU对内存或I/O设备的寻址(在PC中,内存和I/O设备的寻址都是采用统一编址方式进行的),即采用单向传输,动态控制(在计算机中,由于采用二进制工作方式,一般只有两种状态,即“1”和“0”,但是当计算机各总线上,显示“0”状态时,在电气上的效果相当于总线脱离。 (2).CPU能够直接寻找内存地址的范围是由地址线的数目(由于一条地址总线一次传送一位二进制数的地址,故也叫地址总线的位数)决定的,即PC系统中所能安装内存容量上限由CPU的地址总线的数目决定。 CPU能够直接寻址的内存范围上限为2CPU的地址总线数目 2.数据总线DB(Data、Bus) 用来传送数据信息的信号线,这些数据信息可以是原始数据或程序。数据总线来往于CPU、内存和I/O设备之间,其特点是: (1).双向传输,三态控制:即可以由CPU送往内存或I/O设备,也可以由内存或I/O设备送往CPU。 (2).数据总线的数目称为数据宽度(由于一条数据线一次可传送一位二进制数,故也称位数),数据总线宽度决定了CPU一次传输的数据量,它决定了CPU的类型与档次。 3、控制总线CB(Control Bus) 是用来传送控制信息的信号线,这些控制信息包括CPU对内存和I/O接口的读写信号,I/O接口对CPU提出的中断请求或DMA请求信号,CPU对这些I/O接口回答与响应信号,I/O接口的各种工作状态信号以及其他各种功能控制信号。控制总线来往于CPU、内存和I/O设备之间,其特点是: 在单向、双向、双态等种形态,是总线中最复杂、最灵活、功能最强的,其数量、种类、定义随机型不同而不同。 二、总线的分类 总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通道。 1.按相对于CPU与其芯片的位置来分 (1).片内总线:指在CPU内部各寄存器、算术逻辑部件ALU,控制部件以及内部高速缓冲存储器之间传输数据所用的总线,即芯片内部总线。 (2).片外总线:通常所说的总线(BUS)指的外总线,是CPU与内存RAM、ROM和输入输出(I/O)设备接口之间进行通讯的数据通道,CPU通过总线实现程序存取命令,内存/外设的数据交换在CPU与外设一定的情况下,总线速度是限制计算机整体性能的最大因数。 2.按总线功能分 (1).地址总线:(AB)用来传递地址信息 (2).数据总线:(DB)用来传递数据信息 (3).控制总线:(CB)用来传送各种控制信号 3.按总线的层次结构分 (1).CPU总线:包括CPU地址线(CAB),CPU数据线(CDB)和CPU控制线(CCD),其用来连接CPU和控制芯片。 (2).存储器总线:包括存储器地址线(MAB)、存储器数据线(MDB)和存储器控制线(MCD),用来连接内存控制器(北桥)和内存。 (3).系统总线:(I/O扩展总线)也称为I/O通道总线或I/O扩展总线,包括系统地址线(SAB),系统数据线(SDB)和系统控制线(SCD),用来与I/O扩展槽上的各种扩展卡相连接。 (4).外部总线:(外围芯片总线)用来连接各种外设控制芯片,如主板上的I/O控制器(如硬盘接口控制器、软盘驱动控制器、串行/并行接口控制器等),和键盘控制器,包括外部地址线(XAB)、外部数据线(XMB)和外部控制线(XCB)。 4.系统总线(I/O扩展总线)又分为ISA、PCI、AGP等多种标准 (1).ISA(Industry standard architecture,工业标准结构)是IBM公司为286AT电脑制定的总线工业标准,也称为AT标准。 (2).PCI(peripheral component interconnet,外部设备互连)是SIG(spelial interest group)集团推出的总线结构。 (3).AGP(accelerated graphics port,加速图形端口)是一种为了提高视频带宽而设计的总线规范,因为它是点对点连接,即连接控制芯片和AGP显卡,因此严格说来,AGP也是一种接口标准。 三、总线主要的技术指标 1、总线的带宽(总线数据传输速率) 总线的带宽指的是单位时间内总线上传送的数据量,即每钞钟传送MB的最大稳态数据传输率。与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系: 总线的带宽=总线的工作频率*总线的位宽/8 2、总线的位宽 总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的位宽越宽,每秒钟数据传输率越大,总线的带宽越宽。 3、总线的工作频率 总线的工作时钟频率以MHZ为单位,工作频率越高,总线工作速度越快,总线带宽越宽。 四、总线命令含义 ADS#地址通讯STOP#停止SMIACT#激活系统管理中断ACAS[B:A]写功能D/C数据/控制LOCK#锁存TWE#TAG写效能PC-LINK[15:0]PCI链锁M/IO#记忆器/IODEVSEL#设备选择COE#CACHE输出效能1+STB:[1:0]记忆器选通W/R#读写PAR奇偶校验GNE[7:0]#全写效能MADV#MEHORY优先BRDY#总线就绪REQ[2:0]请求TIO[7:0]TAG地址PCMD[1:0]PCI命令EADS#外部地址选通GNT[2:0]PCI允许H-LINK主时钟输入BOE#BOST输入功能HZTM#中较正RE23#/MREQ#PCLINK时钟输入MOE#MEMY输入功能BOFF#退去PHLD#PCI保持AD地址/数据POE#PLINK输入功能AHOLD地址保持PHLD#PCI保持响应C/BE[3:0]命令/字节使能MXSCSH多功能选择NA#下位地址RAS[3:0]行选FRAME#结构 KEN#/ZNLCACHE效能CAS[7:0]列选TRDY#目标就绪 CACHE#CACAHE效应MA内存地址IRDY#初始就绪 HLOCK#主锁存SRASA#SDRAM行选 五、ISA插槽 1、地址总线:SA0~SA19(I/O)和LA17~LA23(I/O) 2、数据总线:SD0~SD7(I/O)和SD8~SD15(I/O) 3、控制总线:BALE(0)---US Address latch enable:系统地址锁存允许 4、SYSCLK(0)---SYSTEM CLOCK系统时钟信号 5、IR23~7,9~12,15(Z)---这是用于I/O设备通过中断控制器向CPU发送的中断请求(interrupt request)信号 6、SMEMR#和SMEMW#(0)---这是命令内存将数据送至数据总线的信号 7、MEMR#和MEMW#(I/O)---内存读(MEMR)或内存写(MEMW#)信号 8、DRQ0~3,5~7(2)---这是DMA请求(DMA Requesc)信号 9、DACK0#~3,5~7(0)---(DMA Acknowledge,DMA响应)这是对DRQ0~3,5~7的响应信号 10、AEN(0)---地址允许(Address enable)信号 11、REFRESH#(I/O)---内存刷新(DRAM refresh)信号 12、SBHE(I/O)---系统总线字节允许(system bus high enable)信号 13、MASTER(2)---主控信号 14、MEMCS16#(2)---存储器16位片选(Memory 16bit chip select)信号 15、ZOCS16#(2)---I/O16位片选(I/O 16bit chip select)信号 16、OWS(2)---零等待状态(Zero Wait State)信号 六、PCI插槽 1、系统信号定义:即“CLK”信号,除“RST#”、“ZRZB”、“ZRQC#”、“ZR2#”之外,其余信号都在“CLK”的上升没有效。 RST#(ZN)---复位信号,是用来使PCI专用特性寄存器和定序器相关的信号恢复规定的初始状态 2、地址和数据信号: AD[31::00](T/S)---它们是地址,数据多路复用的输入/输出信号 C/BE[3::00]#(T/S)---它们是总线命令和字节使能多路复回信号线 3、接口控制信号 FRAME#(S/T/S)---帧周期信号 IRDY#(S/T/S)---主设备准备好信号 TRDY#(S/T/S)---从设备准备好信号 STOP#(S/T/S)---停止数据传送信号 LOCK#(S/T/S)---锁定信号 IDSEL(ZN)---初始化设备选择信号 DEVSEL#(S/T/S)---设备选择信号 4、仲裁信号 REQ#(T/S)---总线前用请求信号,它是一个点到点的信号线,任何主设备都应有自己的“GNT#”信号 GNT#(T/S)---总线占用允许信号 5、错误报告信号 为了使数据传输可靠、完整、PCI局部总线标准要求,所有挂接在其上的设备都应具有错误报告信号线 PERR#(S/T/S)---数据奇偶校验错误报告信号 SERR#(O/D)---系统错误报告信号 6、中断信号 PCI局部总线中一共有四条中断线,分虽是:“INTA#”、“INTB”、“INTC#”、“INTD”,它们均具有O/D(漏极开)的性质,其作用是用来请示一个中断 7、其它可选信号 (1)、高速缓存支持信号 SBD#(IN/OUT)---试探返回信号 SDONE(IN/OUT)---监听完成信号 (2)、64位总线扩展信号 AD[63::32](T/S)---扩展的32位地址和数据多路复用线 C/BE[7::4]#(T/S)---总线命令和字节使能多路复用信号线 REQ64#(S/T/S)---64位传输请求信号线 ACK64#(S/T/S)---64位传输认可信号线 DAR64(S/T/S)---奇偶双字节校验