计组 第六章
总线系统
总线的概念和结构形态
总线的基本概念
定义
计算机的若干功能部件之间不可能采用全互联形式,因此就需要有公共的信息通道,即总线
分类
- 内部总线:CPU 内部连接各寄存器及运算器部件之间的总线。
- 系统总线:外部总线。CPU 和计算机系统中其他高速功能部件相互连接的总线。
- I/O 总线:中低速 I/O 设备相互连接的总线
特性
- 物理特性:物理连接方式
- 功能特性:64 位 blabla
- 电气特性:信号传递方向,有效电平范围
- 时间特性:每根总线在什么时间有效
标准化
- 总线标准,如 PCI、ISA 等
- 简化系统设计
- 简化系统结构,提高系统可靠性
- 便于系统的扩充和更新
总线带宽(重要)
- 总线本身所能达到的最高传输速率,单位 MB/s
- 一次操作可以传输的数据位数
- 如 S100 为 8 位,ISA 为 16 位,EISA 为 32 位,PCI-2 可达 64 位。
- 总线宽度不会超过微处理器外部数据总线的宽度。
总线的连接方式
适配器(接口):实现高速 CPU 与低速外设之间工作速度上的匹配和同步,并完成计算机和外设之间的所有数据传送和控制。
单总线
使用一条单一的系统总线来连接 CPU、内存和 I/O 设备
结构特点
在单总线结构中,要求连接到总线上的逻辑部件必须高速运行,以便在某些设备需要使用总线时,能迅速获得总线控制权
而当不再使用总线时,能迅速放弃总线控制权。否则,由于一条总线由多种功能部件共用,可能导致很大的时间延迟
多总线
在 CPU、主存、I/O 之间互联采用多条总线
高速的 CPU 总线:CPU 和 cache 之间采用
系统总线:主存连在其上
高速总线上可以连接高速 LAN(100Mb/s 局域网)、视频接口、图形接口、SCSI 接口(支持本地磁盘驱动器和其他外设)、Firewire 接口(支持大容量 I/O 设备)。高速总线通过扩充总线接口与扩充总线相连,扩充总线上可以连接串行方式工作的 I/O 设备。
通过桥 CPU 总线、系统总线和高速总线彼此相连。桥实质上是一种具有缓冲、转换、控制功能的逻辑电路。
多总线结构体现了高速、中速、低速设备连接到不同的总线上同时进行工作,以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线。
总线的内部结构
地址线单向,数据线双向
早期总线结构的不足之处
CPU 是总线上惟一的主控者。即使后来增加了具有简单仲裁逻辑的 DMA 控制器以支持 DMA 传送,但仍不能满足多 CPU 环境的要求。
总线信号是 CPU 引脚信号的延伸,故总线结构紧密与 CPU 相关,通用性较差。
构成
- 数据传送总线:地址线、数据线、控制线
- 仲裁总线:总线请求线、总线授权线
- 中断和同步总线:中断请求线、中断认可线
- 公用线:CP 线、电源线、地线、复位线等
总线接口
信息传送方式
串行(先低后高)
并行
分时(复用:既传地址又传数据)
串行
使用一条传输线,采用脉冲传送。
低位在前,高位在后
主要优点是只需要一条传输线,这一点对长距离传输显得特别重要,不管传送的数据量有多少,只需要一条传输线,成本比较低廉。
缺点就是速度慢
并行
每一数据位需要一条传输线,一般采用电位传送
分时
总线复用或是共享总线的部件分时使用总线
拆卸和装配
拆卸:并的数据拆成一位位
装配:一位位传数据组装起来
总线接口的基本概念
接口是 CPU 和主存、外设之间通过总线进行连接的逻辑部件
接口功能
控制、缓冲、状态、转换(串并)、整理、程序中断
分类
串行数据接口、并行数据接口
系统总线接口、外部设备接口
例
波特率:每秒传送 bit 位数,一般用于串行
总线的仲裁
一次总线操作:一主多从。多个 CPU 和 IO 模块竞争控制权,产生仲裁
为了解决多个功能模块争用总线的问题,必须设置总线仲裁部件
集中式仲裁
总线请求信号线 BR,总线授权/响应信号线 BG,busy 标志 BS
链式查询方式
越近的优先级越高
- 优点
- 线少
- 易扩充
- 缺点
- 是对询问链的电路故障很敏感
- 优先级固定
计数器定时查询方式
查询时,计数器开始计数,直到计数值与设备地址匹配
计数器从 0 开始同菊花链,从中止点开始优先级相等
- 特点
- 灵活
独立请求方式
n 条 BR 和 n 条 BG,排队电路根据优先次序决定响应
- 特点
- 速度快
分布式仲裁
每个主方都有仲裁号和仲裁器。仲裁总线上号最大的胜出,否则自动撤出。
总线的定时和数据传送模式
总线传输信息步骤:请求总线、总线仲裁、寻址、信息传送、状态返回
总线定时
同步定时
事件出现由总线时钟信号确定。适用于总线长度短、存取时间相近的情况
异步定时
允许将快速和慢速的设备都连一起。不需要时钟信号,应答式。周期长度可变,但总线复杂成本高。
总线数据传送模式
- 读、写操作:读操作两次竞争总线。
- 块传送操作:猝发式传送,连续读(写)四倍字长。
- 写后读、读修改写操作:用于校验和保护共享资源。
- 广播、广集操作:广播多从进行写操作;广集多从读进行逻辑与或检测中断。