计算机组成原理第6章-总线

写在前面:本文经过王道论坛的计算机组成原理单科书整理而来。

在这里插入图片描述

请带着如下问题阅读文章
1)引入总线结构有什么好处?
2)引入总线结构会导致什么问题? 如何解决?

在这里插入图片描述

6.1 总线概述

随着计算机的发展和应用领域的不断扩大,I/O设备的种类和数量也越来越多。 为了更好地解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。 为了进一步简化设计,又提出了各类总线标准。

6.1.1 总线基本概念

1. 总线的定义

总线是一组能为多个部件分时共享的公共信息传送线路。分时和共享是总线的两个特点。

分时是指同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则它们只能分时地向总线发送信息。

共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可通过这组线路分时共享。在某一时刻只允许有一个部件向总线发送信息,但多个部件可同时从总线上接收相同的信息。

2. 总线设备

总线上所连接的设备,按其对总线有无控制功能可分为主设备和从设备两种。

主设备:总线的主设备是指获得总线控制权的设备。
从设备:是指被主设备访问的设备,它只能响应从主设备发来的各种总线命令。

3. 总线特性

总线特性是指机械特性(尺寸、形状)、电气特性(传输方向和有效的电平范围)、功能特性(每根传输线的功能)和时间特性(信号和时序的关系)。

4 总线的猝发传输方式

在一个总线周期内传输存储地址连续的多个数据字的总线传输方式,成为猝发传输

6.1.2 总线的分类

计算机系统中的总线,按功能划分可分为以下3类。

片内总线

片内总线是芯片内部的总线,它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。

系统总线

系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。

按系统总线传输信息内容的不同,可以将系统总线分为3类:数据总线、地址总线和控制总线。

1)数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关。

2)地址总线用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,它是单向传输总线,地址总线的位数与主存地址空间的大小有关。

3)控制总线传输的是控制信息,包括CPU送除的控制命令和主存(或外设)返回CPU的反馈信号。

通信总线(外部总线)

通信总线是在计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间传送信息的总线,通信总线也称为外部总线

此外,按照时序控制方式可将总线划分为同步总线和异步总线。

按照数据传输格式可分为并行总线和串行总线。

6.1.3系统总线的结构

总线结构通常分为单总线结构、双总线结构和三总线结构等。

1 单总线结构

单总线结构将CPU、主存、I/O设备(通过I/O接口)都挂在一组总线上,允许I/O设备之间、I/O设备与主存之间直接交换信息。 CPU与主存、CPU与外设之间可直接进行信息交换,而无需经过中间设备的干预。

在这里插入图片描述

注意: 单总线并不是只有一根信号线,系统总线按传送信息的不同可细分为地址总线、数据总线和控制总线。

优点:结构简单,成本低,易于接入新的设备;

缺点: 带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。

2 双总线结构

双总线结构有两条总线:一条是主存总线,用于在CPU、主存和通道之间传送数据;另一条是I/O总线,用于在多个外部设备与通道之间传送数据。

优点: 将低速I/O设备从单总线上分离出来,实现了存储器总线和I/O总线分离。

缺点: 需要增加通道等硬件设备。
在这里插入图片描述

3 三总线结构

三总线结构是在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这3条总线分别是主存总线I/O总线直接内存访问(DMA)总线。

主存总线用于在CPU和内存之间传送地址、数据和控制信息。
I/O总线用于在CPU和各类外设之间通信。
DMA总线用于在内存和高速外设之间直接传送数据。

优点: 提高了I/O设备的性能,使其更快地响应命令,提高系统吞吐量。

缺点: 系统工作效率较低。

在这里插入图片描述

6.1.4 总线的性能指标

1)总线的传输周期。
指一次总线操作所需要的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),简称总线周期。总线周期通常由若干总线时钟周期构成。

2)总线时钟周期

即机器的时钟周期。 计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。

3) 总线的工作频率

总线上各种操作的频率,为总线周期的倒数。 实际上指1秒内传送几次数据

若 总 线 周 期 = N 个 时 钟 周 期 , 则 总 线 的 工 作 频 率 = 时 钟 频 率 N 若总线周期=N个时钟周期,则总线的工作频率= \frac{时钟频率}{N} 线=N线=N

4) 总线的时钟频率

即机器的时钟频率,它是时钟周期的倒数。

5) 总线宽度

又称总线位宽,它是总线上同时能够传输的数据位数,通常指数据总线的根数,如32根称为32位总线。

6) 总线带宽

可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。

总 线 带 宽 = 总 线 工 作 频 率 × 总 线 宽 度 ( b / s ) = 总 线 工 作 频 率 × ( 总 线 宽 度 / 8 ) ( B / s ) 总线带宽=总线工作频率\times 总线宽度(b/s)=总线工作频率\times (总线宽度/8)(B/s) 线=线×线b/s=线×线/8(B/s)

7 ) 总线复用

总线复用指的是一种信号线在不同的时间传输不同的信息,因此可以使用较少的线传输更多的信息,从而节省空间和成本。

8) 信号线数

