计算机组成原理|第三章(笔记)


上篇:第二章:计算机的发展及应用
下篇:第四章:存储器

第三章 系统总线


3.1 总线的基本概念

计算机系统的五大部件之间的互连方式有两种,一种是各部件之间通过单独的连线,叫做分散连线;另一种是将各部件连到一组公共信息的传输上,叫做总线连接。早期的计算机大多数都使用分散连接方式,但是这种连接方式连线十分复杂,不仅会影响 CPU 的工作效率,而且无法解决主机和 I/O 设备之间连接的灵活性,所以之后计算机都采用总线连接方式。

总线是连接多个部件的信息传输线,是各部件共享的传输介质。在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

单总线结构框图:
在这里插入图片描述
该结构只有一组总线,当某一时刻各部件都要占用时,就会出现争夺现象,比如主存M.M 通过 I/O 接口进行数据传输的话,主存和 CPU 之间就无法利用这条总线进行数据传输,如果不采取特殊的技术措施的话,那么 CPU 执行程序的过程就会停止,则将严重的影响 CPU 的运行效率。

要解决单总线存在的争夺现象,可以引入多组总线,让数据尽可能的并行传输。

面向 CPU 的双总线结构框图:

在这里插入图片描述
其中一组总线连接 CPU 和主存,叫存储总线(M 总线),另一组用来建立 CPU 和各 I/O 之间的信息的通道,叫输入/输出总线(I/O 总线),各种 I/O 设备通过 I/O 接口挂到 I/O 总线上,这种结构在 I/O 设备与主存交换信息时仍然要占用 CPU,因此还会影响 CPU 的工作效率。

以存储器为中心的双总线结构框图:

在这里插入图片描述
它是在单总线基础上,又单独开辟一条 CPU 与主存之间的通路,叫存储总线。这组总线速度高,只供主存与 CPU 之间传输信息,这样既提高了传输效率,又减轻了系统总线的负担,还保留了 I/O 与存储器交换信息时不经过 CPU 的特点。


3.2 总线的分类

在这里插入图片描述

以下按照连接部件的不同介绍总线。


3.2.1 片内总线

片内总线是指芯片内部的总线,如在 CPU 芯片内部,寄存器与寄存器之间、寄存器与算逻单位 ALU 之间都有总线连接。


3.2.2 系统总线

系统总线是指 CPU、主存、I/O(通过 I/O 接口)各大部件之间的信息传输线。由于这些部件通常都制作在各个插件板上,故又叫作板级总线和板间总线。

按系统传输信息的不同,又可分为三类:数据总线地址总线控制总线

  • 数据总线:用来传输各功能部件之间的数据信息,它是双向传输总线,与机器字长、存储字长有关。
  • 地址总线:用来指出数据总线上的源数据或目的数据在主存单元的地址,它是单向传输的,与存储地址、I/O 地址有关。
  • 控制总线:用来发出各种控制信号的传输线。

3.2.3 通信总线

通信总线用于计算机之间或计算机系统与其他系统之间的通信。由于这类联系涉及到许多方面,如外部连接、距离远近、速度快慢、工作方式等等,差别极大,因此通信总线的类别很多。但按传输方式可分为两种:串行通信总线并行通信总线


3.3 总线特性及性能指标


3.3.1 总线的特性

总线结构的物理实现:

在这里插入图片描述
总线是一组电导性,CPU、M.M、I/O 都是部件插板,它们通过插头与水平方向总线插槽连接。

总线的特性:

  • 机械特性:是指总线在机械连接方式上的一些性能,例如:尺寸、形状、引脚个数及排列顺序等。
  • 电气特性:是指总线的每一根传输线上信号的传递方向和有效的电平范围。
  • 功能特性:是指总线中每根传输线的功能。
  • 时间特性:是指总线中的任一根线在什么时间内有效。

3.3.2 总线性能指标

总线的性能指标包括:

  1. 总线宽度:它是指数据总线的根数。
  2. 标准传输率:即在总线上每秒能传输的最大字节量。
  3. 时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线。
  4. 总线复用:地址线和数据线复用。
  5. 信号线数:地址线、数据线和控制线的总和。
  6. 总线控制方式:突发、自动、仲裁、逻辑、计数。
  7. 其他指标:负载能力等

总线的标准:

目前流行的总线标准有:ISA、EISA、VL-BUS、PCI 等等。

在这里插入图片描述


