计组_总线

news2025/1/4 6:32:13

2024.06.21:计算机组成原理总线学习笔记

第23节 总线

  • 3.1 总线的基本概念(联想数据通路)
  • 3.2 总线的分类
    • 3.2.1 片内总线(CPU芯片内部的总线)
    • 3.2.2 系统总线
    • 3.2.3 通信总线(跨系统,408一般不考)
  • 3.3 系统总线的三种结构
    • 3.3.1 单总线结构
    • 3.3.2 双总线结构
    • 3.3.3 三总线结构
  • 3.4 总线的性能指标(最爱考计算题)
  • 3.5 总线事务
  • 3.6 总线传输周期r
  • 3.7 总线的定时方式
    • 3.7.1 同步定时方式
    • 3.7.2 异步定时方式
      • (1) 不互锁方式
      • (2) 半互锁方式
      • (3) 全互锁方式


重点理解总线是干嘛的,为IO作铺垫

3.1 总线的基本概念(联想数据通路)

  • 总线是连接多个部件的信息传输线,是各部件共享的传输介质
  • 当多个部件与总线相连时,如果出现两个/两个以上的部件同时向总线发送信息,势必导致信号冲突,传输无效
  • 因此在某一时刻内,只允许一个部件向总线发送信息,而多个部件可以同时从总线接收相同的信息
  • 总线并不是一根线,而是由许多传输线或通路组成的

3.2 总线的分类

3.2.1 片内总线(CPU芯片内部的总线)

  • 指CPU内部的总线(可以是单总线,也可以是多总线,多总线我们一般用3总线,看数据通路那个博客)
  • CPU芯片内部的部件都由片内总线相连接

在这里插入图片描述


3.2.2 系统总线

指CPU、主存、IO设备各大部件之间的信息传输线,分为3类
在这里插入图片描述

  • 数据总线

用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关

数据线的位数

  • 最早的计算机里面,机器字长和存储字长是一致的,那这个数据线也会保证和这两个东西一致
  • 再后来,这个机器逐渐发展,存储字长,它一般都是8位,按字节编址。但是机器字长呢,以64位电脑为例,二者之间会存在差异。
  • 为了让这个数据线不被浪费,我们一般会让这个数据线去取机器字长的长度。因为机器字长的定义就是CPU一次可以运算的最大整数的位数,所以我们就尽量让一次运算的位数都可以达到这个值
  • 如果让数据线和8位的存储字长保持一致的话,那我去做一个64位的运算,就需要去重复这个读操作8次
  • 地址总线

用来指出数据总线上的数据在(主存单元的地址)或(IO设备的地址),地址总线上的代码用来指明CPU欲访问的存储单元或IO端口的地址,由CPU输出,单向传输

有的时候,大家做题会碰到地址总线是双向传输的情况。这是因为在IO里面存在一种特殊的IO传输,它叫做(直接内存访问DMA),在DMA中。你的地址线有可能是DMA控制器向COU去发出的,它会向CPU提供有关数据应该存储的确切的内存地址,IO设备与主存直接进行的数据交流

地址线的位数与存储单元的个数有关,若地址线为m根,对应的存储单元个数是(2^m)

  • 控制总线

用来发送各种控制信号。对于控制总线总体来说,它是双向的


3.2.3 通信总线(跨系统,408一般不考)

用于计算机系统之间或计算机系统与其他系统之间的通信


3.3 系统总线的三种结构

3.3.1 单总线结构

  • CPU、主存、IO设备都挂在一组总线上,允许IO设备之间、IO设备与CPU之间、IO设备与主存之间之间交换信息
  • 不允许两个以上的部件在同一时刻向总线传输信息

在这里插入图片描述


3.3.2 双总线结构

  • 将速度较低的IO设备从单总线上分离出来,形成主存总线与IO总线分离的结构
  • 通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对IO设备具有统一的管理功能

在这里插入图片描述


3.3.3 三总线结构

  • 主存总线)用于CPU与主存之间的传输
  • IO总线)提供CPU与各类设备之间传递信息
  • DMA总线)用于高速IO设备与主存之间交换信息
  • 主存总线)和(DMA总线)不能同时对主存进行存取
  • IO总线)只有在CPU执行IO指令时才会用到

在这里插入图片描述


3.4 总线的性能指标(最爱考计算题)

  • 总线宽度:通常指总线数据的宽度

也就是数据线一共可以并行传输的位数

  • 总线带宽:可理解为总线的数据传输速率,即单位时间内总线,上传输数据的位数,通常用每秒传输信息的字节数来衡量

