计算机组成原理笔记-第3章 系统总线

第三章 系统总线

笔记PDF版本已上传至Github个人仓库:CourseNotes,欢迎fork和star,拥抱开源,一起完善。

该笔记是最初是没打算发网上的,所以很多地方都为了自我阅读方便,我理解了的地方就少有解释;我不理解的地方理解后加上的解释便很多。

因此,若读者在阅读过程中遇到错误或理解问题,请评论区留言或者私信,我们一起讨论:看到会及时回复。

3.1 总线的基本概念

  • 以存储器为中心的双总线结构

在这里插入图片描述

3.2 总线的分类

  • 片内总线:芯片内部各部件之间的的总线,如CPU内部连接各寄存器及运算器之间的总线。
  • 系统总线:计算机各部件之间 的信息传输线
    • 数据总线双向 与机器字长、存储字长有关,但不一定等于字长,一个字可以分多次传输
    • 地址总线单向 与存储地址、 I/O地址有关,和 MAR 位数相等
    • 控制总线双向,存储器读、存储器写,总线允许、中断确认,中断请求、总线请求。
  • 通信总线:用于 计算机系统之间 或 计算机系统与其他系统(如控制仪表、移动通信等)
  • 按照传输方式分类
    • 并行通信总线:同一时刻,可以传输多个bit位的信号,有多少个信号位就需要多少根信号线。并行通讯的效率高,但是对信号线路要求也很高,很容易产生干扰,反而传输速度不能很快。
    • 串行通信总线:同一时刻,只能传输一个bit位的信号,只需要一根信号线。串行通讯效率较低,但是对信号线路要求低,抗干扰能力强,传输速度可以很快。

3.3 总线特性及性能指标

  • 总线特性
    • 机械特性:尺寸、形状、管脚数及排列顺序
    • 电气特性:传输方向和有效的 电平 范围
    • 功能特性 :每根传输线的功能,如地址线,数据线,控制线,反馈线
    • 时间特性:信号的时序 关系
  • 总线的性能指标
    • 总线宽度:数据线的根数
    • 标准传输率 :每秒传输的最大字节数(MBps)
    • 时钟同步/异步: 同步、不同步
    • 总线复用:地址线 与 数据线 复用,8086的20根地址线和16根数据线复用,减少芯片的管脚数量。
    • 信号线数地址线、数据线和控制线的总和
    • 总线控制方式 :突发、自动、仲裁、逻辑、计数

3.4 总线结构

  • 单总线结构

在这里插入图片描述

  • 双总线结构

    通道既是硬件数据通路,又是具有特殊功能的处理器,由通道对I/O统一管理

    通道的作用:①存储;②串并转换;③计算

  • 三总线结构
    • 主存总线和DMA总线不能同时工作,要进行判优工作。
    • 当主存总线和DMA总线出现竞争时,我们把优先权交给DMA总线

在这里插入图片描述

  • 三总线结构的又一形式
    • 在此结构中,主机由缓存主存CPU组成,而不再是2部分组成。

在这里插入图片描述

  • 四总线结构

在这里插入图片描述

  • 传统微型机总线结构

在这里插入图片描述

  • VL-BUS局部总线结构

在这里插入图片描述

  • PCI 总线结构

  • 多层 PCI 总线结构

3.5 总线控制

3.5.1 总线判优控制
  • 主设备( 模块): 对总线有 控制权

  • 从设备( 模块) :响应 从主设备发来的总线命令

  • 总线判优控制两种方式:分布式(针对多机系统)集中式

    下面给出集中式的三种优先权仲裁方式,注意其中(BS总线忙、BR总线请求、BG总线同意)

    • 链式查询

      • 缺点:①请求不公平,越靠近总线控制部件,优先级越高;②不可靠,一旦BG链断裂,其后接口均无法再获得BG信号。
    • 计数器定时查询

      在这里插入图片描述

      • 缺陷:计数器的设计要重点考虑,是总线同意后重置位还是继续计数
    • 独立请求方式

      在这里插入图片描述

      • 缺陷:线路冗余
