计算机的系统总线
Posted 计算机小白的爬坑之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机的系统总线相关的知识,希望对你有一定的参考价值。
系统总线及控制
一、总线的基本概念
1、总线定义
总线(bus)是连接各个部件的信息传输线,是各个部件共享的传输介质。在同一时刻,只能有一对设备使用总线。
2、信息传送方式
- 串行(长距离):同一时刻,只能传输一个bit位的信号,只需要一根信号线。
- 并行(短距离):同一时刻,可以传输多个bit位的信号,有多少个信号位就需要多少根信号线。
3、总线结构
单总线结构框图
缺点:同一时间,只能有一个设备使用总线
面向CPU的双总线结构框图
缺点:主存和外部设备进行传输只能通过CPU,不能直接传输
以存储器为中心的双总线结构框图
二、总线的分类
根据总线的位置进行分类
片内总线和系统总线都是计算机内部总线通信;
通信总线是计算机之间或计算机系统与其他系统之间通信。
- 片内总线:芯片内部的总线。
- 系统总线:实现计算机各部件之间的信息传输。系统总线又分为数据总线、地址总线、控制总线。
数据总线:双向的,与机器字长、存储字长有关。
地址总线:单向的,与存储地址、I/O地址有关。
控制总线:发出信号(存储器读、存储器写、总线允许、中断确认);接收信号(中断请求、总线请求)。 - 通信总线:用于计算机系统之间或计算机系统与其它系统(如控制仪表、移动通信等)之间的通信。
三、总线特性及性能指标
1、总线特性
- 机械特性:尺寸、形状、管脚数及排列顺序
- 电气特性:传输方向和有效的电平范围
- 功能特性:每根传输线的功能(传输地址信号;数据;或控制信号)
- 时间特性:信号的时序关系
2、总线的性能指标
- 总线宽度:数据线的根数
- 标准传输率:每秒传输的最大字节数(MBps)
- 时钟同步/异步:同步、不同步
- 总线复用:地址线与数据线复用(共用)----8086
- 信号线数:地址线、数据线和控制线的总和
- 总线控制方式:突发、自动、仲裁、逻辑、计数
- 其他指标:负载能力
四、总线结构
1、单总线结构
2、多总线结构
(1) 双总线结构
(2) 三总线结构
(3) 三总线结构的另一种形式
CPU运行中所需要的指令、数据主要从Cache中获取
(4) 四总线结构
特点:将高速设备和低速设备分类。
五、总线控制
1、总线判优控制
- 主设备(模块):对总线有控制权,可以提出总线的占用申请,在占用总线后,可以控制对另一台设备的通信。
- 从设备(模块):只能响应从主设备发来的总线命令。
- 总线判优控制分为集中式和分布式,其中集中式又分为链式查询,计数器定时查询和独立请求方式。
(1) 链式查询方式
"总线忙"信号的建立者是获得总线控制权的设备。
-
工作流程
挂接在总线上的 I/O 接口有总线占用请求,通过 BR 向总线控制部件提出占用请求,总线控制部件将总线的控制权交给 I/O 设备,由于接口是链式连接在一条 BR 线上,所以不知道哪个接口优先级更高,所以通过 BG 逐个向下查询,寻找第一个提出了总线控制请求的接口n,授予接口n使用权。接口n 通过 BS线 设置”总线忙”。从而获得了总线的使用权。
BG线的查询顺序就是接口获得使用权优先级的顺序。离总线控制器越近的部件,其优先级越高;离总线控制器越远的部件,其优先级越低。 -
优点:只需很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易。
-
缺点:对硬件短路的故障敏感,并且优先级不能改变。当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。
(2) 计数器定时查询方式
-
工作流程
总线控制部件中有计数器,当某一主设备要占用总线,某一从设备要进行数据传输,通过 BR 向总线控制部件提出控制请求,总线控制部件接收到总线请求信号后,在可以让出总线控制权时,启动计数器,计数器上的值是通过设备地址的线向外输出,设备地址线给出信号后,对接口进行查询,看是哪个接口提出总线请求。如果不是,计数器+1,判断下一个接口。直到寻找到第一个申请总线的接口,该接口通过 BS线 设置”总线忙”。从而获得了总线的使用权。 -
优点:
计数初始值可以改变优先次序
-计数每次从"0"开始,设备的优先级就按顺序排序,固定不变;
-计数从上一次的终点开始,此时设备使用总线的优先级相等;
-计数器的初值还可以由程序设置
对电路的故障没有链式敏感 -
缺点:
增加了控制线数,若设备有n个,则需⌈log2n⌉+2条控制线
控制相对比链式查询相对复杂
(3) 独立请求方式
-
工作流程
当总线上的部件需要总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队。当总线控制器按一定的优先次序决定批准某个部件的请求时,则给该部件发送总线响应信号。 -
优点:
响应速度快,总线允许信号 BG 直接从控制器发送到有关设备,不必在设备间传递或者查询。
对优先次序的控制相当灵活。 -
缺点:
控制线数量多,若设备有n个,则需要2n+1条控制线。其中+1为BS线,其用处为用于设备向总线控制部分反馈已经使用完毕总线。
总线的控制逻辑更复杂。
2、总线通信控制
- 目的:解决主设备和从设备协调配合的问题。
- 总线传输周期:主设备和从设备之间完成一次完整的可靠的通信需要的时间。
(1) 总线传输周期的四个阶段
- 申请分配阶段:由主设备提出申请,经总线仲裁决定下一传输周期总线的使用者;
- 寻址阶段:取得使用权的主设备通过总线发出本次要访问的从设备的地址和命令,启动从设备;
- 传数阶段:主设备和从设备进行数据交换,数据由源模块发出,经数据线流入目的从设备;
- 结束阶段:主设备有关信息从总线移除,让出总线使用权;
(2) 总线通信的四种方式
- 同步通信:通信双方由统一时标控制数据传送
- 异步通信:采用应答的方式(握手),即主设备发出请求后,一直等待从设备反馈的响应信号后,才开始通信,因此要求主从设备之间增加两条应答线。没有公共的时钟标准。
- 半同步通信:同步、异步结合
- 分离式通信:充分挖掘系统总线每个瞬间的潜力
(3) 同步式数据输入
分析:总线传输周期分为四个周期,每个周期执行不同的任务:第一个时钟周期 T1 的上升沿,CPU给出地址信号,第二个时钟周期T2的上升沿,CPU给出读命令;第三个时钟周期T3的上升沿,从设备输出数据(CPU接收数据);T4上升沿,CPU的数据接收和操作命令结束;T4结束,地址传输命令结束。
(4) 同步式数据输出
分析:总线传输周期分为四个周期,每个周期执行不同的任务:第一个时钟周期T1的上升沿,CPU给出地址信号,第二个时钟周期T2的上升沿,CPU给出读命令;第三个时钟周期T3的上升沿,从设备输出数据(CPU接收数据);T4上升沿,CPU的数据接收和操作命令结束;T4结束,地址传输命令结束。
(5) 异步通信
不互锁方式:主设备给出请求后(不考虑主设备是否收到了应答请求),一段时间后撤销信号;从设备收到请求信号后给出应答信号,一段时间后从设备撤销应答信号。
半互锁方式 :主设备给出请求信号后,从设备收到请求信号后给出应答信号,主设备收到回答信号后撤销请求信号,从设备撤销请求信号,主设备如果接收不到应答信号,请求信号会保持。
全互锁方式:主设备给出请求信号,从设备收到请求信号后给出应答信号,主设备收到从设备的应答信号后撤销请求信号;只有主设备撤销请求信号后,从设备才撤销应答信号。
(6) 半同步通信(同步、异步结合)
以输入数据为例的半同步通信时序
工作原理:(设CPU向某一外设读取数据)T1上升沿CPU给出地址信号,T2上升沿CPU给出控制信号,若在第三个时钟周期从设备不能准备好数据(应答部分),则需要将WAIT信号设置为低电平,Tw上升沿WAIT为低电平,等待一个时钟周期T;当WAIT信号为高电平时数据已经准备好在数据总线上,T3上升沿开始读数据,同时给出数据信号;T4开始结束数据信号和控制信号,T4结束时撤销地址信号
(7) 上述三种通信的共同点
以输入数据为例
- 主模块发地址,命令 占用总线
- 从模块准备数据 不占用总线,总线空闲(WAIT)
- 从模块向主模块发数据 占用总线
(8) 分离式通信
在一个总线传输周期内
- 子周期1:主模块申请占用总线,使用完后即放弃总线的使用权;
- 子周期2:从模块申请占用总线,将信息送至总线上;
特点:
- 各模块有权申请占用总线(即主从设备状态可调换)
- 采用同步方式通信,不等对方回答
- 准备数据时不占用总线
- 总线被占用时,无空闲
以上是关于计算机的系统总线的主要内容,如果未能解决你的问题,请参考以下文章