3.4 总线结构

总线结构通常可分为单总线多总线两种。


3.4.1 单总线结构

在这里插入图片描述
它是将 CPU、主存、I/O 设备都挂在一组总线上,允许 I/O 之间或 I/O 与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高。


3.4.2 多总线结构

双总线结构:
在这里插入图片描述
双总线结构的特点是将速度较低的 I/O 设备从单总线上分离出来,形成主存总线与 I/O 总线分开的结构。通道是一个具有特殊功能的处理器,CPU 将一部分功能下放给通道,使其对 I/O 设备具有统一管理的功能,以完成外部设备与主存之间的数据传送。

三总线结构:
在这里插入图片描述
主存总线用于 CPU 与主存之间的传输;I/O 总线供 CPU 与各类 I/O 之间的传递信息;DMA 总线用于高速外设(磁盘、磁带等)与主存之间直接交换信息。在三总线结构中,任一时刻只能使用一种总线,主存总线与 DMA 总线不能同时对主存进行存取,I/O 总线只有在 CPU 执行 I/O 指令时才用到。

另一种三总线结构:
在这里插入图片描述
处理器与高速缓冲存储器 Cache 之间有一条局部总线,它将 CPU 与 Cache 或与更多的局部设备连接,Cahce 和主存都连接到系统总线上,而且 I/O 与主存之间的传输也不必通过 CPU,还有一条扩展总线将局域网、小型计算机接口、调制解调器以及串行接口等都连接起来。扩展总线由通过扩展总线接口与系统总线相连,由此实现这两种总线之间的信息传递。

四总线结构:
在这里插入图片描述
四总线结构的出现是为了进一步提高 I/O 性能,增加一条与计算机系统紧密相连的高速总线,在高速总线上挂接一些高速性能的外设,而一些低速的设备仍然挂在扩展总线上,将高速设备与低速设备进行分类组织,并由扩展总线接口与高速总线相连,使数据传输效率更高。


3.4.3 总线结构举例

传统微型机总线结构:
在这里插入图片描述

VL-BUS 局部总线结构:
在这里插入图片描述

PCI 总线结构:
在这里插入图片描述

多层 PCI 总线结构:
在这里插入图片描述


3.5 总线控制

总线上连接了多个设备,设备之间要进行通信,就必须解决总线判优控制和总线通信控制连个问题:

  • 总线判优控制问题:多个设备可能同时向总线占用总线的请求,到底哪个设备来使用总线,因为总线在同一时刻,只能有一对设备能进行使用。
  • 总线通信控制问题:这对设备占用了总线以后,就要进行通信,如何完成这一通信过程,保证通信过程的正确性

3.5.1 总线判优控制

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

  • 主设备(模块):对总线有控制器
  • 从设备(模块):响应从主设备发来的总线命令

总线判优控制可分为集中式和分布式两种,集中式又分为链式查询、计数器定时查询和独立请求方式三种。

  • 集中式
    • 链式查询
    • 计数器定时查询
    • 独立请求方式
  • 分布式

链式查询:
在这里插入图片描述
图中控制总线中有三根线用于总线控制(BS总线忙、BR总线请求、BG总线同意),其中总线同意信号 BG 是串行地从一个 IO 接口送到下一个 IO 接口。如果 BG 到达的接口有总线请求,BG 信号就不再往下传,意味着该接口获得了总线使用权,并建立总线忙 BS 信号,表示它占用了总线。可见在查询链中,离总线控制部件最近的设备具有最高的优先级。这种方式的特点是:只需银少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感。

计数器定时查询:
在这里插入图片描述
与链式查询相比,多了一组设备地址线,少了一根总线同意线BG。总线控制部件接到由 BR 送来的总线请求信号后,在总线未被使用(BS-0)的情况下,由计数器开始计数,向各设备发出一组地址信号。当某个有总线请求的设备地址与计数值一致时,便获得总线使用权,此时终止计数查询。这种方式的特点是:计数可以从“0”开始,此时设备的优先次序是固定的;计数也可以从终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;计数器的初始值还可由程序设置,故优先次序可以改变。此外,对电路故障不如链式查询方式敏感,但增加了主控制线(设备地址)数,控制也较复杂。

