【计算机组成原理】系统总线
总线概述
概念
定义:总线(BUS)是计算机各个部件(或系统)之间传递信息的一组共享的电导线
每根导线负责传递一个电脉冲信号,即一位二进制数据
若干根导线即可同时传输若干位二进制数据
组成:总线一般由传输线+接口+总线控制器组成
传输线包括:
总线从逻辑上有:1.输入 2.输出 3.断开 三种状态
特性
功能特性
按传输信息性质分:地址总线、数据总线、控制总线
按连接部件分:系统总线(处理器总线)、输入输出总线(I/O总线)
按照计算机系统中的位置分为:片内总线、底板总线、板间总线、通信总线
包括:插头、插座的几何形状与尺寸、引脚的数量和排列方式、固定方式
对通信总线,根据所传数据位数又可以分为:串行总线(一根)、并行总线(多根)
总线传递的是数据和命令
电气特性
定义了每根传输线上信号的传递方向和有效电平范围
按允许信息传输的方向分:单向总线和双向总线
双向总线又分为全双工和半双工
全双工指同一时刻允许信息分别沿两个方向传输
半双工指同一时刻只允许信息沿一个方向传输
多数总线信号采用正逻辑
高电平定义逻辑1
时间特性
规定了每一根传输线上的信号在什么时候有效
即总线上的各种信号的时序关系
总线技术特点
1.使系统中的连线大大减少,可靠性高
2.便于硬件和软件的标准化,便于接口设计
3.易于系统模块化,可替换性好
4.便于维修。可维护性好
5.分时传送,任意时刻只有一个源发送,可以由多个部件接收
6.有仲裁机制
7.缺点:传输率受带宽限制 ,总线若故障,系统瘫痪
总线控制
总线控制的功能和特点
总线控制就是管理总线的使用
特点:总线控制的功能由总线控制器来完成。而总线控制器在实现技术上并不一定存在一个独立的控制器模块。它的功能可能分布在总线的各个部件或设备上。
总线仲裁
总线设备分类
按控制能力分:总线主设备和主线从设备
总线主设备对总线具有控制能力,是信息传送的发起者
总线从设备对总线没有控制权,只能响应总线命令
按信息传送分:总线源设备和总线目的设备
按访问控制分:存储器设备和I/O设备
总线仲裁分类
从不同角度有不同分类方法
根据仲裁电路结构:串行仲裁和并行仲裁
优先排队策略:固定优先级和动态优先级
仲裁电路分布:集中仲裁和分布仲裁
设备状态:设备请求方式(主动)和控制器查询方式(被动)
集中仲裁的方式和特点
链式查询
通过一条判优链路(优先链)对所有主设备逐个串行进行查询
有三条线:BS总线忙、BR总线请求、BG总线同意
如图:
查询方法:
从离总线控制部件最近的设备开始查。首先查到的肯定是提出请求设备中优先权最高的一个。查到设备后,该设备通过总线忙卡断判优链路,占用总线;当操作结束后,该设备应当及时释放总线
特点:
- 结构简单,易于扩充设备
- 对电路故障很敏感
- 仲裁公平性差,固定优先级
计数器定时查询
多加了设备地址线
查询方式:
查询开始,计数器计数。每计一次数,就将计数值作为设备地址发往各个设备。每个申请总线的设备对地址进行识别,地址符合的设备获得总线控制权,停止计数。
优先级设定:由计数初值决定最高优先级,3种方法。
a.查询时计数器从‘0’开始计数,即0号设备的优先级最高;
b.查询时计数器从上一次查询的终止点开始计数,则终止点优先级最高。此时优先级是循环的;
c.计数初值由程序设定,此时优先级可编程改变。
特点:
- 软件查询、优先级控制方式灵活
- 对电路故障不敏感
- 控制较复杂(增加了设备地址线)
独立请求方式
每个设备都有一组BGBR线
查询方式:
每一个设备专门有一根BR线和BG线,各自通过独立的请求线向总线控制部件发请求,总线控制器里设置并行排队线路,同时接收各设备发来的请求信号并同时进行排队判优,然后通过各自独立的回答线发出总线同意信号。
特点:
- 响应速度快
- 优先级控制灵活
- 不适合多设备的场合
总线通信控制
为了完成一次有效的通信,源设备与目的设备之间需要进行一系列有时序限制的操作。为此,通信双方需要“感知”对方的操作及操作效果,这个“感知”由总线通信控制来实现的。
总线通信控制方法分两大类:无须感知和需要感知
无需感知指通信双方相互信任,每一个通信步骤都会在规定的时间内正确完成;
如果通信双方不能完全相互信任则需要感知
基于“无须感知”观点进行总线通信控制的通信称为同步通信,基于“需要感知”观点进行总线通信控制的通信称为异步通信。
总线通信控制
目的是要解决通信双方协调配合问题
总线周期:
一次完整的总线传送操作所需时间称为总线周期
总线周期的基本类型:内存读 内存写 外设读 外设写
正常总线周期:由一次地址传送时间和一次数据传送时间组成 。
总线上数据的读/写方向是相对于主模块而言的,即:读:由从模块发送,主模块接收。即从主模块的角度看是读入(接收); 写:由主模块发送,从模块接收。即从主模块的角度看是向对方写(发送)。
总线通信的四种方式
同步通信
由统一时钟信号控制数据传送
同步通信是指参与通信的两个部件之间的信息传送是由定宽、定距的时标来控制的。
每隔一个时标,源设备就向总线发送一个数据,而不去对目的设备是否收到数据进行确认; 同样地,目的设备每隔一个时标就对总线进行采样来获取数据,而不去确认数据是否已发出,也不向源设备确认收到的数据是正确的。
特点:
- 强制性同步,采用统一时钟;简单易控制。
- 对于每一个操作,每一时间都有明确的规定,显得比较“死板”
- 必须按照工作速度最慢的部件来设计时钟。
- 当各个模块的存取时间相差较大时,会大大损失总线的工作效率
- 适用于总线长度较短,各模块部件存取时间比较一致的场合
异步通信
采用应答方式,没有公共的时钟标准
异步通信是指参与通信的两个部件需要“感知”对方的操作,这个“感知”是通过“握手”信号实现的。
异步通信主要应用于:
- 工作速率不同的部件之间相互通信
- 通信线路受到干扰的场合
异步通信的“握手”协议分为:
- 单边控制 通信过程是由源部件或目的部件控制
- 双边控制 通信过程由源部件和目的部件共同控制
异步通信既可以用于并行传送也可以用于串行传送
异步串行通信的数据传输率可以用波特率和比特率来衡量
波特率—单位时间内传送二进制数据的位数,单位:bps
比特率—单位时间内传送二进制有效数据的位数,单位:bps
半同步通信
同步、异步结合
同步 发送方用时钟前沿发信号 接收方用系统时间后沿判断识别
异步 允许不同速度的模块和谐工作
增加一条等待响应信号WAIT
上述三种通信的共同点
一个总线传输周期(以输入数据为例)
主模块发地址 、命令 占用总线
从模块准备数据 不占用总线
从模块向主模块发数据 占用总线
分离式通信
充分挖掘系统总线每瞬间的潜力\
一个总线传输周期
特点:
- 各模块有权申请占用总线
- 采用同步方式通信,不等对方回答
- 各模块准备数据时,不占用总线
- 总线被占用时,无空闲
充分发挥的总线的有效占用
总线结构
单总线结构
特点:
- 控制简单、便于扩充、造价低
- 易形成系统的瓶颈
缺陷:
- 由于各部件只能分时使用总线,系统工作效率低
- 总线设备之间传输速率不匹配
多总线结构
采用多种速率不同的总线,将工作速度相差较大的设备挂在不同的总线上,低速总线作为高速总线的一个设备工作。
双总线结构
三总线结构
PCI总线就是一种三总线结构,由下图可知PCI总线通过PCI桥路与CPU总线相连。这种结构使CPU总线与PCI总线互相隔离,具有更高的灵活性,可以支持更多的高速运行设备,而且具有即插即用的特性。
四总线结构
增加了一条与计算机系统紧密相连的高速总线。
高速设备自身很少依赖处理器,而且比扩展总线的设备更贴近处理器,对高性能的设备与处理器来说,效率有很大提高。
总线结构对系统性能的影响
系统中总线条数越多,系统并行性越好,工作效率越高,结构越复杂,造价越高。系统中总线条数越少,越强调分时使用总线,工作效率越受影响,结构越简单,成本越低。
总线的性能指标
位宽
总线一次同时传送的信息位数或所需的线数。即一次操作可以传输的数据位数。主要是指数据总线的数目。
总线的位宽直接影响总线的传输率(吞吐量)。
工作时钟频率
控制总线中的时钟信号线所提供的时钟频率。
标准传输率(总线带宽)
总线上每秒钟能传输的最大字节量。以MB/S表示
总线本身所能达到的最高传送速率
总线带宽=总线位宽×总线工作频率/8
负载能力
总线上所能连接部件的最大个数
总线复用
物理线路是一组,功能上地址线 与 数据线 复用――分时复用。
总线定时协议(握手机制)
依据数据传输采用何种时钟控制,可分为同步、异步、半同步、分离式
几种常见总线的性能
常用总线标准
总线标准:
为适应模块化设计,使各生产厂家的产品具有可组合性和可替换性,需要对总线进行规范,提出一种标准的信息传递通道。
总线标准分为两类:
一类是由国际权威机构制定的( RS—232C 是美国电子工业协会(EIA)制定的) ,另一类是由某厂家设计而广泛流行的(PCI总线:Intel联合IBM,Compaq等100多家公司联合共同开发)
系统总线
S-100总线
S-100总线产生于1975年,第一个标准化总线,它有l00条信号线,是为8080微处理器设计的。
这种总线的主要缺点:
1)布线不合理,时钟信号线位于9条控制信号线之间,容易造成串扰;
2)只规定了两条地线,接地点太少,容易造成地线干扰;
3)对DMA传送虽然作了考虑,但对所需引脚并未明确定义;
4)将+8V与-18V电源紧排在一起,又没有保护措施,一旦插入操作有误,使+8V与-18V相碰,轻则损坏电压调整器,重则使接到+5V上的所有集成电路报废。
没有总线仲裁机构,因此不适于多处理器系统。这种总线目前已很少有人使用。
IBM PC总线和ISA总线
IBM PC总线是IBM PC/XT个人计算机采用的微型机总线。它是针对Intel 8088微处理器设计的,有62条信号线,以适应8088的8位数据线和20位地址线。 为了和Inte1 80286等高性能16位微处理器兼容,IBM公司在PC总线基础上增加了一个36引脚的AT扩展插座而形成AT总线。在IBMPC/AT及其兼容机的机箱中,通常在母板上分别设置几个AT插槽和PC插槽,这种结构也称之为IBM公司的ISA结构(即工业标准结构)。IBM PC/AT总线也称为ISA总线。 ISA是将微处理器芯片总线经缓冲直接映射到系统总线上,也是一种原始的总线设计。并且,ISA总线没有支持总线仲裁的硬件逻辑,所以不支持多主设备系统。 现在,ISA总线仍然被使用,特别是在工控机中。但在这种微机系统中,为了发挥32位微处理器的性能,往往把主板上的存储器直接连到CPU的芯片总线上,而ISA总线仅作为扩展I/O模块的总线。
PC-104总线
采用超小尺寸插卡;自叠总线结构;总线驱动电流小,功耗低。现在大量地用于工业控制系统中,在信号上与ISA总线兼容。
Multibus Ⅰ和Ⅱ
Intel公司的Multibus总线是一种能支持多处理器并行运行的总线。这种总线实际存在多种总线概念,即包括系统总线、局部总线、和板上I/O扩展总线SBX、LBX。这也是多总线(Multibus)得名的由来。 MultibusⅠ支持8位、16位的微处理器,采用单功能模板概念,适用于工业控制。MultibusⅡ支持32位微处理器。
VME总线
MOTOTOLA公司的VME总线(IEEE(美国电子电机工程师协会) 1014标准)也是一种支持多计算机/多处理器的系统总线。 支持16、32位微处理器,支持四个主CPU模板并行运行。 这种高性能总线是开放式总线结构,受到许多厂家,特别是欧洲以及那些与Motorola68000微处理器有关的用户欢迎。
微通道MCA
BM公司于1987年推出微通道总线(Micro Channel Architecture),即MCA。它是带有 24位DMA的10MHz总线,提供16MB的寻址能力,32位数据总线。它配有总线仲裁机构,可支持16个总线主控器。
优点:
它是一个经过很好定义的32位总线标准,有利于形成更好更可靠的产品。
缺点:
缺乏与已有硬件的兼容性,非开放式结构。微通道的研制成功,彻底改变了IBM公司于1981年为IBM PC扩展而建立的开放式硬件标准,回到了的老路。微通道与PC机的非兼容性为它自身的发展造成了困难。
EISA总线(Extend industry Standard Architecture)
以Compaq为首联合起来推出的。
EISA是ISA总线的扩展,它既保持了与老的IBM PC系列机兼容,又具有MCA的先进性,但不与MCA兼容。
该总线作为ISA总线完全兼容的扩展,支持多个总线主控器,并加强了DMA功能,增加了突发方式传输,是一种支持多处理机的高性能32位标准总线。
采用总线复用技术的Q总线和NUBUS
Q总线:DEC公司的工业总线,它采用复用数据线和地址线的办法来支持16位和32位微型化的小型机。
NUBUS:APPLE公司和TI公司提出的,则采用数据总线、地址总线和控制总线三条总线复用44条信号线,另加5条总线仲裁,可支持32位微处理器。APPLE和TI公司希望用这种总线取代微通道总线。
STD总线
1987年,STD总线最初的设计目标是和所有8位微处理器相兼容,以小尺寸(4.5in×6.5in)、高可靠性、低价格的面貌出现,为嵌入式系统提供解决手段。通常人们把STD总线称为“兰领总线”,因为它把侧重点放在工业测控应用上。 16位微处理器出现后,为了仍旧能使用该总线,采用周期窃取和总线复用技术来扩充地址线和数据线,所以STD是8位/16位兼容的总线。为了能和32位微处理器80386、80486、68030等兼容,近年来又定义了STD32总线标准,且与原来8位总线的I/O模板兼容。
局部总线
局部总线是为解决高性能CPU与低性能的系统总线之间的瓶颈问题而提出的。出于对兼容性的考虑,还不能将ISA总线淘汰掉,所以需要一个变通办法来解决该瓶颈,办法之一就是采用局部总线。
高性能CPU的芯片总线可以支持很高的数据传输率,因而可将某些模块直接挂接在芯片总线上,实际上许多主板上的存储器都是采用该方法。但对于多个模块,CPU的芯片总线驱动就能力不够了,因而需增加驱动电路,这样就形成了局部总线,它为CPU和高速的外设间提供了一条直接通路。
VL-BUS
VESA(视频电子标准协会)与60余家公司联合推出的局部总线;32bit总线,在标准的ISA插槽之后提供附加的第三和第四接口,额定频率33MHz,并且能够提供超过ISA的卓越性能。
VL-BUS最主要的特点也是其没落的最主要原因。本来,它是作为486处理器/内存总线的直接扩展,运行在与处理器相同的频率上,因此名为“本地总线”。这种直接的扩展意味着如果连接的设备过多,则很可能会干扰处理器自身的工作,特别是当信号通过一个插槽时。VESA建议在33MHz的频率上只使用2个插槽,或者在总线使用电子缓冲时使用3个。在更高的频率上不能连接2个以上的设备,而在50MHz时它们则必须都内建于主板内。
PCI总线*
PCI总线是厂家自发制定的一种企业联盟标准总线,是专门为奔腾系列芯片而设计,可满足图形界面及高速传输率扩展卡的需求。Intel公司于1991年首先提出了PCI总线的概念。之后,Intel联合IBM,Compaq等100多家公司联合共同开发PCI总线,并于1993年推出了PCI总线标准。因局部总线PCI等非常流行和普及,现在大多数人认为局部总线PCI等就是系统总线。因此,局部总线和系统总线没有本质区别,现在统称为系统总线。
PCI总线的特点:
- 独立于处理器。工作频率与CPU时钟无关,可支持多机系统及未来的处理器。
- 传输效率高。支持64位数据总线,总线速度为66MHz,最大数据传输率达528MB/s。
- 多总线共存。PCI有良好的兼容性,可支持ISA,EISA,MCA,SCSI,IDE等多种总线,同时还预留了发展空间。
- 支持两种电压。PCI提供两种信号环境:5V和3.3V,并可进行两种环境的转换,扩大了的适应范围。
- 具有即插即用功能。PCI标准允许PCI局部总线扩展卡和元件进行自动配置,提供了即插即用的能力。
- 合理的管脚安排。PCI总线采用数据线和地址线复用结构,减少了总线的引用脚数,从而可节省线路空间降低设计成本,目标设备可用47引脚,总线主控设备可用49引脚。
- PCI对32位与64位总线的使用是透明的,它允许32位与64位器件相互协作。
- 支持突发传输,支持总线主控方式,采用同步操作。
设备总线
计算机与外部设备的信息交换称为通信,这里的设备可以是外部设备,也可以是计算机。设备总线,也称为通信总线,就是实现计算机或外部设备间互连的一类总线。按通信方式可分为并行总线和串行总线。
RS-232C
是美国电子工业协会(EIA)与BELL等公司一起开发的1969年颁布的数据通信协议。字母RS表示Recommanded Standard(推荐标准),232是识别代码,C是标准的版本号。
RS232C总线的特点:
- 可实现双工通信
- 具有多种传输速率,可适应不同速率的外设
- 采用串行传输方式,传输距离远
- 采用负逻辑,抗干扰能力强
SCSI总线(small computer system interface)
SCSI是小型计算机系统接口简称。SCSI接口是高速硬盘接口规范,采用8/16/32位并行总线,可用于硬盘、光盘、扫描仪、打印机、磁带机等多种外围设备的连接。
ATA(AT Attachment)
又称IDE(Integrated Drive Electronics)。从1985年上市到1992年,它一直是纯硬盘驱动接口。为了与SCSI竞争,WD公司推出了增强型IDE标准EIDE,即ATA-2标准,ATA-2不仅可以连接硬盘,而且可以连接CD-ROM磁带机等存储设备,它允许接4台设备,支持大于528MB的硬盘容量。
IEEE488
是HP公司在20世纪70年代为解决各种仪器仪表与各类计算机接口互不兼容的问题而研制的通用接口总线HP-IB。1975年IEEE委员会以IEEE488标准予以推荐。
IEEE488总线包括8条双向数据线,3条字节传送控制线和5条通用控制线,它可以将计算机,电压表,电源,频率发生器等装置通过一条488总线电缆连接起来。IEEE488系统以机架层叠式智能仪器为主要器件,可以以积木方式构成开放式系统。
Centronics
Centronics是一个打印机厂商的名字,也是一种较早推出的计算机与打印机和绘图仪进行连接的并行总线。该总线由36个信号线构成,采用扁平电缆或多芯电缆 进行8位数据传输,传输率为100KB/s,最大传送距离为2m。在用扁平电缆做传输线时,每两条传输线之间加一条地线,较好的克服了数据间的干扰。这种总线应用非常广泛,有多外设通过Centronics总线和计算机进行通信,例如:编程器、大容量软盘驱动器和刻录光驱等。
USB(UNIVERSAL SERIAL BUS ) *
USB总线是1994年以Intel为首包括Compad、HP、Lucent、Microsoft、NEC、Philips7家公司联合发布的新一代通用串行总线。1996年推出了标准版本USB1.0, 2000年又推出了标准版本USB2.0, 2008年发布了USB3.0标准,最大传输带宽高达625MB/s。USB有可能取代许多总线标准,成为微机与许多外设或系统进行连接的主要或唯一的途径。
USB的特点 :
USB是一种快速的、双向的、同步的、低成本的可动态加入的串行总线。它有许多优良的性能。
- 提供热即插即用功能 连接外设不必打开机箱,也不必关闭主机电源,能够自我识别外设,能自动在驱动器与配置间进行功能映射;可动态地加入与重新配显外设。
- 适用范围很宽 它适用于带宽从几Kb/s到几百Mb/s范围的设备,即可连接键盘、鼠标、摄像头、游戏设备、虚拟现实外设的低速设备,也可连接电话、声卡、麦克风、压缩视频这样的全速设备,还可以连接视频、存储器、图像这样的高速设备。
- 总线利用率高 支持同一束电缆上的同步以及异步传输,支持多设备的并行操作,支持最多127个物理设备,支持主机与设备间的多数据和消息流传输;允许接入复合设备。因为协议的额外开销较低,所以总线利用率很高。
- 传输灵活 它允许传送不同大小的包,并通过适配包的大小与等待时间来允许设备数据率有一定范围的变化;它在协议中建立了用于缓冲处理的流控制。
- 机制强壮 它在协议中建立了错误处理/故障恢复机制;可在被用户察觉的时间内识别动态加入和退出的设备,并支持故障设备的识别。
- 提供了低成本的实现方案 它对外设与主机硬件中的集成进行了优化;适应低成本外设的开发;提供低成本电缆和连接器使用商品技术;USB结构可以升级为在一个系统中支持多个USB主机控制器。
- 生命力强 USB是一种开放性的不具有专利版权的工业标准,因此不存在版权问题,具有强大的生命力。
USB总线支持以下三种数据速率传输:
USB高速(high-speed)信号传输位速率为480Mb/s;
USB全速(full—speed)信号传输位速率为12Mbs;
有限能力的低速(low-speed)信号传输模式位速率为1.5Mb/s。
IEEE1394
是IEEE在APPLE公司的高速串行总线Fire wire(火线)基础上制定的串行总线标准。 1394具有更多的外设支持能力,尤其在影视多媒体方面有优异的支持能力;使用存储器映射地址总线;有真正的即插即用和热插拔能力;提供更长的电缆(设备间4.5m,总线末端间为72m)和更高的速率(数据传输率为50Mb/s、100Mb/s、400Mb/s)。1394十分容易配置,它采用6线连接,树状结构,最多可接63个设备。在存储设备接口中,IEEE1394被认为将有可能取代SCSI及ATA接口。1997年Seagate及Maxtor分别于Comdex’97中展示了1394接口硬盘驱动器的雏形机种,1995年10月,Sony在可摄式录象机上首先将1394接口列为标准。 总之,IEEE1394是一种高速外设总线,就是面对高速外设 的。
CAN总线
1986年2月,在SAE(汽车工程人员协会)大会上,Rober Bosch公司提出CAN。这个由Bosch公司设计的新的总线系统.称之为“Automotive Serial Controller Area Network”(汽车串行控制局域网) 1987年, Intel公司推出第一片CAN控制芯片——82526。它是CAN协议的第一个在硬件上的实现。
特点:
- CAN是到目前为止唯一有国际标准的现场总线。
- CAN为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从。
- 在报文标识符上,CAN 上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134μs内得到传输。
- CAN采用非破坏总线仲裁技术。当多个节点同时向总线发迭信息出现冲突时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据, CAN节点只需通过对报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。
- CAN的直接通信距离最远可达 11 km;通信速率最高可达1Mbps。
- CAN 上的节点数主要取决于总线驱动电路,目前可达 110个。
- CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。
- CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响.