6--总线

news2024/11/27 4:26:27

文章目录

  • 一.总线概述
    • (一)总线特性
    • (二)总线分类
      • 1.按功能分/按连接的部件分
        • (1)片内总线/CPU内部总线
        • (2)系统总线
        • (3)通信总线/外部总线
      • 2.按数据传输格式分
        • (1)串行总线
        • (2)并行总线
      • 3.按时序控制方式分
        • (1)同步总线
        • (2)异步总线
    • (三)系统总线的结构
      • 1.单总线结构
      • 2.双总线结构
      • 3.三总线结构
      • 4.四总线结构
    • (四)总线的性能指标
      • 1.总线的传输周期/总线周期
      • 2.总线时钟周期
      • 3.总线的工作频率
      • 4.总线的时钟频率
      • 5.总线宽度/总线位宽
      • 6.总线带宽
      • 7.总线复用
      • 8.信号线数
  • 二.总线的操作和定时
    • (一)总线传输阶段
      • 1.申请分配阶段
      • 2.寻址阶段
      • 3.传输阶段
      • 4.结束阶段
    • (二)总线定时
      • 1.同步定时方式/同步通信
      • 2.异步定时方式/异步通信
        • (1)不互锁方式
        • (2)半互锁方式
        • (3)全互锁方式
      • 3.半同步通信
      • 4.分离式通信

一.总线概述

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

分时:同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则它们只能分时地向总线发送信息

共享:总线上可以挂接多个部件,各个部件之间互相交换的信息都可通过这组线路分时共享,多个部件可同时从总线上接收相同的信息

在这里插入图片描述

(一)总线特性

1.机械特性:尺寸、形状
2.电气特性:传输方向和有效的电平范围
3.功能特性:每根传输线的功能
4.时间特性:信号和时序关系

(二)总线分类

在这里插入图片描述

1.按功能分/按连接的部件分

(1)片内总线/CPU内部总线

CPU内部寄存器之间、寄存器与ALU之间的公共连接线

在这里插入图片描述

(2)系统总线

连接CPU、主存、I/O接口之间的总线,即连接各功能部件之间的总线

①数据总线DB
传输指令和操作数,是双向传输的。若数据总线的位数=机器字长,则CPU通过一次数据读入即可取得CPU可以处理的数据量;若数据总线的位数=存储字长,则每次主存读/写只需要用数据总线传输一次数据;若数据总线的位数=存储字长的一半,则取出一个存储字需要用数据总线传输两次数据

  • 机器字长
    计算机进行一次整数运算所能处理的二进制数据位数
  • 存储字长
    主存中的存储体存放二进制信息。存储体由许多存储单元组成,每个存储单元包含若干存储元件,每个存储元件存储一位二进制代码。因此存储单元可存储一串二进制代码,这串代码称为存储字。这串代码的位数称为存储字长。
    在这里插入图片描述

②地址总线AB
通过地址总线发出地址信号,指明要访问主存单元的地址,指明访问哪个输入输出设备。

地址总线位数(根数)与主存地址空间大小及设备数量有关。若主存和I/O设备采用统一编址,随着设备数的增多,地址总线的位数也需要增加。

地址总线的传输方向是单向,由CPU向主存或I/O设备指明要访问的是哪个地址或设备

在这里插入图片描述
③控制总线CB
一根控制线传输一个信号。对单根控制线来说传输方向单向,对整个控制总线来说是双向的。可由CPU发出控制命令,也可由主存或外设返回CPU的反馈信号

(3)通信总线/外部总线

计算机系统或计算机与其他系统之间传送信息的总线

2.按数据传输格式分

(1)串行总线

设备A每次只能给设备B发送1bit。如USB

优点:只需要一条传输线,成本低廉,抗干扰能力强,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间
缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串行-并行转换的问题

在这里插入图片描述

(2)并行总线

设备A每次只能给设备B发送多个比特

优点:总线的逻辑时序比较简单,电路实现起来比较容易
缺点:信号线数量多,占用更多的布线空间;远距离传输成本高;由于工作频率较高时,并行的信号线之间会产生严重干扰,对每条线等长的要求也越高,所以无法持续提升工作频率。

在这里插入图片描述

3.按时序控制方式分

(1)同步总线

指互联的部件或设备均通过统一的时钟进行同步,即所有的互联的部件或设备都必须使用同一个时钟(同步时钟),在规定的时钟节拍内进行规定的总线操作,来完成部件或设备之间的信息交换。

(2)异步总线

指没有统一的时钟而依靠各部件或设备内部定时操作,所有部件或设备是以信号握手的方式进行,即发送设备和接受设备使用请求和确认信号来协调动作,总线操作时序不是固定的。因此,异步总线能兼容多种不同的设备,而且不必担心时钟变形或同步问题使得总线长度不受限制。如火线协议和USB2.0协议都是异步总线协议

(三)系统总线的结构

1.单总线结构

将CPU、主存、I/O设备(通过I/O接口)都挂在一组(包含数据地址控制的总线)总线上

优点:结构简单,成本低,易于接入新的设备
缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并行传送操作

在这里插入图片描述

2.双总线结构

两条总线:主存总线和I/O总线
优点:将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离
缺点:需要增加通道等硬件设备

在这里插入图片描述

引入通道,类似于一个小型CPU,专门管理I/O设备,解决了I/O设备和CPU速度不匹配的问题。通道程序放在主存中,通道运行通道程序时同样需要通过主存总线。

回顾操作系统:
通道是独立于CPU的,控制输入/输出的设备。CPU、通道、I/O设备可并行工作,资源利用率很高。
①CPU向通道发出I/O指令。为通道指明通道程序(即任务清单。指明了要读入/写出多少数据,读/写的数据应放在内存的什么位置等信息)在内存中的位置,并指明要操作的是哪个I/O设备,之后CPU就切换到其他进程执行了
②通道执行内存中的通道程序
③通道执行完规定的任务后,向CPU发出中断信号,之后CPU对中断进行处理

主存总线支持突发传送(猝发传输):CPU指明一个地址,可以从主存中读出多个地址连续的数据,以此来提升效率

3.三总线结构

主存总线、I/O总线、直接内存访问DMA总线
(1)主存总线:CPU和内存传送地址、数据、控制信息
(2)I/O总线:CPU和外设通信
(3)DMA总线:内存和高速外设之间直接传送数据

优点:提高了I/O设备的性能,使其更快地响应命令,提高系统吞吐量
缺点:系统工作效率较低(三个总线不能同时工作)

回顾操作系统
DMA:数据传输以“块”为单位,CPU介入频率低,仅在传送一个或多个数据块的开始和结束时才需要CPU干预,CPU和I/O的并行性得到提升

在这里插入图片描述

4.四总线结构

CPU总线、系统总线、高速总线、扩充总线。越靠近CPU的总线速度越快
桥接器:用于连接不同的总线,具有数据缓冲、转换和控制功能,例如可以将串行输入的数据并行输出

在这里插入图片描述

(四)总线的性能指标

1.总线的传输周期/总线周期

指一次总线操作所需的时间。包括申请阶段(总线仲裁)+ 寻址阶段(主设备通过地址总线将想要读/写的地址单元传递给从设备)+ 传输阶段(通过数据总线往从设备中写入数据/读出数据)+ 结束阶段(释放总线使用权)

主设备:获得总线控制权的设备
从设备:被主设备访问的设备,它只能响应从主设备发来的各种总线命令(在分离式通信中,从模块可以主动申请总线的控制权)

2.总线时钟周期

总线时钟周期=机器的时钟周期,但现代计算机中总线的时钟周期可能由桥接器决定

总线传输周期和总线时钟周期可能是1对多、多对1、1对1的关系

回顾:一个机器周期包含若干时钟周期/节拍/T周期/CPU时钟周期,时钟周期是CPU操作的最基本单位
在这里插入图片描述

3.总线的工作频率

总线的工作频率=1/总线周期=1秒内传送数据的次数

4.总线的时钟频率

总线的时钟频率=1/时钟周期=机器的时钟频率=1秒内的时钟周期数

5.总线宽度/总线位宽

指总线上能够同时传输的数据位数,也是数据总线的根数

6.总线带宽

指总线本身所能达到的最高传输速率,即单位时间内总线上可传输数据的位数,单位bit/s、B/s
总线带宽=总线工作频率×总线宽度=总线宽度/总线周期

7.总线复用

一种信号线在不同的时间传输不同的信息。如用一组线分时的当做数据总线和地址总线。节约成本,速度降低。

8.信号线数

信号线数=地址总线数+数据总线数+控制总线数

二.总线的操作和定时

(一)总线传输阶段

1.申请分配阶段

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

2.寻址阶段

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

3.传输阶段

主模块和从模块进行数据交换,可单向或双向进行数据传送。

4.结束阶段

主模块的有关信息均从系统总线上擦除,让出总线使用权

(二)总线定时

总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则。

1.同步定时方式/同步通信

系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。
优点:传送速度快,总线控制逻辑简单
缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性差

所有人都要跟上节奏
在这里插入图片描述

2.异步定时方式/异步通信

没有统一的时钟,双方通过握手信号实现定时控制。主设备提出交换信息的请求,经接口传送到从设备,从设备通过接口向主设备回答信号
优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合
缺点:复杂,速度慢

根据请求和回答信号的撤销是否互锁,异步定时方式可分为以下三类

(1)不互锁方式

主设备请求,不必等到从设备回答。主设备请求一段时间后撤回请求信号,从设备回答一段时间后撤回回答信号(互不等)
速度快,可靠性差

(2)半互锁方式

主设备请求,在收到回答后才能撤销请求。从设备发出回答一段时间后,即可撤销回答(主等从)

(3)全互锁方式

主设备请求,在收到回答后才能撤销请求。从设备发出回答,在确定主设备请求信号已撤销后,才能撤回回答信号(互等)
速度慢,可靠性高

3.半同步通信

同步异步结合,在同步的基础上增加反馈信号WAIT,跟不上节奏的时候WAIT一下
支持速度差异大的主从设备数据交互。

半同步通信总线既保留了同步通信的特点,又能采用异步应答方式连接速度相差较大的设备。通过在异步总线中引入时钟信号,其就绪和应答等信号都在时钟的上升沿或下降沿有效,而不受其他时间的信号干扰。

例如,某个采用半同步方式的总线总是从某个时钟开始,在每个时钟到来时,采样Wait信号,若无效,则说明数据未准备好,下个时钟到来时,再采样Wait信号,直到检测到有效,再去数据线上取数据。

PCI总线也是一种半同步总线,它的所有事件都在时钟下降沿同步,总线设备在时钟开始的上升沿采样总线信号。

在这里插入图片描述

4.分离式通信

充分挖掘系统总线每瞬间的潜力
从设备在准备数据到发送回答信号前,不需要使用总线,为了更加充分利用,将总线传输周期分为两个子周期,总线空闲时其他设备均可使用。
①子周期1:主模块申请占用总线,使用完后放弃总线的使用权
②子周期2:从模块准备好数据后再申请占用总线,将各种信息送至总线上

特点:
(1)在分离式通信中,从模块也应该可以主动申请总线的控制权
(2)分离式通信采用同步方式通信,互不等待
(3)准备数据时不能占用总线
(4)总线利用率有所提高

  • 引入总线结构有什么好处?
    ①简化了系统结构,便于系统设计制造
    ②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性
    ③便于接口设计,所有与总线连接的设备均采用类似的接口
    ④便于系统的扩充、更新与灵活配置,易干实现系统的模块化
    ⑤便于设备的软件设计,所有接口的软件对不同的接口地址进行操作
    ⑥便于故障诊断和维修,同时也能降低成本
  • 系统总线按照传输信息的不同,可以分成哪几类?是单向的,还是双向的?
    可以分成数据总线、地址总线以及控制总线。
    ①数据总线:各个功能部件之间传送数据信息,双向传输
    ②地址总线:用来指明数据总线上,源数据或目的数据所在的主存单元的地址。单向:由CPU发出
    ③控制总线:用来发送各种控制信号。对于控制总线中的单根线,是单向的,即只能由一个部件发向另一个部件。而一组控制总线中,有输入也有输出。因此,控制总线也可以看成是双向的。
  • 什么是总线宽度、总线带宽、总线复用、信号线数?
    ①总线宽度:总线上能够同时传输的数据位数,也是数据总线的根数,一般是8的倍数。是衡量计算机系统性能的重要指标
    ②总线带宽:总线本身所能达到的最高传输速率,即单位时间内总线上可传输数据的位数
    ③总线复用:一条信号线上分时传送两种信号。例如数据总线和地址总线的分时复用
    ④信号线数:地址总线、数据总线和控制总线三种总线的线数之和
  • 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?
    ①总线是多个部件共享的传输部件(总线是连接多个部件的信息传输线,是各部件共享的传输介质。)
    ②特点:某一时刻只能有一路信息在总线上传输,即分时使用
    ③为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通
  • 总线如何分类?
    在这里插入图片描述
  • 什么是系统总线?系统总线又分为几类,它们各有何作用,是单向的还是双向的,它们与机器字长、存储字长、存储单元有何关系?
    ①系统总线是指CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输线
    ②系统总线可分为数据总线、地址总线、控制总线
    ③数据总线:用来传输各功能部件之间的数据信息,是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。如果数据总线的宽度为8位,指令字长为16位,那么CPU在取指阶段必须两次访问主存;
    地址总线:主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址,单向传输。其位数与存储单元的个数有关。若地址线为20根,则对应的存储单元个数为20;
    控制总线:用来发出各种控制信号的传输线,单向传输
  • 一个总线在某一时刻可以有多对主从设备进行通信吗?
    不可以。在某个总线周期内,总线上只有一个主设备控制总线,选择一个从设备与之进行通信(即一对一的关系),或对所有设备进行广播通信(即一对多的关系)。所以一个总线在某一时刻不能有多对主从设备进行通信,否则会发生数据冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/180756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7、关系运算符与关系表达式

