当前位置: 首页 > article >正文

【计算机组成原理 - 第二章】系统总线(完结)

本章参考王道考研相关课程:

【2019版】6.1.1 总线的概念与分类_哔哩哔哩_bilibili

【2019版】6.1.2 总线的性能指标_哔哩哔哩_bilibili

【2019版】6.2 总线仲裁_哔哩哔哩_bilibili

【2019版】6.3 总线操作和定时_哔哩哔哩_bilibili

【2019版】6.4 总线标准_哔哩哔哩_bilibili

目录

一、总线的概述与分类

1、总线的定义

2、总线的特性

3、 总线的分类

1、串行总线和并行总线

2、片内总线、系统总线、通信总线

4、系统总线的结构

1、单总线结构

2、双总线结构

3、三总线结构

二、总线的性能指标

1、总线的传输周期

2、总线的时钟周期

3、总线宽度(总线位宽)

4、总线带宽

​5、总线复用

6、信号线数

三、总线标准

1、定义

2、流行的总线标准

(1)ISA总线

(2)EISA总线

(3)PCI总线——独立与CPU的局部总线

(4)AGP总线——显卡专用的局部总线

(5)VESA总线——视频局部总线

(6)USB总线——串行设备总线

(7)RS-232C总线——串行通信总线

四、总线仲裁

1、基本概念

1、链式查询方式

2、计数器定时查询

3、独立请求方式

五、总线的操作和定时

1、总线传输的四个阶段

(1)申请分配阶段

(2)寻址阶段

(3)传数阶段

(4)结束阶段

2、总线定时

(1)同步通信(同步定时方式)

(2)异步通信(异步定时方式)

(3)半同步通信

(4)分离式通信


一、总线的概述与分类

c47e297cb5f449e6929916438a076a09.jpg

1、总线的定义

定义:总线是一组能为多个部件分时 共享的公共信息传送路线

为什么要用总线?

早期计算机外设多采用分散连接方式,不易实现随时增减外设

为了更好解决I/O设备和主机之间连接的灵活性问题,计算机结构从分散连接发展成总线连接

2、总线的特性

  • 机械特性 :尺寸、形状、管脚数、排列顺序
  • 电气特性:传输方向和有效的电平范围
  • 功能特性:每根传输线的功能(地址、数据、控制)
  • 时间特性:信号的时序关系

3、 总线的分类

89b12f37a9e048beb036eac31ee9902a.jpeg

1、串行总线和并行总线

串行总线 —— 将数据一个一个拆分传送

  • 优点:只需要一条传输线,成本低,广泛应用于长距离传输,节省布线空间
  • 缺点:在数据发送和接收时,要拆卸和装配,要考虑串行-并行转换问题

并行总线 —— 将数据每一位同时传送

  • 优点:总线的逻辑时序比较简单,电路实现容易
  • 缺点:信号线数量多,占用更多布线空间,远距离传送成本高,由于工作频率较高时,并行的信号线之间会产生严重干扰,因此无法持续提升工作效率

2、片内总线、系统总线、通信总线

片内总线 —— 芯片内部的总线

是CPU芯片内部寄存器与寄存器之间,寄存器与ALU之间的公共连接线

系统总线 —— 计算机系统内各功能部件之间连接的总线

按传输内容不同:数据总线、地址总线、控制总线

  • 数据总线DB:传输数据信息,包括:指令操作数,根数与机器字长和存储字长有关,双向
  • 地址总线AB:传输地址信息,包括:主存单元或I/O端口的地址,根数与主存地址空间及设备数量有关,单向
  • 控制总线CB:一根控制线传输一个信号,有入:CPU送出的控制命令,有出:主存或外设返回的CPU的反馈信号

通信总线 —— 计算机系统之间或计算机系统与其他系统信息传输的总线,也称“外部总线”

4、系统总线的结构

1、单总线结构

e4b73e9419124bbdb28ec940aa3d34be.jpg

2、双总线结构

f292a5d62a6c422f8a6a7dae717b2013.jpg

3、三总线结构

cf294d32dfe74a4b9751607f9f9e9483.jpg

 DMA:直接内存访问总线

二、总线的性能指标

1、总线的传输周期

  • 一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段、结束阶段),通常由若干个时钟周期组成
  • 总线工作频率=1/总线传输周期

2、总线的时钟周期

13d17836b0bf4da4a52ee097ed3f9cd5.jpg

  •  总线时钟频率=1/总线时钟周期

3、总线宽度(总线位宽)

通常指数据总线的根数,用bit表示,如8位、16位、32位、64位(8根、16根、32根、64根)

4、总线带宽

  • 总线的数据传输速率,即单位时间内总线上传输数据的位数,通常用每秒钟传输信息,单位B/s(字节/秒)
  • 总线带宽=总线工作频率×(总线宽度/8)(B/s)
  • 比如:总线工作频率为33MHz,总线宽度为32位(1B=8bit,即4B),则总线带宽=33*4=132MBps
  • 总线带宽是指总线本身所能达到的最高传输速率

