计算机组成原理(五)
一、链式查询方式

接口的优先级固定不变
在链式查询的情况下,设备的优先级通常与其在链中的位置有关。具体来说,越靠近查询链的起始位置的设备通常具有较高的优先级,而越靠近链的末尾位置的设备优先级较低。
优点:
- 简单实现:链式查询可以通过简单的硬件逻辑或软件控制实现,无需复杂的总线仲裁机制。
- 低成本:相比于其他总线访问方式,链式查询的硬件成本较低,适用于成本敏感型应用。
- 适用于少量设备:对于少量设备的系统,链式查询是一种有效的管理方式,可以简化系统设计和管理。
缺点:
-
响应时间不稳定:由于设备的查询顺序是固定的,靠近链起始位置的设备响应时间较短,而靠近链末尾位置的设备响应时间较长,导致整体响应时间不稳定。
-
单点故障影响大:如果链中的某个设备发生故障,可能会影响整个链式查询系统的正常工作。
-
不适用于大规模系统:对于大规模设备的系统,链式查询可能会导致查询时间过长,降低系统性能。
适用场景:
- 小型系统:链式查询适用于设备数量较少的小型系统,例如家庭电器控制系统、嵌入式系统等。
- 低成本应用:由于链式查询的硬件成本低,适用于成本敏感型应用,例如消费类电子产品、嵌入式控制器等。
二、计数器定时查询方式

可以通过软件修改计数器的初始值,改变调用接口的优先级
地址线:
通过地址线,CPU可以确定要访问的内存或 I/O 设备的地址范围。例如,如果一个系统有 16 条地址线,那么它可以访问的地址范围为 2^16,即 0 到 65535。地址线不直接指向特定的设备,而是用于选择地址范围。
设备地址:
设备地址是特定的 I/O 设备在系统中的地址位置。这个地址通常是由设备的控制器或系统配置确定的,不同的设备有不同的地址。当 CPU 决定要访问某个 I/O 设备时,它会发送相应的地址信号,选择要与之通信的设备地址。
地址线用于选择要访问的地址范围,而设备地址用于选择具体的 I/O 设备。CPU可以通过地址线确定要访问的地址范围,然后通过发送设备地址来选择特定的 I/O 设备进行通信。
不过上面这两种都是按顺序进行查找的,这个速度依然慢
三、独立请求方式

可以通过修改排队器,改变调用接口的优先级
缺点:使用的线太多了
—————————————————————————————————————————————————————————————



数据传输的每个阶段都严格按照定宽、定距的时钟信号进行同步,确保数据的采样和传输在预定的时刻进行。
固定的时刻进行固定的操作。
-
T1上升沿:
CPU给出地址信号,指定要访问的设备或内存位置。 -
T2上升沿:
在此期间,数据的读取准备工作在进行。CPU向外设发送读信号,指示其准备好接受数据。 -
T3上升沿:
外设将数据通过数据总线发送给CPU,CPU准备接收数据。 -
T4上升沿:
在T4上升沿时,CPU撤销控制(读)信号和数据信号,表示数据传输过程的结束。 -
T4结束时:
CPU撤销地址信号,表示数据输入过程的结束。

-
T1上升沿:
CPU给出地址信号,指定要从中读取数据的设备或内存位置。 -
T1下降沿:
外设在T1下降沿时,准备好数据并开始将数据发送到数据总线上。 -
T2上升沿:
CPU给出写命令,指示外设进行数据写入。 -
T2至T3上升沿之间:
外设进行写入操作,将数据写入到指定的设备或内存位置。 -
T4上升沿:
CPU撤销数据信号和写命令信号,表示数据写入过程的结束。 -
T4结束时:
CPU撤销地址信号,表示数据输出过程的结束。

