计算机组成(第六章)
总线系统
总线的概念和结构形态
总线的基本概念
-
总线:构成计算机系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路
-
总线支持不同部件之间的地址、数据、控制三类信息的传送总线支持不同部件之间的地址、数据、控制三类信息的传送
-
一个单处理器系统中的总线,大致分为三类:
-
内部总线
CPU内,连接各寄存器及运算器。
-
系统总线
连接CPU与存储器、I/O通道等。
-
I/O总线
连接各I/O设备。
-
-
总线的特性
-
物理特性
- 指物理连接方式的规定。
- 如总线的根数、插头插座的形状和尺寸等。
-
功能特性
- 指总线中每一根的功能。
- 如它是数据、地址,还是控制线?
功能特性中,如果描述了n根地址线,则可直接访存的地址范围为0~($2^n$﹣1)。
-
电气特性
- 规定每根线上信号的传递方向和有效电平范围。
- 从CPU发出的信号,称输出信号(OUT);
- 送入CPU的信号,称输入信号(IN)。
- 数据线可传送双向信号,地址、控制线只单向传送信号。
-
时间特性
- 规定每根线上的信号什么时间有效
-
系统总线的标准化
-
PC中,系统总线布设在主板上。
-
为什么主板能支持很多厂家的显卡?
原因是,系统总线是按标准制作的
-
总线标准规定总线的物理特性、功能特性、电气特性和时间特性。
-
微机中的标准总线:ISA总线 、 EISA总线、 VESA总线、 PCI总线。
-
-
总线的主要参数
-
总线的带宽 (MB/s)
一定时间内总线上可传送的数据量
-
总线的位宽
-
总线能同时传送的数据位数。
即我们常说的32位、64位等总线宽度的概念。
-
-
总线的工作时钟频率 (MHz)
-
总线的时钟频率
-
-
-
总线带宽
-
**总线传输数据的速度。单位:MB/**s
-
例:
(1)某总线在一个总线周期中并行传送4个字节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHz,则总线带宽是多少?
(2)如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,则总线带宽是多少?
解:(1)带宽= $\frac{4}{T}$=4×f =4B×33×$10^6$ /s =132MB/s。
(2) 带宽=64×f =8B×66×$10^6$ /s = 528MB/s。
-
-
总线的连接方式
-
I/O设备的种类有很多。
- 键盘、鼠标、软盘、硬盘、显示器等。
-
I/O设备的结构、数据传送速度都有差别。
-
I/O设备直接连到总线是不可以的。
-
适配器(又称接口)
- 可使CPU、设备分别以自己的速度工作;
- 完成CPU与设备的数据传送和控制
-
单机系统中总线结构的两种基本类型:
- 单总线和多总线。(定义,特点)
-
单总线结构
-
多总线:在CPU、主存、I/O之间互联采用多条总线
-
总线结构对计算机系统性能的影响
-
最大存储容量
在单总线系统中,最大主存容量必须小于由计算机字长所决定的可能的地址总数。
在双总线系统中,对主存和外设进行存取的判断是利用各自的指令操作码。由于主存地址和外设地址出现于不同的总线上,所以存储容量不会受到外围设备多少的影响。
-
指令系统
在双总线系统中,CPU对存储总线和系统总线必须有不同的指令系统
在单总线系统中,访问主存和I/O传送可使用相同的指令,但它们使用不同的地址。
-
吞吐量
计算机系统的吞吐量是指流入、处理和流出系统的信息的速率。它取决于信息能够多快地输入内存,CPU能够多快地取指令,数据能够多快地从内存取出或存入,以及所得结果能够多快地从内存送给一台外围设备。
系统的呑吐率主要取决于主存的存取周期。
-
总线的内部结构
-
早期的单总线可看作CPU引脚的延伸
-
“CPU"引脚延伸”的缺陷
- CPU是总线控制的主角;
- 现在接口中增加DMA控制器,但仍无法支持多个CPU的系统;
- 总线与CPU引脚相关,通用性差。
总线结构实例
追求与结构、CPU、技术无关的开发标准
总线接口
信息的传送方式
-
位信息的表示方法
-
用持续的高电位(或低电位)表示1(或0)
-
用有(或无)脉冲表示1(或0)
-
-
信息传送的三种方式
- 串行传送
- 沿一根线,用“有无脉冲”顺序地传送数据的各个位
- 并行传送
- 用一组线,各位同时沿不同的线传送
- 系统总线上传送信息必须采用并行传送!
- 分时传送
- 不同性质或不同部件的二进制数在不同的总线周期里传送。
- 串行传送
串行传送
当信息以串行方式传送时,只有一条传输线,且采用脉冲传送。在串行传送时,按顺序来传送表示一个数码的所有二进制位(bit)的脉冲信号,每次一位,通常以第一个脉冲信号表示数码的最低有效位,最后一个脉冲信号表示数码的最高有效位。
在串行传送时,被传送的数据需要在发送部件进行并--串变换,这称为拆卸;而在接收部件又需要进行串--并变换,这称为装配。
串行传送主要优点是只需要一条传输线,这一点对长距离传输显得特重要,不管传送的数据量有多少,只需要一条传输线,成本比较低廉。
并行传送
用并行方式传送二进制信息时,对每个数据位都需要单独一条传输线。信息有多少二进制位组成,就需要多少条传输线,从而使得二进制数“0”或“1”在不同的线上同时进行传送。
并行传送一般采用电位传送。由于所有的位同时被传送,所以并行数据传送比串行数据传送快得多。
分时传送
两种概念:
- 总线复用方式,某个传输线上既传送地址信息,又传送数据信息。
- 共享总线的部件分时使用总线
接口的基本概念
-
接口是CPU、内存、外设与总线之间的转换器
-
内存、外设有自己的控制器。
- 对于内存条,有DRAM控制器;
- 对于磁盘,有磁盘转动、磁头移动等控制电路,与磁盘制作在一起;
-
要连到总线上,还需要接口(电路)。
- 对于磁盘,插在主板上的多功能卡是其接口(卡)
- 对于CPU,接口(电路)在CPU内部
-
外围设备的连接方法
-
为什么要设置接口?
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串并格式转换
- 实现电平转换
- 传送控制命令
- 反映设备的状态(“t忙”、 " 就绪”、" 中断请求" )
-
部件、控制器、接口、总线的关系
-
接口的功能
- 控制
- 接收总线传来的控制信息,向控制器发指示
- 例:磁盘接口收到R请求,向控制器发出找道、找扇区指示
- 缓冲
- 缓冲总线传来的数据,或部件传来的数据。
- 状态
- 保存部件的工作状态,供其他部件查询
- 例:磁盘已将数据放置在数据总线上
- 转换
- 例:总线和接口之间为并行传送,而接口与控制器之间是串行传送,则从总线收到的数据变为串行数据再发给控制器。
- 整理
- 例:接口中可能包含计数器,完成一次数据传送后计数器加1;接口中可能保存访存地址,一次访存后需要修改地址,准备下次访存。
- 程序中断
- 外设请求CPU服务时,接口发出中断请求
- 控制
-
接口的“两面性”
-
与系统总线的“一面”;
一般是并行传送
-
与外设控制器的“一面”。
- 也采用并行传送时,称接口为并行数据接口;
- 采用串行传送时,称接口为串行数据接口。
例:串行传送时,每秒传送的位数称波特率。若数据传送速率为120字符/秒,每字符包含10位(1个起始位、8个数据位和1个停止位)。计算波特率,以及位传送周期
解:波特率为10位×120字符/秒=1200波特。
位传送周期为1/1200 =0.000833(秒)。
-
总线的仲裁
- 对于总线的两个部件,一个为主方,另一个为从方
- 只有主方有权启动一个总线周期,从方只能响应主方的请求
- 任何时刻,只有一个主方,但可有多个从方
- 主方可放弃总线控制权,让位于请求总线控制权的部件。
- 不是任何部件都可成为主方,例如,存储器只能作为从方。
总线仲裁
当多个可作主方的设备请求总线控制,谁优先呢?
-
公平策略
例,多CPU系统中,CPU之间是平等的。
-
优先级策略
I/O设备之间一般有不同的总线请求优先级。
-
主方持续控制总线的时间,称为总线占用期
-
总线的仲裁方式分为集中式仲裁和分布式仲裁两类。
什么是集中式仲裁?
- 总线仲裁部件 ——中央仲裁器
- 每个功能模块有两根线连到中央仲裁器。
- 送仲裁器的总线请求线(BR, Bus Request);
- 仲裁器送来的总线授权线(BG,Bus Grant)
- 实现方案
- 链式查询方式;
- 计数器定时查询方式;
- 独立请求方式。
链式查询方式
计数器定时查询方式
独立请求方式
什么是分布式仲裁?
-
没有中央仲裁器;
-
每个潜在的主方都有仲裁器;
-
共用一个“仲裁总线”;
-
有总线请求时,将自己仲裁器的编号放在“仲裁总线”上;
-
发现自己的编号小,则撤消自己的编号
-
最后,获胜者的编号留在“仲裁总线”上
-
集中式仲裁
总线仲裁部件 ——中央仲裁器
-
分布式仲裁(逻辑结构)
没有中央仲裁器;每个潜在的主方都有仲裁器
总线的定时和数据传送模式
总线的定时
- 总线的一次信息传送,大致分5个阶段:
- 请求总线
- 总线仲裁
- 寻址(即发送地址到地址总线)
- 信息传送(即发送数据到数据总线);
- 状态返回(或错误报告)
- 主方和从方的动作有时序关系
- 规定事件出现在总线上的时序关系,称总线定时
同步定时
- 无论主方、从方,事件出现的时刻由总线时钟确定。
例:CPU读内存。约定事件出现在时钟上跳前沿,多数事件持续一个时钟周期
- CPU先发读命令,并发存储单元地址;
- 存储器延迟1个时钟将数据放在数据总线
同步定时的特点
- 各模块何时做何种动作,都按时钟规定
- 适用于总线长度较短、各模块存取时间接近的系统
- 由于同步总线按最慢的模块设计公共时钟,当各模块存取时间相差很大时,会大大损失总线效率
异步定时
- 在异步定时协议中,后一事件出现在总线上的时刻取决于前一事件的出现,即建立在应答式或互锁机制基础上
- 取消公共时钟,总线周期长度可变
异步定时的特点
- 总线周期可变,不强限制功能模块的响应时间
- 允许快速和慢速的模块连到同一总线
- 增加总线的复杂性和成本
例:CPU采用集中式总线仲裁,采用独立请求和链式查询相结合的结构。每一对BRi和BGi连接速度相近的一组设备。画出总线仲裁时序图
总线仲裁时序图
总线的数据传送模式
- 读、写操作 —— 主方与从方间的数据传送
- 块传送操作
- 给出块的起始地址,顺序读(写)多个数据。
- 例:CPU-存储器之间的猝发式传送
- “写后读”、“读后写”操作
- 给出地址后,先写入后读出,用于校验
- 给出地址后,先读出后写入,用于共享资源的保护。
- 广播、广集操作
- 广播:主方向多个从方传送数据(写);
- 广集:多个从方向主方传送数据(读),例:检测中断源
PCI总线
- PCI是与CPU无关的外围总线(局部总线)
- 连接到PCI总线的设备,称PCI设备
- 使用PCI/PCI桥或HOST/PCI桥,系统中可包含多个PCI总线
多总线结构的示意图
PCI总线特点
- 总线定时方式采用同步时序协议,总线时钟为方波信号
- 总线仲裁方式采用集中式仲裁。每个PCI主设备都有总线请求线和总线授权线与中央仲裁器相连
- PCI总线的基本传输机制是猝发式传送