目录 一、关系运算符 二、关系表达式 三、优先级与结合性 一、关系运算符 关系运算符包括大于、大于等于、小于、小于等于、等于和不等于 注意&#xff1a;符号“>”&#xff08;大于等于&#xff09;与“<”&#xff08;小于等于&#xff09;的意思分别是大于或等于…

向QAbstractItemView子类如:QTreeView、QTableView等子项单元格插入窗体小部件的功能实现(第3种方法)

1.前言工作中经常会遇到这样的需求&#xff1a;向QAbstractItemView子类如QTreeView、QTableView单元格插入窗体小部件&#xff0c;如&#xff1a;进度条、按钮、单行编辑框等。下面链接的系列博文就是讲解如何实现该功能的。《向QAbstractItemView子类如:QTreeView、QTableVie…

Java 23种设计模式(9.结构型模式-外观模式)

结构型模式-外观模式 代码详解 类图 代码 public class SubOne {public void method1(){System.out.println("method1");} }public class SubTwo {public void method2(){System.out.println("method2");} }public class SubThree {public void method3(…

VSCode配置C/C++环境

(1).配置编译器 接下来配置编译器路径&#xff0c;按快捷键CtrlShiftP调出命令面板&#xff0c;输入C/C&#xff0c;选择“Edit Configurations(UI)”进入配置。这里配置两个选项&#xff1a; - 编译器路径&#xff1a;D:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64…

3D创作元素将入住下一代Windows 10和HoloLens中

新 Windows 10 将会带来崭新的 3D 特性&#xff0c;任何用户都可以通过内置的工具来制作发布有关「3D、增强现实 AR 和混合现实 (mixed reality) 的游戏和素材」。 北京时间 10 月 26 号晚 10 点&#xff0c;微软在纽约召开的新品发布会如期而至。会上微软发布了大家期待已久的…

【Linux】进程的概念 | 进程控制块 PCB | task_struct

&#x1f923; 爆笑教程 &#x1f449; 《看表情包学Linux》&#x1f448; 猛戳订阅 &#x1f525; &#x1f4ad; 写在前面&#xff1a;本章我们将带着大家深入理解 "进程" 的概念&#xff0c;"进程" 这个概念其实使我们一直在接触的东西&#xff0c;只不…

浅谈操作系统

操作系统是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境&#xff0c;操作系统可以分为桌面操作系统&#xff0c;手机操作系统&#xff0c;服务器操作系统&#xff0c;嵌入式操作系统等。 通俗来…

Three.js坐标系与变换矩阵快速入门

很多东西汇集在一起构成一个美丽的 3D 场景&#xff0c;例如光照、材质、模型、纹理、相机设置、后期处理、粒子效果、交互性等等&#xff0c;但无论我们创建什么样的场景&#xff0c;没有比这更多的了 比组成它的乐曲的排列和运动更重要。 要创建建筑效果图&#xff0c;我们必…

CDH数仓项目(一) —— CDH安装部署搭建详细流程

0 说明 本文以CDH搭建数据仓库&#xff0c;基于三台阿里云服务器从零开始搭建CDH集群&#xff0c;节点配置信息如下&#xff1a; 节点内存安装服务角色chen10216Gcloudera-scm-serverchen1038Gcloudera-scm-agentchen1048Gcloudera-scm-agent 上传需要用到的安装包&#xff1…

[NPUCTF2020]ezinclude

目录 前提知识 信息收集 解题思路 前提知识 PHP LFI 利用临时文件 Getshell 姿势-安全客 - 安全资讯平台 PHP LFI 利用临时文件Get shell php7 Segment Fault&#xff08;7.0.0 < PHP Version < 7.0.28&#xff09; PHPINFO特性 信息收集 查看源码 <!--md5($secr…

【进阶】Spring MVC程序开发

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录一、Spring MVC概述1. MVC定义2. MVC和Spring MVC的关系二、为什么要学Spring MVC三、如何学Spring MVC一&#xff09; 实现用户和程序的映射方法1&#xff1a;路由RequestMapping(“/xxx”)方法2&#xff1a; 使用P…

Python纯手动搭建BP神经网络(手写数字识别)

来源&#xff1a;投稿 作者&#xff1a;张宇 编辑&#xff1a;学姐 实验介绍 实验要求&#xff1a; 实现一个手写数字识别程序&#xff0c;如下图所示&#xff0c;要求神经网络包含一个隐层&#xff0c;隐层的神经元个数为15。 整体思路&#xff1a; 主要参考西瓜书第五章神…

一款超赞的算法可视化工具,让算法过程动态展示出来

从文字或者图片中学习算法还是一件很无聊的事。当然&#xff0c;现在有许多很棒的网站可以查看各种算法的动画。然而&#xff0c;对于开发人员来说&#xff0c;如果能将实现算法的代码的实际执行操作通过可视化展现出来&#xff0c;那就是最好不过了。推荐一款开源工具&#xf…

深度学习——编码器

1.复习CNN 在CNN中&#xff0c;输入一张图片&#xff0c;经过多层的卷积层&#xff0c;最后输出层判别图片中的物体的类别。 CNN使用卷积层做特征提取&#xff08;编码&#xff09;&#xff0c;使用Softmax回归做预测&#xff08;解码&#xff09; ①编码器&#xff1a;将输入…

ArrayList扩容机制~

ArrayList()//会使用长度为零的数组 ArrayList(int initialCapacity)//会使用指定容量的数组 public ArrayList(Collection<?extends E>c>//会使用c的大小作为数组容量假设我们设置一个列表的最初容量为10&#xff0c;如下所示&#xff1a; ArrayList<Integer>…

【Python从入门到进阶】5、变量的定义及数据类型

接上篇《4、pycharm的安装及使用》 上一篇我们学习了python编程工具pycharm的安装及基本使用。后续篇章我们正式来学习Python语言的语法和特性&#xff0c;本篇我们主要学习Python变量的定义及数据类型。 一、注释 1、注释介绍 在工作编码的过程中&#xff0c;如果一段代码的…

(深度学习快速入门)第三章第三节4:深度学习必备组件之TensorBoard和标准化技术

文章目录一&#xff1a;TensorBoard&#xff08;1&#xff09;TensorBoard介绍&#xff08;2&#xff09;Pytorch安装TensorBoard&#xff08;3&#xff09;TensorBoard使用&#xff08;4&#xff09;服务器tensorboard本地显示&#xff08;5&#xff09;AutoDL等算力平台tenso…

07技术太卷我学APEX-动态菜单+URL传参数给页面

07技术太卷我学APEX-动态菜单URL传参数给页面 0 应用场景 《技术太卷我学APEX》收集的项目越来越多&#xff0c;我想把【类】【子类】加到导航菜单栏&#xff0c;点击不同的分类菜单栏&#xff0c;对列表进行过滤&#xff0c;也可以全部浏览&#xff0c;如下图&#xff1a; …

JAVA SE复习(第1章 Java概述)

本文笔记来自硅谷柴林燕老师的笔记 只为自己看笔记方便使用 不做他用 目录 第1章 Java概述 1.1 Java语言发展历史&#xff08;记关键点&#xff09; 1.2 Java语言特点&#xff08;后面需要关注和体会&#xff09; 1.3 Java语言跨平台原理&#xff08;理解&#xff09; 1…

4. 网络编程之TCP编程

1. 《计算机网络编程》 我们接触网络编程&#xff0c;肯定是要对网络编程的一些专业术语及基本理论知识是要有所认知的。python网络编程无非是在这些基础理论知识之上给我们提供了一些方便实用的网络库来供我们使用。尽管做了非常底层的封装&#xff0c;并且给我们暴露了上层的…