计算机组成原理: 第二章 系统总线

一、连接方式

什么是总线?计算机的五大部件有两种连接方式:分散连接总线连接。

1.1 分散连接

分散连接是各部件之间单独的相互连接线,但不是任何两个部件之间都有连线,如图1.1早期的冯诺依曼计算机采用分散连接的方式 ,以运算器为中心,交换信息十分复杂,例如I/O设备与存储器交换信息时要先经过运算器,这时候运算器停止运算来让他传送数据,影响了CPU的工作效率。

图1.1 分散连接(运算器为中心)

1.2 总线连接 

而总线是公共传输线。如图1.2总线是共享的,所以如果多个设备同时向总线发送信息就会引起冲突,但是总线发送的信息被所有设备共享且接受相同信息​​​​​​​​​​​​​​ 

图1.2 单总线连接

总线实际上是由很多传输线组成,每条线都可以一位一位传送二进制代码,所以如果有32条传输线就可以传送32位二进制代码。

如图1.3所示,是以CPU为中心的双总线结构,有M总线(存储总线)和I/O总线

                                                          图1.3  以CPU为中心的双总线结构

还有以存储器为中心的双总线存储结构。

二、 总线的分类 

2.1  片内总线

片内总线是芯片内的总线。CPU芯片内部,寄存器与寄存器之间。 

2.2 系统总线

系统总线是CPU,主存,I/O设备各大部件之间的信息传输线。

个人认为存储总线与I/O总线也可以算是包括在系统总线内,因为是各部件之间的信息传输线。

2.2.1 数据总线

数据总线用于各大部件之间数据的双向传输。

其位数与机器字长、存储字长有关,一般为16位,32位,8位。传输的数据位数称为数据总线宽度,如果数据总线宽度为16,指令字长为64,则需CPU四次访问主存。

什么是字长、字、指令字长、机器字长​​​​​​​

计算机位数:计算机一次能处理的二进制数长度,即机器字长。

机器字长:   “某16位或32位机器”,16,32指字长,也称机器字长。

字:表示被处理信息的单位,用来度量数据类型的宽度。因此字的位数并不是确定值

(在32位:  32位=4字节=1字;

   在64位:     64位=8字节=1字)

指令字长:字节的整数倍,指一个指令字中包含的二进制代码位数。

存储字长:字节的整数倍,一个存储单元存储的二进制代码的长度。

指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2个访存周期来取出一条指令;若指令字长等于存储字长,则取指周期等于机器周期。

2.2.2 地址总线 

地址总线主要用于进行指出数据总线上源数据或目的数据存储在存储单元中的地址或者I/O设备的地址。例如要把数据送入存储器,先把数据送到数据总线,再让CPU把目的存储单元的地址送到地址线上。所以地址总线就是用来指明CPU将要访问的地址,是单向的。

其位数与存储单元的个数有关,如果地址线为40根,则存储单元个数为2^40个。 若有两根地址线,就有00,01,10,11四个,2^2。

2.2.3 控制总线

控制总线是CPU用于视察各个设备是“忙”还是“闲”,设备也可以向CPU发出请求,是双向的。 

2.3 通信总线

用于计算机系统之间,或计算机与其他系统之间的通信。通信总线按传输方式可以分为串行通信与并行通信。

串行通信就是一位跟着一位传送,所以如果要传送一个字节的数据,就是8位的数据时要分8次传输。

并行通信就是多条并行1位宽的传输线通信,一个字节的数据,8条并行传输1次就够了。

通信线路费用高,短距离适合用并行,长距离适合用串行,都是距离与效率成反比。

以上是总线的分类以及各种总线的介绍,那么总线有哪些特点?怎么判断总线是好是坏呢? 

三、总线特性及性能指标

  

总线与各部件的物理摆放位置 如上图所示

3.1 总线特性

1 . 机械特性 

总线在机械连接方式上的一些性能,例如他们的几何形状、尺寸、引脚个数等。

2. 电气特性

规定信号的传输方向(地址总线是单向输出线,数据总线是双向传输线)以及有效的电平范围。通常规定输入CPU的叫输入信号,从CPU输出的就是输出信号。

3. 功能特性 

规定各传输线的功能,例如地址总线传送地址,数据总线传数据,控制总线发控制信号(双向)。

3.2 性能指标

1)总线宽度:就是数据总线的根数,通常为8位,16位、32位等。

2)总线带宽:就是数据的传输速率(单位时间内数据的传输位数),单位可用兆字节每秒表示。

3)时钟同步/异步:总线上的数据与时钟同步工作称为同步总线,否则为异步总线

4)总线复用:一种信号线分时传输两种信号。例如数据总线与地址总线共用一组物理线路,分时传输地址信号与数据信号。

5)信号线数:地址总线、数据总线、控制总线的总和。

6)总线控制方式:包括突发工作、逻辑方式、计数方式等。

7)其他指标:总线宽度是否能扩展,负载能力等。

