计算机组成原理(超详解!!) 第八节 总线系统

news2024/11/17 17:41:05

1.总线的概念和结构形态

1.总线(BUS)的基本概念

是构成计算机系统的互联机构,是多个系统功能部件(运算器、控制器、存储器、输入/输出设备)之间进行数据传送的公共通路。 

由传输信息的电路和管理信息传输的协议组成。

总线往往是计算机数据交换的中心,总线的结构、技术和性能都直接影响着计算机系统的性能和效率。

总线分类

(1)内部总线:CPU内部连接各寄存器及运算部件之间的总线。

(2)系统总线:CPU同计算机系统的其他高速功能部件(存储器、通道等)间互相连接的总线。  

(3) I/O总线:中、低速I/0设备间互相连接的总线。

注:在任何时刻,只可以有一个部件向总线上发送信息,但却可以有一个或多个部件同时接收信息。

总线结构

组成:连接设备的信号线,即总线通道;总线上的设备;管理总线的部件,即总线控制器。

(1) 总线通道

按照信号类型可分为数据总线、控制总线和地址总线。只是逻辑上的划分。

数据总线宽度是决定连接到总线上的设备可能获得的最大性能的决定因素之一,也是影响系统性能的关键因素之一。

地址总线是标明发送或接收数据的设备编号信号线。其宽度决定了总线上连接设备的能力。

控制总线用于控制总线设备对数据线和地址线的使用。

控制信号主要完成设备之间进行信息交换时的定时和命令。其中定时信号标明有效地址和数据出现在总线上的时间。命令信号定义总线上所要完成的操作。

(2) 总线上的设备

主设备(Master)和从设备(Slave)。

主设备能够申请总线使用权,而从设备不具有总线使用权。

(3) 总线接口

是连接功能部件和总线的桥梁,它完成功能部件的信号和总线信号之间的协调和转换,因此具有对总线和设备两个方面的工作。

总线连接的主要优点

(1)多个部件之间采用总线连接方式,可大大降低部件间互连的复杂性,大幅度减少连线数量。

(2)由于多个部件之间连接的多个控制接口变成了每个部件与总线间的一个连接接口,连接接口的器材量大幅度减少。

(3)如果设备之间没有或者很少有多个部件同时进行信息交换,采用总线方式连接这些部件可有效发挥总线连接的优点。

总线物理实现

总线特性

①物理特性:总线的物理连接方式,包括总线的根数、总线的插头、插座形状、引脚线排列方式等。

②功能特性:描述总线中每一根线的功能。

③电气特性:定义每一根线上信号的传递方向及有效电平范围。一般规定送入CPU的信号叫输入信号、从CPU发出的信号叫输出信号。

④时间特性:定义每根线在什么时间有效,即规定总线上各信号有效的时序关系。

几种常用的标准总线

ISA(Industrial Standard Architecture)总线:工业标准结构总线,8位(后来16位)数据线,20位(后来24位)地址线,工作频率8.33MHz。

EISA(Extended Industrial Standard Architecture )总线:扩展工业标准结构总线,16或32位数据线,32位地址线,工作频率8.33MHz,支持Burst方式传输数据。

VESA(Video Electronics Standard Association)总线:32位局部总线,连接显卡、网卡等,最高工作频率33MHz。没有严格标准,各厂家产品兼容性差,针对80486。

PCI( Peripheral Component Interface)总线:外围部件互连总线(局部总线),V1.0支持33MHz工作频率,32位地址和数据线互用;V2.1支持66MHz工作主频,64位地址和数据线互用。

衡量总线性能的指标

①总线宽度; ②总线控制方式;③时钟模式;④总线复用;⑤信号线数;⑥总线带宽;⑦其它标准:如总线负载能力,电源电压等。

总线带宽:总线本身所能达到的最高传输速率, 单位:MB/S(兆字节/秒)。

影响总线带宽的因素:    

(1)  总线布线长度;    

(2)  总线驱动器/接受器性能;    

(3)  连接在总线上的模块数;

2.总线的连接方式

1.单总线结构

特点:使用一条单一的系统总线来连接CPU、主存和I/O设备。在单总线结构中,要求连接到总线上的逻辑部件必须高速运行,以便在某些设备需要使用总线时,能迅速获得总线控制权;而当不再使用总线时,能迅速放弃总线控制权。否则,由于一条总线由多种功能部件共用,可能导致很大的时间延迟。    

