【计算机组成原理】总线

news2024/11/20 7:05:48

目录

一、总线概述

二、总线的分类

三、系统总线的结构

四、总线的性能指标

五、总线仲裁

六、总线操作和定时

七、总线标准


一、总线概述

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

早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。为了更好的解决 I/O 设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。

  • 分时:同一时刻只允许有一个设备向总线发送信息,如果系统中有多个部件,则他们只能分时地向总线发送信息。
  • 共享:总线上可以挂接多个部件,各个部件之间互相交换信息都可以通过这组线路分时共享。

总线的特性

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

二、总线的分类

按数据传输格式分类

(1)串行总线:数据一个bit一个bit的进行传输和接收

(2)并行总线:数据可以并行的传输和接收多个bit

  • 并行总线在传输信息时,由于信号线距离进,有可能造成信息干扰,造成二进制信息位的跳变,这种电气特性会导致并行总线的实际工作频率并不会非常高,所以并行总线的传输效率未必比串行总线高。

按总线功能(连接的部件)分类

(1)片内总线芯片内部的总线,是CPU内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。

(2)系统总线计算机系统内各功能部件(CPU、主存、I/O接口)之间互相连接的总线,系统总线按照传输信息内容的不同,又可分为三类(地址、数据、控制)。

  • 地址总线AB:传输地址信息,包括主存单元或I/O端口的地址。位数(根数)与主存地址空间大小及设备数量有关。
  • 数据总线DB:传输各功能部件之间的数据信息,包括指令和操作数。位数(根数)与机器字长、存储字长有关,双线传输。
  • 控制总线CB:一根控制线传输一个控制信号(有出:CPU发出的控制信号;有入:主存或外设返回CPU的反馈信号)

(3)通信总线:计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线设备总线

三、系统总线的结构

(1)单总线结构

  • 结构:CPU、主存、I/O设备(通过I/O的接口)都连接在一组总线上,运行I/O设备之间、I/O设备和CPU之间或I/O设备与主存之间直接交换信息
  • 优点:结构简单,成本低,易于接入新的设备
  • 缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作

(2)双总线结构

  • 结构:双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传输。另一条是I/O总线,用于多个外部设备与通道之间进行数据传输
  • 通道:具有特殊功能的处理器,能对I/O设备进行统一管理,通道程序放在主存中
  • 支持突发(猝发)传送:送出一个地址,收到多个地址连续的数据
  • 优点:将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离,较低速数据传输将不再影响较高速数据传输
  • 缺点:需要增加通道等硬件设备,成本增加

(3)三总线结构

  • 结构:在计算机系统各部件之间采用3条各自独立的总线来构成信息通道,这3条总线分别为主存总线I/O总线直接内存访问DMA总线
  • DMA:Direct Memory Access,直接内存访问
  • 优点:提高了I/O设备的性能,使其更快地响应命令,提高系统的吞吐量
  • 缺点:系统的整体工作效率较低(三个总线同一时刻只能由一个总线在工作)

(4)四总线结构

  • 桥接器:用于连接不同的总线,具有数据缓冲、转换和控制功能
  • 靠近CPU的总线速度更快
  • 每级总线的设计遵循总线标准

四、总线的性能指标

1. 总线的传输周期(总线周期):一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常由一个或若干个总线时钟周期构成。

2. 总线的时钟周期(机器的时钟周期):计算机系统有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟控制。现代计算机系统中总线的时钟周期有可能是由桥接器控制。

3. 总线的工作频率:总线上各种操作的频率,为总线周期的倒数。若总线周期 = N个时钟周期,则总线的工作频率 = 1 / 总线周期 =  时钟频率 / N,指一秒内传送几次数据。

4. 总线的时钟频率(机器的时钟频率):时钟周期的倒数。若时钟周期为T,则时钟频率为1 / T,指一秒内有多少个时钟周期。

5. 总线的宽度(总线位宽):总线同时能传送的数据位数,通常指数据总线的根数,如32位对应32根bit总线。

6. 总线带宽:总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位为字节/秒(B/s)。

7. 总线复用:总线复用是一种信号线在不同的时间传输不同的信息,可以使用较少的线传输更多的信息,从而节省了空间和成本。

8. 信号线数:地址总线、数据总线、控制总线3种总线数的总和

总线带宽 = 总线的工作频率 × 总线位宽 (bit/s)  = 总线的工作频率 × (总线位宽/8)(B/s) = 总线宽度 / 总线周期 (bit/s) = (总线位宽/8)/ 总线周期 (B/s)

五、总线仲裁

同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据

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

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

为什么要仲裁?总线作为一种共享设备,不可避免的会发生同一时刻有多个主设备竞争总线控制权的问题

总线仲裁的定义:多个主总线设备同时竞争总线控制权时,以某种方式选择一个主设备优先获得总线控制权。

总线仲裁的分类

(1)集中仲裁方式:

  • 链式查询方式:越靠近CPU的设备总线优先级越高,对硬件故障敏感
  • 计数器定时查询方式:用一个计数器控制总线使用权,对设备进行编号,通过计数器对设备进行循环查询,对硬件故障没有链式敏感,电路比链式复杂
  • 独立请求方式:每一个设备均有一对总线请求线BR和总线允许线BG。总线速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备间传递或查询,对总线的优先次序的控制相当灵活,但是控制线数量多,电路复杂

(2)分布仲裁方式:不需要中央处理器,每个潜在模块都有自己的仲裁器和仲裁号,多个仲裁器竞争使用总线

集中仲裁方式:

  1. 主设备发出请求信号
  2. 若多个主设备同时要使用总线,则由总线控制器(CPU)的判优、总线仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线
  3. 获得总线控制权的主设备开始传送数据

分布仲裁方式:

  1. 当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁总线上
  2. 每个仲裁器将从仲裁总线上得到仲裁号与自己的仲裁号进行对比
  3. 如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号
  4. 最后获胜者的仲裁号将保留在仲裁总线上

六、总线操作和定时

总线周期的四个阶段

  1. 申请分配阶段:由需要使用总线的主设备提出申请,经总线仲裁机制决定将下一传输周期的总线使用权授予某一申请者,也可将此阶段细分为传输请求和总线仲裁阶段。
  2. 寻址阶段:获得使用权的主设备通过总线发出本次要访问的从设备的地址及有关命令,启动参与本次传输的从设备。
  3. 传输阶段:主设备和从设备之间进行数据交换,可单向或双向进行数据传输。
  4. 结束阶段:主设备的有关信息均从系统上撤除

总线定时:总线在双方交换数据过程中需要时间上配合关系的控制,它的实质是一种协议或规则,让数据的发出方或者接收方都能按照统一的规则进行数据的交互

  • 同步通信:由统一时钟控制数据传输
  • 异步通信:采用应答方式,没有公共时钟标准
  • 半同步通信:同步、异步结合
  • 分离式通信:充分挖掘系统总线每瞬间的潜力

(1)同步定时方式

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

(2)异步定时方式

  • 在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传输双方互相制约的“握手”信号来实现定时控制
  • 主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号
  • 优点:总线周期长度可变,能保证两个工作周期相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合
  • 缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢

(3)半同步定时方式

  • 同步:发送方用系统时钟前沿发信号,接收方用系统时钟后沿判断、识别
  • 异步:允许不同速度的模块和谐工作
  • 半同步通信:在同一时钟的基础上,增加一个“等待”响应信号

(4)分离式定时方式

  • 一个总线传输周期(以输入数据为例):①主设备发地址、命令(使用总线);②从设备准备数据(总线空闲);③从设备向主设备发命令(使用总线)
  • 分离式通信的一个总线传输周期:①子周期1——主设备申请占用总线,使用完后放弃总线的使用权;②子周期2——从设备申请占用总线,将各种信息送至总线上
  • 各模块均有权申请占用总线,采用同步通信方式,不等对方回答,各模块准备数据时,不占用总线,总线利用率高

七、总线标准

总线标准是国际上公布或推荐的互连各个模块的标准,它是把各种不同的模块组合成计算机系统时必须遵守的规范,按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需要根据总线标准的要求完成自身方面的功能需求,而无需了解对方接口的要求。

根据总线在计算机系统中的位置,可分为:

  • 系统总线:通常与CPU直接相连,用于CPU与北桥芯片、CPU与主存连接或CPU直接相连I/O设备等
  • 局部总线:没有直接与CPU相连,通常是连接高速北桥芯片,用于连接了很多重要的硬件部件(如显卡、声卡等)
  • 设备总线、通信总线:通常由南桥芯片控制,用于连接计算机与计算机,或连接计算机与外部I/O设备

(1)系统总线

(2)局部总线

(3)设备总线、通信总线

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

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

相关文章

【C语言初阶】带你轻松玩转所有常用操作符(1)

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello,这里是君兮_,最近要准备期末复习了,可能更新的就不会那么频繁了,下个星期回复正常更新。 操作符详解1 前言一.操作符的分类二.算数操作符三.移位操作符1.二进制表示的三种形式2.…

【C/C++】构造函数与析构函数

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

【话题研究】重塑活力:顺应消费需求变化,PC市场需创新、技术驱动和营销策略更优解

话题研究&#xff1a;大众还需要PC吗&#xff1f;PC市场如何走出寒冬&#xff1f; 1️⃣ PC市场进入寒冬的深层原因2️⃣ PC仍具有独特的优势和不可替代性3️⃣ 创新、定制化和用户体验4️⃣ AI、VR时代带来的新出路 市场调研机构 Canalys数据显示&#xff0c;今年一季度&#…

elastic-job-ui在使用druid作为数据库连接池时作业维度报错

问题说明&#xff1a; 我们项目中使用到了elastic-job&#xff0c;然后自己封装了个sdk&#xff0c;方便使用&#xff0c;里面的数据源配置是常用的druidmysql的组合&#xff0c;在操作中&#xff0c;发现elastic-job-ui可视化控制台会报错无法使用。 深究其原因是因为&#…

返回值封装,异常统一处理优雅解决接口所有问题

在项目整体架构设计的时候&#xff0c;我们经常需要做以下工作&#xff1a; 返回值的统一封装处理&#xff0c;因为只有规范好统一的返回值格式&#xff0c;才能不会给接口使用者带来疑惑和方便前端对接口的统一处理。对异常码进行严格规定&#xff0c;什么错误返回什么码制&a…

ShardingSphere-JDBC 5.1.1 分库分表

分库分表解决的问题 mysql的扩展 mysql并不能完全利用高性能服务器的硬件&#xff0c;当cpu超过24个&#xff0c;内存超过128G时&#xff0c;mysql性能处于平缓&#xff0c;不在上升&#xff0c;所以在一个性能强大的服务器上运行多个实例&#xff0c;才更合理 mysql常见的扩…

java.sql.SQLException: No value specified for parameter 6

异常 java.sql.SQLException: No value specified for parameter 6 原因 sql中定义了6个参数&#xff0c;只传了5个参数

设计模式—“领域规则”

在特定领域中,某些变化虽然频繁,但可以抽象为某种规则。这时候,结合特定领域,将问题抽象为语法规则,从而给出在该领域下的一般性解决方案。 典型模式有:Interpreter Interpreter 动机 在软件构建过程中,如果某一个特定领域的问题比较复杂,类似的结构不断重复出现,…

.NET Microsoft.Extensions.Logging + NLog 记录日志到文件

最近想了解下面向对象开发&#xff0c;选择C# 语言 以及NET6.0 日志是开发中最常用的功能&#xff0c;本文记录下其中日志使用方法&#xff0c;理解不全的地方后续再学习补充 环境 Ubuntu 22.04.2 LTSdotnet 6.0.411 准备工作 # https://learn.microsoft.com/zh-cn/dotnet/c…

2023.6.21AgentGPT部署

