计算机组成原理——第三章系统总线


3.1 总线的基本概念

  1. 为什么要用总线

    计算机系统五大部件之间的互连方式有两种:

    • 分散连接——各部件之间使用单独的连线
    • 总线连接——各部件连到一组公共信息传输线上

    早期的计算机大多采用分散连接方式,内部连线十分复杂,尤其当I/O与存储器交换信息时都需要经过运算器,使运算器停止运算,严重影响CPU的工作效率。

  2. 什么是总线

    总线是连接各个部件的信息传输线,是各个部件共享的传输介质

  3. 总线上的信息传送

    • 串行
    • 并行

3.2 总线的分类

  1. 片内总线

    芯片内部的总线

    • CPU芯片内部
    • 寄存器之间
    • 寄存器与算逻单元ALU之间
  2. 系统总线

    计算机各部件(CPU、主存、I/O设备)之间的信息传输线

    按系统总线传输信息不同分为:

    • 数据总线——传输各功能部件之间的数据信息
      • 双向
      • 与机器字长、存储字长有关
      • 数据总线宽度——数据总线的位数
    • 地址总线——用来指出数据总线上的源数据或目的数据在主存单元的地址I/O设备的地址
      • 单向(由CPU输出)
      • 与存储地址、I/O地址有关
      • 地址线位数(\(2^n\))与存储单元的个数(n)有关
    • 控制总线——用来发出各种控制信号的传输线
      • 出——中断请求、总线请求
      • 入——存储器读/写、总线允许、中断确认
      • 常见控制信号:
        • 时钟:用来同步各种操作
        • 复位:初始化所有部件
        • 总线请求:表示某部件需获得总线使用权
        • 总线允许:表示需要获得总线使用权的部件已获得了控制权
        • 中断请求:表示某部件提出中断申请
        • 中断响应:表示中断请求已被接收
        • 存储器写:将数据总线上的数据写至存储器的指定地址单元内
        • 存储器读:将指定存储单元中的数据读到数据总线上
        • I/O读:从指定的I/O端口将数据读到数据总线上
        • I/O写:将数据总线上的数据输出到指定的I/O端口内
        • 传输响应:表示数据已被接收,或已将数据送至数据总线上
  3. 通信总线

    用于计算机系统之间或计算机系统与其它系统(控制仪器、移动通信等)之间的通信

    通信方式:

    • 串行通信
      • 数据在单条1位宽的传输线上,一位一位地按顺序分时传送。
        • 一字节的数据要通过一条传输线分8次由低位到高位按顺序传送
      • 适用于远距离传送,实现远程通信
    • 并行通信
      • 数据在多条并行1位宽的传输线上,同时由源传送到目的地。
      • 一字节的数据要通过8条并行传输线同时由源传送到目的地
      • 适宜于近距离的数据传输,通常小于30m
    • 数据传送速率与距离成反比

3.3 总线特性及性能指标

  1. 总线物理实现

    总线由许多导线直接印制在电路板上,延伸到各个部件。

​ CPU、主存、I/O这些插板通过插头与水平方向总线插槽连接。为了保证机械上的可靠连接,必须规定其机械特性;为了确保电气上的正确连接,必须规定其电气特性;为了保证正确地连接不同部件,还需规定其功能特性时间特性

​ Pentium Ⅲ以上微型计算机已将CPU芯片直接安装在主板上,很多插卡已做成专用芯片,减少插槽,结构更合理。

  1. 总线特性

    1. 机械特性——总线在机械连接方式上的一些性能

      • 尺寸
      • 形状
      • 管脚数
      • 排列顺序
    2. 电气特性

      • 每一根传输线上信号的传输方向
      • 有效电平范围
    3. 功能特性——每根传输线的功能

      • 地址
      • 数据
      • 控制
    4. 时间特性——信号的时序关系

      • 总线中的任一根线在什么时间内有效
      • 每条总线上的各种信号互相存在一种有效时序关系,一般可用信号时序图描述
  2. 总线的性能指标

    1. 总线宽度
      • 数据线的根数
      • 用bit(位)表示(8位,16位,32位,64位)
    2. 标准传输率——每秒传输的最大字节数\(-MBps\)
    3. 时钟同步/异步——同步/不同步
    4. 总线复用——地址线数据线复用
    5. 信号线数——\(\bold{地址线+数据线+控制线}\)
    6. 总线控制方式
      • 突发工作
      • 自动配置
      • 仲裁方式
      • 逻辑方式
      • 计数方式
    7. 其他指标
      • 负载能力
      • 电源电压
      • 总线宽度能否扩展
  3. 总线标准

    总线标准 数据线 总线时钟 带宽
    ISA
    工业标准结构总线
    16 8MHz(独立) 16MBps
    EISA
    扩展工业标准结构
    32 8MHz(独立) 33MBps
    VESA(VL-BUS)
    视频电子标准协会
    32 32MHz(CPU) 132MBps
    PCI
    外设部件互联标准
    32/64 33MHz(独立)/ 66MHz(独立) 132MBps
    528MBps
    AGP
    加速图形接口
    32 66.7MHz(独立)
    133MHz(独立)
    266MBps
    533MBps
    RS-232 串行通信总线标准 数据终端设备(计算机)和数据通信设备
    (调制解调器)之间的标准接口
    USB
    通用串行总线
    串行通信总线标准 普通无屏蔽双绞线
    带屏蔽双绞线
    最高
    1.5MBps (USB1.0)
    12MBps (USB1.0)
    480MBps (USB2.0)