要求:连到总线上的逻辑部件必须高速运行。    

单总线系统中,对输入/输出设备的操作,完全和主存的操作方法一样来处理。    

某些外围设备也可以指定地址。此时外围设备通过与CPU中的控制部件交换信息的方式占有总线。

2.多总线

在CPU、主存、I/O之间互联采用多条总线。如图所示。

高速的CPU总线:CPU和cache之间采用

系统总线:主存连在其上。

高速总线上可以连接高速LAN(100Mb/s局域网)、视频接口、图形接口、SCSI接口(支持本地磁盘驱动器和其他外设)、Firewire接口(支持大容量I/O设备)。高速总线通过扩充总线接口与扩充总线相连,扩充总线上可以连接串行方式工作的I/O设备。

通过桥CPU总线、系统总线和高速总线彼此相连。桥实质上是一种具有缓冲、转换、控制功能的逻辑电路。

多总线结构体现了高速、中速、低速设备连接到不同的总线上同时进行工作,以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线。

3.总线的内部结构

数据传送总线:由地址线、数据线、控制线组成;为减少布线,数据线和地址线常采用多路复用方式。    

仲裁总线:总线请求线和总线授权线。    

中断和同步总线:用于处理带优先级的中断操作,包括中断请求线和中断认可线。    

公用线:包括时钟信号线、电源线、地线、系统复位线以及加电或断电的时序信号线等。

2.总线接口

1.信息的传送方式

(1)码元    信息传输通道中,携带数据信息的信号单元。

(2)波特率(码元传输率)    每秒钟通过信道传输的码元数。是传输信道频宽的指标。

(3)码元时间    波特率的倒数,即传输一位码元的时间。

1. 串行传送

只用一条传输线,且采用脉冲传送。    

在串行传送时,按照顺序来传送表示一个数码的所有二进制位的脉冲信号,每次一位。    

当使用脉冲信号传递连续的“1”或“0”数码时,必须采用某种时序格式,以便使接收设备能加以识别,通常采用“位时间”(即一个二进制位在传输线上占用的时间长度),一般低位在前,高位在后。      

在串行传送时,被传送的数据需要在发送部件进行并—串变换,即拆卸,在接收部件进行串—并变换,称为装配。

2.并行传送  

每个数据位单独占用一条传输线。这样每一条线分别代表了二进制数的不同位值。 一般采用电位传送,系统总线都采用“并行传送”方式。

3.分时传送    

一是采用总线复用方式,如在传输线上既传输数据又传送地址,为此必须划分时间片来实现传送任务;二是共享总线的部件分时使用总线。

接口的基本概念:

I/O设备适配器,广义上讲,接口指CPU和主存、外围设备之间通过总线进行连接的逻辑部件。接口在它动态连接的部件间起“转换器”的作用,以实现彼此间的信息传送。

接口通常具有的功能:

控制:靠程序的指令信息来控制外围设备的动作。

缓冲:作为缓冲器,用以补偿各种设备在速度上的差异。

状态:监视外围设备的工作状态并保存状态信息,供CPU询问外围设备时进行分析之用。

转换:完成任何要求的数据转换。

整理:完成一些特别的功能,如修改字计数器或当前AR。

程序中断:外围设备向CPU请求某种动作时,接口即发生一个中断请求信号到CPU。   

适配器必须有的两个接口:      

(1) 和系统总线的接口,其数据交换一定是并行方式;  

(2) 和外设的接口,可能是并行或串行;

分类:串行数据接口和并行数据接口。

3.总线的仲裁、定时和数据传送模式

总线控制器:是总线系统的核心,任务是管理总线的使用,包括总线上设备的管理和设备使用总线过程的管理。其物理上不一定是一个独立的控制器,其功能可分布到总线的各个部件或者设备上。

功能:总线系统资源的管理:总线系统资源有存储空间,设备端口,通道、中断等。总线控制器具有资源分配、冲突判定、设备选择、启动、复位等功能。

功能模块状态:主动和被动。

提出:为解决多个主设备同时竞争总线控制权的问题,必须具有总线仲裁部件,以某种方式选择其中一个主设备作为总线下一次的主方。    