38276fbff2ba4e24818095a9333e542b.jpg

30e33adec88c4142aaba06817a99ca7b.jpg5、总线复用

一条信号线分时传送不同的信息,可使用较少的线传输更多的信息,节省成本和空间

6、信号线数

地址总线、数据总线、控制总线三种总线数总和

三、总线标准

1、定义

  • 国际上规定的互联各个模块的标准,把各种不同模块组成计算机系统时必须遵守的规范
  • 按总线标准设计的接口可视为通用接口,可以为计算机接口的软硬件设计提供方便

2、流行的总线标准

(1)ISA总线

  • 工作频率:8MHz
  • 数据线:16位
  • 最大传输速率:16MB/s
  • 必须通过CPU或DMA(直接存储器存取)接口管理
  • 不支持总线仲裁
  • 传输速率过低、CPU占用率过高

(2)EISA总线

  • 工作频率:8MHz
  • 数据线:32位
  • 最大传输速率:32MB/s
  • 从CPU中分离出了总线控制权,支持多个总线总控器和突发传送

(3)PCI总线——独立与CPU的局部总线

  • 工作频率:33/66MHz
  • 数据线:32/64位
  • 最大传输速率:528MB/s
  • 主要特点:
  1. 高性能,是一种不依附于某个具体处理器的局部总线,支持突发传送
  2. 良好的兼容性
  3. 支持即插即用
  4. 支持多主设备能力
  5. 具有与处理器和存储器子系统完全并行操作的能力
  6. 提供数据和地址奇偶校验功能,保证数据的完整和正确
  7. 可扩充性好,可采用多层结构提高驱动能力
  8. 采用多路复用,减少总线引脚个数
  • PCI-E是一种点对点串行连接的设备连接方式,支持热拔插

(4)AGP总线——显卡专用的局部总线

(5)VESA总线——视频局部总线

(6)USB总线——串行设备总线

  • USB是设备总线,是设备与设备控制器间的接口
  • 主要特点:
  1. 支持即插即用,热拔插
  2. 具有很强的连接能力,有很强扩充性
  3. 高速传输
  4. 标准统一
  5. 连接电缆轻巧,电源体积缩小

(7)RS-232C总线——串行通信总线

是应用于串行二进制交换的数据终端设备和数据通信设备直接的标准接口

四、总线仲裁

1、基本概念

(1)将总线上所连接的各类设备按其对总线的控制有无分为:

  • 主设备:获得总线控制权的设备
  • 从设备:被主设备访问,只能响应从主设备发来的各种总线命令,对总线无控制权

(2)总线仲裁定义:多个主设备同时竞争

主线控制权时,以某种方式选择一个主设备优先获得总线控制权

(3)集中仲裁方式

adca623a2e7643219492eac872646601.jpg

1、链式查询方式

7d49604acf714ce687231b54169d473d.jpg

  • BG总线同意、BR总线请求、BS总线忙
  • 总线同意信号BG是串行地从一个I/O接口送到另一个I/O接口,如果BG到达的接口有总线请求BR,BG信号就不接着往下传,意味着该设备获得总线使用权,建立总线忙信号BS,表示它占用总线
  • 如果该设备使用完,则撤掉总线忙信号BS,总线寻找下一个有总线请求信号BR的设备,BG接着往下走
  • 优点:链式查询方式优先级固定,离总线控制部件近的设备优先级高,只需要很少的线就能按一定优先次序实现总线控制,结构简单,容易扩充设备
  • 缺点:对电路故障敏感,优先级低的设备很难获得请求
  • 线数:3根

2、计数器定时查询

06a0fa2d613d4219ae90ebc7d6bc2b27.jpg

  • 比链式查询方式多了一组设备地址线,少了一条BG总线同意线
  • 总线控制部件接到总线请求信号BR后,在总线未被使用的情况下,总线控制部件中的计数器开始计数,并通过设备地址线向各设备发出计数值
  • 如果某个请求占用的总线的设备地址与计数器值一致,则该设备获得总线控制权,停止计数查询
  • 优点:计数器初始值可以改变优先次序
  1. 计数可以从0开始,设备优先次序按顺序排列,固定不变
  2. 计数可以从上一次终点开始,此时设备使用总线优先级相等
  3. 计数还可以由程序设置
  • 缺点:对电路故障不如链式查询方式敏感,但增加了控制线数,控制较复杂
  • 线数:log2n+2根线(n是允许接纳的最大设备数)

3、独立请求方式

637d565df1fb41ec9023dbb3d7d8e573.jpg

  • 每个设备均有一对总线请求线BR和总线同意线BG
  • 总线控制部件有一排队电路,可根据优先次序确定响应哪一台设备的请求
  • 优点:响应速度快,优先次序控制灵活(通过程序改变)
  • 缺点:控制线数量多,总线控制复杂
  • 线数:2n+1根线(n是允许接纳的最大设备数)

