计组_第三章_系统总线

发布时间:2024年01月12日

3 系统总线

3.1 总线的基本概念

一、为什么要用总线

? 将所有部件连接在一起

二、什么是总线

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

? 英文名为BUS

三、总线上信息的传送

? 串行 把要传输的信息一位一位的放在总线上,接收方一位一位的接收 ————————

? 并行 把要传输的信息多位同时放在总线上,接收方同时接收多位数据 ————————

? ————————

? ————————

? ————————

? 并行需要多条数据线,平行向外走,线和线之间产生干扰,传输距离长信号会发生变形,接受方很难接受到正确的数据,通常情况下并行传输传输距离短,比如集中在计算机机箱内部;串行传输支持的传输距离比较长,可以在机器和机器之间或者机器和其他更远的设备之间。

? 目前高速信号传输多采用串行传输。

四、总线结构的计算机举例
  1. 单总线结构框图

    单总线框图

    问题:总线是信号的公共传输线,在任何时刻只能有一对部件在使用这个总线,总线就会成为这个系统的瓶颈。

  2. 面向CPU的双总线结构图(以CPU为核心)

    在这里插入图片描述

    问题:主存与外部设备之间没有直接信息传输的通路

  3. 以存储器为中心的双总线结构

    在这里插入图片描述

3.2 总线的分类

一、片内总线

? 芯片内部的总线

二、系统总线

? 计算机各部件之间的信息传输线

  1. 数据总线(DB)

    用来传输各功能部件之间的数据信息

    双向 与机器字长、存储字长相关

  2. 地址总线(AB)

    主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备地址

    单向 与存储地址、I/O地址有关

  3. 控制总线(CB)

    有出 存储器读、存储器写、总线允许、中断确认

    有入 中断请求、总线请求

三、通信总线

? 用于计算机系统之间计算机系统与其它系统(如控制仪表、移动通信等)

? 传输方式:串行通信总线、并行通信总线

3.3 总线特性及性能指标

一、总线物理实现

在这里插入图片描述

二、总线的特性
  1. 机械特性

    尺寸、形状、管脚数、及排列顺序

  2. 电气特性

    传输方向(eg:数据线双向、地址线单向)

    有效的电平范围(什么样的电压范围是高电平、什么样的电压范围是低电平)

  3. 功能特性

    每根传输线的功能

    ? 地址

    ? 数据

    ? 控制

    ? 状态反馈

  4. 时间特性

    信号的时序关系

三、总线的性能指标
  1. 总线宽度

    数据线的根数(4、8、16、32),根数越多同时传输的位数就越多

  2. 标准传输率

    每秒传输的最大字节数(MBps)

  3. 时钟同步/异步

    同步、不同步(不同步包含多种类型)

  4. 总线复用

    地址线数据线复用(共用)

    目的:减少芯片的管脚数

  5. 信号线数

    地址线、数据线、控制线的总和

  6. 总线控制方式

    突发、自动、仲裁、逻辑、计数

  7. 其他指标

    负载能力(这条总线上可以挂载多少个I/O设备)

四、总线标准

在这里插入图片描述

在这里插入图片描述

ISA 工业标准体系结构

EISA是对ISA的扩展 兼容ISA

VESA 视频电子标准协会 很多信号来自CPU,驱动能力比较差

PCI P外围 C部件 I互联 外设部件互联标准

AGP intel在96年7月推出的局部总线,主要是为了连接控制芯片和显卡,速度较快,是由PCI发展过来的

RS-232 用的比较多的串行通讯总线标准

USB 通用串行接口总线标准

3.4 总线结构

一、单总线结构

在这里插入图片描述

问题:总线成为系统的瓶颈

二、多总线结构
  1. 双总线结构

    在这里插入图片描述

    通道是一种特殊类型结构简单的处理器,专门用于输入输出操作。一般来说有自己的控制器,有自己的指令系统,能够执行一些简单的指令、执行通道程序(通道程序一般是由操作系统来编写的,而不是人工)。

  2. 三总线结构

    在这里插入图片描述

    DMA 直接存储器访问 外部设备直接访问系统的内存

    一些高速设备和内存之间如果进行信息交换的话,可以直接通过DMA总线来高速的进行,而不需要通过I/O总线和CPU来做;但是低俗设备如果要和主存进行信息交换的话还是要通过I/O总线。

    可以有多个高速外设,它们的I/O接口都接到DMA总线上。

  3. 三总线结构的又一形式

    在这里插入图片描述

    CPU发展的很快,但内存发展遇到瓶颈,所以在CPU和主存之间用一个小容量、高速度的Cache对主存中的数据进行缓存,CPU运行时所需要的指令和数据主要是从Cache中进行获取,局部总线把CPU和Cache连接起来,局部I/O控制器可以连接一些高速的局部设备。

  4. 四总线结构

    在这里插入图片描述

    高速设备连接到高速总线,低速设备连接到扩展总线,提高数据传输速率。

