【第三章 】计算机组成原理章节重点第三章总线技术

第三章 总线技术

一、概述

总线:连接多个部件(在现在总线概念中,多个最少亦可以是两个)的一组公用信息传输线,是各部件共享的传输介质。
1、两种互连方式
(1)专用互连
各部件之间两两互连,建立独享的专用信息传输通路,可以实现速度最大化(就考虑互连的两个部件),但系统扩展新部件时,难以实现(需要考虑新部件与原来所有部件之间的关系)。
(2)共享互连
各部件之间有一组共享的公用传输线,各部件其实都连接到总线上,此时扩展部件易于实现(新部件只需挂接至总线即可),但总线的速度相对要慢(需适应总线上最慢速的部件)。
注意:现在的总线已经是一个泛化的概念,有些两两互连的传数线也称为总线,例如CPU和主存之间通常会有一组专用传输线(就是两个部件互连),这组线就称为主存总线。

2、总线的分类
(1)按所传输的信息
地址总线(Address Bus,AB):传输地址信号的总线
数据总线(Data Bus,DB):传输数据信号的总线
控制总线(Control Bus,CB):传输控制信号的总线

(2)按传输方式
并行总线(一次传输多位数据)、串行总线(一次仅传输一位数据)

(3)按所连接的部件
系统总线(亦称处理器总线):互连系统中主要功能部件的总线,一般主要连接处理器和主存,特点是时钟频率高、线宽大
输入输出总线(亦称I/O总线):连接主机和输入/输出设备的总线,特点是时钟频率低、线宽小

(4)按在系统中的位置
片内总线:位于处理芯片内部的总线,负责寄存器之间和寄存器与运算器之间数据传输
底板总线(亦称系统总线或内总线):计算机系统主板上的总线,负责处理器、主存以及I/O接口之间的互连
板间总线(亦称I/O总线):用于主机与I/O接口的互连,主要反映为主板上的扩展插槽
通信总线(亦称外总线):负责计算机系统之间或计算机与外围设备之间的连接

3、总线的特性
所谓的总线的特性,即如何来描述总线
(1)物理特性(亦称机械特性)
指总线在连接方式上的一些特性,如插头和插座使用标准(几何尺寸、形状、引脚个数以及排列的顺序)
(2)电气特性
指总线的每一根传输线上信号的传递方向和有效的电平范围

传递方向的三种模式
单工:传递方向不可改变,仅按预先设定的方向传递
半双工:传递方向可以改变,但某个时间段仅能按一个方向传递(仅一个信道)
全双工:可两个方向同时传递(实质上是两个信道)

TTL逻辑电平
“0”用+5v电平、“1”用0v电平

(3)功能特性
指总线中每一根传输线的功能
举例:
D0 —D31(数据线) //数据线32根,对应32位机
A0 —A31(地址线) //地址线32根,对应寻址空间4GB
CLK(时钟) RST(复位)
INTR(中断请求) INTA(中断响应)
RD(读) WR(写)
HRQ(总线请求) HLDA(总线允许)

(4)时间特性(亦称过程特性)
指总线中任一根线在什么时间内有效,具体用时序关系图描述

二、总线结构举例

1、单总线结构

  • 早期DEC公司的PDP-11/20采用,仅一条共享总线
    在这里插入图片描述
    特点:共享总线,扩展容易,但I/O总数有上限(受总线负载能力限制)
    总线速度由最慢设备决定(木桶原理),总线利用率低
    正常的I/O模式,即I/O先传数给CPU,CPU再把数传给主存(不存在DMA)
    2、多总线结构(系统总线+局部总线)
  • 系统总线之外的总线均可称为局部总线
    在这里插入图片描述
    上图在CPU和主存之间引入一条主存总线,可以实现主存和CPU之间的高速传输数据;同时在高速I/O和主存之间引入一条DMA总线,可以实现高速I/O和主存之间的高速传输数据。其它低速I/O则通过系统总线和CPU进行低速传输数据。
    特点:引入局部总线,可以高速传输数据,局部总线一般为互连总线,不易于扩展
    3、总线的层次结构
  • 现代计算机系统普遍采用

在这里插入图片描述

  • 实现不同的总线速度和I/O设备的扩展
  • 可以假想下层为一个统一的I/O系统,总线之间通过桥接器(Bridge)连接

三、总线控制

1、总线仲裁(Bus Arbitration) //决定总线归谁使用

  • 总线控制器:需要有一个控制器来决定总线的使用权和对总线进行管理
  • 控制方式
    集中式——控制逻辑集中在一处(早期通常在CPU内部)
    分布式——控制逻辑分散到各个部件或设备上
    主模块(Master Module):拥有总线控制权的部件
    从模块(Slave Module):被主部件访问的部件
    (1)链式查询方式
    在这里插入图片描述
    其中BS(Bus Busy)为总线忙,BR(Bus Request)为总线请求,BG(Bus Get)为总线获得。
    特点:结构简单,扩展容易(不管设备为多少,仅需三根控制线即可)
    对故障敏感(某个设备出错,其后的所有设备均无法操作)
    远端响应机会小(存在饥饿现象),远端响应延迟大