四、 总线控制 

总线上连接着许多部件,什么时候哪个部件发送信息?哪个设备接收信息?如何避免多个设备同时发送信息?什么时候放弃总线使用权等问题都由总线控制器统一管理。

4.1 总线判优控制

总线上的所有设备,可以通过判断其是否对总线有控制功能分为主设备与从设备主设备对总线有控制权,从设备只能响应主设备发来的总线命令,对总线没有控制权。

所以总线上的信息传输是主设备启动的,如果某个主设备要与一从设备进行通信时,由主设备发出总线请求信号,若多个主设备都想用总线时,就由总线控制器判优、仲裁确定一定的优先等级,获得优先权的主设备才能传送数据。

那么我们如何判断谁是主设备,谁是从设备呢?

总线判优控制分为集中式与分散式,集中式就是将控制逻辑集中在一处上(如CPU上),后者就是把控制逻辑分散在与总线连接的各个部件或设备上,我们主要了解集中式。

常见的集中控制优先权仲裁有以下三种:

1)链式查询

就是从I/O接口0开始挨个询问:是你发出的总线请求吗? 所以接口0的优先级最高

2)计数器定时查询  

少了总线同意BG,计数并通过地址线发送信号,当某设备地址值与计数器值一致,就获得总线使用权。

3)独立请求方式

少了总线忙BS,每个接口有独立的总线请求BR与总线同意BS。

 

 

4.2 总线通信控制 

 众多部件争夺总线使用权时,应该按着优先等级,轮流交替使用,通常将完成一次总线操作的时间称为总线周期,分为四个阶段:

1)申请分配阶段:想使用总线的主设备发出申请,总线仲裁机构决定优先等级之后把下一传输周期的总线使用权交给某一申请者。

2)寻址阶段:取得使用的主设备通过总线发出要访问的从设备的地址、有关命令等,启动相关从设备。

3)传数阶段:主设备与从设备进行数据交换,数据由源模块流向目的模块。

4)结束阶段:主设备的有关信息从系统总线上撤出,让出总线使用权。

通信控制就是让通信双方知道什么时候开始,什么时候结束以及双方如何配合。通常有四种方式:同步通信,异步通信,半同步通信,分离式通信。

4.2.1 同步通信

通信双方统一时标传控制数据传送。时标通常由CPU总线控制部件发出,达到总线上所有部件,也可以由各部件的时序发生器发出,但必须由总线控制部件发出的时钟信号对他们进行统一。

 

4.2.2 异步通信

没有统一的时钟信号。采用“握手”应答方式,当主模块发出请求信号时,等待从模块的响应信号后,才开始通信。异步通信的应答方式又称为不互锁、半互锁、全互锁三种类型。 

(a)不互锁:主模块发出请求信号之后,不用等从模块应答,只要确认从模块接收到信号就撤销请求信号;从模块接收到信号后,发出回答信号,过一段时间自动撤销回答信号。

不互锁就是双方不互相看对方眼色行事,确认对方收到自己的信号就完事儿了(所以图上就是主模块发出请求信号,确认对方收到,就结束了,双方自行结束后面的步骤)。CPU向主存写信息,CPU先后给地址、写命令、数据 用的就是这种方式。

(b)半互锁:主模块发出请求信号,并且等到从模块的回答信号之后主模块才撤销请求信号,但从模块确认对方收到自己的回答信号,过段时间就撤销回答信号。

半互锁就是主模块不仅要确认从模块接收到信号,还要等从模块应答,从模块只需确认对方收到信号。一方互锁,一方不互锁就是半互锁。在多机系统中,CPU要访问共享存储器,必须收到存储器未被占用的信号才能进行访存操作。

(c)全互锁:主模块发出请求信号等到从模块的回答信号,撤销请求信号,从模块发现主模块要撤销请求信号,就撤销回答信号,是双方互锁的。

4.2.3 半同步通信

半同步通信所有的地址、命令、数据信号的发出时间都严格参照系统时钟某个前沿的开始,接收方都严格参展系统时钟某个后沿时刻到来,但又像异步通信那样允许不同速度地工作。

4.2.4 分离式通信 

就是把一个传输周期分为两个子周期, 在第一个子周期主模块A把地址、命令、数据信息等得到总线使用权后发送到总线上,只占用很短的时间,发送完立即放弃总线使用权;

第二个子周期中,传输后命令信号被相关从模块B接收,B译码、准备好A需要的数据后,B立即获得总线使用权,把准备好的信息发送到总线上,让A接收。

这种分离式通信有以下特点:

1)各模块要获得总线使用权都要发出请求

2)在获得总线使用权后就立即向总线发送信息,同步式传送,不用再等待回答信号

3)各模块在准备数据的时候不占用总线使用权,使总线可以接受其他模块的申请

4)总线在被占用时都在进行有效工作,没有空闲的等待时间,实现多个主、从模块交叉重叠并行式传送

  • 25
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值