3.4 总线结构

  1. 单总线结构

  2. 多总线结构

    1. 双总线结构(分离主存总线和I/O主线)

    2. 三总线结构

      DMA(主存与I/O设备之间):直接存储器访问

    3. 三总线结构2

      多种外部设备都连在一条扩展总线上,影响外设设备工作速度

    4. 四总线结构

      分离高速设备和低速设备

  3. 总线结构举例

    • 传统微型机总线结构

      分离系统总线和I/O总线

    • VL-BUS局部总线结构

      分类组织高速设备和低速设备

    • PCI 总线结构

    • 多层 PCI 总线结构

3.5 总线控制

  1. 总线判优控制

    • 主设备(模块)——对总线有控制权
    • 从设备(模块)——响应从主设备发来的总线命令
    • 某些设备既可作为主设备也可作为从设备

    \[控制方法\begin{cases} 集中式\begin{cases} 链式查询\\ 计数器定时查询\\ 独立请求方式 \end{cases}\\ 分布式 \end{cases} \]

  2. 集中式查询

    • 链式查询
      • 优先级由连接方式事先决定\(\implies\)BG的查询顺序
      • 增添设备容易
      • 容易实现可靠性设计
      • 速度慢\(\implies\)用于微型计算机,嵌入式系统
      • 对电路故障敏感(尤其BG线
    • 计数器定时查询
      • 判优过程:计数器控制设备地址线进行查询

      • 设备地址线宽度:与设备数n有关\(\implies\lceil\log_{2}{n}\rceil+2\)

      • 判优灵活:可设定计数器初值;利用循环计数实现公平判优

    • 独立请求方式
      • 速度更快

      • 每个I/O接口都有单独的请求线和授权线

      • 优先级:总线控制部件内部有排队器

      • 线数多:\(2^n\)

  3. 总线通信控制

    • 目的:解决通信双方协调配合的问题
    • 总线传输周期
      • 申请分配阶段:主模块申请,总线仲裁决定
      • 寻址阶段:主模块向从模块给出地址命令
      • 存数阶段:主模块和从模块交换信息
      • 结束阶段:主模块撤消有关信息
    • 总线通信的四种方式

    \[\begin{cases} \text{同步通信}\quad\quad由\color{blue}{统一时标}\color{black}控制数据传送\\ \text{异步通信}\quad\quad采用\color{blue}{应答方式}\color{black},没有公共时钟标准\\ \text{半同步通信}\quad\,\color{blue}同步、异步结合\\ \text{分离式通信}\quad\,充分\color{blue}挖掘\color{black}系统\color{blue}总线每个瞬间\color{black}的\color{blue}潜力 \end{cases} \]

  4. 同步通信——定宽定距的公共时钟信号

    • 优点

      • 规定明确、统一
      • 模块间的配合简单一致
    • 缺点

      • 主、从模块时间配合“强制性”同步
      • 必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率
    • 一般用于总线长度较短,各部件存取时间比较一致的场合

      • 总线传输周期越短,数据线的位数越多,直接影响总线的数据传输率
    • 同步式数据输入
      • \(T_1\)上升沿主设备给出地址信号
      • \(T_2\)上升沿给出读命令信号
      • \(T_3\)上升沿从设备给出数据信号(数据总线)
      • \(T_4\)上升沿撤销数据信号和控制信号
      • \(T_4\)下降沿撤销地址信号
    • 同步式数据输出
      • \(T_1\)上升沿给出地址信号
      • \(T_1\)下降沿给出数据
      • \(T_2\)上升沿给出写命令
      • \(T_3\)上升沿执行写操作
      • \(T_4\)上升沿撤销数据和写命令
      • \(T_4\)下降沿撤销地址数据

    数据传输率:每秒传输的最大字节数——\(MBPs\)

    例1:假设总线的时钟频率为\(100MHz\),总线的传输周期为4个时钟周期,总线的宽度为32位,试求总线的数据传输率。若想提高一倍的数据传输率,可采取什么措施?

    解:根据总线时钟频率为\(100MHz\),得

    一个时钟周期为\(\frac{1}{100}MHz=0.01\mu s\)

    总线传输周期为\(0.01\mu s\times4=0.04\mu s\)

    由于总线得宽度为\(32位=4B(字节)\)

    \(\implies\)总线的数据传输率为\(\frac{4B}{0.04\mu s}=100 MBps\)

    若想提高一倍数据传输率,可以在不改变总线时钟频率得前提下,将数据线得宽度改为64位;

    也可以保持32位的数据宽度,让总线的时钟频率增加到\(200MHz\)


  5. 异步通信

    \[\begin{cases} \text{主设备}\quad发起总线通讯\\ \text{从设备}\quad受主设备控制 \end{cases}\\ 增加\begin{cases} \text{请求线}\\ \text{应答线} \end{cases} \]

    • 不互锁

      • 主设备发出通信请求
      • 从设备收到请求后进行应答
      • 主设备撤销请求信号
      • 从设备撤销应答信号

      无论从设备是否收到请求信号,一段时间后主设备都会撤销请求信号

      无论主设备是否收到应答信号,一段时间后从设备都会撤销应答信号

      \(\implies\) 通信可靠性存在问题

    • 半互锁

      • 主设备发出通信请求
      • 从设备收到请求后进行应答
      • 主设备收到应答后撤销请求信号
      • 从设备撤销应答信号

      只有收到应答后主设备才撤销请求信号

      无论主设备是否收到应答信号,一段时间后从设备都会撤销应答信号

      \(\implies\)可能造成主设备请求信号一直保持高电平

    • 全互锁

      • 主设备发出通信请求
      • 从设备收到请求后进行应答
      • 主设备收到应答后撤销请求信号
      • 请求信号撤销后从设备撤销应答信号

    异步串行通信的数据传送速率:

    • 波特率:单位时间内传送二进制数据的位数——\(bps(位/秒)\)
    • 比特率:单位时间内传送二进制有效数据的位数——\(bps(位/秒)\)

    例2:在异步串行传输系统中,假设每秒传输120个数据帧,其字符串格式规定包含1个起始位,7个数据位,1个奇校验位、1个终止位,试计算波特率。

    解:根据题目给出的字符格式,一帧包含\(1+7+1+1=10位\)

    \(\implies\)波特率为\((1+7+1+1)\times120=1200bps=1200波特\)

    例3:在异步串行传输系统中,若字符串格式为:1起始位、8位数据位、1位奇校验位、1位终止位。假设波特率为\(1200bps\),求此时的比特率。

    解:总数据位:\(1+8+1+1=11位\)

    有效数据位:8位

    \(\implies\)比特率为\(1200\times\frac{8}{11}\approx872.72bps\)


  6. 半同步通信

    • 同步特征
      • 发送方用系统时钟前沿发信号
      • 接收方用系统时钟后沿判断、识别
    • 异步特征
      • 允许不同速度模块和谐工作
      • 增加一条“等待”响应信号\(\to\overline{WAIT}\)
    • 例:输入数据
      • \(T_1\) 主设备发地址
      • \(T_2\) 主设备发命令
      • \(T_W\)\(\overline{WAIT}\)为低电平时,等待一个\(T\)
      • \(T_W\)\(\overline{WAIT}\)为低电平时,等待一个\(T\)
      • ......
      • \(T_3\) 从设备提供数据
      • \(T_4\) 从设备撤销数据,主模块撤销命令

    上述三种通信的共同点

    ​ 一个总线传输周期(以输入数据为例):

    • 主模块发地址、命令\(\to\)占用总线
    • 从模块准备数据\(\to\)不占用总线\(\implies\)总线空闲
    • 从模块向主模块发数据\(\to\)占用总线

  7. 分离式通信

    • 各模块有权申请占用总线
    • 采用同步方式通信,不等对方回答
    • 各模块准备数据时,不占用总线
    • 总线被占用时,无空闲

    \(\implies\)充分提高了总线的有效占用

    一个总线传输周期:

    • 子周期1——主模块申请占用总线,使用完后即放弃总线的使用权
    • 子周期2——从模块(此时相当于主模块)申请占用总线,将各种信息送至总线上

    分离式通信控制比较复杂,一般在普通微型计算机系统很少采用


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM