diff --git a/content/408/《计组》总线.md b/content/408/《计组》总线.md new file mode 100644 index 0000000..a1b708a --- /dev/null +++ b/content/408/《计组》总线.md @@ -0,0 +1,198 @@ +--- +title: "《计组》总线" +date: 2023-07-22T10:06:23+08:00 + +--- + +## 总线 + +* 总线产生原因 + * IO设备的种类和数量越来越多,为了解决IO设备与主机之间连接的灵活性,设计了总线 +* 总线定义 + * 一组能为多个部件分时共享的公共信息的传送路线 +* 特点 + * 分时性 + * 同一时刻只允许一个部件向总线发生信息 + * 同一时刻只能有一个主设备控制总线的传输操作 + * 共享性 + * 总线上可以挂接多个部件 +* 总线优缺点 + * 优点 + * 便于增减外设 + * 减少信息传输线的条数 + * 缺点 + * 降低了信息传输的并行性和信息的传输速度 +* 总线设备 + * 根据对总线有无控制能力分类 + * 主设备 + * 获得总线控制权的设备 + * 从设备 + * 被主设备访问的设备,它只能响应从主设备发来的各种总线命令 +* 总线特性 + * 机械特性:尺寸,大小 + * 电气特性:传输方向和有效电平范围 + * 功能特性:每根传输线的功能 + * 时间特性:信号和时序的关系 +* 总线分类 + * 功能划分 + * 片内总线 + * 芯片内部的总线 + * CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线 + * 系统总线 + * 计算机系统内各功能部件(CPU、主存、IO接口)之间相互连接的总线 + * 按系统总线传输内容的不同分类 + * 数据总线 + * 传输各功能部件之间的数据信息 + * 双向传输线,其位数与机器字长、存储字长有关 + * 地址总线 + * 出主存和IO设备接口电路的地址 + * 单向传输线 + * 地址总线的位数与主存地址空间的大小有关 + * 控制总线 + * 传输控制信息 + * 包括控制命令和反馈信号 + * IO总线 + * 主要用于连接中低速的IO设备 + * 通过IO接口与系统总线相连接 + * 目的是将低速设备和高速总线分离,以提升总线的系统性能 + * 常见的有USB、PCI总线 + * 通信总线 + * 在计算机系统之间或计算机系统或其他系统之间传送信息的总线 + * 通信总线也称外部总线 + * 时序控制方式划分 + * 同步总线 + * 异步总线 + * 数据传输格式分 + * 串行传输:数据的传输在一条线路上按位进行 + * 并行传输:每个数据位有一条单独的传输线,所有的数据位同时进行 + * 总线复用方式:不同信号在同一条信号线上分时传输 + + +## 系统总线结构 + +* 单总线结构 + * 优点 + * 结构简单,成本低 + * 易于接入新的设备 + * 缺点 + * 带宽低,负载重 + * 多个部件只能争用唯一的主线 + * 不支持并发传送操作 + * 组成 + * 系统总线 + * 结构图 + * ![](../../images/《计组》总线/单总线结构.jpg) +* 双总线结构 + * 优点 + * 将低速IO设备从单总线上分离出来 + * 实现了存储器总线和IO总线分离 + * 缺点 + * 需要增加通道等硬件设备 + * 组成 + * 主存总线+IO总线 + * 结构图 + * ![](../../images/《计组》总线/双总线结构.jpg) +* 三总线结构 + * 优点 + * 提高了IO设备的性能 + * 使其更快地响应命令 + * 提高系统吞吐量 + * 缺点 + * 系统工作效率低 + * 组成 + * IO总线+主存总线+DMA总线 + * 结构图 + * ![](../../images/《计组》总线/三总线结构.jpg) + +## 总线性能标准 + +* 总线传输周期 + * 一次总线操作所需的时间,由若干总线时钟周期构成 +* 总线时钟周期 + * 机器的时钟周期 +* 总线工作频率 + * 总线上各种操作的频率,为总线周期的倒数 + * $工作频率 = \frac{1}{总线周期}$ +* 总线时钟频率 + * $时钟频率 = \frac{1}{时钟周期}$ +* 总线宽度(位宽) + * 总线上同时能传输的数据位数,通常指数据总线的根数 +* 总线带宽 + * 总线的最大数据传输率,即单位时间内总线上最多可传输数据的位数 + * 总线带宽 = 总线工作频率 $\times$ 总线位宽/8 【单位为字节/s】 +* 总线复用 + * 一种信号线在不同的时间传输不同的信息 + * 可以使用较少的线传输更多的信息,从而节约空间和成本 +* 信号线数 + * 地址总线、数据总线和控制总线3种总线数的总和称为信号线数 +* 总线带宽(传输率) = 总线宽度 $\times$ 总线工作频率 + +### 例题 + +* 计算传输数据所要的时间 + * ![](../../images/《计组》总线/计算传输数据所要的时间.jpg) +* 计算数据传输率/总线带宽 + * ![](../../images/《计组》总线/计算数据传输率.jpg) + * ![](../../images/《计组》总线/计算总线带宽.jpg) + + +## 总线事务和定时 + +* 总线事务 + * 从请求总线到完成总线使用的操作序列【一个总线周期中发生的一系列活动】 + * 总线事务的过程 + * 请求阶段:主设备发出总线传输请求并且获得总线控制权 + * 仲裁阶段:主线仲裁结构决定将下一个传输周期的总线使用权授予某个申请者 + * 寻址阶段:主设备通过总线给出要访问的从设备地址及有关命令,启动从模块 + * 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送(一般只能传输一个字长的数据) + * 释放阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权 +* 突发传送总线事务 + * 突发传送总线事务是指发送方在传输完成地址后,连续进行若干次数据的发送,即一次传输一个地址和一批连续的数据 + * 突发传送方式能够进行连续成组数据的传送,其寻址阶段发送的是连续数据单元的首地址 + * 突发传送方式可以提高总线数据传输率 + * 主设备只需给出一个首地址,从设备就能从首地址开始开始的若干连续单元读出或写入多个数据 + +### 总线定时/控制 + +* 总线在双方交换数据的过程中需要时间上配合关系的控制【本质为一种协议或规则】 + * 同步定时/控制方式 + * 定义 + * 由统一时序控制的通信方式 + * 同步通信采用公共时钟,有统一的时钟周期,同步时钟周期不由各设备提供 + * 同步控制既可以用于CPU控制,又可用于高速的外部设备控制 + * 优点 + * 传送速度快,具有较高的传输速率 + * 总线控制逻辑简单 + * 同步通信不需要应答信息且总线长度短 + * 同步通信用一个公共的时钟信号进行同步 + * 同步通信中,各部件的存取时间较接近 + * 缺点 + * 主从设备属于强制性同步 + * 不能及时进行数据通信的有效性验证 + * 可靠性较差 + * 适用于 + * 适用于总线长度较短及总线所接部件的存储时间比较接近的系统 + * 采用同步控制也可以进行数据的传输,但不能发挥快速设备的高速性能 + * 异步定时/控制方式 + * 定义 + * 没有统一的时钟;没有固定的时间间隔(不采用时钟信号,只采用握手) + * 完全依靠传送双方相互制约的握手信号来实现定时控制 + * 传送操作是由双方按需求分配时间的 + * 每次握手完成一次通信,但是一次通信往往交换多位数据 + * 优点 + * 总线周期可变 + * 能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换 + * 自动适应时间的配合 + * 缺点 + * 比同步稍复杂一些,速度比同步方式慢 + * 适用于 + * 主要用于在不同设备间通信 +* 异步定时方式分类 + * 不互锁方式 + * 主设备发请求$\rightarrow$不必等从设备的回答,才能撤销请求信号【速度最快】 + * 半互锁方式 + * 主设备发请求$\rightarrow$需要等从设备的回答,才能撤销请求信号 + * 从设备收到回答$\rightarrow$不必等到主设备的请求信号撤销,才撤销回答信号 + * 全互锁方式 + * 主设备发请求$\rightarrow$需要等从设备的回答,才能撤销请求信号 + * 从设备收到回答$\rightarrow$需要等到主设备的回答,才能撤销回答信号 diff --git a/static/images/《计组》总线/三总线结构.jpg b/static/images/《计组》总线/三总线结构.jpg new file mode 100644 index 0000000..5824319 Binary files /dev/null and b/static/images/《计组》总线/三总线结构.jpg differ diff --git a/static/images/《计组》总线/单总线结构.jpg b/static/images/《计组》总线/单总线结构.jpg new file mode 100644 index 0000000..23b115a Binary files /dev/null and b/static/images/《计组》总线/单总线结构.jpg differ diff --git a/static/images/《计组》总线/双总线结构.jpg b/static/images/《计组》总线/双总线结构.jpg new file mode 100644 index 0000000..e0b20d6 Binary files /dev/null and b/static/images/《计组》总线/双总线结构.jpg differ diff --git a/static/images/《计组》总线/计算传输数据所要的时间.jpg b/static/images/《计组》总线/计算传输数据所要的时间.jpg new file mode 100644 index 0000000..b59a431 Binary files /dev/null and b/static/images/《计组》总线/计算传输数据所要的时间.jpg differ diff --git a/static/images/《计组》总线/计算总线带宽.jpg b/static/images/《计组》总线/计算总线带宽.jpg new file mode 100644 index 0000000..c57fe84 Binary files /dev/null and b/static/images/《计组》总线/计算总线带宽.jpg differ diff --git a/static/images/《计组》总线/计算数据传输率.jpg b/static/images/《计组》总线/计算数据传输率.jpg new file mode 100644 index 0000000..6970ec5 Binary files /dev/null and b/static/images/《计组》总线/计算数据传输率.jpg differ diff --git a/static/images/《计组》总线/请求和回答信号的互锁.jpg b/static/images/《计组》总线/请求和回答信号的互锁.jpg new file mode 100644 index 0000000..39ba1b3 Binary files /dev/null and b/static/images/《计组》总线/请求和回答信号的互锁.jpg differ