异步通信是一种数据传输方式,其中发送方和接收方的时钟信号不同步。在异步通信中,数据的传输不依赖于定时的时钟信号,而是通过特定的起始位和停止位来标识数据的开始和结束。
不互锁(Non-Handshaking):
在不互锁的异步通信中,发送方和接收方之间没有任何确认或应答信号。发送方发送数据后,不等待接收方的确认,而是直接继续发送下一个数据。
这种方式简单直接,但可能会存在数据丢失或传输错误的风险。
半互锁(Half-Duplex Handshaking):
在半互锁的异步通信中,发送方在发送数据后会等待接收方发送确认信号。一旦接收方接收到数据并进行处理,就会发送一个确认信号给发送方。
这种方式可以确保数据的可靠传输,但仍存在一定的风险,如接收方无法及时发送确认信号导致数据丢失。
全互锁(Full-Duplex Handshaking):
在全互锁的异步通信中,发送方和接收方之间进行完全的双向确认。发送方在发送数据后会等待接收方发送确认信号,同时接收方在接收到数据后会发送一个确认信号给发送方。
这种方式提供了最高级别的数据传输可靠性和稳定性,确保了数据的完整性和准确性。

-
T1上升沿:
CPU给出地址信号,指定要访问的设备或内存位置。 -
T2上升沿:
CPU给出读信号 -
在T3开始之前:
从设备如果不能把数据准备好
通过wait信号给出一个低电平,告诉CPU进行等待
CPU检测wait信号是低电平,就会在T3到来之前,插入Tw
在下一个时钟周期开始之前,继续检测wait信号是否是高电平,否则重复上述操作
高电平则是,数据已经在数据总线上了,CPU可以进行数据接收 -
T3周期:
CPU开始接收数据 -
T4周期开始时:
CPU撤销读命令信号和数据信号,表示数据传输过程的结束 -
T4周期结束时:
CPU撤销地址信号,表示数据输入过程的结束。
上诉三种的缺点如下图,总线会空闲,导致资源浪费