三、总线结构举例
  1. 传统微型机总线结构

    在这里插入图片描述

    把系统总线和I/O总线进行了分离

  2. VL-BUS总线结构

    在这里插入图片描述

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

  3. PCI总线结构

    在这里插入图片描述

    通过PCI桥拓展出PCI总线用于连接高速设备

    通过标准总线控制器拓展出ISA、EISA用于连接低速设备

  4. 多层PCI总线结构

    在这里插入图片描述

    当PCI总线驱动力不足时,可采用多层结构

3.5 总线控制(重难点)

一、总线的判优控制
  1. 基本概念

    • 根据是否能提出总线请求分为

      ? 主设备(模块) 对总线有控制权

      ? 从设备(模块) 响应从主设备发来的总线命令

      计算机系统中有些设备既可以作为主设备也可以作为从设备

      有些总线有多个主设备,有些总线只能有一个总设备

    • 总线判优控制

      ? 集中式 链式查询、计数器定时查询、独立请求方式

      ? 分布式

  2. 链式查询方式(结构最简单)

    在这里插入图片描述

    BR 总线请求,所有的设备都由这条线发出总线使用的请求

    BS 总线忙,如果某一个设备占用了总线,就由总线忙告诉总线控制部件或其他部件总线忙

    BG 总线授权线,(体现链式)一个一个的向下进行查询,如果I/O设备向BR请求并且总线空闲,通过BG逐个向下查询(0—>1—>2—>……),直到碰到第一个提出总线占用请求的接口。

    在这里插入图片描述

    此处是接口1,接口1通过BS这条线设置总线忙,获得了总线的使用权

    特征:各个设备占用总线的优先级和BG的查询顺序有直接关系,事先已经确定(靠后设备的总线请求可能一直得不到应答)

    缺点:对电路故障特别敏感,尤其是BG这条线

    优点:结构特别简单,增删设备容易,优先级算法简单,进行可靠性设计时容易实现

  3. 计数器定时查询方式

    在这里插入图片描述

    设备地址 由计数器给出

    在这里插入图片描述

    当总线控制部件接收到总线占用请求且总线空闲时,启动计数器,计数器的值通过设备地址这条线向外输出

    计数器的初始值可以是0也可以是其他数

    当计数器为i时,就对I/O接口i进行查询,看其是否提出总线占用请求,若未提出 计数器加1,若提出 接口i响应,通过BS设置总线忙

    优点:优先级确定灵活(计数器初值设置灵活)

    和链式查询方式相比,少了一条BG,多了一条设备地址线,设备地址线的条数和设备数有关

  4. 独立请求方式

    以上两个都是按顺序查询,而独立请求方式确定是哪一设备提出总线占用请求更快

    在这里插入图片描述

    优先级的排序由总线内部的排队器完成

    优先级的设置灵活

    用的线数比较多n个设备用2n条线

    在这里插入图片描述

    设备发出总线占用请求,由排队器的优先级确定哪个设备获得占用权,由BG反馈