3.5.2 总线通信控制
  • 总线传输周期

    • 申请分配阶段:主模块申请,总线仲裁决定
    • 寻址阶段:主模块向从模块给出 地址 和 命令
    • 传输阶段:主模块和从模块 交换数据
    • 结束阶段:主模块 撤消有关信息
  • 总线通信:为解决通信双方 协调配合 问题

    • 同步通信

      由 统一时标 控制数据传送 ,一般在总线长度比较短,各个部件速度比较一致的时候使用,存在短板效应。

      地址线为高电平有效,读命令为低电平有效,数据线为高电平有线;三线非方波是因为操作不是一瞬间的,而是有缓冲时间的。

      地址线传输一直有信号是因为数据具有指向性,一旦地址失效,则传输无法寻址,因此必须长期有效才行。

    在这里插入图片描述

    • 异步通信

      异步通信克服了同步通信的缺点,允许各模块速度的不一致性,它没有公共的时钟标准,,不要求所有部件严格的统一操作时间,而是采用应答方式。

      异步通信的应答方式又可分为不互锁、半互锁和全互锁三种类型

      • 不互锁:通信双方非必须收到对方的响应消息才做出反应,如,主模块发送请求信号后,过了一段时间,自动确认从模块已收到,此时主动撤销请求信号,而不是等到从模块的回答才撤销;从模块亦然。
      • 半互锁:此时主模块对从模块持有锁,须等到从模块的回答才撤销请求信号;而从模块依然无锁,回答后过一段时间自动撤销回答信号。
      • 全互锁:双方均持有锁。

      以上三种应答方式,我们可用下图进行表述:

      在这里插入图片描述

      异步串行通信的数据传送速率用波特率来衡量。波特率是指单位时间内传送二进制数据的位数,单位用bps(位/秒)表示,记作波特,特别注意的是严格来说,波特率与比特率不同,仅仅在一个一个波特位用一个比特位表示时,波特率和比特率相等。

    • 半同步通信

      同步、异步 结合,发送方 用系统 时钟前沿 发信号,接收方 用系统 时钟后沿 判断、识别。增加一条 “等待”响应信号。当从设备数据没有准备好时发出 WAIT ‾ \overline {\text{WAIT}} WAIT信号,数据准备好了再开始开始同步传输数据。

      在这里插入图片描述

      上面三种数据通信的共同点

      • 主模块发地址、命令 需占用总线
      • 从模块准备数据 不占用总线
      • 从模块向主模块发数据 占用总线
    • 分离式通信

      主模块申请占用总线发地址 、命令,使用完后放弃总线的使用权;从模块准备数据完毕后,从模块申请占用总线(身份转换为主设备),向主模块发数据。从模块准备数据是不占用总线的,这时候其他设备可以请求总线,充分挖掘系统总线每个瞬间的潜力。

      • 各模块有权申请占用总线
      • 同步通信,不等回答
      • 各模块准备数据不占用总线
      • 总线被占用时,不空闲

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

indexedDB---掌握浏览器内建数据库的基本用法

1.认识indexedDB IndexedDB 是一个浏览器内建的数据库,它可以存放对象格式的数据,类似本地存储localstore,但是相比localStore 10MB的存储量,indexedDB可存储的数据量远超过这个数值,具体是多少呢? 默认情…

MLP多层感知器:AI人工智能神经网络的基石

MLP 是指多层感知器(Multilayer Perceptron),是一种基础人工神经网络模型(ANN,Artificial Neural Network)。MLP 的核心是通过深度学习从大量数据中学习特征和模式,并训练参数。通过参数与激活函…

AMSR/ADEOS-II L1A Raw Observation Counts V003地球表面和大气微波辐射的详细观测数据

AMSR/ADEOS-II L1A Raw Observation Counts V003 简介 AMSR/ADEOS-II L1A Raw Observation Counts V003数据是由日本航空航天研究开发机构(JAXA)的AMSR (Advanced Microwave Scanning Radiometer)仪器收集的一组原始观测计数数据。这些数据是从ADEOS-I…

第一题(伏羲六十四卦)

题目: 首先伏羲64卦解密 再用base64解密即可

全栈人工智能工程师:现代博学者

任何在团队环境中工作过的人都知道,每个成功的团队都有一个得力助手——无论你的问题性质如何,他都能帮助你。在传统的软件开发团队中,这个人是一个专业的程序员,也是另一种技术的专家,可以是像Snowflake这样的数据库技…

编写水文专业串口通讯软件的开发经历

编写水文专业串口通讯软件的开发经历 一、关于开发 YAC9900 水位雨量 RTU 通讯软件二、软件开发遇到的问题和困难1、开发架构的适应2、开发语言的学习3、.net core 8 架构中串口构建的难点4、YAC9900 水位雨量 RTU 通讯软件开发中的 UI 冻结 三、发现问题解决问题的具体办法1、…

Android Studio无法连接夜神模拟器的解决方案

一、AS检测不到夜神模拟器 1、问题描述 在按照教程【如何安装和使用Android夜神模拟器】进入夜神的bin目录,输入连接命令回车后,终端显示的already connected to 127.0.0.1:62001,但是AS的Running Devices并没有显示夜神模拟器。 2、解决方…