独立请求方式:
在这里插入图片描述
每一设备均有一对总线请求线 BRi 和总线同意线 BGi 。当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先次序确定响应哪一设备的请求。这种方式的特点是:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。链式查询中仅用两根线确定总线使用权属于哪个设备,在计数查询中大致用 log2n 根线,其中 n 是允许接纳的最大设备数,而独立请求方式需采用 2n 根线。


3.5.2 总线通信控制

总线通信控制的目的是为解决通信双方协调配合问题。

总线在完成一次传输周期时,可分为四个阶段:

  • 申请分配阶段:主模块提出申请,总线仲裁决定
  • 寻址阶段:主模块向从模块给出地址和命令
  • 传数阶段:主模块和从模块交换数据
  • 结束阶段:主模块撤消有关信息

总线通信的四种方式:

(1)同步通信

总线传输周期是总线上两个部件完成一次完整而可靠的传输时间,它包括 4 个时钟周期 T1、T2、T3、T4

同步式数据输入传输:
在这里插入图片描述

对于读命令,其传输周期为:

  • T1:主模块发地址
  • T2:主模块发读命令
  • T3:从模块提供数据
  • T4:主模块撤消读命令

同步式数据输出传输:
在这里插入图片描述
对于写命令,其传输周期为:

  • T1:主模块发地址
  • T1.5:主模块提供数据
  • T2:主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中
  • T4:主模块撤消写命令和数据等信号

这种通信的优点是规定明确、统一。模块间的配合简单一致。其缺点是主从模块时间配合属性强制性 “同步” ,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成对各不相同速度的部件而言,必须按最慢速度部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。

(2)异步通信

异步通信克服了同步通信的缺点,允许各模块速度的不一致性,没有公共的时钟标准,不要求所有部件严格的统一动作时间,而是采用应答方式(又称握手方式),即当主模块发出请求信号时,一直等待从模块反馈回来 “响应” 信息后,才开始通信。

异步通信方式可分为不互锁半互锁全互锁三种类型。

不互锁方式:
在这里插入图片描述
主模块发出请求信息后,不等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信息后,便撤消其请求信号;从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,确认设备已收到回答信号后,自动撤消回答信号。

半互锁方式:
在这里插入图片描述
主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系;而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,无互锁关系。故称半互锁方式。

全互锁方式:
在这里插入图片描述
主模块发出请求信号,待从模块回答后再撤消其请求信号;从模块发出回答信号,待主模块获知后,再撤消其回答信号。故称全互锁方式。

(3)半同步方式

半同步集同步和异步的优点,既保留了同步通信的基本特点,如发送方用系统时钟前沿发信号,而接收方用系统时钟后沿判断、识别。同时又像异步通信那样,允许不同速度的模块和谐工作。为此增设了一条 “等待”(WAIT)响应信号线

在这里插入图片描述

以读命令为例,半同步通信时序可为:

  • T1:主模块发地址
  • T2:主模块发命令
  • Tw:当 WAIT 为低电平有效时,进入等待,其间隔与 T 统一
  • Tw:当 WAIT 为低电平有效时,进入等待,其间隔与 T 统一
  • … …
  • T3:从模块提供数据
  • T4:从模块撤消数据

半同步通信控制方式的优点是比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还是不太高。

(4)分离式通信

以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束,在一个总线传输周期中(以输入数据为例),它们的共同点如下:

  1. 主模块通过传输总线向从模块发送地址和命令 ------- 占用总线
  2. 从模块按照命令进行读数据的必要准备 ---------------- 不占用总线,总线空闲
  3. 从模块经数据总线向主模块提供数据 ------------------- 占用总线

由此可见,对系统总线而言,从模块内部读出过程并无实质性的信息传输,纯属空闲等待。为了克服和利用这种消极等待,充分挖掘系统总线每瞬间的潜力,为此人们提出了 “分离式” 的通信方式。

分离式通信的基本思想是将一个传输周期(或总线周期)分解为两个子周期。

  • 第一个子周期:主模块申请占用总线,使用完后,即放弃总线的使用权
  • 第二个子周期:从模块申请占用总线(这个时候从模块实际变成了主模块),将各种信息送至总线上

分离式通信的特点:

  1. 各模块都有权申请占用总线
  2. 采用同步方式通信,不等对方回答
  3. 各模块准备数据时,不占用总线
  4. 总线被占用时,无空闲

上篇:第二章:计算机的发展及应用
下篇:第四章:存储器

猜你喜欢

转载自blog.csdn.net/xhmico/article/details/129372585
今日推荐