计算机组成原理——系统总线

系统总线

计算机的主机

计算机组成原理——系统总线_第1张图片

  • 数据总线:是双向的,也就是CPU既可以从主存当中获取数据,也可以向主存当中保存数据
  • 地址总线:是单向的,只有CPU将地址给主存(MAR)
  • 控制总线:虽然看起来控制总线是双向的,实际上控制总线有两种类型,每一种类型是单向的。即CPU传给存储器的控制信号,存储器传给CPU的状态信号

总线的基本概念

  • 总线的作用:总线把需要通信的各个部件连接起来。
  • 什么是总线:总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
  • 总线上信息的传送:串行并行

总线结构的计算机举例

面向CPU的双总线结构图

  • 中央处理器通过M总线主存连接,通过I/O总线各个接口进行连接
    计算机组成原理——系统总线_第2张图片

单总线结构图

  • 中央处理、主存和各个接口通过单一的总线连接在一起
    计算机组成原理——系统总线_第3张图片

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

  • 存储器通过存储总线与CPU连接,同时系统总线将CPU、主存和各个接口进行连接
    计算机组成原理——系统总线_第4张图片

总线的分类

  • 片内总线:芯片内部的总线
  • 系统总线:计算机各个部件之间的信息传输线
  • 通信总线:用于计算机系统之间或计算机系统与其他系统之间的通信

注意:

  • 系统总线分类:数据总线地址总线控制总线
  • 数据总线:双向与机器字长、存储字长有关
  • 地址总线:单向与存储器地址、I/O地址有关
  • 控制总线:出——存储器读、存储器写、总线允许、中断确认,入——中断请求、总线请求
  • 通信总线的传输方式:串行通信总线、并行通信总线

总线特性以及性能指标

总线物理实现

  • CPU插板、主存插板、I/O插板都插在总线上
    计算机组成原理——系统总线_第5张图片

总线特性

  • 机械特性:尺寸、形状、管脚数以及排列顺序
  • 电气特性:传输方向和有效的电平范围
  • 功能特性:传输线的功能,分为地址线、数据线、控制线
  • 时间特性:信号的时序关系

总线的性能指标

  • 总线的宽度:数据线的根数
  • 标准传输率:每秒传输的最大字节数,MBps
  • 时钟同步/异步:同步与不同步
  • 总线复用:地址线与数据线的复用
  • 信号线数:地址线、数据线和控制线的总和
  • 总线控制方式:并发、自动、仲裁、逻辑、计数
  • 其他指标:负载能力

总线的标准

计算机组成原理——系统总线_第6张图片
计算机组成原理——系统总线_第7张图片

控制总线

相关的基本概念

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

总线的判优控制

计算机组成原理——系统总线_第8张图片

链式查询

计算机组成原理——系统总线_第9张图片
通过总线请求和总线忙将各个IO设备连接在一起,当IO接口有总线请求的时候,会通过总线请求线向总线控制设备发送请求。总线控制部件会通过总线同意线发出总线响应信号然后依次传递给后面的每一个IO接口,直到发出请求位为止。此时发出请求的IO接口会通过总线忙信号向总线控制部件发送总线忙信号,在完成数据传输之后,会把总线同意信号继续向后传递。

计数器定时查询

计算机组成原理——系统总线_第10张图片
总线控制部件通过数据线、地址线和设备地址线和IO接口相连
总线控制部件当中含有计数器,计数器记录的是设备地址。当计数器为n时向设备地址发送n地址。对应接口如果有请求时,会通过总线忙发出忙信号,然后完成数据通讯

独立请求方式

计算机组成原理——系统总线_第11张图片
每个IO接口都通过数据总线、地址总线和总线控制部件相连,其中每个接口通过总线请求线、总线同意线单独和总线控制部件连接。
总线控制部件内部含有排队器,可以根据排队情况向对应的部件发出响应信号

总线控制

  • 目的:解决通信双方协调配合的问题
  • 总线传输周期:申请分配阶段寻址阶段传数阶段结束阶段

注意:

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

总线通信的四种方式

  • 同步通信:由统一时标控制数据传送,在给定的时间点上给除固定的操作,对于速度不同的模块,我们必须选择速度最慢的模块作为统一的时标。
  • 异步通信:采用应答方式,没有公共的时钟标准。
  • 半同步通信:同步异步相结合。
  • 分离式通信:充分挖掘系统总线每个瞬间潜力

同步式数据输入

