type
date
slug
summary
tags
category
password
status
icon
一、总线概述
1、总线的基本概念
(1)总线的定义
- 总线:一组能够为多个部件分时和共享的公共信息传送线路
- 目的:I/O 设备的种类和数量越来越多,设计总线来解决 I/O 设备与主机之间连接的灵活性
- 优点:便于增减外设,减少信息传输线的条数
- 缺点:降低了信息传输的并行性和信息的传输速度
(2)总线的特点
- 分时性:同一时刻只允许有一个部件向总线发送消息,如果系统中有多个部件,则它们只能分时地向总线发送消息
- 共享性:指总线上可以挂接多个部件,各个部件之间互相交换的信息都可通过这组线路分时共享,多个部件可同时从总线上接收相同的信息
(3)总线设备
- 按其对总线有无控制能力可分为主设备和从设备
- 主设备:获得总线控制权的设备
- 从设备:被主设备访问的设备,它只能响应从主设备发来的各种总线命令
(4)总线特性
- 机械特性:尺寸,形状
- 电气特性:传输方向和有效电平范围
- 功能特性:每根传输线的功能
- 时间特性:信号和时序的关系
2、总线的分类
(1)按功能
- 片内总线:
- 芯片内部的总线
- 是 CPU 芯片内部寄存器与寄存器之间、寄存器与 ALU 之间的公共连接线
- 系统总线:
- 计算机系统内各功能部件(CPU、主存、I/O 接口)之间相互连接的总线
- 按系统总线传输内容的不同又可分为 3 类
- 数据总线:
- 传输各功能部件之间的数据信息
- 是双向传输线
- 位数反映一次能传送的数据的位数【与机器字长、存储字长有关】
- 数据总线由双向的多根信号线组成, CPU 既可以沿着这些线从主存或外设读入数据,又可以发送数据;
- 地址总线:
- 指出主存和 I/O 设备接口电路的地址
- 是单向传输线
- 位数反映最大的寻址空间【与主存地址空间大小及设备数量有关】
- 地址总线由单向的多根信号线组成,可用于 CPU 向主存、外设传送地址信息;用于 CPU 选择主存单元地址和 I / O 端口地址的单向总线,不能回传。
- 控制总线:
- 一根控制线传输一个信号
- 有出:CPU 送出的控制命令
- 有入:主存(或外设)返回 CPU 的控制信号
- 控制总线上传输控制信息,包括控制命令和反馈信号等
- 间址寻址首次访问内存所得到的信息是操作数的有效地址,该地址作为数据通过数据总线传送至 CPU 。
- I/O 总线:
- 主要用于连接中低速的 I/O 设备
- 通过 I/O 接口与系统总线相连接
- 目的是将低速设备和高速总线分离,以提升总线的系统性能
- 常见的有 USB、PCI 总线
- 通信总线:
- 计算机系统之间或计算机系统与其他系统(如远程通信服务、测试设备)之间传送信息的总线
- 也称外部总线
(2)按时序控制方式
- 同步总线:总线上连接的部件或设备通过统一的时钟进行同步
- 异步总线:以信号握手的方式来协调各部件或设备之间的信息传输,总线操作时序不是固定的
(3)按数据传输方式
- 串行传输:只有一条双向传输或两条单向传输的数据线,数据按比特位串行顺序传输
- 优点:
- 成本低廉,广泛应用于长距离传输
- 应用于计算机内部时,可以节省布线空间
- 可通过不断提高工作频率来提高传输速度,使其速度最终超越并行总线
- 缺点:
- 在数据发送和接收的时候要进行拆卸和装配,要考虑串行-并行转换的问题
- 并行传输:有多条双向传输的数据线,可以实现多比特位的同时传输
- 优点:
- 总线的逻辑时序比较简单,电路实现起来比较容易
- 缺点:
- 信号线数量多,占用更多的布线空间
- 数据线之间相互干扰会造成传输错误,因此适合近距离传输
- 总线复用方式:不同信号在同一条信号线上分时传输
3、系统总线的结构
(1)单总线结构
- 结构:CPU、主存、I/O 设备(通过 I/O 接口)都连接在一组系统总线上,允许 I/O 设备之间、I/O 设备和 CPU 之间或 I/O 设备与主存之间直接交换信息