二、总线通信控制
  1. 目的

    解决通信双方协调配合问题

  2. 总线的传输周期

    主设备和从设备之间完成一次完整且可靠的通讯需要的时间

    • 申请和分配 主模块申请,总线仲裁决定(上面的总线判优)
    • 寻址阶段 主模块向从模块给出地址命令
    • 传数阶段 主模块和从模块交换数据
    • 结束阶段 主模块撤销相关信息
  3. 总线通信的四种方式

    • 同步通信 由统一时标控制数据传输
    • 异步通信 采用应答方式,没有公共时钟标准
    • 半同步通信 同步、异步结合,主要解决不同速度的两个设备或模块之间的通讯问题
    • 分离式通信 高效,充分挖掘系统总线每个瞬间的潜力,让系统总线发挥最大的效能

    (1)同步式数据输入

    ? CPU采用同步方式从某一个外部设备进行数据输入

    在这里插入图片描述

    ? 在T1的时钟周期的上升沿必须要给出地址信号,地址信号由主设备给出(本例由CPU给出)

    ? 在T2的时钟周期的上升沿必须给出读命令信号,告诉从设备,CPU要从从模块或从设备读入数据

    ? 在T3的时钟周期的上升沿,从设备必须给出数据信号(通过数据总线给出)

    ? 在T4的时钟周期的上升沿,数据信号和控制信号可以撤销,T4时钟周期结束时地址信号也撤销了

    (2)同步式数据输出

    ? CPU要把某一个数据输出到某一个模块

    在这里插入图片描述

    ? 在T1的时钟周期的上升沿要给出地址信号,下降沿要给出数据

    ? 在T2的时钟周期的上升沿给出写命令,向从设备进行数据写入

    ? 在T3的时钟周期的上升沿做写入操作

    ? 在T4的时钟周期的上升沿,主设备(本例是CPU)可以撤销数据,撤销写命令,T4时钟周期结束时撤掉地址信息,完成这次输出的操作

    ?

    同步方式所有的从模块都用同一个时标进行控制,要在同一个时限当中完成规定的操作,主从模块是强制同步的,对于速度不同的模块,要选择速度最慢的作为统一的时标设计。

    一般应用在总线长度比较短,各个模块存取时间比较一致的情况下,使用同步式数据传输方式。( 这是因为,同步方式对任何两个设备之间的通信都给予同样的时间安排。 就总线长度来讲,必须按距离最长的两个设备的传输延迟来设计公共时钟。 但是总线长了势必降低传输频率。)

    ?

    (3)异步通信

    ? 通过请求回答这两个握手信号来完成通信联络

    在这里插入图片描述

    ? 不互锁:主设备发出通信请求,从设备接收到通信请求后进行应答,一段时间之后主设备自动撤销请求信号,从设备撤销应答信号

    ? 半互锁:主设备发出通信请求,从设备接收到通信请求后进行应答,主设备接收到应答信号后撤销请求信号,接收不到则保持,一段时间后从设备自动撤销应答信号(可能会导致主设备一直处于请求状态 高电平)

    ? 全互锁:主设备发出通信请求,从设备接收到通信请求后进行应答,主设备接收到应答信号后撤销请求信号,接收不到则保持,只有主设备的请求信号撤销以后,从设备才会撤销自己的应答信号

    (4)半同步通信(同步、异步结合)

    ? 同步 发送方用系统时钟前沿发信号

    ? 接收方用系统时钟后沿判断、识别

    ? 异步 允许不同速度的模块和谐工作

    ? 增加一条“等待”响应信号 W A I T  ̄ \overline{WAIT} WAIT

    ? 以输入数据为例的半同步通信时序

    ? T1 上升沿 主模块发出地址

    ? T2 上升沿 主模块发出命令

    ? Tw 当 W A I T  ̄ \overline{WAIT} WAIT为低电平时,等待一个T

    ? Tw 当 W A I T  ̄ \overline{WAIT} WAIT为低电平时,等待一个T

    ? Tw 当 W A I T  ̄ \overline{WAIT} WAIT为高电平时,进入T3周期

    ? T3 上升沿 从模块提供数据

    ? T4 从模块撤销数据,主模块撤销命令

    ? 上升沿 读命令和数据信号撤销

    ? 下降沿 地址信号撤销

    在这里插入图片描述

上述三种通信的共同点

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

  • 主模块发地址、命令 占用总线

  • 从模块准备数据 不占用总线 总线空闲

  • 从模块向主模块发数据 占用总线

    ?

    (5)分离式通信

    ? 充分挖掘系统总线每个瞬间的潜力

    ? 一个总线传输周期

    ? 子周期1 主模块申请占用总线,使用完后即放弃总线的使用权

    ? 子周期2 从模块申请占用总线,将各种信息送至总线上

    ? 特点

    ? 各模块有权申请占用总线

    ? 采用同步方式通信,不用等对方回答

    ? 各模块准备数据时,不占用总线

    ? 总线被占用时,无空闲

    ?

      **接收方**用系统**时钟后沿**判断、识别
    

    ? 异步 允许不同速度的模块和谐工作

    ? 增加一条“等待”响应信号 W A I T  ̄ \overline{WAIT} WAIT

    ? 以输入数据为例的半同步通信时序

    ? T1 上升沿 主模块发出地址

    ? T2 上升沿 主模块发出命令

    ? Tw 当 W A I T  ̄ \overline{WAIT} WAIT为低电平时,等待一个T

    ? Tw 当 W A I T  ̄ \overline{WAIT} WAIT为低电平时,等待一个T

    ? Tw 当 W A I T  ̄ \overline{WAIT} WAIT为高电平时,进入T3周期

    ? T3 上升沿 从模块提供数据

    ? T4 从模块撤销数据,主模块撤销命令

    ? 上升沿 读命令和数据信号撤销

    ? 下降沿 地址信号撤销

    [外链图片转存中…(img-Jg73kxeA-1704891430616)]

上述三种通信的共同点

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

  • 主模块发地址、命令 占用总线

  • 从模块准备数据 不占用总线 总线空闲

  • 从模块向主模块发数据 占用总线

    ?

    (5)分离式通信

    ? 充分挖掘系统总线每个瞬间的潜力

    ? 一个总线传输周期

    ? 子周期1 主模块申请占用总线,使用完后即放弃总线的使用权

    ? 子周期2 从模块申请占用总线,将各种信息送至总线上

    ? 特点

    ? 各模块有权申请占用总线

    ? 采用同步方式通信,不用等对方回答

    ? 各模块准备数据时,不占用总线

    ? 总线被占用时,无空闲

文章来源:https://blog.csdn.net/WXH_111/article/details/135513011
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。