第六章 总 线
§6.1 总线概述 ※部件的连接方式:有分散连接和总线连接两种 … 分散连接—通信性能好(同时通信),可扩展性差 §6.1 总线概述 ※部件的连接方式:有分散连接和总线连接两种 I/O设备1 I/O设备n … CPU 主存 输入设备 输出设备 分散连接—通信性能好(同时通信),可扩展性差 总线连接—可扩展性好,通信性能略差(分时通信) └→同时通信概率低 最常见 越来越重要 ※总线:部件或设备间的用于信息传输的一组公共信号线 同时只能有一个设备发送
一、总线的分类 1、按总线信号线功能分类 *数据总线:用于表示传送的数据,双向总线 *地址总线:用于表示目标设备号及内部地址,单向总线 数据总线宽度=同时传送的二进制位数 *地址总线:用于表示目标设备号及内部地址,单向总线 地址总线宽度=log2设备及内部地址的最多个数 *控制总线:用于实现传输过程控制,单向总线 ┌───┴───┐ 控制信号线 及 状态信号线 主设备控制 从设备控制
*片内总线:用于芯片内/模块内元件间的信息传输 *系统总线:用于计算机内各部件间的信息传输 2、按总线功能分类 *片内总线:用于芯片内/模块内元件间的信息传输 *系统总线:用于计算机内各部件间的信息传输 主存 地址总线 数据总线 控制总线 I/O接口1 输入设备 I/O接口n 输出设备 … 系统总线 ALU CU BIU CPU *通信总线:用于主机与外设或其他系统间的信息传输 ◇系统总线的发展:多总线结构 CPU 总 线—连接CPU及部分模块的总线 局部总线—与CPU特性无关、连接多个模块的总线
二、总线的特性 *物理特性:指模块连接到总线时约定的特性 *功能特性:指约定的信号线数量及各信号线功能 如线宽、线间距离、插头/插座形状等 ←总线标准化所需 *功能特性:指约定的信号线数量及各信号线功能 主动方 … 被动方 功能约定(信号线数、作用) 状态表示(信号与电压值) *电气特性:指约定的信号线上信号有效的电平范围等 *时间特性:又称逻辑特性,指约定的传输过程中各信号线上信号的有效时长及前后次序(时序) 地址 数据 命令与状态 CLK 地址线 数据线 控制线
三、总线的性能指标 *总线宽度:指数据总线同时传输的二进制位数, 常用bit表示 *总线时钟频率:指同步总线的基准时钟频率, 常用MHz、GHz表示 异步总线无此指标 *总线带宽(最大数据传输率):指单位时间内可传输数据的最大位数,常用Mbps(或MBps)表示 总线带宽=总线宽度×最大传输次数/秒 例—PC总线数据宽度为8位、总线时钟频率为4MHz,每次总线传输需4个时钟周期;其总线带宽=8bit×(4MHz/4)=8Mbps *总线负载能力:指总线上信号逻辑电平保持在正常范围时所能连接的模块或设备数量,常用个数表示
§7.2 总线传输与控制 *总线连接与传输过程:分时传输→设置总线仲裁机构 *总线传输相关内容: ①总线周期包含哪些操作步骤? §7.2 总线传输与控制 *总线连接与传输过程:分时传输→设置总线仲裁机构 主设备1 总线仲裁机构 从设备1 从设备2 主设备2 t 从设备2 从设备1 主设备2 主设备1 ㈠ 总线周期 总线周期 总线 W R ⑴ ㈡ 2 1 *总线传输相关内容: ①总线周期包含哪些操作步骤? ②总线归某主设备使用的确定方法有哪些? ③如何表示传输各步骤的次序及长度? ④如何提高总线的传输性能?
一、总线操作 1、总线操作的步骤 ①总线请求与仲裁阶段: 各主设备—分别连接到BR(Request)及BG(Grant)信号线, 总线仲裁机构— 有操作需求时,发出总线请求信号 根据各BR信号线状态,确定下个传输周期的总线使用权归属,向该主设备发出总线允许信号 主设备1 请求BR1 主设备2 请求BR2 总线仲 允许BG1 裁机构 允许BG2 总线使用权拥有者 t 无 仲裁 总线传输周期 主设备1 无 总线周期 仲裁 总线传输周期 主设备2 无 总线周期
③数据传送阶段:(主设备及目标从设备参与) 根据操作类型,各自发送或接收数据 ②寻址阶段: 拥有总线使用权的主设备— 各从设备— 发出目标地址和操作命令 判断是否被选中,被选中时响应总线操作 t 总线传输周期 总线 空闲 总线允许BG1 总线允许BG2 地址总线 控制总线 数据总线 x(主设备?发出) R/W(主设备?发出) Data 总线 空闲 总线传输周期 数据期 y(主设备2发出) R/W(主设备2发出) 地址期 Data 地址期 数据期 ③数据传送阶段:(主设备及目标从设备参与) 根据操作类型,各自发送或接收数据 ④结束阶段:(主设备及目标从设备参与) 各自将所控制总线信号恢复为总线空闲状态
*隐藏式总线仲裁:总线仲裁与总线传输重叠 2、总线仲裁的性能优化 *隐藏式总线仲裁:总线仲裁与总线传输重叠 t 总线传输周期 总线 空闲 总线允许BG1 总线允许BG2 地址总线 控制总线 数据总线 x(主设备1发出) R/W(主设备1发出) Data 地址期 数据期 y(主设备2发出) R/W(主设备2发出) 地址期 Data 总线传输周期 数据期 总线周期 总线周期 *隐藏式总线仲裁的实现需求: 总线仲裁机构需监视总线状态,以决定何时开始仲裁
二、总线仲裁 1、集中式仲裁 --集中的总线仲裁机构实现 *实现思想:总线空闲时,接收到请求信号BR后, 仲裁并发出允许信号BG 1、集中式仲裁 --集中的总线仲裁机构实现 *实现思想:总线空闲时,接收到请求信号BR后, 仲裁并发出允许信号BG (1)链式查询方式 (又称菊花链查询方式) *信号线连接:仲裁机构共有BR、BG、BS三根信号线 总线仲裁结构 BG 主设备0 主设备1 主设备n BS BR DB AB CB … 总线状态:空闲—无请求、有请求;忙—主设备占用 总裁开始:总线空闲、有请求 仲裁结束:总线忙 总线请求线BR— 总线允许线BG— 总线忙线BS— BR=∑BRi,BR=1时有总线请求 BG(i+1)IN=BGiOUT BS=∑BSi,BS=0总线空闲、=1传输周期 7
仲裁机构—BS=0、BR=1时,开始仲裁(使BG←1), BS=1时,结束仲裁(使BG←0); *仲裁原理:轮询方式,各主设备自行仲裁 仲裁机构—BS=0、BR=1时,开始仲裁(使BG←1), BS=1时,结束仲裁(使BG←0); 主设备—被询问且有请求时获得总线使用权,否则传递询问 即BSi=BGiIN&BRi、BGiOUT=BGiIN&BRi ∑BRi=BR BR0 BR1 =BG BG=BG0IN BG0OUT=BG1IN ∑BSi=BS BS0 BS1 总线空闲 BR&BS# 传输周期 传输周期 BG0IN&BR0#= BG0IN&BR0= BG1IN&BR1= 主设备保持有效(到操作完成时) *特点:静态优先级仲裁,易产生断链现象
(2)计数器定时查询方式 (又称计数器查询方式) *信号线连接:仲裁机构共有BR、BS、log2n根BG信号线 (2)计数器定时查询方式 (又称计数器查询方式) *信号线连接:仲裁机构共有BR、BS、log2n根BG信号线 总线仲裁结构 设备号 主设备0 主设备1 主设备n BS BR DB AB CB … *仲裁原理:定时、轮询方式,各主设备自行仲裁 仲裁机构— BS=0、BR=1时,开始仲裁(使“设备号”定时、循环变化), BS=1时,仲裁结束(使“设备号”为异常值); ≥响应延迟 主设备—设备ID=“设备号”且有请求时获得总线使用权, 即BSi=BRi&(设备ID=“设备号”信号?) *特点:静态+循环优先级仲裁,无断链现象 11
*信号线连接:仲裁机构共有2n根BR及BG信号线 (3)独立请求方式 *信号线连接:仲裁机构共有2n根BR及BG信号线 总线仲裁结构 主设备0 主设备1 主设备n BRn BGn DB AB CB BR1 BG1 BR0 BG0 … 无BS线 *仲裁原理:算法控制方式,总线仲裁机构统一仲裁 仲裁机构— 仲裁时机:∑BRi=1、总线空闲/总线周期结束前 仲裁算法:兼顾优先级、公平性等的算法 隐藏式仲裁 延迟固定 主设备—不参与仲裁,BGi有效时获得下个周期使用权 *特点:动态优先级仲裁,仲裁速度快,可为隐藏式仲裁 10
2、分布式仲裁 --各主设备自身的仲裁器实现 2、分布式仲裁 --各主设备自身的仲裁器实现 (1)自举式 *信号线连接:有n根仲裁线(不同线优先级不同)及1根BS线, 各主设备按优先级连接BR线及相应仲裁线 BS BR0 BR1 BR2 … BRn-1 主设备0 主设备1 主设备n-1 主设备2 *仲裁原理: BS=0、BR出=1、∑BR入=0时,获总线使用权(使BS←1) 总线空闲 有请求 当前优先级最高 *特点:静态优先级仲裁,仲裁线较多,不易扩展
*信号线连接:有log2n根仲裁线(用值表示优先级)及1根BS线, 各主设备(有惟一的仲裁号)均连接所有仲裁线 (2)并行竞争式 *信号线连接:有log2n根仲裁线(用值表示优先级)及1根BS线, 各主设备(有惟一的仲裁号)均连接所有仲裁线 BS BAL 主设备0 … BAN0 主设备1 BAN1 主设备n-1 BANn-1 *仲裁原理: ①BS=0时,有请求的主设备发送自身仲裁号 ②各主设备从高位开始逐位比较BANbi与BALbi, 若BANbi≠BALbi时,撤消请求(停止发送BAN), 竞争获胜者(BAN=BAL)获得总线使用权(使BS←1) *特点:静态优先级仲裁,仲裁线较少
三、总线定时 *定时方式(传输协议)种类:同步、异步、半同步方式 1、同步定时方式 *定时信号:公共的“时钟”信号CLK *同步协议原理: 地址线 数据线 RD#线 WR#线 T1 T2 T3 T4 地址 数据 *应用特点:适合设备速度相近、传输距离较短的数据传输 7
*定时信号:“请求”信号REQ、“应答”信号ACK 2、异步定时方式 *定时信号:“请求”信号REQ、“应答”信号ACK *异步协议原理:下个传输步骤在收到对方信号时进行, 当前传输步骤操作完成时发出应答信号 协议步骤—请求、响应、撤消请求、撤消响应4个阶段 请求信号REQ 应答信号ACK ① 总线传输周期 ② ③ ④ REQ ACK 主设备 A 从设备 B 忙信号BUSY *定时信号的增补: 增加“忙”信号BUSY *应用特点:对设备速度、传输距离无要求,传输周期较长 握手次数较多
*异步协议的类型:全互锁、半互锁、不互锁方式 约定的延迟 REQ ACK (c)不互锁方式 ① ② REQ ACK (a)全互锁方式 REQ ACK (b)半互锁方式 ① 起止式异步串行通信协议—面向字符异步、不互锁方式 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 一个字符 或空闲停止位 起始位 校验位 停止位 (低) 数据位 (高) 1 0/1 或空闲起始位 下个字符或空闲 约定的格式 约定的延迟
*定时信号:“时钟”信号CLK,“就绪”信号Ready 3、半同步方式 或“等待”信号Wait *定时信号:“时钟”信号CLK,“就绪”信号Ready *半同步协议原理: 传输过程采用同步方式定时、采用异步方式协调速度差异 CLK 地址线 RD#线 数据线 就绪线 T1 T2 T3 T4 T1 T2 TW TW T3 T4 地址X 数据 地址Y *半同步方式应用优化: 优化方法—主设备、从设备均允许采用异步方式 定时信号—“时钟”CLK、“主就绪”IRDY 、“从就绪”TRDY 17 18
四、总线传输模式 *定义:所支持的传送操作方式(为增加功能、提高性能所设) *实现:通过命令线表示当前的传输模式 传输模式 目标设备个数 地址个数 数据 个数 说明 读写模式 常规 1 单地址、单数据 双地址 2 “扩展”地址总线宽度 双数据 “扩展”数据总线宽度 猝发传送 n 单地址、多数据(成块传送①) 读改写模式 同读写模式 常用于硬件同步操作 广播模式 m 写,地址为组或全部设备 广集模式 读,地址为组或全部设备 特殊模式 与默认设备通信,如取中断类型号 说明:①--数据个数由“帧周期”信号决定或命令类型决定 *实现:通过命令线表示当前的传输模式 23
CLK A15~A0 D15~D0 命令线 T1 T2 T3 T4 地址 数据 常规模式的R/W命令 CLK A15~A0 D15~D0 命令线 T1 T2 T3 T4 T5 地址H 数据 双地址模式的R/W命令 地址L CLK 帧周期 A15~A0 D15~D0 命令线 T1 T2 T3 T4 T5 T6 T7 地址1 数据1 块传送模式的R/W命令 数据2 数据3 数据4
五、总线标准 1、ISA总线标准 --Indusry Standard Architecture 兼容并扩展了PC/AT总线标准(24根地址线、16根数据线), 总线周期≥4个CLK,地址/数据线分时复用 从设备需锁存地址 CLK A23~A16 AD15~AD0 命令线 T1 T2 T3 T4 地址 数据 MEM/IO的读命令 MEM/IO的写命令 *特性: ①不支持多个主设备(总线标准中无仲裁信号线) ②支持半同步定时方式,CLK独立于CPU、频率为8.33MHz ③支持常规读写模式、特殊模式
2、PCI总线标准 --Peripheral Component Interconnect 有32根分时复用的A/D线,可扩展为64根A/D线 *特性:①独立于CPU,通过“桥”实现与CPU或其它总线互连 ②支持多个主设备,通过集中式总线仲裁机构实现 主设备i … 从设备k PCI/X桥j X总线 PCI 总线 控制器 REQ# GNT# ③支持半同步定时方式,CLK频率为33MHz等 ④支持猝发传送、双地址读写模式,特殊模式等 ⑤支持即插即用工作方式 ※流行的总线标准:交换机式的点-点互连总线标准, 如USB、PCI-Express、InfiniBand等 22
§7.3 总线互连结构 一、总线互连结构 1、单总线结构 *单总线结构:系统中只有一种总线的互连结构 §7.3 总线互连结构 一、总线互连结构 1、单总线结构 *单总线结构:系统中只有一种总线的互连结构 采用系统总线的总线标准 CPU MEM 显卡 … 系统总线 I/O接口 扩展总线接口 I/O插槽 扩展总线 … *系统总线:系统中各部件/模块间相互连接的总线 *单总线结构特征: ①操作控制简单,可扩展性较强 ②传输性能较差(=min{最慢部件传输性能})
①采用集成电路技术,芯片内模块间传输无需总线标准 2、多总线结构 *提高传输性能的方法: ①采用集成电路技术,芯片内模块间传输无需总线标准 MEM CPU 显卡 集成外围控制器 扩展总线接口 … IO插槽 系统总线 ②采用多总线结构,不同速度模块连接到不同总线上 └→速度不同 ③改变I/O方式,使IO设备数据传输与CPU数据处理并行 *多总线结构:系统中有两种(及以上)总线的互连结构, 不同总线间通过总线桥进行连接
增加I/O总线,提高CPU访问MEM及快速I/O设备性能 (1)双总线结构 增加I/O总线,提高CPU访问MEM及快速I/O设备性能 MEM CPU 显示器 集成外围控制器 IO Bus(如ISA) MEM Bus(如PCI) Bridge … 打印接口 ISA插槽 打印机 键盘接口 键盘 显卡 PCI插槽 *总线命名:常称为MEM总线及IO总线,用总线标准命名 *总线桥功能: ①所连总线的操作中转机构 ②所辖总线的操作控制结构 (如总线控制器) MEM CPU 集成外围控制器 IO 插槽 System Bus MEM Bus 模型图 (仅供思路理解,实现困难) 显卡
有CPU总线、局部总线及IO总线3种,常用总线标准命名 (2)三总线结构 再增加CPU总线,支持多CPU结构 *总线命名: 有CPU总线、局部总线及IO总线3种,常用总线标准命名 MEM CPU 0 集成外围控制器 ISA Bus HOST Bus PCI/ISA Bridge … ISA接口 ISA插槽 显卡 PCI插槽 HOST/PCI Bridge PCI Bus CPU 1 MEM CPU 0 集成外围控制器 ISA Bus HOST Bus PCI/ISA Bridge … ISA接口 ISA插槽 PCI插槽 HOST/PCI Bridge PCI Bus CPU 1 HOST/AGP Bridge AGP插槽 AGP Bus
融合集成电路技术与多总线技术,提高访问访存及IO性能 (3)多总线结构的发展 融合集成电路技术与多总线技术,提高访问访存及IO性能 MEM CPU 0 … ISA插槽 PCI Bus Host Bus ISA Bus 北桥 AGP插槽 AGP Bus CPU 1 南桥 PCI插槽 各种I/O模块接口 南北桥结构 (PCI总线互连) MEM CPU 0 … PCI插槽 高速接口 Host Bus PCI Bus 北桥 AGP插槽 AGP Bus CPU 1 南桥 各种I/O模块接口 PCI-Express插槽 南北桥结构 (高速接口互连)
二、总线互连的实现 ※总线互连特征:操作标准化、可扩展性强 *总线互连的实现:通过接口电路或总线桥实现 ALU …… CU BIU 显示器 显示适配器 主存控制器 主存储器 总线桥 键盘 键盘接口 打印机 打印接口 *总线接口单元的主要功能:中转对设备的操作 ①侦测总线状态—按总线标准 获得任何时刻的总线状态(空闲/地址期/数据期等) ②总线侧操作控制—按总线标准及总线状态 决定是否发起/响应总线操作, 完成与总线的操作过程
③设备侧操作控制—按设备操作协议及设备状态 决定是否发送/接收设备操作, ←中转总线操作 完成与设备的操作过程 ④设备状态记录—按设备状态 监视并保存设备工作状态,可能触发发出总线信号 ⑤数据缓冲—按数据传输源方向协议 暂存来自总线或设备的数据 ←解决速度差异 ⑥格式转换—按数据传输目标方向协议格式 将数据转换成目标方的格式 ←解决电气及时序差异 △总线接口单元实际上是一个信号及时序转换器! 作业:P239— 4、5、7、10、12