(2)计数器定时查询方式
在这里插入图片描述用一组设备地址线替代原来的BG,由于取消了BG,所以故障敏感特性消失,只有设备地址线上的地址值与请求设备的编号相同时,设备才能获得总线。
特点:扩展受地址线位数限制(如设备地址线仅3位,则最多设备数为8个)
对故障不敏感
各设备优先级相同(请求时设备地址线数值随机)
响应的延迟可能小,亦可能大(响应时间无法预期)
(3)独立请求方式
在这里插入图片描述
每一个设备均有一组BR和BG,所以响应时间短,但硬件开销较大(线数多),总线控制器内需要一个优先级排队器。
(4)固定时间片
一种分时系统模式,即每个设备处理一定时间,时限到了立刻让出总线使用权。
(5)分布式总线仲裁方式

  • 前面几种均为集中式仲裁,这是一种分布式仲裁
    在这里插入图片描述
    各设备有自己的仲裁电路,操作时向共享的优先级地址线发自己的优先级号,然后回收地址线上的数值,根据回收的数据决定是否使用总线。(具体的判断规则略)
    2、总线通信控制
  • 数是否送到总线上、对方是否接收、数是否撤销、下一次是否开始
    (1)同步通信
  • 无需感知对方,按固有时钟周期来处理
  • 时钟可共享同一个,亦可彼此各有一个(但使用前需协调同步)
  • 读数据操作时序关系
    在这里插入图片描述
  • 写数据操作时序关系在这里插入图片描述
    在这里插入图片描述特点:配合简单一致、信号传输速率高、时钟的频率向慢速设备看齐(对快速设备而言效率较低)
    (2)异步通信
  • 需要感知对方的操作,一般用一组应答来进行双方的联络信号
  • 单边控制(只一端控制,另一端无需回应) //控制简单,但容易出错
    a、源部件控制(即发送端)
    发送端送出数据,同时发数据就绪状态(用该状态信号锁存数据给对方端),理想情况是接收端收到就绪状态,取走数据(接收端不发回应信号)。
    在这里插入图片描述
    缺点:存在“毛刺”脉冲干扰,造成错误数据锁存
    发送端不能确切知晓接收端是否把数据取走(如接收端未把数据取走,而发送端又发新数,则原数据丢失)
    b、目的部件控制(即接收端)
    接收端发出数据请求,延迟一定时间(接收端认为理想情况下,发送端应该接收到该信号并已进行了处理),然后取走数据。整个过程不接收发送端任何信号。
    在这里插入图片描述
    缺点:无法确定发送端是否真的发送了数据(只是假定正常情况下,延迟如此长的时间发送端一定响应)
  • 双边控制(一端请求,另一端需要回应) //安全性要比单边控制高
    a、不互锁方式
    在这里插入图片描述
只存在一个递推关系,即回应信号是在接到对方的请求信号发出的。请求端不接收回应信号,而是延迟一段时间(认为时间足够长,对方足够响应)后自动撤销请求信号,同时回应信号也是延长一段时间后自动撤销。    //实质上就是一种单边控制

问题:如果对方没有回应,结果是数据丢失
b、半互锁方式
在这里插入图片描述
存在两个递推关系,回应信号是在接到对方的请求信号发出的,同时请求信号是在接到对方的回应信号后撤销的。最后回应信号是延长一段时间(认为时间足够长,对方足够响应)后自动撤销。 //安全性更好
问题:如果对方没有接到回应信号,而本方回应又撤销,结果是对方一直请求
c、全互锁方式
在这里插入图片描述
存在三个递推关系,回应信号是在接到对方的请求信号发出的,同时请求信号是在接到对方的回应信号后撤销的,最后回应信号是在接到对方的请求信号撤销后再撤销。此种方式安全性最高,但控制麻烦,在网络通信中采用较多。
注意:计算机系统中永远满足墨菲定律(凡可能出错的地方,终将出错)

四、总线性能指标

1、总线宽度——数据总线的位数
2、工作时钟频率——控制总线中时钟信号线所提供的频率

  • 处理器内部总线的频率称为内频
  • 系统总线的频率称为外频
    3、单个数据传送周期数
  • 正常方式:传送时先送地址,然后再送数据(即两个工作周期送一个数)
  • 突发方式:只第一个数采用正常方式(两个工作周期),后续数据只需一个工作周期即可(通常满足局部性原理,不需再送地址,地址自动加1即可)
    4、负载能力——连接部件数目的多少(平均值一般为3个)
    5、标准传输率——即传输带宽
    标准传输率=总线宽度×工作频率 //注意不是时钟频率
    注意:传输带宽为理论上的最大值(即总线的峰值)
    例:某系统一个周期内传4字节信息,一个总线周期占两个时钟周期,总线时钟频率为10MHz,则总线的传输带宽是多少?
    4B×(10MHz÷2)=20MB/s
    注意:总线时钟周期,即时钟信号线一次时钟震荡的时间值
    总线周期,即传输一次数据的时间值,一般需要几个总线时钟周期
    例:总线时钟频率为100MHz,总线宽度32位,每传输一次地址或一次数据均只需一个总线时钟周期即可,支持突发传输,则传输128位需多长时间?
    一个总线时钟周期TC=(1/100MHz)=10ns
    传128位需传数据(128÷32)=4次
    第一次传数需传地址和数据,即需2TC,后三次不需要传地址,则只需3TC
    共需2TC+3TC=5TC=50ns
  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在下方方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值