- 优点:结构简单,成本低,易于接入新的设备
- 缺点:带宽低,负载重,多个部件只能征用唯一的总线,且不支持并发传送操作
(2)双总线结构
- 结构:双总线结构有两条总线,一条是主存总线,用于 CPU、主存和通道之间进行数据传送;另一条是 I/O 总线,用于多个外部设备与通道之间进行数据传送

- 优点:将较低速的 I/O 设备从单总线上分离出来,实现存储器总线和 I/O 总线分离
- 结构:三总线结构是在计算机系统各部件之间采用 3 条各自独立的总线来构成信息通路,这 3 条总线分别为主存总线、I/O 总线和直接内存访问 DMA 总线
- 优点:提高了 I/O 设备的性能,使其更快地响应命令,提高系统吞吐量
- 缺点:系统工作效率较低
4、总线的性能指标
- 总线传输周期【总线周期】:
- 一次总线操作所需的时间,由若干总线时钟周期构成
- 包括申请阶段、寻址阶段、传输阶段和结束阶段
- 总线时钟周期:
- 机器的时钟周期
- 计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制
- 现在的计算机中,总线时钟周期也有可能由桥接器提供
- 总线工作频率:
- 总线上各种操作的频率,为总线周期的倒数
- $工作频率=\frac{1}{总线周期}$
- 若总线周期 = N 个时钟周期,则总线的 $工作频率=\frac{时钟频率}{N}$
- 实际上指一秒内传送几次数据
- 总线时钟频率:
- 机器的时钟频率,为时钟周期的倒数
- $时钟频率=\frac{1}{时钟周期}$
- 实际上指一秒内有多少个时钟周期
- 总线宽度【总线位宽】:
- 总线上同时能传输的数据位数
- 通常指数据总线的根数,如 32 根称为 32 位(bit)总线
- 总线带宽:
- 总线的最大数据传输率,即单位时间内总线上最多可传输数据的位数
- $总线带宽=总线工作频率×\frac{总线位宽}{8}(bit/s)=总线工作频率×(总线带宽/8)(B/s)$
- $总线带宽=\frac{总线宽度}{总线周期}(bit/s)=\frac{总线宽度/8}{总线周期}(B/s)$
- 在计算实际的有效数据传输率时,要用实际传输的数据量除以耗时
- 总线复用:
- 一种信号线在不同的时间传输不同的信息
- 可以使用较少的线传输更多的信息,从而节约空间和成本
- 信号线数:
- 地址总线、数据总线和控制总线3种总线数的总和称为信号线数
5、常见的总线标准
- 总线标准是国际上公布的互连各个模块的标准,是把各种不同的模块组成计算机系统时必须遵守的规范
- PCI,EISA,ISA是并行总线
- USB,PCI-Expressx16是串行总线
- 高速设备采用局部总线连接,可以节省系统的总带宽
- ISA:
- 工业标准体系结构
- 非局部总线
- 最早出现的微型计算机的系统总线,应用在IBM的AT机上
- EISA:扩展的ISA
- VESA:视频电子标准协会
- PCI:
- 外部设备互连
- 支持即插即用,局部总线
- AGP:加速图形接口,一种视频接口标准
- PCI-E:最新的总线接口标准,它将全面取代线性的PCI和AGP
- RS-232C:
- 由美国电子工业协会推荐的一种串行通信总线
- 适用于串行二进制交换的数据终端设备和数据通信设备之间的标准接口
- USB:
- 通用串行总线
- 即插即用,热插拔,有很强的连接能力,有很好的可扩展性;高速传输
- PCMCIA:
- 广泛应用于笔记本电脑的一种接口标准
- 是一个用于扩展功能的小型插槽。即插即用
- IDE:
- 集成设备电路
- 更准确地称为ATA,硬盘和光驱通过IDE接口与主板连接
- SCSI:
- 小型计算机系统接口
- 是一种用于计算机和智能设备之间(硬盘、软驱)系统级接口的独立处理器标准
- SATA:
- 串行高级技术附件
- 是一种基于行业标准的串行硬件驱动器接口
二、总线事务和定时
1、总线事务
- 定义:从请求总线到完成总线使用的操作序列【在一个总线周期中发生的一系列活动】
- 过程:
- 请求阶段:主设备(CPU 或 DMA)发出总线传输请求,并且获得总线控制权
- 仲裁阶段:总线仲裁机构决定将下一个传输周期的总线使用权授予某个申请者
- 寻址阶段:主设备通过总线给出要访问的从设备地址及有关命令,启动从模块
- 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送(一般只能传输一个字长的数据)
- 释放阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权
- 总线上的数据传送方式:
- 定义:总线在双方交换数据的过程中需要时间上配合关系的控制【实质是一种协议或者规则】
(1)同步定时方式
1)定义
- 由统一时序控制的通信方式
- 同步通信采用公共时钟,有统一的时钟周期,同步时钟信号不由各设备提供
- 同步控制既可以用于 CPU 控制,又可用于高速的外部设备控制