地址总线、数据总线和控制总线3种总线数的总和称为信号线数。其中,总线的最主要性能指标为总线宽度、总线频率、总线带宽,总线带宽是总线本身所能达到的最高传输速率,它是衡量总线性能的重要指标。

三者关系: 总线带宽=总线宽度×总线频率。

例如,总线工作频率为22MHz,总线宽度为16位,则总线带宽为:22× 16/8=44MB/s

6.2 总线仲裁

为解决多个主设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得了总线控制权的设备,才能开始传送数据。

6.2.1 集中仲裁方式

总线控制逻辑基本上集中于一个设备(如CPU)中。将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决,称为集中裁决方式。 集中裁决方式有链式查询方式、计数器定时查询方式和独立请求方式三种。

1 链式查询方式

链式查询方式总共有3根线(BG总线允许;BR总线请求;BS总线忙)总线上所有的部件共用一根总线请求线(BR),当有部件请求使用总线时,需经过BR线发出总线请求信号到总线控制器。 由总线控制器检查总线是否忙,若总线不忙,则立即发总线响应信号,经总线响应线(BG)串行地从一个部件传送到下一个部件,依次查询。 若响应信号到达的部件无总线请求,则该信号立即传送到下一个部件;若响应信号到达的部件有总线请求,则信号被截住,不再传下去。

在这里插入图片描述

在链式查询方式中,部件离总线控制器越近,其优先级越高;部件离总线控制器越远,其优先级越低。

优点:
结构简单;易于扩充;

缺点:
对电路故障敏感,优先级不能改变,不灵活;
当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。

2 计数器定时查询方式

计数器定时查询方式采用一个定时器控制总线的使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线(BG),它仍然共用一根总线请求线(BR),当总线控制器收到总线请求信号并判断总线空闲时,计数器开始计数,计数值通过设备地址线发向各个部件。当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权,同时终止计数器的计数及查询。

优点:

优先级灵活。

缺点:

控制线多(总线忙1根+总线请求1根+总线允许 ⌈ l o g 2 n ⌉ \lceil log_2n\rceil log2n= ⌈ l o g 2 n ⌉ \lceil log_2n\rceil log2n+2条),控制也比链式查询要复杂。

在这里插入图片描述

3 独立请求方式

每个设备均有一对总线请求线BR和总线允许线BG。当总线上的部件需要使用总线时,经过各自的总线请求线发送请求信号,在总线控制器中排队,当总线控制器按照一定的优先次序决定批准某个部件的请求时,给该部件发送总线响应信号,该部件接到此信号后就获得了总线使用权,开始传送数据。

在这里插入图片描述
优点:

响应速度快;对优先级控制灵活。

缺点:

控制线数量多(设备有n个,需要2n+1条控制线,其中加的那条线为总线忙(BS)线);总线控制更复杂。

在这里插入图片描述

6.2.2 分布仲裁方式

分布仲裁方式不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器。当它们有总线请求时,就会把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比对。若仲裁总线上的仲裁号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。

6.3 总线操作和定时

6.3.1 总线传输的4个阶段

一个总线周期通常可以分为以下4个阶段:

1)申请分配阶段: 由需要使用总线的总模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。 也可将此阶段分为传输请求总线仲裁两个阶段。

2)寻址阶段:取得使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。

3)传输阶段: 主模块和从模块进行数据交换,可单向或双向进行数据传送。

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

6.3.2 同步定时方式

所谓同步定时方式,是指系统采用一个统一的时钟信号来协调发送和接受双方的传送定时关系。 时钟产生相等的时间间隔,灭个间隔构成一个总线周期。 在一个总线周期中, 发送方和接收方可以进行一次数据传输。

优点:传输速度快,具有较高的传输速率;总线控制逻辑简单

缺点: 主从设备属于强制性同步; 不能及时进行有效性检验,可靠性较差。

同步通信适用于总线长度较短总线所接部件的存取时间比较接近的系统。

6.3.3 异步定时方式

在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。通常,把交换信息的两个部件或设备分为主设备和从设备,主设备提出交换信息的“请求”信号,经接口传送的到从设备;从设备接收到主设备的请求后,通过接口向主设备发出“应答”信号。

优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的分配。

缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。

根据“请求”和“回答”信号的撤销是否互锁,异步定时方式分为以下三种类型。

1)不互锁方式。

主设备发出“请求”信号后, 不必等到接到从设备的“回答”信号,而是经过一段时间便撤销“请求”信号。而从设备在接到“请求”信号后,发出 “回答”信号 “,并经过一段时间后自动撤销回答”信号。双方不存在互锁关系。

2) 半互锁方式。

主设备发出“请求”信号后,必须在接到从设备的“回答”信号后,才撤销“请求”信号,有互锁关系。 而从设备在接到“请求”信号后,发出 “回答”信号 “,并经过一段时间后自动撤销“回答”信号

3)全互锁方式。

主设备发出“请求”信号后,必须在接到从设备的“回答”信号后,才撤销“请求”信号;从设备发出”回答“信号后,必须在获知主设备”请求信号“已撤销后,再撤销”回答“信号。双方存在互锁现象。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值