2.1 总线的基本概念
2.1.1 为什么要用总线
- 如果两两连接,线的数量较多,所需成本较高,印刷在电路板上的难度较大。
- 如果两两连接,端口将占用很大的空间。
2.1.2 什么是总线
- 总线是连接各个部件的信息传输线,是各个部件共享的传输介质。
2.1.3 总线上信息的传送
- 串行:一位一位的向前传输。
- 并行:多位并排向前传输。
2.1.4 总线结构的计算机举例
① 单总线结构框图:
缺点:
- I/O设备将数据写入主存时,CPU执行程序的过程(因无法访问主存端口)会停止,严重影响CPU的运行效率。
- 如果I/O设备较多,总线较长,数据的延迟将会较大,总线的争用将会较为激烈。
② 面向CPU的双总线结构框图:
- M总线特别用于CPU与主存间数据传输。
缺点:
- I/O设备访问主存时,无法直接访问,需要以CPU为媒介,此时CPU的执行依旧会被打断。
③ 以存储器为中心的双总线结构框图
- 主存与CPU和主存与系统总线间都可进行数据传输。
- 注意:在现代计算机系统中,主存依旧不能同时向系统总线和CPU传输数据,而是采用分时技术,此为以后提高计算机运行效率的发展点。
2.2 总线的分类
按照总线位置分类:
2.3 总线特性及性能指标
2.3.1 总线的物理实现
以印刷电路板为基础:
2.3.2 总线特性
四个特性:
- 机械特性:尺寸、形状、管脚数、排列顺序等。
- 电气特性:传输方向、电平范围等。
- 功能特性:地址信号、数据信号、控制信号、反馈信号等。
- 时间特性:信号的时序关系。
2.3.3 总线的性能指标
七个指标:
- 总线的宽度:数据线的根数(4bit、8bit、16bit等)。
- 标准传输率:每秒传输的最大字节数(MBps)。
- 时钟同步/异步:同步与不同步(不同步包含很多种形式)。
- 总线复用:地址线与数据线复用(有利于减少管脚数)。
- 信号线数:地址线、数据线和控制线的总和。
- 总线控制方式:突发、自动、仲裁、逻辑、计数等。
- 其他指标:负载能力等。
2.3.4 总线标准
为保证各厂商间生产的部件能够互相兼容,出台了总线标准。
举例:
2.4 总线结构
2.4.1 单总线结构
2.4.2 多总线结构
① 双总线结构
② 三总线结构-1
- DMA总线:直接存储器访问。
③ 三总线结构-2
- 主存的速度处于瓶颈,设置cache高速缓存。
缺点:
- 多种速度的端口连接到扩展总线上,影响外部设备的工作速度。
④ 四总线结构
- 将高速设备与低速设备分类组织,高速设备采用高速总线,低速设备采用低速总线,提高工作效率。
2.4.3 总线结构举例
传统微型机总线结构:
VL-BUS局部总线结构:
PCI总线结构:
多层PCI总线结构:
2.5 总线控制
要解决的两个问题:
- 总线判优控制:同一时刻只能有一对设备使用总线,多个设备同时发出占用总线的请求,如何处理?
- 总线的通信控制:如何完成设备间通过总线通信,并保证通信的正确性?
2.5.1 总线判优控制
总线系统中的设备类型:
- 主设备(模块):对总线有控制权
- 从设备(模块):响应从设备发来的总线命令
总线判优控制的几种类型:
① 链式查询方式:
控制步骤:
- 假设I/O接口1想要使用总线,则I/O接口1首先通过BR线向总线控制部件提出总线请求。
- 总线控制部件发现总线处于非忙状态,于是通过BG线按顺序从I/O接口0向I/O接口n查询。
- 查询到I/O接口1发现请求源。
- I/O接口1通过BS线发出总线忙信号。
- 总线控制部件将总线设置为忙状态。
特点:
- 各个设备的优先级与BG线的查询顺序(及I/O设备的连接顺序)有关。
- 处于末端的I/O设备可能迟迟得不到响应。
缺点:
- 对电路故障较为敏感(尤其是BG线)。
优点:
- 结构简单,增删设备较为容易。
- 较为容易实现可靠性设计,如实现线路正常通信的可靠性设计,只需要多加一条BG线或BR线即可应对线路故障。
② 计数器定时查询方式
控制步骤:
- 假设I/O接口1想要使用总线,则I/O接口1通过BR线向总线控制部件提出总线占用请求。
- 总线控制部件查看总线处于非忙状态。
- 总线控制部件查看计数器的值为k。
- 总线控制部件通过设备地址总线以k为起始地址开始查询。
- 假设k=1,则总线控制部件从I/O接口1开始查询,发现请求源。
- I/O接口1通过BS线设置总线为忙状态。
优点:
- 优先级的确定较为灵活。
③ 独立请求方式
步骤:
- 假设多个I/O设备使用独立的BR线同时发出占用请求。
- 总线控制部件中的排队器使用某种算法确定各I/O接口使用总线的优先级。
- 按照确定的优先级依次响应。
特点:
通过排队器进行优先级的确定,更加灵活。
2.5.2 总线通信控制
目的:解决通信双方协调配合问题。
总线传输周期的四个阶段:
总线通信的四种方式:
① 同步式通信
以数据输入为例:
- T1 上升沿: 主设备(CPU)给出地址信号。
- T2 上升沿:主设备给出读命令告诉从设备要读数据。
- T3 上升沿:从设备通过数据总线给出数据信号。
- T4 上升沿:主设备撤销数据信号和控制信号。
- T4 结束:撤销地址信号。
以数据输出为例:
- T1 上升沿:主设备(CPU)给出地址信号。
- T1 下降沿:给出数据。
- T2 上升沿:给出写命令,向从设备执行写操作。
- T3 上升沿:写入操作
- T4 上升沿:主设备撤销数据信号和控制信号。
- T4 结束:撤销地址信号
特点:定宽定距的时钟控制整个数据传输的过程,在给定的时间点必须完成相应操作。
② 异步式通信
- 不互锁通信方式:主设备发出请求信号,从设备收到请求信号后应答。主设备无论是否接收到应答信号,一段时间后撤销请求信号,从设备不管主设备是否收到应答信号,一段时间后撤销应答信号。
- 半互锁通信方式:主设备发出请求信号,从设备收到请求信号后应答。主设备收到应答信号后撤销请求信号,否则持续发送请求信号,从设备不管主设备是否收到应答信号,一段时间后撤销应答信号。
- 全互锁通信方式:主设备发出请求信号,从设备收到请求信号后应答。主设备收到应答信号后撤销请求信号,否则持续发送请求信号,从设备只有在主设备收到应答信号并撤销请求信号后,才会撤销应答信号。
③ 半同步式通信(同步、异步结合)
- 与同步的相似点:发送方用系统时钟前沿发送信号,接收方用系统时钟后沿判断、识别。
- 与异步的相似点:增加“等待”响应信号(WAIT)允许不同速度的模块和谐工作。
以数据输入为例:
- T1 上升沿:主设备(CPU)给出地址信号。
- T2 上升沿:主设备给出读命令告诉从设备要读数据。
- 第一个Tw 上升沿:如果从设备未把数据准备好,将给出低电平WAIT信号。主设备检测到低电平WAIT信号将插入一个周期。
- 第二个Tw上升沿:主设备发现WAIT信号依旧为低电平,继续插入。
- …
- T3上升沿:从设备已准备好数据,WAIT信号变为高电平。
- T3 内:主设备接收数据。
- T4 上升沿:主设备撤销控制信号,从设备撤销数据信号。
- T4 下降沿:主设备撤销地址信号。
④ 分离式通信
一个总线的传输周期:
特点:
- 充分利用子周期1和子周期2之间的总线空闲时间进行其他工作。
- 各模块有权申请占用总线。
- 采用同步式通信,不等对方回答。
- 各模块准备数据时,不占用总线。
- 总线被占用时,无空闲,充分利用总线带宽。
(完)