1.1k likes | 1.29k Views
第 7 章 总线. 计算机由 CPU 、主存储器和 I/0 模块组成,这些模块并不是独立的,它们在一起相互协作,完成指令序列所要求的功能,各个模块之间需要相互通信。因此,在各个模块之间必须有一个能将它们连接在一起的互连设施,使得信息可以在存储器与 CPU 之间、 I/0 模块与 CPU 之间和 I/0 模块与存储器之间进行传送。总线技术就是一种将各个模块连接到一起的互连设施。总线结构固有的灵活与低成本特性使其成为现代计算机中使用最普遍的互连结构。. 本章重点 :. 总线的基本概念 总线的分类及结构 总线的控制方式 总线的通信 总线常用接口. 7.1 总线的基本概念与特性.
E N D
第7章 总线 • 计算机由CPU、主存储器和I/0模块组成,这些模块并不是独立的,它们在一起相互协作,完成指令序列所要求的功能,各个模块之间需要相互通信。因此,在各个模块之间必须有一个能将它们连接在一起的互连设施,使得信息可以在存储器与CPU之间、I/0模块与CPU之间和I/0模块与存储器之间进行传送。总线技术就是一种将各个模块连接到一起的互连设施。总线结构固有的灵活与低成本特性使其成为现代计算机中使用最普遍的互连结构。 计算机组成原理
本章重点: • 总线的基本概念 • 总线的分类及结构 • 总线的控制方式 • 总线的通信 • 总线常用接口 计算机组成原理
7.1总线的基本概念与特性 • 计算机的所有功能都是通过CPU周而复始地执行指令实现的。在指令执行过程中,CPU、主存和I/O模块之间要不断地交换数据(包括指令、中断向量等),因此,可以这么说计算机所有功能的实现,归根结底是各种信息在计算机内部的各部件之间进行交换的过程。要进行信息交换,必须在部件之间构筑通信线路,通常把连接各部件的通路的集合称为互连结构。总线连接方式就是互联机构的一种实现方式。 计算机组成原理
7.1.1 总线的概念 • 总线是连接两个或多个功能部件的一组共享的信息传输线,它的主要特征就是多个部件共享传输介质。一个部件发出的信号可以被连接到总线上的其他所有部件接收。总线通常由许多传输线或通路构成,每条线可传输一位二进制信息,若干条线可同时传输多位二进制信息。 计算机组成原理
计算机五大部件之间的互连方式有两种: • (1)分散式连接 各部件之间通过单独的连线连接 • (2)总线式连接 各部件均连接到一组公共信息传输上运算器控制器存储器输出设备输入设备图7-1 运算器为中心计算机结构框图 • 早期的计算机大多数采用分散式连接方式,如图7-1所示,它是以运算器为中心的结构。内部连线十分复杂,当I/O与存储器交换信息时需要经过运算器,致使算器停止运算,严重影响CPU的工作效率。 计算机组成原理
图7-1 运算器为中心计算机结构框图 计算机组成原理
为了提高CPU的利用率,计算机专家开始设计以存储器为中心的分散连接结构,I/O与存储器之间的信息交换可以不经过运算器,而且采用了中断、DMA等技术,使CPU的工作效率得到了很大的提高。此外,为了解决I/O设备与主机之间连接的灵活性问题,计算机各部件连接也采用了以存储器为中心的总线结构,如图7-2所示。为了提高CPU的利用率,计算机专家开始设计以存储器为中心的分散连接结构,I/O与存储器之间的信息交换可以不经过运算器,而且采用了中断、DMA等技术,使CPU的工作效率得到了很大的提高。此外,为了解决I/O设备与主机之间连接的灵活性问题,计算机各部件连接也采用了以存储器为中心的总线结构,如图7-2所示。 计算机组成原理
图7-2 以存储器为中心的双总线结构框图 计算机组成原理
7.1.2 总线的特性 • 总线是一个共享的传输介质,必须规定其一些基本特性。从物理特性上看,总线就是一组导线,许多导线直接印制在电路板上,并延伸到各个部件,其物理实现如图7-3所示。 图7-3 总线结构的物理实现 计算机组成原理
总线特性主要包括以下几个方面: • 物理特性 • 总线的物理特性是指总线在机械物理连接上的特性。包括:连线类型、数量、接插件的几何尺寸和形状以及引脚线的排列等。 • 从连线的类型来看,总线可分为电缆式和主板式底板式。电缆式总线通常采用扁平电缆连接电路板;主板式总线通常在印刷电路板或卡上蚀刻出平行的金属线,这些金属线按照某种排列以一组连接点的方式提供插槽,系统的一些主要部件从这些槽中插入到系统总线。 计算机组成原理
从连线的数量来看,总线一般分为串行总线和并行总线。在并行传输总线中,按数据线的宽度分8位、16位、32位、64位总线等。总线的宽度对实现的成本、可靠性和数据传输率的影响很大。一般串行总线用于长距离的数据传送,并行总线用于短距离的高速数据传送。从连线的数量来看,总线一般分为串行总线和并行总线。在并行传输总线中,按数据线的宽度分8位、16位、32位、64位总线等。总线的宽度对实现的成本、可靠性和数据传输率的影响很大。一般串行总线用于长距离的数据传送,并行总线用于短距离的高速数据传送。 计算机组成原理
2.电气特性 • 总线的电气特性是指总线的每一条信号线的信号传递方向、信号的有效电平范围。通常规定由CPU发出的信号为输出信号,送入CPU的信号为输入信号。地址线一般为输出信号,数据线为双向信号,控制线的每一根都是单向的,有的为输出信号,有的为输入信号。总线的电平表示方式有两种:单端方式和差分方式。在单端电平方式中,用一条信号线和一条公共接地线来传递信号。 计算机组成原理
信号线中一般用高电平表示逻辑“1”,低电平表示逻辑“0”。差分电平方式采用一条信号线和一个参考电压来互补传输信号,因此一般采用负逻辑,即用高电平表示逻辑“0”,低电平表示逻辑“1”。例如,串行总线接口标准RS-232C,其电气特性规定低电平要低于-3V,表示逻辑“1”;高电平要高于+3V,表示逻辑“0”。信号线中一般用高电平表示逻辑“1”,低电平表示逻辑“0”。差分电平方式采用一条信号线和一个参考电压来互补传输信号,因此一般采用负逻辑,即用高电平表示逻辑“0”,低电平表示逻辑“1”。例如,串行总线接口标准RS-232C,其电气特性规定低电平要低于-3V,表示逻辑“1”;高电平要高于+3V,表示逻辑“0”。 计算机组成原理
3.功能特性 • 总线功能特性是指总线中每根传输线的功能。如地址线用来传输地址信息,数据线用来传输数据信息,控制线用来发出控制信息,如存储器读/写信息、I/O读/写信息,也有I/O向CPU发来的信息,如中断请求、DMA请求等。 计算机组成原理
4.时间特性 • 总线时间特性是指总线中任一根传输线在什么时间内有效,以及每根线产生的信号之间的时序关系。时间特性一般可用信号时序图来说明。 思考:目前微型计算机采用的最新总线的技术指标是什么? 计算机组成原理
7.2总线分类与结构 • 计算机系统中含有多种总线,应用也很广泛,从不同角度可以有不同的分类方法。按照数据传送方式可分为并行传输总线和串行传输总线。在并行传输总线中,又可以按传输数据宽度分8位、16位、32位、64位等传输总线。总线的数据宽度和总线带宽有密切关系。总线带宽是指总线的传输速率,是指每秒钟传输的最大字节数(MB/S),高带宽则意味着系统的高处理能力。下面给出了总线带宽的计算公式: 计算机组成原理
总线带宽=总线时钟频率×总线位数/8, • 从公式中我们可以看到,总线带宽的大小和时钟频率、总线位数有关。 • 例如,PCI总线为64位,时钟频率为66MHZ,那么总线的带宽为: • 66×64/8=512MB • 若按总线的使用范围划分,有计算机(包括外设)总线、测控总线、网络通信总线等。本部分主要介绍计算机总线。 计算机组成原理
7.2.1 总线分类 • 根据所连接部件的不同,计算机总线通常被分成三种类型:内部总线、系统总线和外部总线(又称为通信总线)。 • 1. 内部总线 • 指芯片内部连接各元件的总线。例如CPU芯片内部,在各个寄存器、ALU、指令部件等各元件之间也有总线相连。 计算机组成原理
2. 系统总线 • 系统总线是指CPU、主存、I/O(通过I/O接口)设备各大部件的信息传输线。这些部件通常安放在插件板上,故又称为板级总线和板间总线。 • 按系统传输信息的不同又可分为三类:数据总线、地址总线和控制总线。 • (1)数据总线 • 数据总线用来在各功能部件之间传输数据信息,它是双向的传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。 • 注意:数据总线的条数通常称为数据总线的宽度。 计算机组成原理
(2)地址总线 • 地址总线主要用来指出数据总线上源数据或目的数据在主存储单元或I/O端口的地址。地址总线为单向传输,其宽度一般为16位、24位或32位。 计算机组成原理
(3)控制总线 • 控制总线是用来传输各种控制信号的传输线。对于任何一条控制信号线而言,信号传输是单方向的,单在控制总线而言又可以认为是双向的,即控制信号既有输出也有输入。控制总线还可以起到监视各部件状态的作用,例如查询某个设备是否处于“忙”或“闲”的状态。 计算机组成原理
典型的控制信号包括: • 时钟(Clock):用于总线同步。 • 复位(Reset):初始化所有设备。 • 总线请求(Bus Request):表明发出该请求信号的设备要使用总线。 • 总线允许(Bus Grant):表明接收到该允许信号的设备可以使用总线。 • 中断请求(Interrupt Request):表明某个中断正在请求。 计算机组成原理
中断回答(Interrupt Request):表明某个中断请求已被接受。 • 存储器读(Memory Read):从指定的主存单元中读数据到数据总线上。 • 存储器写(Memory Write):将数据总线上的数据写到指定的主存单元中。 • I/O读(I/O Read):从指定的I/O端口中读数据到数据总线上。 • I/O写(I/O Write):将数据总线上的数据写到指定的I/O端口中。 • 传输确认(Transfer ACK):表示数据已被接收或已被送到总线上。 计算机组成原理
3. 外部总线 • 外部总线(通信总线)主要用于计算机系统之间,或计算机系统与其他系统(如控制仪表)之间的通信。 • 外部总线由于涉及到通信距离、传输速度、工作方式、外部工作环境等许多方面的因素,因此差别极大,种类也特别多,但按传输方式基本上可以分为并行传输和串行传输两种。 计算机组成原理
7.2.2总线结构 • 总线通常分为单总线、双总线、三总线和多总线四种。 • 1. 单总线结构 • 早期的计算机采用单总线结构方式。它将CPU、主存、I/O模块都挂接在一个总线上,CPU与主存、CPU与 I/O模块、主存与I/O模块之间的传送都通过一组总线进行。如图7-4所示。 计算机组成原理
图7-4 单总线结构 计算机组成原理
在数据传输需求量和速度要求不高的情况下,可以通过增加总线宽度和提高总线的时钟频率来解决总线瓶颈问题。但当总线上挂接了大量的高速设备(如:视频和图形控制器、LAN控制器等)后,单一总线就再也无法满足系统的要求了。因此,要解决既能为键盘、Modem等这些慢速设备传送数据,也能为高速设备传送数据,而且要把CPU从数据传送操作中解放出来,只有采用多总线结构,并根据数据传输的不同要求采用分层次的总线结构。在数据传输需求量和速度要求不高的情况下,可以通过增加总线宽度和提高总线的时钟频率来解决总线瓶颈问题。但当总线上挂接了大量的高速设备(如:视频和图形控制器、LAN控制器等)后,单一总线就再也无法满足系统的要求了。因此,要解决既能为键盘、Modem等这些慢速设备传送数据,也能为高速设备传送数据,而且要把CPU从数据传送操作中解放出来,只有采用多总线结构,并根据数据传输的不同要求采用分层次的总线结构。 计算机组成原理
2.双总线结构 • 在单总线的基础上再开辟一条CPU与主存之间的通路,形成以主存储器为中心的双总线结构,如图7-5所示。CPU与主存间的通路称为主存总线。该总线的速度较高,而且由于只在主存与CPU之间传输信息,因而速度快,效率高,又减轻了系统总线的负担。并且保证主存与I/O之间也能直接传送,而不需通过CPU。 计算机组成原理
图7-5 双总线结构 计算机组成原理
3.三总线结构 • 如果在上述以主存为中心的双总线结构中,将I/O设备和主存从系统总线上分离出来,将原先的系统总线分成主存总线和I/O总线。而在主存和高速的磁盘等设备之间引入一个专门的DMA总线,那么系统可构造一种三总线结构。如图7-6所示。在这种总线结构中,主存总线用于CPU和主存之间的信息传送,I/O总线用于CPU和各个I/O之间进行信息传输,DMA总线用于高速外设和主存之间的信息交换。在这种三总线结构中,DMA总线和主存总线不能同时用于访问主存。 计算机组成原理
图7-6 三总线结构 计算机组成原理
4. 多总线结构 • 三总线结构在I/O设备性能都相差不大的情况下比较有效,但随着计算机应用水平的不断提高,大量的高性能外设不断涌现,高速的视频图形设备、LAN和SCSI 设备等如果还和低速的串行接口、打印机等连在同一个总线上的话,那么势必会影响系统的效率。因此,典型的做法就是在主存总线和扩充I/O总线之间引入一种高速总线(如VESA总线、PCI总线等),将那些高速的大容量I/O设备挂接在这种高速总线上。而低速I/O设备仍然由扩充I/O总线支持。高性能多级总线结构示意图如图7-7 所示。 计算机组成原理
图7-7 高性能多级总线结构 计算机组成原理
5. 总线结构和计算机性能 • 在一个计算机系统中,采用哪种总线结构,往往对计算机系统的性能有很大影响。下面从三个方面来讨论这种影响。 • (1)最大存储容量 • 初看起来,一个计算机系统的最大存储容量似乎与总线无关,但实际上总线结构对最大存储容量也会产生一定的影响。 计算机组成原理
例如在单总线系统中,对主存和外设进行存取的差别仅仅在于出现在总线上的地址不同,为此必须为外围设备保留某些地址。由于某些地址必须用于外围设备,所以在单总线系统中,最大主存容量必须小于由计算机字长所决定的可能的地址总数。例如在单总线系统中,对主存和外设进行存取的差别仅仅在于出现在总线上的地址不同,为此必须为外围设备保留某些地址。由于某些地址必须用于外围设备,所以在单总线系统中,最大主存容量必须小于由计算机字长所决定的可能的地址总数。 • 在双总线系统中,对主存和外设进行存取的判断是利用各自的指令操作码。由于主存地址和外设地址出现于不同的总线上,所以存储容量不会受到外围设备多少的影响。 计算机组成原理
(2)指令系统 • 在双总线系统中,CPU对存储总线和系统总线必须有不同的指令系统,这是因为操作码规定了要使用哪一条总线,所以在双总线系统中,访存操作和输入/输出操作各有不同的指令。 • 另一方面,在单总线系统中,访问主存和1/O传送可使用相同的操作码,或者说使用相同的指令,但它们使用不同的地址。 计算机组成原理
(3)吞吐量 • 计算机系统的吞吐量是指流入、处理和流出系统的信息的速率。它取决于信息能够多快地输入内存,CPU能够多快地取指令,数据能够多快地从内存取出或存入,以及所得结果能够多快地从内存送给一台外围设备。这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。 • 由于上述原因,采用双端口存储器可以增加主存的有效速度。 计算机组成原理
7.2.3总线结构举例 • 图7-8是一个典型的多处理器系统的PCI配置。它反映了PCI总线、扩展总线、处理器与主存间总线的基本关系。Host/PCI桥,常称为北桥(North Bridge),用于连接主处理器总线和第一级PCI总线。PCI/E(ISA)桥常称为南桥(South Bridge),用于连接PCI总线和E(ISA)总线。南桥中通常含有中断控制器、IDE控制器、USB主控制器和DMA控制器。北桥和南桥构成一个芯片组。在PCI总线和PCI总线之间可以嵌入一个或多个PCI/PCI桥。 计算机组成原理
思考:结合个人使用的计算机,请区分内部总线、系统总线和外部总线。思考:结合个人使用的计算机,请区分内部总线、系统总线和外部总线。 图7-8 计算机总线结构应用结构图 计算机组成原理
7.3 总线标准 • 主板上的“处理器-主存”总线经常是特定的专用总线,而用于连接各种I/O模块的I/O总线通常是标准总线,这些标准为计算机制造商和外围设备制造商提供了一种规范。有了总线标准,不同厂商可以按照同样的标准和规范生产各种不同功能的芯片、模块和整机,用户可以根据功能需求去选择不同厂家生产的、基于同种总线标准的模块和设备,甚至可以按照标准自行设计功能特殊的专用模块和设备,以组成自己所需的应用系统。这样可使芯片级、模块级、设备级等各级别的产品都具有兼容性和互换性,以使整个计算机系统的可维护性和可扩充性得到充分保证。 计算机组成原理
7.3.1标准总线简介 • 计算机标准总线发展经历了ISA(Industrial Standard Architecture)、EISA(Extended Industrial Standard Architecture)、VESA(Vedio Electronic Standard Association)、PCI(Peripheral Component Interconnect)、PCI-Express等阶段,其中PCI-Express是最新应用的标准总线,各类标准总线的总线性能见表7-1所示。 计算机组成原理
表7-1微型计算机标准总线性能 计算机组成原理
各种标准总线之间尽管在设计细节上有很多不同,并且各有特点,但从总体上看,无论哪种总线,在其规范中都包含了信号系统、电气特性和机械物理特性等。而信号系统的规定中通常又包含信号分类、数据宽度、地址空间、传输速率、总线仲裁、握手协议、总线定时、事务类型等内容。PCI和PCI-Express标准总线是目前被广泛应用的总线。所以本节只对PCI总线和PCI-Express总线作较为详细的介绍。各种标准总线之间尽管在设计细节上有很多不同,并且各有特点,但从总体上看,无论哪种总线,在其规范中都包含了信号系统、电气特性和机械物理特性等。而信号系统的规定中通常又包含信号分类、数据宽度、地址空间、传输速率、总线仲裁、握手协议、总线定时、事务类型等内容。PCI和PCI-Express标准总线是目前被广泛应用的总线。所以本节只对PCI总线和PCI-Express总线作较为详细的介绍。 计算机组成原理
PCI总线 7.32 • PCI(Peripheral Component Interconnect)总线是继VESA总线之后推出的一种高性能的32位局部总线。它是Intel公司于1991年底提出的,后来Intel公司又联合IBM、DEC、Apple、Compaq、Motorola等100多家PC工业界的主要厂家,于1992年成立了PCI集团,称为PCISIG(PCI特殊兴趣组织),组成了专门小组,统筹、强化和推广PCI标准。由于PCI规范是公开的,而且它受到许多微处理器和外围设备生产商的支持,因此不同厂家生产的PCI产品是相互兼容的。 计算机组成原理
PCI总线作为CPU和外设之间的一个中间层,一个或多个PCI总线通过PCI桥(PCI控制器)和处理器总线相连,而处理器总线只连接处理器/Cache、主存储器和PCI桥。所以PCI桥的使用使PCI总线独立于处理器,并且PCI桥提供了数据缓冲功能。例如,当处理器要访问PCI总线上的外设时,它可以把一批数据快速写到PCI桥的数据缓冲器中,在这些数据通过PCI总线写入设备的过程中,处理器又可以去执行其他操作了。这种并发工作方式提高了系统的整体性能。PCI总线作为CPU和外设之间的一个中间层,一个或多个PCI总线通过PCI桥(PCI控制器)和处理器总线相连,而处理器总线只连接处理器/Cache、主存储器和PCI桥。所以PCI桥的使用使PCI总线独立于处理器,并且PCI桥提供了数据缓冲功能。例如,当处理器要访问PCI总线上的外设时,它可以把一批数据快速写到PCI桥的数据缓冲器中,在这些数据通过PCI总线写入设备的过程中,处理器又可以去执行其他操作了。这种并发工作方式提高了系统的整体性能。 计算机组成原理
PCI总线可以在主板上和其他系统总线(如:ISA、EISA或MCA)相连接,这样使得系统中的高速设备挂接在PCI总线上,而低速设备仍然通过ISA、EISA等这些低速I/O总线支持。在高速的PCI总线和低速的EISA总线之间也是通过PCI桥相连接的。一个系统中甚至可以有多个PCI总线,PCI总线之间也是用相应的PCI桥连接,结构效果如图7-9所示。PCI总线可以在主板上和其他系统总线(如:ISA、EISA或MCA)相连接,这样使得系统中的高速设备挂接在PCI总线上,而低速设备仍然通过ISA、EISA等这些低速I/O总线支持。在高速的PCI总线和低速的EISA总线之间也是通过PCI桥相连接的。一个系统中甚至可以有多个PCI总线,PCI总线之间也是用相应的PCI桥连接,结构效果如图7-9所示。 计算机组成原理
图7-9 PCI总线结构 计算机组成原理
下面对PCI总线的信号线、PCI命令等内容作简要介绍。下面对PCI总线的信号线、PCI命令等内容作简要介绍。 1.信号线 计算机组成原理