对多个主设备提出的占用总线请求,一般采用优先级或公平策略进行仲裁。被授权的主方在当前总线周期一结束,即接管总线,开始新的信息传送。

总线占用期:主方持续控制总线的时间。

1.总线的仲裁

按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁和分布式仲裁。

1.集中式仲裁

仲裁电路集中在一起,通常由一个模块实现。每功能模块有两条线连到中央仲裁器:一条为送往仲裁器的总线请求信号线BR,一条是仲裁器送出的总线授权信号线BG。

1)链式查询方式

特点: 共用一条总线授权线,总线授权信号BG串行地从一个I/O接口传送到下一个I/O接口,如果该接口没有请求,则继续往下查询;如果有总线请求,则BG信息不再向下查询,该接口获得总线控制权。

共用一个BS线表示当前总线是否被使用着。各设备的优先级是按照BG线上离中央仲裁器的远近来确定。    

优点:只用很少几根线就能按一定优先次序实现总线仲裁,且可方便地扩充设备。    

缺点:对询问链电路故障敏感,优先级固定而不能调整、速度慢。

2)计数器定时查询方式  

总线上任一设备要求使用总线时,通过BR线发出总线请求。中央仲裁器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向设备,每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址一致时,该设备设置“1”BS线,获得总线使用权,此时中止(pause not stop)计数查询。    

比较:少了一条BG线,可改变优先次序,对电路的故障不如链式敏感,但增加了主控线数,控制较复杂。

优点:设备优先级可以改变,仲裁策略灵活性高。

3)独立请求方式  

每一共享总线的设备均有一对BRi和BGi,当设备要使用总线时,便发出总线请求信号,中央仲裁器有一个排队电路,根据一定的优先次序决定首先响应哪个设备的请求,给设备以授权信号。  

优点:响应时间最快;对优先次序的控制相当灵活(可以预先固定、也可以通过程序来改变,还可屏蔽某个设备的总线请求)。 

对于单CPU系统总线,中央仲裁器又称总线控制器,是CPU的一部分,而按照目前的总线标准中央仲裁器一般是单独功能模块。

2.分布式仲裁    

不需要中央仲裁器,每个主方都有自己的仲裁号和仲裁器;当总线申请时,把各自唯一的仲裁号发到共享的总线上,每个仲裁器把仲裁线上的号和自己的号比较,如果总线上的号大,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜的仲裁号留在仲裁总线上。

4.总线的定时和数据传送模式

1.总线的定时(时序协议)

总线的一次信息传送过程:请求总线、总线仲裁、寻址、信息传送、状态返回(或错误报告)。  

为了同步主从方的操作,必须制定定时协议。定时就是指事件出现在总线上的时序关系 。

同步定时(时序)

总线操作的各个过程由共用的总线时钟信号控制

适合速度相当的器件互连总线,否则需要准备好信号让快速器件等待慢速器件

微处理器控制的总线时序采用同步时序

异步定时(时序)

总线操作需要握手联络(应答)信号控制

数据传输的开始伴随有启动(选通或读写)信号

数据传输的结束有一个确认信号,进行应答

1. 同步定时    

事件出现在总线上的时刻由总线时钟信号来确定。

优点:规定明确、统一、模块间配合简单一致。  

缺点:主从模块时间配合属强制性同步,必须在限定时间内完成规定的要求,并且对所有模块都用同一限时,势必造成对不相同速度的部件而言,必须按最慢的速度部件来设计公共时钟,严重影响总线工作效率。

适用范围:仅适合总线长度较短、各个功能模块存取时间比较接近的情况。

2. 异步定时    

建立在应答式或互锁机制基础之上,后一事件出现在总线上的时刻取决于前一事件的出现。  

优点:不需要统一的公共时钟,总线周期的长度可变,不把响应时间强加到功能模块上,允许快速和慢速的功能模块都能连接到同一总线上,给设计者以充分的灵活和选择余地。    

缺点:增加了总线的复杂性和成本。

异步时序的互锁关系:

2.总线数据传送模式