鸿蒙HarmonyOS NEXT角落里的知识:ArkTS高性能编程实践

概述 本文主要提供应用性能敏感场景下的高性能编程的相关建议,助力开发者开发出高性能的应用。高性能编程实践,是在开发过程中逐步总结出来的一些高性能的写法和建议,在业务功能实现过程中,我们要同步思考并理解高性能写法的原理…

【Java】已解决java.nio.channels.ClosedChannelException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.nio.channels.ClosedChannelException异常 在Java的NIO(New I/O)编程中,java.nio.channels.ClosedChannelException是一个常见的异常…

韩国裸机云站群服务器托管租用方案

随着网络技术的飞速发展,站群服务器在网站运营中扮演着越来越重要的角色。韩国裸机云站群服务器,以其独特的优势,如地理位置优越、价格相对较低、技术实力雄厚等,吸引了众多企业的关注。本文将为您详细介绍韩国裸机云站群服务器的…

PostgreSQL配置SSL连接

1、系统需要有openssl、openssl-devel包 yum -y install openssl openssl-devel 2、查看当前数据库是否使用openssl编译 pg_config|grep CONFIGURE 如果没有重新编译 make clean make && make install 3、服务器端证书配置 服务器端需生成三个文件: root.crt(根证…

[RK-Linux] RK3562 I2C驱动TP芯片GSL3680

TP芯片GSL3680 1、简介 GSL3680是一款电容屏多点触摸控制单芯片,其芯片内部框架图如下所示: GSL3680采用了独特的互电容感应技术,可以在1ms内测量多达192个节点,支持广泛的传感器选择,包括单层或双层ITO,玻璃或薄膜,采用了先进的抗电磁干扰信号处理技术,使其对各种干…

新火种AI|Claude 3.5一夜封王超越GPT-4o!留给OpenAI的时间真的不多了...

AI大模型更新换代的速度,的确快到令人难以想象。 相信很多人现在对“最先进AI大模型”的印象还停留在GPT-4,但事实上,大模型领域的头把交椅早已悄然易主了好几回。就在GPT-4惊艳全球不久之后,其“死对头” Anthropic发布了Claude…

Tomcat基础详解

第一篇:Tomcat基础篇 lecture:邓澎波 一、构建Tomcat源码环境 工欲善其事必先利其器,为了学好Tomcat源码,我们需要先在本地构建一个Tomcat的运行环境。 1.源码环境下载 源码有两种下载方式: 1.1 官网下载 https://…

IDEA、PyCharm等基于IntelliJ平台的IDE汉化方式

PyCharm 或者 IDEA 等编辑器是比较常用的,默认是英文界面,有些同学用着不方便,想要汉化版本的,但官方没有这个设置项,不过可以通过插件的方式进行设置。 方式1:插件安装 1、打开设置 File->Settings&a…

ArcGIS实现不同地块分类与面积汇总

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 我们要做一个不同地块面积汇总! 你有一批地块,不同面积,我们需…

Android中的Audio系统框架分析(一)

概述 Audio系统是Android 平台重要的组成部分,我们将从以下几个方面来讲解: 一Audio基础知识讲解 二、Android系统中Audio框架 Audio基础知识讲解 我们大家知道声音是由物体振动产生的声波。是通过介质(空气或固体、液体)传播并…

python18 正则表达式

python18 正则表达式 正则表达式 re.match(),re.search(),re.findall(),re.sub(),re.split() 元字符 具有特殊意义的专用字符 导入模块 improt re代码 正则表达式 re.match(),re.search(),re.findall(),re.sub(),re.split() 元字符 具有特殊意义的专用字符 导入模块 improt rei…

内容安全复习 6 - 白帽子安全漏洞挖掘披露的法律风险

文章目录 安全漏洞的法律概念界定安全漏洞特征白帽子安全漏洞挖掘面临的法律风险“白帽子”安全漏洞挖掘的风险根源“白帽子”的主体边界授权行为边界关键结论 安全漏洞的法律概念界定 可以被利用来破坏所在系统的网络或信息安全的缺陷或错误;被利用的网络缺陷、错…

Linux系统查看程序内存及CPU占用

文章目录 1.free命令2.top命令3.PS命令3.1 查看内存占用前10位:3.2 查看CPU占用前10位 参考文档 1.free命令 可以通过free命令查看物理内存占用情况 #单位KB free #单位MB free -m #单位GB free -h 2.top命令 输入top命令,会输出定时刷新的程序PID、内…