通常我们用1秒去传输多少个字节来衡量

  • 时钟同步/异步:总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步⼯作的总线称为异步总线
  • 总线复用:⼀条信号线上分时传送两种信号
  • 信号线数:地址总线、数据总线、控制总线三种总线数的总和
  • 总线控制方式:包括突发工作、自动配置、仲裁方式、逻辑方式、计数方式等
  • 其他指标:如负载能力、电源电压、总线宽度能否扩展等
  • 总线工作频率:总线上各种操作的频率,为总线周期的倒数。实际上指1秒内传送几次数据。 若总线周期 =N个时钟周期,则总线的工作频率=时钟频率/N;此外,若⼀个时钟周期可以传送 K次数据,则总线工作频率是总线时钟频率的K倍。
  • 总线传输周期:指一次总线操作所需的时间,包括申请阶段、寻址阶段、传输阶段和结束阶段。总线传输周期通常由若干总线时钟周期构成

3.5 总线事务

总线事务指请求总线到完成总线使用的操作序列,是一个总线周期中发生的一系列活动

  • 总线的传输周期或者说总线周期,它们是同一个东西
  • 总线周期和总线的时钟周期不一样
    • 时钟周期是频率的倒数,是最小的一个时间单位
    • 总线周期指的是完成一次活动所需要的全部时间
  • 请求阶段:主设备发出总线传输请求并获得总线控制权
  • 仲裁阶段:总线仲裁机构决定将下一个传输周期的总线使用权赋予某个申请者
  • 寻址阶段:主设备通过总线给出要访问到从设备地址以及有关命令,启动从模块
  • 传输阶段:主模块和从模块进行数据交换,可单向/双向进行数据传送
  • 释放阶段:主模块的有关信息均从系统总线上撤出,让出总线使用权

突发(猝发)传送方式:能进行连续成组数据的传送,其寻址阶段发送的是连续数据单元的首地址,在传输阶段传送多个连续单元的数据,每个时钟周期可传送一个字长的信息,但不释放总线,直到一组数据全部传送完成后再释放总线

在这里插入图片描述


3.6 总线传输周期r

完成一次数据传输所需的时间,包括地址传递、数据读写等所需的全部时间
在这里插入图片描述
如果不采用交叉编址,仅对一个存储体的一个单元进行读写,根据总线传输周期的定义,此时T==r
在这里插入图片描述
在这里插入图片描述


3.7 总线的定时方式

3.7.1 同步定时方式

同步就是两个跳舞的人要有一个共同的节拍

  • 同步定时总线使用一个统一的时钟信号来协调数据传输。
  • 在同步定时中,所有的操作(如数据、地址的发送和接收)都与这个时钟信号的边沿(通常是上升沿或者下降沿)同步进行。
  • 这意味着数据传输的开始、执行和结束都严格按照时钟周期进行,所有设备必须在规定的时钟周期内完成它们的操作

3.7.2 异步定时方式

异步就是两个跳舞的人不采用共同的节拍,但是为了避免踩脚,就需要采取一些措施

没有统一的时钟和固定的时间间隔,完全依靠传送双方相互制约的握手信号实现定时控制

(1) 不互锁方式

  • 主设备发出请求信号后,不必等接到从设备的回答信号,而是经过⼀段时间就撤销请求信号
  • 从设备在接到请求信号后,发出回答信号,并经过⼀段时间后⾃动撤销回答信号

(2) 半互锁方式

  • 主设备发出请求信号后,必须在接到从设备的回答信号后才撤销请求信号
  • 从设备在接到请求信号后,发出回答信号,不必等待获知主设备的请求信号已经撤销,⽽是隔⼀段时间后⾃动撤销回答信号

(3) 全互锁方式

  • 主设备发出请求信号后,必须在从设备回答后才撤销请求信号
  • 从设备发出回答信号后,必须在获知主设备请求信号已撤销后,再撤销其回答信号

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

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

相关文章

四个“一体化”——构建数智融合时代下的一站式大数据平台

随着智能化技术的飞速发展,尤其是以生成式AI为代表的技术快速应用,推动了数据与智能的深化融合,给数据基础设施带来了新的变革和挑战。如何简化日益复杂的系统架构,提高数据处理效率,降低开发运维成本,促进…

十、(正点原子)Linux阻塞和非阻塞IO

阻塞和非阻塞 IO 是 Linux 驱动开发里面很常见的两种设备访问模式,在编写驱动的时候一定要考虑到阻塞和非阻塞。这里的“IO”并不是我们学习 STM32 或者其他单片机的时候所说的“GPIO”(也就是引脚)。这里的 IO 指的是 Input/Output,也就是输入/输出&…

matlab支持向量机使用错误

🏆本文收录于《CSDN问答解答》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&…

使用Qt和mitmproxy开发一个抓取网页短视频的万能工具

目录 实现原理 mitmproxy介绍 功能简介 安装 脚本示例 如何使用 解释 注意事项 QT工具实现 其他资源 实现原理 使用WebView组件造一工具,工具可输入网页地址并显示网页内容及播放视频。把工具的代理设置指向mitmproxy的端口服务。配合使用mitmproxy的MITM技术,监…

MySql性能调优03-[SQL优化]