读、写操作:读操作是由从方到主方的数据传送;写操作是由主方到从方的数据传送。一般,主方先以一个总线周期发出命令和从方地址,经过一定的延时再开始数据传送总线周期。为了提高总线利用率,减少延时损失,主方完成寻址总线周期后可让出总线控制权,以使其他主方完成更紧迫的操作。然后再重新竞争总线,完成数据传送总线周期。

块传送操作:只需给出块的起始地址,然后对固定块长度的数据一个接一个地读出或写入。对于CPU(主方)存储器(从方)而言的块传送,常称为猝发式传送,其块长一般固定为数据线宽度(存储器字长)的4倍。例如一个64位数据线的总线,一次猝发式传送可达256位。这在超标量流水中十分有用。

写后读、读修改写操作:这是两种组合操作。只给出地址一次(表示同一地址),或进行先写后读操作,或进行先读后写操作。前者用于校验目的,后者用于多道程序系统中对共享存储资源的保护。这两种操作和猝发式操作一样,主方掌管总线直到整个操作完成。

广播、广集操作:一般而言,数据传送只在一个主方和一个从方之间进行。但有的总线允许一个主方对多个从方进行写操作,这种操作称为广播。与广播相反的操作称为广集,它将选定的多个从方数据在总线上完成AND或OR操作,用以检测多个中断源。

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

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

相关文章

【AI学习】对指令微调(instruction tuning)的理解

前面对微调(Fine-tuning)的学习中,提到指令微调。当时,不清楚何为指令微调,也一直没来得及仔细学习。 什么是指令微调?LLM经过预训练后,通过指令微调提升模型的指令遵循能力。所谓指令&#xf…

Sectigo SSL证书申请的流程是怎样的?

在当今数字化时代,网络安全成为了一个不可忽视的问题。为了保护网站和用户数据的安全,SSL证书成为了网站运营的重要组成部分。Sectigo作为全球领先的数字证书颁发机构之一,提供了一系列的证书解决方案来满足不同类型网站的需求。以下是对Sect…

浅谈Windows 上的线程亲和性(Thread affinity)

​ 前言 线程属性包括是否分离、亲和性、调度策略和优先级等。Linux默认的调度策略是CFS(完全公平调度算法),而 Windows 是基于优先级抢占式的策略。 在这些方面,Windows 和 Linux 差异巨大。本文仅针对 Windows 系统的线程亲和性进行探讨。 线程亲和性(Thread affinity) 什…

【大道至简】官方兼容到android13+的获取系统屏幕高度, statusbar,navBar

android在屏幕高度和app高度,statusbar, navigationbar的高度处理上,迭代了好多版本。 android11, android12都有新的api和过时的api标记。 涉及的api类似如下: windowManager,defaultDisplay, Context.display, Deco…

linux安装Openresty

安装必要的依赖库 指定仓库地址 下载openresty 添加环境变量 vi /etc/profile i export NGINX_HOME/usr/local/openresty/nginx/ export PATH${NGINX_HOME}/sbin:$PATH esc :wq source /etc/profile #启动 nginx # 重启 nginx -s reload #关闭 nginx -s stop

网上有哪些赚钱的方法能一天赚二三十?盘点7个靠谱的搞钱副业和赚钱软件

想在家里躺着就能把钱赚?这不再是遥不可及的梦想!随着互联网的飞速发展,网上赚钱的方式层出不穷,总有一款适合你。 今天,就让我们一起揭开这些神秘面纱,看看哪些网上赚钱秘诀能让你轻松实现月入过万&#x…

专业矢量绘图软件Sketch for mac v100中文激活版

Sketch for Mac 是一款专业的矢量图形设计工具,主要用于 UI/UX 设计、网页设计、图标设计等领域。它的界面简洁、易用,功能强大,可以帮助设计师快速创建高质量的设计作品。 Sketch for Mac 可以轻松地创建矢量图形、图标、网页布局、移动应用…

VACode 创建Vue项目完整过程

一、软件下载 VSCode官网下载地址:https://code.visualstudio.com/ 二、下载开发环境 1. 安装 [Node.js](https://nodejs.org/); 2. 安装 [npm](https://www.npmjs.com/) 依赖管理工具; 注:node.js安装完后会同步安装npm,一般…

数据结构之二叉树详解[1]

