有人说系统总线是前端总线,有人又说是外频,到底系统总线是什么呢???还有总线频率是否是系统总线的频率????
朋友:
前端总线 FSB
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以MHz表示的速度来描述总线频率。总线的种类很多,前端总线的英文名字是Front Side Bus,通常用FSB表示,是将CPU连接到北桥芯片的总线。选购主板和CPU时,要注意两者搭配问题,一般来说,如果CPU不超频,那么前端总线是由CPU决定的,如果主板不支持CPU所需要的前端总线,系统就无法工作。也就是说,需要主板和CPU都支持某个前端总线,系统才能工作,只不过一个CPU默认的前端总线是唯一的,因此看一个系统的前端总线主要看CPU就可以。
北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz几种,前端总线频率越大,代表着CPU与北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。现在的CPU技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给CPU,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。显然同等条件下,前端总线越快,系统性能越好。
外频与前端总线频率的区别:前端总线的速度指的是CPU和北桥芯片间总线的速度,更实质性的表示了CPU和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PCI及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。这些技术的原理类似于AGP的2X或者4X,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。此外,在前端总线中比较特殊的是AMD64的HyperTransport。
系统总线
微型计算机都采用总线结构。所谓总线就是用来传送信息的一组通信线。微型计算机通过系统总线将各部件连接到一起,实现了微型计算机内部各部件间的信息交换。一般情况下,CPU提供的信号需经过总线形成电路形成系统总线。系统总线按照传递信息的功能来分,分为地址总线、数据总线和控制总线。这些总线提供了微处理器(CPU)与存贮器、输入输出接口部件的连接线。可以认为,一台微型计算机就是以CPU为核心,其它部件全"挂接"在与CPU相连接的系统总线上。这种总线结构形式,为组成微型计算机提供了方便。人们可以根据自己的需要,将规模不一的内存和接口接到系统总线上,很容易形成各种规模的微型计算机。系统总线在微型计算机中的地位,如同人的神经中枢系统,CPU通过系统总线对存贮器的内容进行读写,同样通过总线,实现将CPU内数据写入外设,或由外设读入CPU。
需要理解的是:地址总线是专门用于传递地址信息的,它必定是由CPU发出的。因此是单方向,即由CPU发出,传送到各个部件或外设,每个存储单元都有一个固定的地址编码,一个外部设备则常常有多个地址编码,在一台微型机中所有地址编码都是不相重合的.8位微型机中,地址总线16条,最大存储器编码有=64K个,而16位微型机的地址总线是20条,最大内存编码为=1M个。数据线用来传送数据信号,它是双向的,即数据既可以由CPU送到存储器和外设,也可以由存储器和外设送到CPU。数据总线的位数(也称总线宽度)是微型计算机的一个重要指标.它与CPU的位数相对应。但数据的含义是广义的,数据线上传送的信号不一定是真正的数据,可以是指令码、状态量、也可以是一个控制量。控制总线是用于传送控制信号的,其中包括CPU送往存储器和输入/输出接口电路的控制信号如读信号、写信号、中断响应信号、中断请求信号、准备就绪信号等。从前图可以看出,微型计算机实质上就是把CPU、存储器和输入/输出接口电路正确的连接到系统总线上,而计算机应用系统的硬件设计本质上是外部设备同系统总线之间的总线接口电路设计问题,这种总线结构设计是计算机硬件系统的一个特点。有关系统总线的详细介绍见本章第三节。由于上述的总线是用来实现微型计算机内部各部件之间信息交换的,所以系统总线也称为微型计算机的内(部)总线。与内总线相对应的还有一个外(部)总线概念。外部总线是指用于实现计算机同计算机,或计算机同其它外部设备之间信息交换的信号传输线
前端总线 FSB
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以MHz表示的速度来描述总线频率。总线的种类很多,前端总线的英文名字是Front Side Bus,通常用FSB表示,是将CPU连接到北桥芯片的总线。选购主板和CPU时,要注意两者搭配问题,一般来说,如果CPU不超频,那么前端总线是由CPU决定的,如果主板不支持CPU所需要的前端总线,系统就无法工作。也就是说,需要主板和CPU都支持某个前端总线,系统才能工作,只不过一个CPU默认的前端总线是唯一的,因此看一个系统的前端总线主要看CPU就可以。
北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz几种,前端总线频率越大,代表着CPU与北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。现在的CPU技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给CPU,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。显然同等条件下,前端总线越快,系统性能越好。
外频与前端总线频率的区别:前端总线的速度指的是CPU和北桥芯片间总线的速度,更实质性的表示了CPU和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PCI及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。这些技术的原理类似于AGP的2X或者4X,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。此外,在前端总线中比较特殊的是AMD64的HyperTransport。
系统总线
微型计算机都采用总线结构。所谓总线就是用来传送信息的一组通信线。微型计算机通过系统总线将各部件连接到一起,实现了微型计算机内部各部件间的信息交换。一般情况下,CPU提供的信号需经过总线形成电路形成系统总线。系统总线按照传递信息的功能来分,分为地址总线、数据总线和控制总线。这些总线提供了微处理器(CPU)与存贮器、输入输出接口部件的连接线。可以认为,一台微型计算机就是以CPU为核心,其它部件全"挂接"在与CPU相连接的系统总线上。这种总线结构形式,为组成微型计算机提供了方便。人们可以根据自己的需要,将规模不一的内存和接口接到系统总线上,很容易形成各种规模的微型计算机。系统总线在微型计算机中的地位,如同人的神经中枢系统,CPU通过系统总线对存贮器的内容进行读写,同样通过总线,实现将CPU内数据写入外设,或由外设读入CPU。
需要理解的是:地址总线是专门用于传递地址信息的,它必定是由CPU发出的。因此是单方向,即由CPU发出,传送到各个部件或外设,每个存储单元都有一个固定的地址编码,一个外部设备则常常有多个地址编码,在一台微型机中所有地址编码都是不相重合的.8位微型机中,地址总线16条,最大存储器编码有=64K个,而16位微型机的地址总线是20条,最大内存编码为=1M个。数据线用来传送数据信号,它是双向的,即数据既可以由CPU送到存储器和外设,也可以由存储器和外设送到CPU。数据总线的位数(也称总线宽度)是微型计算机的一个重要指标.它与CPU的位数相对应。但数据的含义是广义的,数据线上传送的信号不一定是真正的数据,可以是指令码、状态量、也可以是一个控制量。控制总线是用于传送控制信号的,其中包括CPU送往存储器和输入/输出接口电路的控制信号如读信号、写信号、中断响应信号、中断请求信号、准备就绪信号等。从前图可以看出,微型计算机实质上就是把CPU、存储器和输入/输出接口电路正确的连接到系统总线上,而计算机应用系统的硬件设计本质上是外部设备同系统总线之间的总线接口电路设计问题,这种总线结构设计是计算机硬件系统的一个特点。有关系统总线的详细介绍见本章第三节。由于上述的总线是用来实现微型计算机内部各部件之间信息交换的,所以系统总线也称为微型计算机的内(部)总线。与内总线相对应的还有一个外(部)总线概念。外部总线是指用于实现计算机同计算机,或计算机同其它外部设备之间信息交换的信号传输线
温馨提示:答案为网友推荐,仅供参考
第1个回答 2006-10-29
第三章 系统总线
第一节 总线的基本概念
总线是连接计算机内部多个部件之间的信息传输线,是各部件共享的传输介质。多个部件和总线相连,在某一时刻,只允许有一个部件向总线发送信号,而多个部件可以同时从总线上接收相同的信息。
总线是由许多传输线或通路组成,每条线可传输一位二进制代码,一串二进制代码可在一段时间内逐一传输完成。若干条传输线可以同时传输若干位二进制代码,如16条传输线组成的总线,可同时传输16位二进制代码。
总线结构有如下几种形式:
1.以CPU为中心的双总线结构
在这种结构中,存储总线(M总线)用来连接CPU和主存,输入/输出总线(I/O总线)用来建立CPU和各I/O之间交换信息的通道。各种I/O设备通过I/O接口挂到I/O总线上。这种结构在I/O设备与主存交换信息时仍然要占用CPU,因此会影响CPU的工作效率。
2.单总线结构
单总线(系统总线)
在这种结构中,将CPU、主存和I/O设备都挂到一组总线上, 形成单总线结构的计算机。这种结构最明显的特点就是,当I/O与主存交换信息时,原则上不影响CPU的工作,CPU仍可继续处理不访问主存或I/O的操作,这就使CPU工作效率有所提高。但是,因为只有一组总线,当某一时刻各部件都要占用时,就会出现争夺现象。
3.以存储器为中心的双总线结构
这种总线是在单总线基础上,又单独开辟一条CPU与主存之间的通路,叫存储总线。这组总线速度高,只供主存与CPU之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O与存储器交换信息时不经过CPU的特点。
第二节 总线的分类
总线的应用很广泛,从不同角度可以有不同的分类方法。按数据传送方式可分为并行传输总线和串行传输总线。在并行传输总线中,又可按传输数据宽度分8位、16位、32位、64位等传输总线。 若按总线的使用范围划分,则又有计算机总线、测控总线、网络通信总线等。下面按连接部件的不同,分几类介绍总线。
一、片内总线
片内总线是指芯片内部的总线,如在CPU芯片内部, 寄存器与寄存器之间、寄存器与算术逻辑单元之间都有总线连接。
二、系统总线
系统总线是指CPU、主存、I/O各大部件之间的信息传输线。按传输信息的不同,可分为三类:数据总线、地址总线和控制总线。
1.数据总线
数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关。数据总线的条数称为数据总线宽度,它是衡量系统性能的一个重要参数。
2.地址总线
地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址。它是单向传输的。地址线的位数与存储单元的个数有关,如地址线为20根,则对应的存储单元个数为220。
3.控制总线
控制总线是用来发出各种控制信号的传输线。常见的控制信号有:
时钟 用来同步各种操作
复位 表示各模块恢复初始状态
总线请求 表示某部件需获得总线使用权
总线允许 表示需要获得总线使用权的部件已获得了控制权
中断请求 表示某部件提出中断请求
中断确认 表示中断请求已被接收
存储器写 将数据总线上的数据写至存储器的指定地址单元内
存储器读 将指定存储单元中的数据读到数据总线上
I/O读 从指定的I/O端口将数据输出到指定的I/O端口内
I/O写 将数据总线上的数据输出到指定的I/O端口内
数据确认 表示数据已被接收或已读到总线上
三、通信总线
这类总线用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通讯等)之间的通信。
第三节 总线特性及性能指标
一、总线特性
1.机械特性
机械特性是指总线在机械方式上的一些性能,如插头与插座使用的标准,它们的几何尺寸、形状、引脚的个数以及排列的顺序,接头处的可靠接触等等。
2.电气特性
电气特性是指总线的每一根传输线上信号的传递方向和有效的电平范围。通常规定由CPU发出的信号叫输出信号,送入CPU的信号叫输入信号。总线的电平定义与TTL相符。如RS-232C(串行总线接口标准),其电气特性规定低电平表示逻辑“1”,并要求电平低于-3V;用高电平表示逻辑“0”,还要求高电平需高于+3V,额定信号电平为-10V和+10V左右。
3.功能特性
功能特性是指总线中每根传输线的功能,如地址总线用来指出地址号;数据总线传递数据;控制总线发出控制信号等。可见各条线其功能不一。
4.时间特性
时间特性是指总线中的任一根线在什么时间内有效。每条总线上的各种信号,互相存在着一种有效时序的关系,因此,时间特性一般可用信号时序图来描述。
二、总线性能指标
总线的性能指标包括:
(1)总线宽度:它是指数据总线的根数, 用bit(位)表示,如8位、16位、32位、64位。
(2)标准传输:即在总线上每秒能传输的最大字节量,用MB/s(每秒多少兆字节)表示。
(3)时钟同步/异步:总线上的数据与时钟同步工作的总线称同步总线,与时钟不同步工作的总线称为异步总线。
(4)总线复用: 通常地址总线与数据总线在物理上是分开的两种总线。地址总线传输地址码,数据总线传输数据信息。为了提高总线的利用率,优化设计,特将地址总线和数据总线共用一条物理线路,只是某一时刻该总线传输地址信号,另一时刻传输数据信号或命令信号。这叫总线的多路复用。
(5)信号线数: 即地址总线、数据总线和控制总线三种总线数的总和。
(6)总线控制方式: 包括并发工作、自动配置、仲裁方式、逻辑方式、计数方式等。
(7) 其他指标:如负载能力问题等。
下表列出了几种流行的微机总线性能
几种流行的微型计算机总线性能
名称 ISA(PC-AT) EISA STD VESA(VL-BUS) MCA PCI
适用机型 80286,
386,486
系列机 386,486,
586 IBM
系列机 Z-80,V20V40 IBM-PC系列机 I486,PC-AT兼容机 IBM个人机与工作站 P5个人机,PowerPC,
Alpha工作站
最大传输率 15MB/s 33MB/s 2MB/s 266MB/s 40MB/s 133MB/s
总线宽度 8MHz 32位 8位 32位 32位 32位
总线工作频率 8MHz 8.33MHz 2MHz 66MHz 10MHz 0~33MHz
同步方式 同步 异步 同步
仲裁方式 集中 集中 集中 集中
地址宽度 24 32 20 32/64
负载能力 8 6 无限制 6 无限制 3
信号线数 143 90 109 49
64位扩展 不可 无规定 不可 可 可 可
并发工作 可 可
引脚使用 非多路
复用 非多路
复用 非多路
复用 非多路
复用 多路
复用
三、总线标准
所谓总线标准,可视为系统与各模块、模块与模块之间一个互连的标准界面。这个界面对两端的模块都是透明的,即界面的任一方只需根据总线标准的要求完成自身一面接口的功能要求,而无需了解对方接口与总线的连接要求。因此,按总线标准设计的接口可视为通用接口。
目前流行的总线标准有:
(1)ISA(Industrial Standard Architecture)总线,又称AT总线,它采用独立于CPU的总线时钟,因此CPU可采用比总线频率更高的时钟,有利于CPU性能的提高。但ISA总线没有支持总线仲裁的硬件逻辑,因此不支持多台主设备系统, 且ISA上的所有数据的传送必须通过CPU或DMA接口来管理,因此使CPU花费了大量时间来控制与外部设备交换数据。ISA总线时钟频率为8MHz,最大传输率为16MB/s。
(2)EISA(Extended Industrial Standard Architecture)总线,是一种在ISA基础上扩充开放的总线标准, 它与ISA完全兼容,它从CPU中分离出了总线控制权,是一种智能化的总线,能支持多总线主控和突发方式的传输。 EISA总线的时钟频率为8MHz, 最大传输率可达33MB/s,数据总线为32位,地址总线为32位,扩充DMA访问。
(3)VL-BUS是由VESA(Video Electronic Standard Association 视频电子标准协会)提出的局部总线标准。 所谓局部总线是指在系统外,为两个以上模块提供的高速传输信息通道。 VL-Bus是由CPU总线演化而来的,采用CPU的时钟频率达33MHz、数据线为32位,配有局部控制器。通过局部控制的判断, 将高速I/O直接挂在CPU的总线上,实现CPU与高速外设之间的高速数据交换。
(4)PCI(Peripheral Component Interconnect外部设备互连总线)是由Intel公司提供的总线标准。它与CPU时钟频率无关,自身采用33MHz总线时钟,数据线为32位,可扩充到64位,数据传输率达132~246MB/s。它具有很好的兼容性,与ISA、EISA总线均可兼容,可以转换为标准的ISA、EISA。它能支持无限读写突发方式,速度比直接使用CPU总线的局部总线快。它可视为CPU与外设间的一个中间层,通过PCI桥路(PCI控制器)与CPU相连。
PCI控制器有多级缓冲,可把一批数据快速写入缓冲器中。在这些数据不断写入PCI设备过程中;CPU可以执行其他操作,即PCI总线上的外设与CPU可以并行工作。
PCI总线支持两种电压标准:5V与3.3V。 3.3V电压的PCI总线可用于便携式微机中。
EISA和PCI都具有即插即用的功能,即任何扩展卡只要插入系统便可工作,尤其是PCI采用的技术非常完善,它为用户提供了真正的即插即用功能。
第四节 总线结构
一、单总线结构
单总线结构如上图所示,它是将CPU、主存、I/O设备都挂在一组总线上,允许I/O之间、I/O与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高。这类总线多数为小型机或微型机所采用。计算机应用范围越扩大,其外部设备的种类和数量就越多,并且它们对数据传输的量和传输速度的要求也就越来越高。倘若仍然采用单总线结构,那么,当I/O设备量很大时, 总线发出的控制信号从一端逐个顺序传递到第n个设备, 其传播的延迟时间就会严重地影响系统的工作效率。在数据传输需求量和传输速度要求不太高的情况下,为克服总线瓶颈问题,尽可能采用增加总线宽度和提高传输速率来解决;但当总线上的设备如高速视频显示器、网络传输接口等,其数据量很大和传输速度要求相当高的时候,单总线结构怎么也满足不了系统工作的需要。因此,为了根本解决数据传输速率,解决CPU、主存与I/O设备之间传输速率的不匹配, 实现CPU于其他设备相对同步,不得不采用多总线结构。
二、多总线结构
1.双总线结构
双总线结构示意图
双总线结构的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。 通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存之间的数据传送,其系统的吞吐能力可以相当大。这种结构大多用于大、中型计算机系统。
如果将速率不同的I/O设备进行分类, 然后将它们连接在不同的通道上,那么计算机系统的利用率将会更高,由此发展成多总线结构。
三总线结构
在如上图所示的三总线结构中, 主存总线用于CPU与主存之间的传输;I/O总线供CPU与各类I/O之间传递信息;DMA总线用于高速外设(磁盘、磁带等)与主存之间直接交换信息。在三总线结构中,任一时刻只能使用一种总线。 主存总线与DMA总线不能同时对主存进行存取,I/O总线只有在CPU执行I/O指令时才用到。
下图是另一种三总线结构图。
由图可见,处理器与高速缓冲存储器Cache之间有一条局部总线,它将CPU与Cache或与更多的局部设备连接。Cache的控制机构不仅将Cache连到局部总线上,而且还直接连到系统总线上,这样Cache就可通过系统总线与主存传输信息。而且I/O与主存之间的传输也不必通过CPU。还有一条扩展总线,它将局域网、小型计算机接口(SCSI)、调制解调器(Modem)以及串行接口等都连接起来,并且通过这些接口又可与各类I/O设备相连,因此它可以支持相当多的I/O设备。与此同时,扩展总线又通过扩展总线接口与系统总线相连,由此便可实现这两种总线之间的信息传递,可便其系统的工作效率明显地提高。
为了进一步提高I/O的性能,使其更快地响应命令,又出现了四总线结构,如下图所示。
四总线结构
在这里又增加了一条与计算机系统紧密相连的高速总线。在高速总线上挂接了一些高速性能的外设,如高速局域网、图形工作站、多媒体、SCSI等。 它们通过Cache控制机构中的高速总线桥或高速缓冲器与系统总线和局部总线相连,使得这些高速设备与处理器更密切。而一些较低速的设备如图文传真FAX、 调制解调器及串行接口仍然挂在扩展总线上,并由扩展总线接口与高速总线相连。
这种结构对高速设备而言,其自身的工作可以很少依赖处理器,同时它们又比扩展总线上的设备更贴近处理器,可见对于高性能设备与处理器来说,各自的效率将获得更大的提高。在这种结构中,处理器、高速总线的速度以及各自信号线的定义完全可以不同,以至各自改变其结构也于会影响高速总线的正常工作,反之亦然。
三、总线结构举例
下图是传统微机总线的结构示意。
由图可见,不论高速局域网、高性能图形还是低速的FAX、Modem都挂接在ISA或EISA总线上,并通过ISA或EISA总线控制器与系统总线相连,这样势必出现总线数据传输的瓶颈。只有将高速、高性能的外设,如高速局域网、高性能图形等尽量靠近CPU本身的总线,并与CPU同步或准同步,才可能消除瓶颈问题。这就要求改变总线结构,来提高数据传送速率,为此,出现了如下图所示的VL-BUS局部总线结构。
由图可见,将原先挂在ISA总线上的高速局域网、多媒体卡、高性能图形板等从ISA总线卸下来,挂到局部总线VL-BUS上,再与系统总线相连。而将打印机、FAX、Modem等低速设备仍挂在ISA总线上。局部总线VL-BUS就相当于在处理器与高速外设之间架上了高速通道,使CPU与高性能外设得到充分发挥,满足了图形界面软件的要求。
由于VL-BUS是从CPU总线演化来的,与CPU的关系太紧密(实际上这种总线与486配合最佳),以至很难支持功能强的CPU,从而出现了PCI总线。
下图是PCI总线结构示意图。
从此图可见,PCI总线是通过PCI桥路(包括PCI控制器和PCI加速器)与CPU总线相连。这种结构使CPU总线与PCI总线互相隔离,具有更高的灵活性,可以支持更多的高速运行设备,而且具有即插即用的特性。当然,挂在PCI总线上的设备都要求数据传输速率高的设备,如多媒体卡、高速局域网适配器、高性能图形板等,与高速CPU总线是相匹配的。至于低速的FAX、Modem、打印机仍然挂在ISA、EISA总线上。
第五节 总线控制
总线控制主要包括判优控制和通信控制。
一、总线判优控制
总线上所连接的各类设备,按其对总线有无控制功能可分为主设备和从设备两种。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令。总线上信息的传送是由主设备启动的,如某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序,确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。
总线判优控制可分集中式和分布式两种,前者将控制逻辑集中在一处(如在CPU中),后者将控制逻辑分散在与总线连接的各个部件或设备上。
常见的集中控制有三种优先权仲裁方式:
1.链式查询
链式查询方式如下图所示。
图中控制总线中有三根线用于总线控制(BS总线忙;BR总线请求、BG总线同意),其中总线同意信号BG是串行地从一个I/O接口送到下一个I/O接口。如果BG到达的接口有总线请求,BG信号就不再往下传。意味着该接口获得了总线使用权,并建立总线忙BS信号,表示它占用了总线。可见在查询链中,离总线控制部件最近的设备具有最高的优先级。这种方式的特点是:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感。
2.计数器定时查询
计数器定时查询方式如下图所示。
它与链式查询方式相比,多了一组设备地址线,少了一根总线同意线BG。总线控制部件接到由BR送来的总线请求信号后,在总线未被使用(BS=0)的情况下,由计数器开始计数,向各设备发出一组地址信号。当某个有总线请求的设备地址与计数值一致时,便获得总线使用权,此时终止计数查询。这种方式的特点是:计数可以从“0”开始,此时设备的优先次序是固定的;计数也可以从终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;计数器的初始值还可由程序设置,故优先次序可以改变。此外,对电路故障不如链式查询方式敏感,但增加了主控制线(设备地址)数,控制也较复杂。
3.独立请求方式
独立请求方式如下图所示。
由图可见,每一设备均有一对总线请求线BRi和总线同意线BGi。当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先次序确定响应哪一设备的请求。这种方式的特点是:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。
链式查询中仅用两根线确定总线使用权属于哪个设备,在计数查询中大致用1og2n根线,其中n是允许接纳的最大设备数,而独立请求方式需采用2n根线。
二、总线通信控制
众多部件共享总线,在争夺总线使用权时,只能按各部件的优先等级来解决。而在传送通信时间上,按分时方式来解决,即哪个部件获得使用,此刻就由它传送,下一部件获得使用,接着下一时刻传送。这样一个接一个轮流交替传送。
总线在完成一次传输周期时,可分为四个阶段:
•申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授于某一申请者;
•寻址阶段:取得了使用权的主模块,通过总线发出本次打算访问的从模块(或从设备)的存储地址或设备地址及有关命令,启动参与本次传输的从模块;
•传数阶段:主模块和从模块进行数据交换,数据由源模块发出经数据总线流入目的模块;
•结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
对于仅有2个主模块的简单系统,就无需申请、分配和撤除了,总线使用权始终归它占有。对于包含中断、DMA控制或多处理器的系统,还得有某种分配管理机构来参与。
总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。一般常用四种方式:同步通信、异步通信、半同步通信和分离式通信。
1.同步通信
通信双方由统一时标控制数据传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步。
同步式数据输入传输
上图表示某个输入设备向CPU传输数据的同步通信过程。
图中总线传输周期是总线上两个部件完成一次完整而可靠的传输时间,它包含4个时钟周期T1、T2、T3、T4。
主模块在T1时刻发出地址信息;T2时刻发出读命令;从模块按照所指定的地址和命令进行一系列内部动作,必须在T3时刻前找到CPU所需的数据,并送到数据总线上;CPU在T3时刻开始,一直维持到T4时刻,可以从数据线上获取信息并送到其内部寄存器中;T4时刻开始输入设备不再向数据总线上传送数据,撤消它对数据总线的驱动。如果总线采用三态驱动电路,则从T4起,数据总线呈浮空状态。
同步通信在系统总线设计时,T1、T2、T3、T4都有明确的、惟一的规定。
对于读命令,其传输周期为:
T1 主模块发地址;
T2 主模块发读命令;
T3 从模块提供数据;
T4 主模块撤消读命令。
对于写命令,其传输周期为:
T1 主模块发地址;
T1.5 主模块提供数据;
T2 主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中:
T4 主模块撤消写命令和数据等信号。
写命令的时序如下图所示。
这种通信的优点是规定明确、统一,模块间的配合简单一致。其缺点是主从模块时间配合属强制性“同步”,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成对各不相同速度的部件而言,必须按最慢速度部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。
同步通信一般用于总线长度较短,各部件存取时间比较一致的场合。
2.异步通信
异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。它没有公共的时钟标准;不要求所有部件严格的统一动作时间,而是采用应答方式(又称握手方式),即当主模块发出请求(Request)信号时,一直等待从模块反馈回来“响应”(Acknowledge)信号后才开始通信。当然,这就要求主从模块之间增加两条应答线(即握手交互信号线Handshaking)。
异步通信方式可分为不互锁、半互锁和全互锁三种类型,如下图所示。
(1)不互锁方式。主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间。确认从模块已收到请求信号后,便撤消其请求信号;从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,确认主设备已收到回答信号后,自动撤消回答信号。可见通信双方并无互锁关系。
(2)半互锁方式。主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系:而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,无互锁关系。故称半互锁方式。
(3)全互锁方式。主模块发出请求信号,待从模块回答后再撤其请求信号;从模块发出回答信号,待主模块获知后,再撤消其回答信号。故称全互锁方式。
3.半同步通信
半同步通信集同步与异步通信之优点,既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别。同时又像异步通信那样,允许不同速度的模块和谐地工作。为此增设了一条“等待”( )响应信号线。
以读命令为例,在同步通信中,主模块在T1发出地址,T2发出命令,T3传输数据,T4结束传输。倘若从模块工作速度较慢,无法在T3时刻提供数据,则必须在T3之前通知主模块,使其进入等待状态,此刻,从模块置 为低电平有效。主模块在T3测得“等待”有效,则不立即从数据线上取数,这样一个时钟周期、一个时钟周期地等待,直到主模块测得 为高电平即等待无效时,主模块即把此刻的下一周期当作正常周期T3,即时获取数据,T4结束传输。
半同步通信时序可为:
T1 主模块发地址;
T2 主模块发命令;
Tw 当 为低电平有效时,进入等待,其间隔与T统一;
Tw 当 为低电平有效时,进入等待,其间隔与T统一;
……
T3 从模块提供数据(若属读命令);
T4 从模块撤消数据。
半同步通信适用于系统工作速度不高,但又包含了许多工作速度差异较大的各类设备的简单系统。半同步通信控制方式比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还是不很高。
4.分离式通信
分离式通信的基本思想是将一个传输周期(或总线周期)分解为两个子周期。在第一个子周期中,主模块A在获得总线使用权后将命令、地址以及其他的有关信息,包括该主模块编号(当有多个主模块时,此编号尤为重要)发到系统总线上,经总线传输后,由有关的从模块B接收下来。主模块A向系统总线发布这些信息只占用总线很短的时间,一旦发送完,立即放弃总线使用权,以便其他模块使用。在第二个子周期中,当B模块收到A模块发来的有关命令信号后,经选择、译码、读取等一系列内部操作,将A模块所需的数据准备好,便由B模块申请总线使用权,一旦获准,B模块便将A模块的编号、B模块的地址,A模块所需的数据令系列信息送到总线上,供A模块接收。很明显,上述两个传输子周期都只有单方向的信息流,每个模块都变成了主模块。
这种通信方式的特点是:①各模块欲占用总线使用权都必须提出申请;②在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号;②各模块在准备数据传送的过程中都不占用总线,使总线可接受其他块的请求;④总线被占用时都在作有效工作,或者通过它发命令,或者通过它传送数据,不存在空闲等待时间,最充分地发挥了总线的有效占用。从而实现了总线为多个主从模块间进行信息交叉重叠并行式传送,这对大型计算机系统是极为重要的。当然,这种方式控制比较复杂,一般在普通微机系统很少采用。
第一节 总线的基本概念
总线是连接计算机内部多个部件之间的信息传输线,是各部件共享的传输介质。多个部件和总线相连,在某一时刻,只允许有一个部件向总线发送信号,而多个部件可以同时从总线上接收相同的信息。
总线是由许多传输线或通路组成,每条线可传输一位二进制代码,一串二进制代码可在一段时间内逐一传输完成。若干条传输线可以同时传输若干位二进制代码,如16条传输线组成的总线,可同时传输16位二进制代码。
总线结构有如下几种形式:
1.以CPU为中心的双总线结构
在这种结构中,存储总线(M总线)用来连接CPU和主存,输入/输出总线(I/O总线)用来建立CPU和各I/O之间交换信息的通道。各种I/O设备通过I/O接口挂到I/O总线上。这种结构在I/O设备与主存交换信息时仍然要占用CPU,因此会影响CPU的工作效率。
2.单总线结构
单总线(系统总线)
在这种结构中,将CPU、主存和I/O设备都挂到一组总线上, 形成单总线结构的计算机。这种结构最明显的特点就是,当I/O与主存交换信息时,原则上不影响CPU的工作,CPU仍可继续处理不访问主存或I/O的操作,这就使CPU工作效率有所提高。但是,因为只有一组总线,当某一时刻各部件都要占用时,就会出现争夺现象。
3.以存储器为中心的双总线结构
这种总线是在单总线基础上,又单独开辟一条CPU与主存之间的通路,叫存储总线。这组总线速度高,只供主存与CPU之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O与存储器交换信息时不经过CPU的特点。
第二节 总线的分类
总线的应用很广泛,从不同角度可以有不同的分类方法。按数据传送方式可分为并行传输总线和串行传输总线。在并行传输总线中,又可按传输数据宽度分8位、16位、32位、64位等传输总线。 若按总线的使用范围划分,则又有计算机总线、测控总线、网络通信总线等。下面按连接部件的不同,分几类介绍总线。
一、片内总线
片内总线是指芯片内部的总线,如在CPU芯片内部, 寄存器与寄存器之间、寄存器与算术逻辑单元之间都有总线连接。
二、系统总线
系统总线是指CPU、主存、I/O各大部件之间的信息传输线。按传输信息的不同,可分为三类:数据总线、地址总线和控制总线。
1.数据总线
数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关。数据总线的条数称为数据总线宽度,它是衡量系统性能的一个重要参数。
2.地址总线
地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址。它是单向传输的。地址线的位数与存储单元的个数有关,如地址线为20根,则对应的存储单元个数为220。
3.控制总线
控制总线是用来发出各种控制信号的传输线。常见的控制信号有:
时钟 用来同步各种操作
复位 表示各模块恢复初始状态
总线请求 表示某部件需获得总线使用权
总线允许 表示需要获得总线使用权的部件已获得了控制权
中断请求 表示某部件提出中断请求
中断确认 表示中断请求已被接收
存储器写 将数据总线上的数据写至存储器的指定地址单元内
存储器读 将指定存储单元中的数据读到数据总线上
I/O读 从指定的I/O端口将数据输出到指定的I/O端口内
I/O写 将数据总线上的数据输出到指定的I/O端口内
数据确认 表示数据已被接收或已读到总线上
三、通信总线
这类总线用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通讯等)之间的通信。
第三节 总线特性及性能指标
一、总线特性
1.机械特性
机械特性是指总线在机械方式上的一些性能,如插头与插座使用的标准,它们的几何尺寸、形状、引脚的个数以及排列的顺序,接头处的可靠接触等等。
2.电气特性
电气特性是指总线的每一根传输线上信号的传递方向和有效的电平范围。通常规定由CPU发出的信号叫输出信号,送入CPU的信号叫输入信号。总线的电平定义与TTL相符。如RS-232C(串行总线接口标准),其电气特性规定低电平表示逻辑“1”,并要求电平低于-3V;用高电平表示逻辑“0”,还要求高电平需高于+3V,额定信号电平为-10V和+10V左右。
3.功能特性
功能特性是指总线中每根传输线的功能,如地址总线用来指出地址号;数据总线传递数据;控制总线发出控制信号等。可见各条线其功能不一。
4.时间特性
时间特性是指总线中的任一根线在什么时间内有效。每条总线上的各种信号,互相存在着一种有效时序的关系,因此,时间特性一般可用信号时序图来描述。
二、总线性能指标
总线的性能指标包括:
(1)总线宽度:它是指数据总线的根数, 用bit(位)表示,如8位、16位、32位、64位。
(2)标准传输:即在总线上每秒能传输的最大字节量,用MB/s(每秒多少兆字节)表示。
(3)时钟同步/异步:总线上的数据与时钟同步工作的总线称同步总线,与时钟不同步工作的总线称为异步总线。
(4)总线复用: 通常地址总线与数据总线在物理上是分开的两种总线。地址总线传输地址码,数据总线传输数据信息。为了提高总线的利用率,优化设计,特将地址总线和数据总线共用一条物理线路,只是某一时刻该总线传输地址信号,另一时刻传输数据信号或命令信号。这叫总线的多路复用。
(5)信号线数: 即地址总线、数据总线和控制总线三种总线数的总和。
(6)总线控制方式: 包括并发工作、自动配置、仲裁方式、逻辑方式、计数方式等。
(7) 其他指标:如负载能力问题等。
下表列出了几种流行的微机总线性能
几种流行的微型计算机总线性能
名称 ISA(PC-AT) EISA STD VESA(VL-BUS) MCA PCI
适用机型 80286,
386,486
系列机 386,486,
586 IBM
系列机 Z-80,V20V40 IBM-PC系列机 I486,PC-AT兼容机 IBM个人机与工作站 P5个人机,PowerPC,
Alpha工作站
最大传输率 15MB/s 33MB/s 2MB/s 266MB/s 40MB/s 133MB/s
总线宽度 8MHz 32位 8位 32位 32位 32位
总线工作频率 8MHz 8.33MHz 2MHz 66MHz 10MHz 0~33MHz
同步方式 同步 异步 同步
仲裁方式 集中 集中 集中 集中
地址宽度 24 32 20 32/64
负载能力 8 6 无限制 6 无限制 3
信号线数 143 90 109 49
64位扩展 不可 无规定 不可 可 可 可
并发工作 可 可
引脚使用 非多路
复用 非多路
复用 非多路
复用 非多路
复用 多路
复用
三、总线标准
所谓总线标准,可视为系统与各模块、模块与模块之间一个互连的标准界面。这个界面对两端的模块都是透明的,即界面的任一方只需根据总线标准的要求完成自身一面接口的功能要求,而无需了解对方接口与总线的连接要求。因此,按总线标准设计的接口可视为通用接口。
目前流行的总线标准有:
(1)ISA(Industrial Standard Architecture)总线,又称AT总线,它采用独立于CPU的总线时钟,因此CPU可采用比总线频率更高的时钟,有利于CPU性能的提高。但ISA总线没有支持总线仲裁的硬件逻辑,因此不支持多台主设备系统, 且ISA上的所有数据的传送必须通过CPU或DMA接口来管理,因此使CPU花费了大量时间来控制与外部设备交换数据。ISA总线时钟频率为8MHz,最大传输率为16MB/s。
(2)EISA(Extended Industrial Standard Architecture)总线,是一种在ISA基础上扩充开放的总线标准, 它与ISA完全兼容,它从CPU中分离出了总线控制权,是一种智能化的总线,能支持多总线主控和突发方式的传输。 EISA总线的时钟频率为8MHz, 最大传输率可达33MB/s,数据总线为32位,地址总线为32位,扩充DMA访问。
(3)VL-BUS是由VESA(Video Electronic Standard Association 视频电子标准协会)提出的局部总线标准。 所谓局部总线是指在系统外,为两个以上模块提供的高速传输信息通道。 VL-Bus是由CPU总线演化而来的,采用CPU的时钟频率达33MHz、数据线为32位,配有局部控制器。通过局部控制的判断, 将高速I/O直接挂在CPU的总线上,实现CPU与高速外设之间的高速数据交换。
(4)PCI(Peripheral Component Interconnect外部设备互连总线)是由Intel公司提供的总线标准。它与CPU时钟频率无关,自身采用33MHz总线时钟,数据线为32位,可扩充到64位,数据传输率达132~246MB/s。它具有很好的兼容性,与ISA、EISA总线均可兼容,可以转换为标准的ISA、EISA。它能支持无限读写突发方式,速度比直接使用CPU总线的局部总线快。它可视为CPU与外设间的一个中间层,通过PCI桥路(PCI控制器)与CPU相连。
PCI控制器有多级缓冲,可把一批数据快速写入缓冲器中。在这些数据不断写入PCI设备过程中;CPU可以执行其他操作,即PCI总线上的外设与CPU可以并行工作。
PCI总线支持两种电压标准:5V与3.3V。 3.3V电压的PCI总线可用于便携式微机中。
EISA和PCI都具有即插即用的功能,即任何扩展卡只要插入系统便可工作,尤其是PCI采用的技术非常完善,它为用户提供了真正的即插即用功能。
第四节 总线结构
一、单总线结构
单总线结构如上图所示,它是将CPU、主存、I/O设备都挂在一组总线上,允许I/O之间、I/O与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高。这类总线多数为小型机或微型机所采用。计算机应用范围越扩大,其外部设备的种类和数量就越多,并且它们对数据传输的量和传输速度的要求也就越来越高。倘若仍然采用单总线结构,那么,当I/O设备量很大时, 总线发出的控制信号从一端逐个顺序传递到第n个设备, 其传播的延迟时间就会严重地影响系统的工作效率。在数据传输需求量和传输速度要求不太高的情况下,为克服总线瓶颈问题,尽可能采用增加总线宽度和提高传输速率来解决;但当总线上的设备如高速视频显示器、网络传输接口等,其数据量很大和传输速度要求相当高的时候,单总线结构怎么也满足不了系统工作的需要。因此,为了根本解决数据传输速率,解决CPU、主存与I/O设备之间传输速率的不匹配, 实现CPU于其他设备相对同步,不得不采用多总线结构。
二、多总线结构
1.双总线结构
双总线结构示意图
双总线结构的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。 通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存之间的数据传送,其系统的吞吐能力可以相当大。这种结构大多用于大、中型计算机系统。
如果将速率不同的I/O设备进行分类, 然后将它们连接在不同的通道上,那么计算机系统的利用率将会更高,由此发展成多总线结构。
三总线结构
在如上图所示的三总线结构中, 主存总线用于CPU与主存之间的传输;I/O总线供CPU与各类I/O之间传递信息;DMA总线用于高速外设(磁盘、磁带等)与主存之间直接交换信息。在三总线结构中,任一时刻只能使用一种总线。 主存总线与DMA总线不能同时对主存进行存取,I/O总线只有在CPU执行I/O指令时才用到。
下图是另一种三总线结构图。
由图可见,处理器与高速缓冲存储器Cache之间有一条局部总线,它将CPU与Cache或与更多的局部设备连接。Cache的控制机构不仅将Cache连到局部总线上,而且还直接连到系统总线上,这样Cache就可通过系统总线与主存传输信息。而且I/O与主存之间的传输也不必通过CPU。还有一条扩展总线,它将局域网、小型计算机接口(SCSI)、调制解调器(Modem)以及串行接口等都连接起来,并且通过这些接口又可与各类I/O设备相连,因此它可以支持相当多的I/O设备。与此同时,扩展总线又通过扩展总线接口与系统总线相连,由此便可实现这两种总线之间的信息传递,可便其系统的工作效率明显地提高。
为了进一步提高I/O的性能,使其更快地响应命令,又出现了四总线结构,如下图所示。
四总线结构
在这里又增加了一条与计算机系统紧密相连的高速总线。在高速总线上挂接了一些高速性能的外设,如高速局域网、图形工作站、多媒体、SCSI等。 它们通过Cache控制机构中的高速总线桥或高速缓冲器与系统总线和局部总线相连,使得这些高速设备与处理器更密切。而一些较低速的设备如图文传真FAX、 调制解调器及串行接口仍然挂在扩展总线上,并由扩展总线接口与高速总线相连。
这种结构对高速设备而言,其自身的工作可以很少依赖处理器,同时它们又比扩展总线上的设备更贴近处理器,可见对于高性能设备与处理器来说,各自的效率将获得更大的提高。在这种结构中,处理器、高速总线的速度以及各自信号线的定义完全可以不同,以至各自改变其结构也于会影响高速总线的正常工作,反之亦然。
三、总线结构举例
下图是传统微机总线的结构示意。
由图可见,不论高速局域网、高性能图形还是低速的FAX、Modem都挂接在ISA或EISA总线上,并通过ISA或EISA总线控制器与系统总线相连,这样势必出现总线数据传输的瓶颈。只有将高速、高性能的外设,如高速局域网、高性能图形等尽量靠近CPU本身的总线,并与CPU同步或准同步,才可能消除瓶颈问题。这就要求改变总线结构,来提高数据传送速率,为此,出现了如下图所示的VL-BUS局部总线结构。
由图可见,将原先挂在ISA总线上的高速局域网、多媒体卡、高性能图形板等从ISA总线卸下来,挂到局部总线VL-BUS上,再与系统总线相连。而将打印机、FAX、Modem等低速设备仍挂在ISA总线上。局部总线VL-BUS就相当于在处理器与高速外设之间架上了高速通道,使CPU与高性能外设得到充分发挥,满足了图形界面软件的要求。
由于VL-BUS是从CPU总线演化来的,与CPU的关系太紧密(实际上这种总线与486配合最佳),以至很难支持功能强的CPU,从而出现了PCI总线。
下图是PCI总线结构示意图。
从此图可见,PCI总线是通过PCI桥路(包括PCI控制器和PCI加速器)与CPU总线相连。这种结构使CPU总线与PCI总线互相隔离,具有更高的灵活性,可以支持更多的高速运行设备,而且具有即插即用的特性。当然,挂在PCI总线上的设备都要求数据传输速率高的设备,如多媒体卡、高速局域网适配器、高性能图形板等,与高速CPU总线是相匹配的。至于低速的FAX、Modem、打印机仍然挂在ISA、EISA总线上。
第五节 总线控制
总线控制主要包括判优控制和通信控制。
一、总线判优控制
总线上所连接的各类设备,按其对总线有无控制功能可分为主设备和从设备两种。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令。总线上信息的传送是由主设备启动的,如某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序,确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。
总线判优控制可分集中式和分布式两种,前者将控制逻辑集中在一处(如在CPU中),后者将控制逻辑分散在与总线连接的各个部件或设备上。
常见的集中控制有三种优先权仲裁方式:
1.链式查询
链式查询方式如下图所示。
图中控制总线中有三根线用于总线控制(BS总线忙;BR总线请求、BG总线同意),其中总线同意信号BG是串行地从一个I/O接口送到下一个I/O接口。如果BG到达的接口有总线请求,BG信号就不再往下传。意味着该接口获得了总线使用权,并建立总线忙BS信号,表示它占用了总线。可见在查询链中,离总线控制部件最近的设备具有最高的优先级。这种方式的特点是:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感。
2.计数器定时查询
计数器定时查询方式如下图所示。
它与链式查询方式相比,多了一组设备地址线,少了一根总线同意线BG。总线控制部件接到由BR送来的总线请求信号后,在总线未被使用(BS=0)的情况下,由计数器开始计数,向各设备发出一组地址信号。当某个有总线请求的设备地址与计数值一致时,便获得总线使用权,此时终止计数查询。这种方式的特点是:计数可以从“0”开始,此时设备的优先次序是固定的;计数也可以从终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;计数器的初始值还可由程序设置,故优先次序可以改变。此外,对电路故障不如链式查询方式敏感,但增加了主控制线(设备地址)数,控制也较复杂。
3.独立请求方式
独立请求方式如下图所示。
由图可见,每一设备均有一对总线请求线BRi和总线同意线BGi。当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先次序确定响应哪一设备的请求。这种方式的特点是:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。
链式查询中仅用两根线确定总线使用权属于哪个设备,在计数查询中大致用1og2n根线,其中n是允许接纳的最大设备数,而独立请求方式需采用2n根线。
二、总线通信控制
众多部件共享总线,在争夺总线使用权时,只能按各部件的优先等级来解决。而在传送通信时间上,按分时方式来解决,即哪个部件获得使用,此刻就由它传送,下一部件获得使用,接着下一时刻传送。这样一个接一个轮流交替传送。
总线在完成一次传输周期时,可分为四个阶段:
•申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授于某一申请者;
•寻址阶段:取得了使用权的主模块,通过总线发出本次打算访问的从模块(或从设备)的存储地址或设备地址及有关命令,启动参与本次传输的从模块;
•传数阶段:主模块和从模块进行数据交换,数据由源模块发出经数据总线流入目的模块;
•结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
对于仅有2个主模块的简单系统,就无需申请、分配和撤除了,总线使用权始终归它占有。对于包含中断、DMA控制或多处理器的系统,还得有某种分配管理机构来参与。
总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。一般常用四种方式:同步通信、异步通信、半同步通信和分离式通信。
1.同步通信
通信双方由统一时标控制数据传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步。
同步式数据输入传输
上图表示某个输入设备向CPU传输数据的同步通信过程。
图中总线传输周期是总线上两个部件完成一次完整而可靠的传输时间,它包含4个时钟周期T1、T2、T3、T4。
主模块在T1时刻发出地址信息;T2时刻发出读命令;从模块按照所指定的地址和命令进行一系列内部动作,必须在T3时刻前找到CPU所需的数据,并送到数据总线上;CPU在T3时刻开始,一直维持到T4时刻,可以从数据线上获取信息并送到其内部寄存器中;T4时刻开始输入设备不再向数据总线上传送数据,撤消它对数据总线的驱动。如果总线采用三态驱动电路,则从T4起,数据总线呈浮空状态。
同步通信在系统总线设计时,T1、T2、T3、T4都有明确的、惟一的规定。
对于读命令,其传输周期为:
T1 主模块发地址;
T2 主模块发读命令;
T3 从模块提供数据;
T4 主模块撤消读命令。
对于写命令,其传输周期为:
T1 主模块发地址;
T1.5 主模块提供数据;
T2 主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中:
T4 主模块撤消写命令和数据等信号。
写命令的时序如下图所示。
这种通信的优点是规定明确、统一,模块间的配合简单一致。其缺点是主从模块时间配合属强制性“同步”,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成对各不相同速度的部件而言,必须按最慢速度部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。
同步通信一般用于总线长度较短,各部件存取时间比较一致的场合。
2.异步通信
异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。它没有公共的时钟标准;不要求所有部件严格的统一动作时间,而是采用应答方式(又称握手方式),即当主模块发出请求(Request)信号时,一直等待从模块反馈回来“响应”(Acknowledge)信号后才开始通信。当然,这就要求主从模块之间增加两条应答线(即握手交互信号线Handshaking)。
异步通信方式可分为不互锁、半互锁和全互锁三种类型,如下图所示。
(1)不互锁方式。主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间。确认从模块已收到请求信号后,便撤消其请求信号;从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,确认主设备已收到回答信号后,自动撤消回答信号。可见通信双方并无互锁关系。
(2)半互锁方式。主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系:而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,无互锁关系。故称半互锁方式。
(3)全互锁方式。主模块发出请求信号,待从模块回答后再撤其请求信号;从模块发出回答信号,待主模块获知后,再撤消其回答信号。故称全互锁方式。
3.半同步通信
半同步通信集同步与异步通信之优点,既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别。同时又像异步通信那样,允许不同速度的模块和谐地工作。为此增设了一条“等待”( )响应信号线。
以读命令为例,在同步通信中,主模块在T1发出地址,T2发出命令,T3传输数据,T4结束传输。倘若从模块工作速度较慢,无法在T3时刻提供数据,则必须在T3之前通知主模块,使其进入等待状态,此刻,从模块置 为低电平有效。主模块在T3测得“等待”有效,则不立即从数据线上取数,这样一个时钟周期、一个时钟周期地等待,直到主模块测得 为高电平即等待无效时,主模块即把此刻的下一周期当作正常周期T3,即时获取数据,T4结束传输。
半同步通信时序可为:
T1 主模块发地址;
T2 主模块发命令;
Tw 当 为低电平有效时,进入等待,其间隔与T统一;
Tw 当 为低电平有效时,进入等待,其间隔与T统一;
……
T3 从模块提供数据(若属读命令);
T4 从模块撤消数据。
半同步通信适用于系统工作速度不高,但又包含了许多工作速度差异较大的各类设备的简单系统。半同步通信控制方式比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还是不很高。
4.分离式通信
分离式通信的基本思想是将一个传输周期(或总线周期)分解为两个子周期。在第一个子周期中,主模块A在获得总线使用权后将命令、地址以及其他的有关信息,包括该主模块编号(当有多个主模块时,此编号尤为重要)发到系统总线上,经总线传输后,由有关的从模块B接收下来。主模块A向系统总线发布这些信息只占用总线很短的时间,一旦发送完,立即放弃总线使用权,以便其他模块使用。在第二个子周期中,当B模块收到A模块发来的有关命令信号后,经选择、译码、读取等一系列内部操作,将A模块所需的数据准备好,便由B模块申请总线使用权,一旦获准,B模块便将A模块的编号、B模块的地址,A模块所需的数据令系列信息送到总线上,供A模块接收。很明显,上述两个传输子周期都只有单方向的信息流,每个模块都变成了主模块。
这种通信方式的特点是:①各模块欲占用总线使用权都必须提出申请;②在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号;②各模块在准备数据传送的过程中都不占用总线,使总线可接受其他块的请求;④总线被占用时都在作有效工作,或者通过它发命令,或者通过它传送数据,不存在空闲等待时间,最充分地发挥了总线的有效占用。从而实现了总线为多个主从模块间进行信息交叉重叠并行式传送,这对大型计算机系统是极为重要的。当然,这种方式控制比较复杂,一般在普通微机系统很少采用。