SQL优化 MySQL优化SQL优化-不要写select *SQL优化-小表驱动大表,而不是大表驱动小表SQL优化-连接查询代替子查询SQL优化-提升group by的效率 MySQL优化 trace工具 set session optimizer_traceenabledon,end_markers_in_json on; -- 开启trace select * From emplo…

指针详解(2)

指针详解(2) 对数组名的理解 在C语言里数组名还表示着数组首元素地址。 int arr[5] {1, 2, 3, 4, 5}; int* p &arr[0]; int* p arr;以上这两种,对指针p进行赋值的操作均是等价的,都将数组首元素的地址赋给指针p。 不妨,我们可以测…

【C++进阶学习】第六弹——set和map——体会用C++来构建二叉搜索树

set和map基础:【C进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫-CSDN博客 前言: 在上篇的学习中,我们已经学习了如何使用C语言来实现二叉搜索树,在C中,我们是有现成的封装好的类模板来实现二叉搜索树…

SpringBoot新手快速入门系列教程六:基于MyBatis的一个简单Mysql读写例子

我的教程都是亲自测试可行才发布的,如果有任何问题欢迎留言或者来群里我每天都会解答。 MyBatis和JPA是两种不同的Java持久层框架,各有其优缺点。以下是它们的比较: MyBatis 优点 灵活性高:MyBatis允许手动编写SQL查询&#xf…

AWDAWFAAFAWAWFAWF

创建两张表:部门(dept)和员工(emp) 创建视图v_emp_dept_id_1,查询销售部门的员工姓名和家庭住址 创建视图v_emp_dept,查询销售部门员工姓名和家庭住址及部门名称 创建视图v_dept_emp_count(dept…

Ubuntu: gitee免密

安装git sudo apt-get install git下载 git clone XXX SSH keys 第一步:检查本地是否有 SSH Key存在 ls -al ~/.ssh第二步:配置你注册的邮箱 ssh-keygen -t rsa -C "your_emailexample.com"输入命令后一直回车 第三步:获取公钥…

乐观锁原理

乐观锁是一种并发控制的方法,主要用于多线程环境下,用于保证数据的一致性。其核心思想是:"在多个事务中乐观地读取数据,在提交时再验证是否有冲突,如果没有,则提交;如果有,则回…

使用 Apache DolphinScheduler 构建和部署大数据平台,将任务提交至 AWS 的实践经验

作者介绍 李庆旺 - 软件开发工程师,思科 引言 大家好,我是李庆旺,来自思科的软件开发工程师。我们的团队已经使用Apache DolphinScheduler搭建我们自己的大数据调度平台近三年时间。从最初的2.0.3版本开始至今,我们与社区一同成…

基于FPGA的数字信号处理(15)--定点数的舍入模式(6)向0取整fix

前言 在之前的文章介绍了定点数为什么需要舍入和几种常见的舍入模式。今天我们再来看看另外一种舍入模式:向上取整fix。 10进制数的fix fix:也叫 向0取整。它的舍入方式是数据往0的方向,舍入到最近的整数,比如1.75 fix到2&#xf…

【操作系统】进程管理——管程(个人笔记)

学习日期:2024.7.12 内容摘要:管程的定义和基本特征 管程 管程存在的意义:在上一章节中,我们学习了利用信号量机制解决进程同步互斥问题的方法,信号量机制编写程序较为复杂困难,易出错。为了让程序员写程…

MySQL查询语句(DQL)

文章目录 查询语句(DQL)简单查询查一个字段查多个字段查所有字段查询字段可以进行数学运算查询时字段可起别名 条件查询and (&&)or (||)between...and...is null 和 is not nullin 和 not inlike (模糊查询) 查询语句(DQL) 简单查询 \c可以清空…

JavaScript中的拷贝技术探秘:浅拷贝与深拷贝的奥秘

最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/ 前言 JavaScript中的浅拷贝和深拷贝是非常重要的概念,它们在处理对象和数组时具有不同的作用。在编程中,经常需要复制数据以便进行各种操作,但必须注…

【python】Python报错分析:深入探索`IndexError`及其解决办法

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

GlobalSign证书介绍以及申请流程

在当今高度互联的世界中,网络安全与数据保护的重要性日益凸显,而数字证书作为保障网络通信安全的关键技术,已成为构建数字信任的基石。GlobalSign,作为全球数字证书行业的先驱和领导者,自成立以来便致力于为全球企业和…

unity 手动制作天空盒及使用

提示:文章有错误的地方,还望诸位大神不吝指教! 文章目录 前言一、使用前后左右上下六张图1.准备6张机密结合的图片2.创建Material材质球3.使用天空盒 二、使用HDR贴图制作1.准备HDR贴图2.导入unity 修改Texture Sourpe 属性3.创建材质球4.使用…

Jenkins 离线升级

1. 环境说明 环境 A: jenkins 版本:2.253使用 systemctl 管理的 jenkins 服务 环境 B: 可以上网的机器,装有 docker-compose docker 和 docker-compose 安装,这里都略了。 2. 安装旧版本 2.1 环境 A jenkins 目录打包文件 …