在前面我们介绍了堆和二叉树的基本概念后,本篇文章将带领大家深入学习链式二叉树。 1.预备知识 2.二叉树结点的创建 3.二叉树的遍历 3.1前序遍历 3.2中序遍历 3.3 后序遍历 4.统计二叉树的结点个数 5.二叉树叶子结点的个数 6.二叉树第k层的结点个数 7.总结 …

activiti——网关配置

文章目录 前言网关介绍代码案例测试各项网关排他网关 ExclusiveGateway1、绘制流程图2、编写测试代码 并行网关ParallelGateway1、绘制流程图2、编写测试代码 包含网关InclusiveGateway1、绘制流程图2、编写测试代码 前言 在activiti工作流中,还有一个组件也很重要…

短视频拍摄+直播间搭建视觉艺术实战课:手把手场景演绎 从0-1短视频-8节课

抖音短视频和直播间你是否遇到这些问题? 短视频是用手机拍还是相机拍?画面怎么拍都没有质感 短视频产量低,拍的素材可用率低 看到别人用手机就能把短视频拍好自己却无从下手 明明已经打了好几盏灯了,但是画面还是比较暗 直播软件参数不会设置,电脑…

Git使用(1):介绍、克隆、推送

一、介绍与安装 1、Git是什么? Git是目前世界上最先进的分布式版本控制系统。工作原理 / 流程: workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓…

3dmax材质库导入方法?3dmax云渲染速度体验

3ds Max 材质库包含多种素材,如金属、木材、布料和石材等,但用户在导入材质时常遇到问题。本文将介绍如何在3ds Max中成功导入材质,并探讨使用云渲染服务来加速渲染过程,提高项目效率。 一、3dmax材质库导入教程 自建材质导入方法…

LLM Agent智能体综述(万字长文)

前言 🏆🏆🏆在上一篇文章中,我们介绍了如何部署MetaGPT到本地,获取OpenAI API Key并配置其开发环境,并通过一个开发小组的多Agent案例感受了智能体的强大,在本文中,我们将对AI Agent…

卷积神经网络CNN的运行过程、常见术语与问题

目录 一、CNN运行过程 1、卷积(Convolution) 2、激活函数(activation function) 3、池化(pooling) 3.1 池化操作 3.2 池化过程 3.3 池化后结果 4、Flatten 5、全连接层 Flatten层的操作 全连接层…

Oracle 流stream将删除的数据保存

Oracle 流stream将删除的数据保存 --实验的目的是捕获hr.employees表的删除行,将删除行插入到emp_del表中。 --设置初始化参数 AQ_TM_PROCESSES1 COMPATIBLE9.2.0 LOG_PARALLELISM1 --查看数据库的名称,我的为ora9,将以下的ora9全部替换为你的数据库名称…

部分树上问题及图的联通性(图论学习总结部分内容)

文章目录 前言三、部分树上问题及图的联通性最小生成树知识点例题 e g 1 : eg1: eg1: 走廊泼水节(克鲁斯卡尔思想的灵活运用) e g 2 : eg2: eg2: B-Picnic Planning e g 3 eg3 eg3:L - Classic Problem&…

Mybatis入门之在基于Springboot的框架下拿到MySQL中数据

介绍 Java技术操作数据库 MyBatis是一款优秀的持久层框架 用于简化JDBC的开发 优秀的持久层框架 我们要基于Springboot整合Mybatis 实操 学习 基于Mybatis是如何操作数据库的 通过MyBatis书写SQL语句 SQL语句执行完毕后 会将查询结果返回给Java程序 表中数据会自动封装…

灵卡科技HDMI音视频采集及H.264编码一体化采集卡—LCC260

推荐一款由灵卡科技倾力打造的高品质HDMI音视频采集卡——LCC260。以创新的技术,精湛的工艺和卓越的性能,为您提供全方位的音视频解决方案。 LCC260是一款集HDMI音视频采集与H.264编码于一身的全功能采集卡。它的输入端配备了最先进的HDMI 1.4a标准接口&…

Vue实战技巧 —— 企业开发实战中的常见疑难问题

Vue企业开发实战中的常见疑难问题 1. 解决Vue动态路由参数变化,页面数据不更新2. vue组件里定时器销毁问题3. vue实现按需加载组件的两种方式4. 组件之间,父子组件之间的通信方案5. Vue中获取当前父元素,子元素,兄弟元素6. 开发环…