五、总线的操作和定时

1、总线传输的四个阶段

(1)申请分配阶段

       由需要使用总线的主模块(主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授予某一申请者,细分为传输请求阶段和总线仲裁阶段

(2)寻址阶段

       取得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块

(3)传数阶段

       主模块和从模块进行数据交换,数据由原模块发出,经数据总线流入目的模块

(4)结束阶段

       主模块的有关信息均从系统总线上撤除,让出总线控制权

2、总线定时

定义:指总现在双方交换数据过程中需要时间上配合关系的控制,实质上是一种协议或规则

(1)同步通信(同步定时方式)

  • 系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系
  • 时钟产生相等的时间间隔,每个间隔构成一个总线周期
  • 在一个总线周期中,发送方和接收方可以进行一次数据传送
  • 优点:传送速度快,具有较高的传输速率,总线控制逻辑简单
  • 缺点:主从设备属于强制性同步,不能及时进行数据通信的有效性检验,可靠性差
  • 同步通信适用于总线长度较短总线所接部件的存取时间比较接近的系统

(2)异步通信(异步定时方式)

  • 没有统一的时钟,完全依靠传送双方互相制约的“握手”信号来实现定时控制
  • 允许不同速度点模块协调工作
  • 主设备提出交换信息的“请求”信号,经接口传送到从设备
  • 从设备接到主设备的请求后,通过接口向主设备发出“回答”信号

根据“请求”和“回答”信号的撤销是否互锁,分为:

1、不互锁方式(互相不负责)

  • 主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,经过一段时间,撤销“请求”信号
  • 从设备在接到“请求”信号后,发出“回答”信号,经过一段时间,自动撤销“回答”信号
  • 双方不存在互锁关系
  • 速度最快,可靠性最差

2、半互锁方式(主设备负责,从设备不负责)

  • 主设备发出“请求”信号后,必须等到接到从设备的“回答”信号,才撤销“请求”信号
  • 从设备在接到“请求”信号后,发出“回答”信号,但不必等到获知主设备的“请求”信号已撤销,隔一段时间自动撤销“回答”信号
  • 主设备有互锁关系,从设备不存在互锁关系

3、全互锁方式(互相负责)

  • 主设备发出“请求”信号后,必须等到接到从设备的“回答”信号,才撤销“请求”信号
  • 从设备在接到“请求”信号后,发出“回答”信号,必须等到获知主设备的“请求”信号已撤销,再撤销“回答”信号
  • 双方存在互锁关系
  • 最可靠,速度最慢
  • 优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合 
  • 缺点:比同步控制方式复杂,速度比同步定时方式慢

求数据传输率

(3)半同步通信

在统一时钟的基础上,增加一个“等待”响应信号WAIT

(4)分离式通信

分离式通信的一个总线传输周期:

  • 子周期1:主模块申请占用总线,使用完后放弃总线的使用权
  • 子周期2:从模块申请占用总线,将各种信息传到总线上

特点:

  1. 各模块均有权申请占用总线
  2. 采用同步方式通信,不等对方回答
  3. 各模块准备数据时不占用总线
  4. 总线利用率提高


http://www.kler.cn/a/9828.html

相关文章:

  • JS 实现SSE通讯和了解SSE通讯
  • 【算法】——二分查找合集
  • VMware虚拟机安装Win7专业版保姆级教程(附镜像包)
  • SciPy:Python 科学计算工具包的全面教程
  • SpringBoot(八)使用AES库对字符串进行加密解密
  • 使用CubeMX一键配置Freertos
  • css 导航栏效果
  • ICPC SWERC 2020 K - Unique Activities(SAM记录子串第一次结束位置 or SAM + hash)
  • ​分析新特征背后的内在逻辑,才能把握未来一段时期的科技发展新方向
  • Python 进阶指南(编程轻松进阶):十二、使用 Git 组织您的代码项目
  • springboot项目配置文件不允许出现明文密码的解决方法(jasypt使用方法)
  • ChatGPT 指令大全
  • 力扣119杨辉三角 II:代码实现 + 方法总结(数学规律法 记忆法/备忘录)
  • 低静态电流-汽车电池反向保护系统的方法
  • 第八章 Vite4+Vue3+Vtkjs 完整demo演示
  • 刘二大人《Pytorch深度学习实践》第十一讲卷积神经网络(高级篇)
  • 工厂模式白话 - 3种都有哦
  • C语言——变参函数
  • 为什么Java8不使用CMS作为默认垃圾收集器
  • 死锁的检测和案例
  • Qt使用std::thread更新QPlainTextEdit内容
  • 透过Gartner最新报告,认识“超级边缘”
  • Java 包详细讲解
  • ChatGPT想干掉开发人员,做梦去吧
  • ERTEC200P-2 PROFINET设备完全开发手册(4-2)
  • 4.9--计算机网络之TCP篇之TCP 重传、滑动窗口、流量控制、拥塞控制--(复习+大总结)---好好沉淀,沉下心来