相关文章:
计算机组成原理(五)
一、链式查询方式 接口的优先级固定不变 在链式查询的情况下,设备的优先级通常与其在链中的位置有关。具体来说,越靠近查询链的起始位置的设备通常具有较高的优先级,而越靠近链的末尾位置的设备优先级较低。 优点: 简单实现&am…...
后端项目实战--瑞吉外卖项目软件说明书
瑞吉外卖项目软件说明书 一、项目概述 瑞吉外卖项目是一个外卖服务平台,用户可以通过该平台浏览餐厅菜单、下单、支付以及追踪订单状态。产品原型就是一款产品成型之前的一个简单的框架,就是将页面的排版布局展现出来,使产品得初步构思有一…...
LeetCode | 27.移除元素
这道题的思路和26题一模一样,由于要在元素组中修改,我们可以设置一个index表示目前要修改原数组的第几位,由于遍历,访问原数组永远会在我们修改数组之前,所以不用担心数据丢失的问题,一次遍历数组ÿ…...
为什么要选择AWS?AWS的优势有哪些?
亚马逊云服务器(Amazon Web Services,AWS)是全球领先的云计算服务提供商之一,其提供的云服务器是在全球范围内可用的弹性计算服务。对于很多用户来说,他们可能会担心亚马逊云服务器是否会对服务器的使用进行限制。以下…...
【Intel CVPR 2024】通过图像扩散模型生成高质量360度场景,只需要一个语言模型
在当前人工智能取得突破性进展的时代,从单一输入图像生成全景场景仍是一项关键挑战。大多数现有方法都使用基于扩散的迭代或同步多视角内绘。然而,由于缺乏全局场景布局先验,导致输出结果存在重复对象(如卧室中的多张床࿰…...
postman教程-21-Newman运行集合生成测试报告
上一小节我们Postman Newman的安装方法,本小节我们讲解一下Postman Newman的具体使用方法。 使用Newman运行集合 1、导出Postman集合: 在Postman中,选择你想要运行的集合,然后点击“导出”按钮,选择导出为“Collect…...
基于条件谱矩的时间序列分析(以轴承故障诊断为例,MATLAB)
谱矩方法可以对数据的表面形貌做较为细致的描述.它以随机过程为理论基础,用各阶谱矩及统计不变量等具体的参数表征表面的几何形态,算术平均顶点曲率是一种基于四阶谱矩的统计不变量。 鉴于此,采用条件谱矩方法对滚动轴承进行故障诊…...
ArcGIS Pro 3.0加载在线高德地图
1、打开ArcGIS Online官网,登录自己的账号,登录后效果如下图所示 官网地址:https://www.arcgis.com/home/webmap/viewer.html 2、点击Add,选择Add Layer from Web,如下图所示 3、在显示的Add Layer from Web页面内&am…...
服务器防漏扫,主机加固方案来解决
什么是漏扫? 漏扫是漏洞扫描的简称。漏洞扫描是一种安全测试方法,用于发现计算机系统、网络或应用程序中的潜在漏洞和安全弱点。通过使用自动化工具或软件,漏洞扫描可以检测系统中存在的已知漏洞,并提供相关的报告和建议…...
Linux2(基本命令2)
目录 一、文件类型分类 二、基本命令 1. find 帮助查询 2. stat 查看文件的信息 3. wc 统计文本 4. 查看文本内容 4.1 cat 4.2 more 4.3 less 4.4 head 4.5 tail 5. cal 显示日历 6. date 显示时间 7. du 文件大小 8. ln 链接 软链接 硬链接 区别 9. history…...
拼团+秒杀+优惠折扣+个人免签双端商城源码
源码说明 可用拼团秒杀优惠折扣个人免签双端商城源码,全功能完美双端,对接个人免签支付。 这款商城源码非常完整,整体也非常简洁,功能全面,没有那么多冗杂的多余页面和无用代码,拿到后优化了下整体代码&a…...
【数据结构】双向链表(C语言)
哈喽铁子们,这里是博主鳄鱼皮坡。这篇文章将分享交流双向链表的相关知识,下面正式开始。 1. 双向链表的结构 注意:这里的“带头”跟前面我们说的“头节点”是两个概念,实际前面的在单链表阶段称呼不严 谨,但是为了老…...
【TensorFlow深度学习】WGAN与DCGAN在图像生成中的应用实例
WGAN与DCGAN在图像生成中的应用实例 WGAN与DCGAN在图像生成中的应用实例:一场深度学习的视觉盛宴DCGAN简介WGAN简介应用实例:基于DCGAN的图像生成应用实例:WGAN的图像生成实践结语 WGAN与DCGAN在图像生成中的应用实例:一场深度学习…...
垫付商贩任务补单平台补单系统网站源码提供
垫付商贩任务补单平台补单系统网站源码提供...
vue富文本wangeditor加@人功能(vue2 vue3都可以)
依赖 "wangeditor/editor": "^5.1.23", "wangeditor/editor-for-vue": "^5.1.12", "wangeditor/plugin-mention": "^1.0.0",RichEditor.vue <template><div style"border: 1px solid #ccc; posit…...
######## redis各章节终篇索引(更新中) ############
其他 父子关系(ctx、协程)#### golang存在的父子关系 ####_子goroutine panic会导致父goroutine挂掉吗-CSDN博客 参数传递(slice、map)#### go中参数传递(涉及:切片slice、map、channel等) ###…...
一个基于MySQL的数据库课程设计的基本框架
数据库课程设计(MySQL)通常涉及多个步骤,以确保数据库的有效设计、实现和维护。以下是一个基于MySQL的数据库课程设计的基本框架,结合参考文章中的相关信息进行整理: ### 一、引言 * **背景**:简要介绍为…...
架构设计基本原则
开闭原则 开闭原则(Open Closed Principle,OCP)是面向对象编程(OOP)中的一个核心原则,主要强调的是软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。 解释&…...
云原生应用开发培训,开启云计算时代的新征程
在云计算时代,云原生应用开发技术已经成为IT领域的热门话题。如果您想要转型至云原生领域,我们的云原生应用开发培训将帮助您开启新征程。 我们的课程内容涵盖了云原生技术的基础概念、容器技术、微服务架构、持续集成与持续发布(CI/CD&#…...
【数据库设计】宠物商店管理系统
目录 🌊1 问题的提出 🌊2 需求分析 🌍2.1 系统目的 🌍2.2 用户需求 🌻2.2.1 我国宠物行业作为新兴市场,潜力巨大 🌻2.2.2 我国宠物产品消费规模逐年增大 🌻2.2.3 我国宠物主选…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