下面我们以从设备向CPU发送数据为例,来讲解同步式数据输入:
计算机组成原理——系统总线_第12张图片

  • 首先同步通信需要一个定宽定距的时标来控制整个传输过程,也就是第一行的时钟,如图包含四个时钟周期。除此之外,CPU要完成数据输入还需要地址信号和读信号,从设备在给定的时间点上要给出数据的输出(对于CPU来说就是数据的输入)。
  • 在T1时钟周期的上升沿,CPU沿给出地址信号,地址信号是主设备给出的,在这个例子当中就是CPU给出的。
  • 在T2时钟周期的上升沿,CPU给出读命令,告诉从设备,主模块(这里就是CPU)要从从模块读入数据。
  • 在T3时钟周期的上升沿,从设备给出数据信号。
  • 在T3时钟周期的最后,数据信号和控制信号撤销。
  • 在T4时钟周期的最后,地址信号也可以撤销了。

同步式数据输出

下面我们以CPU输出数据为例,讲解同步式数据输出:
计算机组成原理——系统总线_第13张图片

  • 与同步式数据输入类似,在这里也需要一个定宽定距的时标来控制整个输出过程。在这里主模块还是CPU,CPU必须给出地址信号,以此来知道向哪一个从模块进行数据传输,同时给出数据和写命令。
  • 在T1时钟周期的上升沿,CPU给出地址信号。
  • 在T1时钟周期的下降沿,CPU给出输出数据。
  • 在T2时钟周期的上升沿,CPU给出写命令向从设备进行数据写入。
  • 在T3时钟周期的上升沿还是在进行着写入操作。
  • 在T4时钟周期的上升沿,CPU撤销数据和写命令。
  • 在T4时钟周期结束的时候,撤销地址信号。

异步通信

  • 异步通信方式没有公共的时钟标准,而是采取应答方式(又称握手方式)。
  • 异步通信方式有三种:不互锁半互锁全互锁
    计算机组成原理——系统总线_第14张图片
    我们用一个情景来讲解什么是不互锁、半互锁和全互锁,这样的一个情景A和B扔飞镖。
  • 不互锁:A告诉B一声把飞镖扔过来,如果B听见了就会把飞镖扔过去,并且B不会管A接没接到。也就是说主设备发出请求不管从设备收没收到请求,在一段时间之后主设备都会将请求撤销;同理从设备如果收到了请求信号,将会作出响应,不管主设备收没收到响应,从设备在一段时间之后都会将响应信号撤销。
  • 半互锁:A会一直告诉B,让B把飞镖扔过来,直到收到了B扔过来的飞镖,才会结束。也就是说主设备将会一直发出请求信号,直到收到了从设备的应答;但是从设备不管主设备收没收到应答信号,在一段时间之后都会撤销应答信号。其实这种方式存在一个很明显的缺陷。
  • 全互锁:A会一直告诉B,让B把飞镖扔过来,然后收到信号的B将会一直扔飞镖,直到A告诉B他收到了飞镖。也就是说主设备会一直发出请求信号直到收到从设备的响应信号;从设备会一直发出响应信号直到主设备撤销请求信号。

注:
在这里可以将这三种方式类比计算机网络当中的可靠通信和不可靠通信来理解。

半同步通信

  • 半同步通信是同步通信和一步通信的一种结合。
  • 同步:发送方时钟的前沿发送信号,接收方时钟的后沿判断、识别。
  • 异步:允许不同速度的模块和谐工作,增加一条等待信号,WAIT
    下面我们假设是CPU要从某个内存单元,来读取数据,在这里注意一点就是CPU的速度非常的快,但是相对的内存单元的速度要慢一点。
    计算机组成原理——系统总线_第15张图片
    因为半同步通信是同步和异步相结合,因此我们需要一个定宽定距的时标控制整个数据传输过程。CPU给出内存单元的地址以及读信号;因为CPU和内存单元的速度存在一定的差异,因此内存单元除了给出数据之外会在必要的时候给出WAIT信号,也就是当内存单元无法及时给出数据的时候,将会发送WAIT信号(低电平是有效电平)。
  • 在T1时钟周期开始的时候,CPU给出地址信号
  • 在T2时钟周期开始的时候,由于是读操作CPU要给出读的操作信号。
  • 在T3时钟周期到来之前,如果内存单元不能及时给出数据,那么内存单元需要发出WAIT信号,给出一个低电平。CPU检测到WAIT信号为低电平是有效电平,那么就会在T3时钟周期之前插入TW时钟周期,在下一个时钟周期开始之前CPU依然要检测WAIT信号。
  • 在第二个TW周期结束的时候,CPU检测到WAIT信号已经撤销,CPU可以进行数据接收,T3时钟周期开始。
  • 在T3时钟周期进行数据的读入。
  • 在T4时钟周期开始的时候,数据和读命令信号撤销。
  • 在T4时钟周期结束的时候,地址信号撤销。

你可能感兴趣的:(计算机组成原理,系统总线)