在云服务器上使用Docker部署AgentGPT 需要自行提供OpenAI的API Key https://platform.openai.com/account/api-keys 需要自行提供云服务器或者虚拟机 需要自行解决网络的问题&#xff0c;本文中使用的是小喵咪解决网络的问题【需要订阅地址】 文章目录 在云服务器上使用Docker…

数据在内存中的存储-浮点型

常见的浮点型数据&#xff1a;单精度浮点型float、双精度浮点型double,还有long double类型。 浮点数表示的范围&#xff1a;float.h中定义 目录 一、浮点数存储的例子 二、浮点数存储规则 三、例题解释 一、浮点数存储的例子 #include<stdio.h> int main() {int …

王道操作系统学习笔记(1)——操作系统基本概念

前言 本文介绍了操作系统的基本概念&#xff0c;文章中的内容来自B站王道考研操作系统课程&#xff0c;想要完整学习的可以到B站官方看完整版。 一&#xff1a;操作系统基本概念 1.1.1&#xff1a;基本概念和功能 操作系统&#xff1a;系统资源的管理者&#xff08;处理机管…

QGIS 插件获取哨兵数据

基于 Sentinel Hub QGIS 插件&#xff0c;该插件允许您直接在 QGIS中配置和利用Sentinel Hub 服务的强大功能。该插件可视化 Sentinel 数据&#xff0c;可用于正在处理的任何其他项目中。 来自&#xff1a;GIS数据栈整理&#xff1a;GIS数据栈 一起来看看如何在QGIS中使用吧&am…

6张图表 + 1个案例 带你入门tcpdump的使用和原理

一、tcpdump简介 tcpdump是什么&#xff1f; 来看看 tcpdump官网怎么说&#xff1a;This is the home web site of tcpdump, a powerful command-line packet analyzer; and libpcap, a portable C/C library for network traffic capture. 不妨来看看chatGPT插件怎么说&…

【自我提升】openCV基本操作

写在前面&#xff1a;本篇博客主要是记录opnecv的基本操作&#xff0c;不记录安装等步骤。方便回顾和查找方法。 一、图像的IO操作&#xff0c;读取和保存方法 读取图像 在OpenCV中&#xff0c;读取图像的函数是imread()。该函数可以从指定的文件中加载图像&#xff0c;返回值…

Qt6.2教程——5.QT常用控件QLabel

1. QLabel简介 QLabel是Qt库中一个非常基础且重要的类。它主要用于在图形用户界面(GUI)中展示文本或图片。最常见的用法就是在窗口上显示一段文字或者标签&#xff0c;比如“用户名”&#xff0c;“密码”等等。QLabel继承自QFrame&#xff0c;因此它也可以具有框架。它能处理…

0005Java程序设计-jsp企业财务管理系统设计与实现

企业财务管理系统 摘要 对于企业集来说,财务管理的地位很重要。随着计算机和网络在企业中的广泛应用&#xff0c;企业发展速度在不断加快&#xff0c;在这种市场竞争冲击下企业财务管理系统必须优先发展&#xff0c;这样才能保证在竞争中处于优势地位。对此企业必须实现财务管…

安卓平板修改和平精英90帧、120帧超广角,2k/4k分辨率(无需root!!!)

前言&#xff1a;今天我们将探讨如何在安卓平板上修改和平精英超广角以及高帧率画质效果。 1、首先&#xff0c;我们要知道平板改超广角的好处是什么&#xff1f;我们都知道平板相比于手机显示宽度是要更大的&#xff0c;如果平板再改个超广角效果&#xff0c;甚至连脚都可以看…

避免滥用Qt信号与槽——改进taskBus 平台以吞吐20M IQ采样带宽

taskBus 软件无线电平台是一款依靠 stdin-stdout进行数据吞吐的教学平台。在平台创建之初&#xff0c;主要使用 RTL-SDR进行简单的窄带接收应用&#xff0c;并没有考虑采样率超过1.8M的情况。引入 USRP B210/B205mini后&#xff0c;采样率瞬间提高到2M以上&#xff0c;此时&…