大家好啊,这里来到计组第二部分内容:系统总线
跳转上一篇:计组原理:系统概论与基本组成
系统总线
- 1.总线的基本概念
- 单总线结构框图
- 面向 CPU 的双总线结构框图
- 以存储器为中心的双总线结构框图
- 2.总线的分类
- 片内总线
- 系统总线
- 通信总线
- 3.总线特性及其性能指标
- 总线特性
- 总线性能指标
- 总线标准
- 4.总线结构
- 单总线结构
- 双总线结构
- 三总线结构
- 四总线结构
- 总线结构举例
- 5.总线控制
- 总线判优控制
- 集中控制优先权的三种方式
- 总线通信控制
- 总线通信的四种方式
- 同步通信
- 异步通信
- 半同步通信(同步,异步结合)
- 分离式通信
1.总线的基本概念
计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接。
总线是连接各个部件的信息传输线,是各个部件共享的传输介质
总线实际上是由许多传输线或通路组成,每条线可一位一位地传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。若干条传输线可以同时传输若干位二进制代码,例如,16条传输线组成的总线可同时传输16位二进制代码。
总线上信息的传送
通常,并行传输传输距离较短,可以集中在计算机机箱的内部,串行传输传输举例较长,可以在机器与机器之间进行传输。
在高速状态下,并行口的几根数据线之间存在串扰,而并行口需要信号同时发送同时接收,任何一根数据线的延迟都会引起问题。而串行只有一根数据线,不存在信号线之间的串扰
单总线结构框图
总线是信号的公共传输线,若某一个I/O设备与主存通过I/O接口进行数据传输的话,主存和CPU之间就无法利用总线进行数据传输,
面向 CPU 的双总线结构框图
与单总线结构相比,最明显的特点是当I/O设备与主存交换信息时,原则上不影响CPU的工作,CPU仍可继续处理不访问主存或I/O设备的操作,这就使CPU工作效率有所提高。但是,因只有一组总线,当某一时刻各部件都要占用总线时,就会发生冲突。为此,必须设置总线判优逻辑,让各部件按优先级高低来占用总线,这也会影响整机的.工作速度。PDP - 11和国产DJS183机均采用这种结构。
以存储器为中心的双总线结构框图
它是在单总线基础上又开辟出的一条CPU与主存之间的总线,称为存储总线。这组总线速度高,只供主存与CPU之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O设备与存储器交换信息时不经过CPU的特点。
2.总线的分类
片内总线
片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元ALU之间都由片内总线连接。
系统总线
系统总线是计算机各部件之间的信息传输线,由于这些部件通常都安放在主板或各个插件板(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。
按系统总线传输信息的不同,又可分为三类:数据总线、地址总线和控制总线
- 数据总线
数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数。如果数据总线的宽度为8位,指令字长为16位,那么,CPU在取指阶段必须两次访问主存。
- 地址总线
地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。例如,欲从存储器读出一个数据,则CPU要将此数据所在存储单元的地址送到地址线上。又如,欲将某数据经I/О设备输出,则CPU除了需将数据送到数据总线外,还需将该输出设备的地址(通常都经I/О接口)送到地址总线上。可见,地址总线上的代码是用来指明CPU欲访问的存储单元或I/0端口的地址,由CPU输出,单向传输。地址线的位数与存储单元的个数有关
- 控制总线
控制总线是用来发出各种控制信号的传输线
常见的控制信号如下
- 存储器读:将指定存储单元中的数据读到数据总线上
- 存储器写:将数据总线上的数据写至存储器的指定地址单元内
- 总线允许:表示需要获得总线使用权的部件已获得了控制权
- 中断请求:表示某部件提出中断请求
- 中断响应:表示中断请求已被接收 等等
通信总线
用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信
传输方式:
- 串行通信总线
- 并行通信总线
3.总线特性及其性能指标
总线特性
从物理角度来看,总线由许多导线直接印制在电路板上,延伸到各个部件
图中CPU、主存、I/O这些插板通过插头与水平方向总线插槽连接。为了保证机械上的可靠连接,必须规定其机械特性;为了确保电气上正确连接,必须规定其电气特性;为保证正确地连接不同部件,还需规定其功能特性和时间特性。
总线特性包括以下几项:
- 机械特性:机械特性是指总线在机械连接方式上的一些性能,如插头与插座使用的标准,它们的几何尺寸、形状、引脚的个数以及排列的顺序,接头处的可靠接触等。
- 电气特性:电气特性是指总线的每一根传输线上信号的传递方向和有效的电平范围。通常规定由CPU发出的信号称为输出信号,送入CPU的信号称为输入信号。例如,地址总线属于单向输出线,数据总线属于双向传输线,它们都定义为高电平为“1”,低电平为“0”。控制总线的每一根都是单向的,但从整体看,有输入,也有输出。有的定义为高电平有效,也有的定义为低电平有效
- 功能特性:指总线中每根传输线的功能,例如:地址总线用来指出地址码;数据总线用来传递数据;控制总线发出控制信号。
- 时间特性:指总线中的任一根线在什么时间内有效
总线性能指标
总线性能指标如下:
- 总线宽度:数据总线的根数,用bit表示,如8位、16位、32位(即8跟、16跟、32跟)
- 标准传输率:每秒传输的最大字节数(MBps)
- 时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线
- 总线复用:一条信号线上分时传送两种信号,主要是指地址线与数据线复用,提高总线的利用率,优化设计。
- 信号线数:地址总线、数据总线和控制总线的总和
- 总线控制方式:包括突发工作、自动配置、仲裁方式、逻辑方式、计数方式等
- 其他指标:负载能力,电源电压等
总线标准
为了使系统设计简化,模块生产批量化,确保其性能稳定,质量可靠,实现可移化,人们开始研究如何使总线建立标准,在总线的统一标准下,完成系统设计,
总线标准,可视为系统与各模块,模块与模块之间的一个互连的标准界面
目前流行的总线标准有以下几种:
-
ISA (Industry Standard Architecture):一种早期的计算机总线标准,主要用于个人电脑。ISA 提供了一个基本的通信通道,用于连接扩展卡如声卡、网络卡等,但传输速度较慢。
-
EISA (Extended Industry Standard Architecture):作为ISA的扩展,EISA提供了更高的带宽和改进的总线控制机制,允许更复杂的设备连接。
-
VESA (Video Electronics Standards Association):这是一种主要用于视频相关硬件的总线标准。VESA总线为图形卡提供了比ISA和EISA更高的数据传输速率。
-
PCI (Peripheral Component Interconnect):一种更高速的总线标准,用于连接各种类型的扩展卡。PCI支持即插即用,允许设备自动配置,相比前面的标准,提供了更高的数据传输速率。
-
AGP (Accelerated Graphics Port):专门为显卡设计的接口,AGP提供比PCI更高的带宽,特别适用于高性能图形应用。
-
RS-232:一种串行通信接口,用于连接计算机和外部设备,如调制解调器、鼠标等。RS-232是最早用于个人电脑的通信标准之一。
-
USB (Universal Serial Bus):极其普及的接口,用于连接各种外部设备,如存储设备、打印机、键盘等。USB支持热插拔,易于使用,并且随着新版本的推出,数据传输速度不断提高。
4.总线结构
单总线结构
双总线结构
双总线结构的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。图中通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/О设备具有统一管理的功能,以完成外部设备与主存储器之间的数据传送,其系统的吞吐能力可以相当大。这种结构大多用于大、中型计算机系统。
如果将速率不同的I/O设备进行分类,然后将它们连接在不同的通道上,那么计算机系统的工作效率将会更高,由此发展成多总线结构。
三总线结构
DMA总线用于高速I/O设备(磁盘、磁带等)与主存之间直接交换信息。在三总线结构中,任一时刻只能使用一种总线。主存总线与DMA总线不能同时对主存进行存取,I/O总线只有在CPU 执行I/O指令时才能用到。
三总线结构的另一种形式:
CPU性能逐年提高,内存的存储延迟大概每十年才会变为原来的一半,为了解决这个问题,在计算机设计的过程当中,在CPU和内存之间增加了一个小容量高速度的Cache,对主存中的数据进行缓存,CPU运行的时候,需要的指令和数据主要从Cache中获取,局部总线将CPU和Cache连接。
下面这条总线是系统总线,系统总线通过一个扩展总线接口下边连接了一条扩展总线,各种类型的设备都可以连接到这个扩展总线上,这种方式解决了I/O设备的扩展问题。
外部设备传入的数据,我们可以通过扩展总线接口传输给扩展总线,然后传输给主存。
扩展总线上连接的设备工作速率不同会影响外部设备的工作速度
四总线结构
桥电路扩展出了高速总线,连接多个高速设备,低速设备连接到了扩展总线上,解决了三总线结构的问题
总线结构举例
-
传统微型机总线结构
由图可见,不论高速局域网、高性能图形还是低速的FAX、Modem都挂接在ISA或EISA总线上,并通过ISA或EISA总线控制器与系统总线相连,这样势必出现总线数据传输的瓶颈 -
VL-BUS局部总线结构
这种总线实现了高低速率设备的分离,使CPU与高性能外设得到充分发挥
由于VL-BUS是从CPU总线演化而来的,与CPU关系太紧密,以致很那支持功能更强的CPU,因此出现了PCI总线
-
PCI总线结构
由图可见,PCI总线是通过PCI桥路(包括PCI控制器和PCI加速器)与CPU总线相连。这种结构使CPU总线与PCI总线互相隔离**,具有更高的灵活性**,可以支持更多的高速运行设备,而且具有即插即用的特性。当然,挂在PCI总线上的设备都要求数据传输速率高的设备,如多媒体卡.高速局域网适配器、高性能图形卡等,与高速CPU总线是相匹配的。至于低速的FAX、Modem .打印机仍然挂在ISA、 EISA总线上。 -
多层PCI总线结构
当PCI总线驱动力不足时,可采用多层结构:
5.总线控制
由于总线上连接着多个部件,什么时候由哪个部件发送信息,如何给信息传送定时,如何防止信息丢失,如何避免多个部件同时发送,如何规定接收信息的部件等一系列问题都需要由总线控制器统一管理。它主要包括判优控制(或称仲裁逻辑)和通信控制。
总线判优控制
总线上所连接的各类设备,按其对总线有无控制功能可分为主设备(模块)和从设备(模块)两种。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令,对总线没有控制权。总线上信息的传送是由主设备启动的,如某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。
总线判优控制可分为集中式和分布式两种,集中控制优先将控制逻辑集中在一处(如在CPU中)
集中控制优先权的三种方式
-
链式查询
链式查询方式如图所示。图中控制总线中有3根线用于总线控制(BS总线忙、BR总线请求、BC总线同意),其中总线同意信号BG是串行地从一个I/O接口送到下一个I/O接口。如果BG到达的接口有总线请求,BG信号就不再往下传,意味着该接口获得了总线使用权,并建立总线忙BS信号,表示它占用了总线。可见在链式查询中,离总线控制部件最近的设备具有最高的优先级。这种方式的特点是:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感,且优先级别低的设备可能很难获得请求。 -
计数器定时查询
与链式查询相比,多了一组设备地址线,少了一根总线同意线BG
总线控制部件接到由BR送来的总线请求信号后,在总线未被使用(BS=0)的情况下,总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。当某个请求占用总线的设备地址与计数值一致时,便获得总线使用权,此时终止计数查询。这种方式的特点是:计数可以从“0”开始,此时一旦设备的优先次序被固定,设备的优先级就按0,1,…,n的顺序降序排列,而且固定不变;计数也可以从上一次计数的终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;计数器的初始值还可由程序设置,故优先次序可以改变。这种方式对电路故障不如链式查询方式敏感,但增加了控制线(设备地址)数,控制也较复杂。
- 独立请求方式
每台设备均有一对总线请求线BR和总线同意线BG。当设备要求使用总线时,便发出该设备的请求信号,总线控制部件中有排队电路,可根据优先次序确定哪一台设备的请求。
总线通信控制
目的:解决通信双方协调配合问题
总线周期:完成一次总线操作的时间
- 申请分配阶段:主模块申请,总线仲裁决定
- 寻址阶段:主模块向从模块给出地址和指令
- 传数阶段:主模块和从模块交换数据
- 结束阶段:主模块撤销有关信息
总线通信的四种方式
同步通信
通信双方由统一时标控制数据传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对他们进行同步
(1),同步式数据输入
CPU在T1上升沿发出地址信息;在T2的上升沿发出读命令;与地址信号相符合的输人设备按命令进行一系列内部操作,且必须在T3,的上升沿到来之前将CPU所需的数据送到数据总线上;CPU在T3时钟周期内,将数据线上的信息送到其内部寄存器中;CPU在T4的上升沿撤销读命令,输人设备不再向数据总线上传送数据,撤销它对数据总线的驱动。如果总线采用三态驱动电路,则从T4起,数据总线呈浮空状态。
(2),同步式数据输出
对于读命令,传输周期如下:
T1:主模块发地址
T2:主模块发读命令
T3:主模块提供数据
T4:主模块撤销读命令,从模块撤销数据
对于写命令,传输周期如下:
T1:主模块发地址
T2:主模块提供数据
T3:主模块发出写命令,从模块接受到命令后,必须在规定时间内将数据总线上的数据写到地址总线所知名的单元中
T4:主模块撤销写命令和数据等信号
**这种方式所有的从模块都用同一个时标,主从模块强制同步,对速度不同的模块必须选择速度最慢的设备设置时标,一般用于总线长度较短各部件存取时间比较一致的场合。
**
异步通信
异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。它没有公共的时钟标准,不要求所有部件严格的统一操作时间,而是采用应答方式,即当主模块发出请求(Request)信号时,一直等待从模块反馈回来“响应"(Acknowledge)信号后,才开始通信。增加了两条线:请求线,应答线
异步通信的应答方式分三种:不互锁,半互锁,全互锁
(一)不互锁
主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号;从模块接到请求信号后,在条件允许时发出回答信号,并且经过一段时间(这段时间的设置对不同设备而言是不同的)确认主模块已收到回答信号后,自动撤销回答信号。可见通信双方并无互锁关系。例如, CPU向主存写信息,CPU要先后给出地址信号、写命令以及写入数据,即采用此种方式。
(二)半互锁方式
主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号,有互锁关系;而从模块在接到请求信号后发出回答信号,但不必等待获知主模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,无互锁关系。由于一方存在互锁关系,一方不存在互锁关系,故称半互锁方式。例如,在多机系统中,某个CPU需访问共享存储器(供所有CPU访问的存储器)时,该CPU 发出访存命令后,必须收到存储器未被占用的回答信号,才能真正进行访存操作。
(三)全互锁方式
主模块发出请求信号,必须待从模块回答后再撤销其请求信号;从模块发出回答信号,必须待获知主模块请求信号已撤销后,再撤销其回答信号。双方存在互锁关系,故称为全互锁方式。例如,在网络通信中,通信双方采用的就是全互锁方式。
半同步通信(同步,异步结合)
- 同步:发送方用系统时钟前沿发信号,接收方用系统时钟后沿判断、识别
- 异步:允许不同速度的模块和谐工作,增加一条**“等待”响应信号**
以输入为例:
在同步通信中,主模块在T1发出地址,在T2发出命令,在T3传输数据,在T4结束传输。倘若从模块工作速度较慢,无法在T3时刻提供数据,则必须在T4到来前通知主模块,给出WAIT信号,等待一个T
半同步通信适用于系统工作速度不高但又包含了由许多工作速度差异较大的各类设备组成的简单系统。半同步通信控制方式比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还不是很高。
上述三种通信的共同点(以输入为例):
- 主模块发出地址、命令**(占用总线)**
- 从模块准备数据**(不占用总线)**
- 从模块向主模块发数据(占用总线)
分离式通信
充分挖掘系统总线每个瞬间的潜力
分离式通信是将一个传输周期分解为两个子周期
- 子周期1:主模块申请占用总线,使用完后即放弃总线的使用权
- 子周期2:从模块申请占用总线,将各种信息送至总线上
特点:
- 各模块有权申请占用总线
- 采用同步方式通信,不等对方回答
- 各模块准备数据时,不占用总线
- 总线被占用时,无空闲
本节内容到此结束!! 感谢观看!!!