2)优点
- 传送速度快,具有较高的传输速率
- 总线控制逻辑简单
- 同步通信不需要应答信息且总线长度短
- 同步通信用一个公共的时钟信号进行同步
- 同步通信中,各部件的存取时间较接近
3)缺点
- 主从设备属于强制性同步
- 不能及时进行数据通信的有效性验证
- 可靠性较差
4)适用场景
- 适用于总线长度较短及总线所接部件的存储时间比较接近的系统
- 采用同步控制也可以进行数据的传输,但不能发挥快速设备的高速性能
(2)异步定时方式
1)定义
- 没有统一的时钟;没有固定的时间间隔【不采用时钟信号,只采用握手】
- 完全依靠传送双方相互制约的“握手”信号来实现定时控制
- 传送操作是由双方按需求分配时间的
- 每次握手完成一次通信,但是一次通信往往交换多位数据
2)优点
- 总线周期长度可变
- 能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换
- 自动适应时间的配合
3)缺点
- 比同步稍复杂一些,速度比同步方式慢
4)适用场景
- 主要用于在不同的设备间进行通信
5)分类
- 不互锁方式:
- 主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号
- 从设备在接到“请求”信号后,发出“回答”信号,并经过一段时间,自动撤销“回答”信号。双方不存在互锁关系
- 速度最快,可靠性最差
- 半互锁方式:
- 主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系
- 从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信号,不存在互锁关系
- 全互锁方式:
- 主设备发出“请求”信号后,必须待从设备“回答”后,才撤销“请求”信号
- 从设备发出“回答”信号,必须待获知主设备“请求”信号已撤销后,再撤销其“回答”信号。双方存在互锁关系
- 最可靠,速度最慢

(3)半同步定时方式
1)定义
- 统一时钟的基础上,增加一个 “等待”响应信号 WAIT
- 同步:
- 发送方用系统时钟前沿发信号
- 接收方用系统时钟后沿判断、识别
- 异步:允许不同速度的模块和谐工作

2)优点
- 控制方式比异步定时简单
- 各模块在系统时钟的控制下同步工作,可靠性较高
3)缺点
- 系统的时钟频率不能要求太高
- 整体上看,系统工作的速度不是很高
(4)分离式定时方式
上述三种通信的共同点:
一个总线传输周期(以输入数据为例):
- 主模块发地址、命令【使用总线】
- 从模块准备数据【总线空闲】
- 将总线事务分解为请求和应答两个子过程
- 子周期 1:主模块申请占用总线,使用完后放弃总线的使用权
- 子周期 2:从模块申请占用总线,将各种信息送至总线上
- 各模块均有权申请占用总线
- 采用同步方式通信,不等对方回答
- 各模块准备数据时,不占用总线
- 在不传送数据是释放总线,使总线可接受其他设备的请求,不存在空闲等待时间
3)缺点
- 控制复杂,开销较大
- 作者:救赎之旅
- 链接:https://jiushuself.nyc.mn/article/d7e80deb-5b81-4f4a-9660-faf212b4700f
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。