ch3_2 系统总线结构与控制

1. 单总线结构

单总线结构 ( 系统总线)
在这里插入图片描述

2. 多总线结构

2.1 双总线结构

主存总线;

I/O 总线;

在这里插入图片描述

2.2 三总线结构

主存总线;
I/O 总线;
DMA 总线, DMA 直接存储器访问: 用于高速外设 和 内存之间进行信息交换,

在这里插入图片描述

2.3 三总线结构的又一形式

内存的存储延迟 是一个瓶颈;
为了解决这个问题, 现代计算机设计中
在CPU和 内存之间 增加了一个 高速cache,

对主存中的数据进行缓存,
CPU 在运行过程中,需要的指令和 数据主要从cache 中获取;
在这里插入图片描述

2.4 四总线结构

局部总线;
系统总线;

高速总线: 连接高速设备
扩展总线: 连接低速设备

在这里插入图片描述

2.5 总线结构举例

在这里插入图片描述

3. 总线判优控制

总线判优控制:

  1. 集中式: 集中式包含 链式查询, 计数器定时查询, 独立请求方式;
  2. 分布式

多个设备发出 总线占用请求, 决策哪个设备使用总线,
因为总线在同一个时刻, 只能有一对儿 设备进行使用;
这一对儿 设备之间,如何进行通信;

3.1 基本概念

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

3.2 集中式

  • 链式查询方式:
    由于不确定各个设备的优先级,
    通过BG 线 , 逐个向下查询,
    看各个IO 设备是否提出总线占用请求;

各个设备占用的优先级,如何确定的?
此时BG 线的与各个设备之间的连接顺序, 便是各个IO 设备优先级顺序;

结构简单, 对电路故障比较敏感;
在这里插入图片描述

  • 计数器定时查询,
    增加了设备地址线, 此时增加的设备地址线个数为 l o g 2 N log_2 N log2N, N N N 代表I/O设备 的数量。

通过控制计数器中的数值,来判断哪个I/O设备需要占用总线。
在这里插入图片描述

  • 独立请求方式

对每个设备都同时配对了 BRBG 总线同意, 总线请求的线,

在总线控制中增加了 排队器, 使用排队器决定 各个IO 设备占用总线的优先级顺序。

在这里插入图片描述

4. 总线通信控制

目的: 解决设备之间通信双方 协调配合问题;

4.1 总线传输周期

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

4.2 总线通信的四种方式

  • 同步通信: 由统一时标 控制数据传送。
  • 异步通信: 采用应答方式, 没有公共时钟标准;
  • 半同步通信: 同步 异步的结合方式
  • 分离式通信: 充分挖掘系统 总线每个瞬间的潜力;

4.3 同步通信

同步通信: 由统一时标 控制数据传送

同步数据传入:
在T1 时刻的上升沿, 地址线的信号发出;
T2时刻的上升沿, 读操作的指令 发出;
T3时刻的上升沿, 发出数据信号;
T4时刻的上升沿, 读命令和 数据信号 结束;

在这里插入图片描述

在这里插入图片描述

4.4 异步通信:

没有定宽, 定距离的 时钟信号
采用应答方式, 没有公共时钟标准;

请求线: 主设备发出请求信号;
应答线: 从设备对 主设备的请求的应答;

主设备发出通信请求,
从设备接受到通信请求后,进行应答;

不互锁: 主设备在经过一定的延时之后, 无论 是否接受到了应答信号, 都会撤销请求信号。
从设备在经过一定的延时之后, 也无论 主设备 是否接受到了应答信号, 从设备也会撤销应答信号。

半互锁: 从设备在接受到主设备的请求信号后,发出应答信号, 主设备在接受到应答信号之后,才会停止 发送请求信号, 如果主设备接受不到应答信号, 则一直发送请求信号。

全互锁: 主设备接受到应答信号后, 撤销请求信号;
主设备撤销请求信号后, 从设备停止发送应答信号。

主设备在经过一定的延时之后, 无论 是否接受到了应答信号, 都会撤销请求信号。
从设备在经过一定的延时之后, 也无论 主设备 是否接受到了应答信号, 从设备也会撤销应答信号。
在这里插入图片描述

4.5 半同步通信:

同步 异步的结合方式;

  • 同步: 发送方 用系统 时钟前沿 发信号; 接收方 用系统的时钟后沿 判断, 识别。

  • 异步 : 允许 不同速度的模块 和谐工作;
    增加一条 等待 响应信号 , wait

以输入数据为例的 半同步通信 时序

T1 主模块发地址
T2 主模块发命令
T w T_w Tw 当 wait 为低电平时, 等待一个T;
T w T_w Tw 当 wait 为低电平时, 等待一个T;



T3 从模块提供数据
T4 从模块撤销数据, 主模块撤销命令;

在这里插入图片描述

上述 三种 通信的共同点

一个总线 传输周期 (以输入数据为例)

主模块 发地址, 命令, 占用总线;
从模块准备数据, 不占用总线, 总线空闲;

从模块向主模块 发数据 占用总线;

4.6 分离式通信:

充分挖掘系统 总线每个瞬间的潜力;
一个总线传输周期

子周期1: 主模块 申请 占用总线, 使用完后, 放弃总线的使用权;

子周期2: 从模块 申请 占用总线, 将各种 信息传送到 总线上;

优点:

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

充分提高了总线的有效占用;

猜你喜欢

转载自blog.csdn.net/chumingqian/article/details/128822430