查缺补漏----程序查询方式和中断方式计算题

news2024/11/18 17:42:29

1.程序查询方式

总结下来就是:

必须在外设传输完端口大小的数据时访问端口,以防止数据未被及时读出而丢失。

占CPU总时间:就是某段时间内设备用了多少时钟周期/PCU有多少个时钟周期
CPU的时钟周期数:就看主频,主频表示每秒有多少个时钟周期

设备每秒用了多少时钟周期:5*10^5*10*4

例题:

同理,200*500/50M=0.2%

这里的衡量单位不再是秒了,而是每400s,中断响应所允许的延迟时间不是中断响应的时间,所以用100ns/400ns=25%

2.程序中断方式

例题:

1s内能传输50kB数据,而接口缓冲寄存器只有32位(4B),所以1s需要中断50kB/4B=12500次

每秒设备用了多少时钟周期/每秒CPU有多少时钟周期:

12500*1000/1G=1.25%

3.DMA方式

题目无非是想告诉我们,对于高速设备的成组数据传输,适合使用DMA方式。

回顾一下真题:

主要是下面两道其他比较简单

(1)

① MIPS表示每秒可以执行多少百万条 指令:80/4=20M条指令

MIPS=主频/CPI,也就是1s的时钟周期数/每条指令的的时钟周期数

② 每秒执行20M条指令,访存20Mx1.5=30M次。Cache命中率为99%,故平均每秒cache缺失次数为30Mx(1-99%)=0.3M次=300K次

③ Cache缺失时,CPU访问主存,将要访问的数据所在的整个主存块调入Cache,则每秒需要调入300K(不命中的次数)x16B(每个块的大小)=4800KB,即主存带宽至少4.8MB/s

为什么是至少呢?

因为这个带宽仅仅满足了CPU的访存要求,Cache缺失时,不仅要将对应主存块调入Cache,还需要将数据调入CPU。这部分的带宽并没有算上。

再加上,如果有DMA控制器的话,不仅CPU要访存,DMA控制器也要访存,所以比这个带宽更大。

(2)

平均每秒Cache缺失次数为300K次,平均每秒产生的缺页异常次数=300Kx0.0005%=1.5次

外设准备好或接受完数据缓冲寄存器中的32位数据时由I/O/接口发出DMA请求,页面大小4KB,所以每秒需要调入的数据量为1.5x4KB=6KB

每准备好32bit数据就有一次DMA请求,故请求次数=6KB÷32bit=6KB÷4B=1.5K(这里的大小1024是)=1536

(3)

CPU和DMA控制器同时要求使用存储器总线时,DMA请求优先级更高。因为DMA请求得不到及时响应,I/O传输数据可能会丢失。

(4)每个存储体有相同的存储周期,采用交叉编址的方式,则连续访问的时候,每次访问的存储体都不同,一个存储体访问结束后,可以立即开始访问下一个存储体。

也就是可以采用流水线的模式:

这里问的是主存能提供的最大带宽,所以只需要考虑流水线充分流动起来的情况即可:

所以,翻译一下题目,每隔1/4T的存储周期都能取出一个字 :

主存能提供的最大带宽:32bit/(50ns/4)

也可以这样想:当个存储体带宽的四倍,即:

4x(32bit÷50ns)=320MB/s

(1)

这里是异步通信的数据格式:每传送一个字符需要传送1位起始位、7位数据位、1位校验位、1位停止位,共需传送10位。图中停止位可能有多位,例如1.5位,2位

每0.5ms可送入1个字符每秒可送入 1s/0.5ms=2000 个字符

(2)

从图中可以看出,中断服务程序的第15条指令外设就开始新的工作了(数据准备),后5条主要用于CPU中断返回,CPU中断返回和外设是并行工作的。

所以传送数据在虚线标的时间就完成了,而CPU参与的时间则是绿色线标的部分。

完成一次传输大约需要多少时钟周期?

主频50MHz,时钟周期为1/50MHz=20ns

0.5ms对应时钟周期数为0.5ms/20ns=25000

传送1个字符需要的时钟周期数为 25000+10(CPU响应)+15x4(CPU中断服务)=25070

传送1000个字符需要的时钟周期数为25070x1000=25070000。

CPU参与的时钟周期?

CPU用于该任务的时间大约为 1000x(10+20x4)=9x104个时钟周期,即绿色线部分的时钟周期。

(3)

中断隐指令:1.关中断         2.保存断点(PC)         3.引出中断服务程序

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

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

相关文章

记录Mybatis分页查询排序问题: Encountered unexpected token: “and“ “AND“

通过Page.addOrder设置了字段排序 执行的时候在 com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor#autoCountSql 方法中执行 CCJSqlParserUtil.parse Select select (Select) CCJSqlParserUtil.parse(sql);报错: failed to concat o…

YOLOv1–v11: 版本演进及其关键技术解析

最新消息:Yolo11发布最新版本2024.10 YOLO (You Only Look Once) 是一种高效的目标检测算法,自其初代发布以来,经过多次迭代,逐步提升了检测速度和精度。本文将详细介绍 YOLO 从 v1 到 v11 的各个版本,涵盖每个版本的发…

高性价比PCB分板机高速主轴SycoTec 4025 HY

德国 SycoTec 4025 HY 迷你型高速主轴以其悠久的历史、卓越的性能、良好的散热和长寿命,成为PCB分板的高性价比选择。 一、4025 HY亮点 1.悠久历史与 拥有 50 多年的应用历史,被称为 “主轴之母”,充分证明了其在行业中的可靠性和稳定性。 …

人工智能 | 手工测试用例转Web自动化测试生成

简介 在传统编写 Web 自动化测试用例的过程中,基本都是需要测试工程师,根据功能测试用例转换为自动化测试的用例。市面上自动生成 Web 或 App 自动化测试用例的产品无非也都是通过录制的方式,获取操作人的行为操作,从而记录测试用…

迎国庆,开源完全免费工作流引擎AntFlow 0.9最强版本发布,支持tidb,提升易用性and more...

AntFlow是一款前端仿钉钉的企业级工作流引擎。后端既可嵌入到现有业务系统,也可以做为独立的流程引擎中台部署(SAAS模式)。嵌入业务系统模式已经在笔者所在企业使用多年,功能丰富,能适多种国产办公场景;简单…

sql-labs靶场第一关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、寻找注入点 2、注入数据库 ①Order by判断列数 ②判断回显地方 ③爆库,查看数据库名称 ④爆表,查看security库的所有表 ⑤爆列,查看users表的所有…

【CKA】五、网络策略–NetworkPolicy

5、配置网络策略–NetworkPolicy 1. 考题内容: 2. 答题思路: 1、根据题目分析要创建怎样的网络策略 2、按题目要求查看ns corp-net的label 3、编写yaml,其中注意 namespace、label、port 3. 官网地址: https://kubernetes.io/…

【EXCEL数据处理】000011 案列 EXCEL带有三角形图标的单元格转换

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000011 案列 EXCEL带有三角形图标的单元格转换。使用…

数据结构-4.3.串的存储结构

一.串的顺序存储: 1.静态数组会由系统自动回收;动态数组需要手动回收; 2.优点:随机存取,可以立即找到所需的字符;缺点:插入和删除较麻烦; 3.串的顺序存储方案: 对于方…

双指针--收尾的两道题

双指针 (封面起到吸引读者作用,和文章内容无关哈,但是文章也是用心写的) 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums…

面向代理的从单体到基于服务架构的转变的好处

论文标题:《Benefits of Agent-Oriented Transitioning from Monolithic To Service-Based Architectures》 作者信息: Daniel-Costel Bouleanu, University of Craiova, Romania; Polytechnic of Bari, ItalyMarco Alfredo Loaiza Carrillo, Universi…

根据视频id查询播放量

声明:文章仅用于学习交流,如有侵权请联系删除 如何根据视频ID查询视频的播放数量 在数字化时代,视频内容的消费已成为人们日常生活的重要组成部分。无论是社交媒体平台上的短视频,还是视频分享网站上的长视频,了解视频的播放数量…

TryHackMe 第5天 | Pre Security (四)

该学习路径讲解了网络安全入门的必备技术知识,比如计算机网络、网络协议、Linux命令、Windows设置等内容。过去三篇已经对前三块内容进行了简单介绍,本篇博客将记录 Windows设置 部分。 Windows Fundamentals Part 1 对于 Windows ,肯定会感…

只需10秒,昂首资本发现短线交易4个优点

在金融市场,短线交易已经成为投资者追求高效收益的重要工具。那么,这种交易的本质究竟是怎样的?以下是昂首资本对短线交易的深入解析,以及其优缺点的详细分析。 短线交易的本质可以这样描述:交易会有相当小的止损&…

LeetCode 983.最低票价

在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年时间里,你要旅行的日子将以名为 days 的数组给出。每一项是一个 1 到 365 的整数。 火车票有三种不同的销售方式: 一张为期一天的通行证售价为cost[0]美元 一张为…

Stable Diffusion绘画 | 来训练属于自己的模型:素材准备篇

首先要说明的是,模型训练,需要显卡持续不间断地一致运行, 快则0.5-1小时左右,慢的话可能需要跑上几小时,甚至是几天, 原因跟显卡的配置和训练设置参数都有关系。 模型训练与显卡配置: 训练 L…

从零开始搭建UVM平台(七)-加入monitor

书接上回: 从零开始搭建UVM平台(一)-只有uvm_driver的验证平台 从零开始搭建UVM平台(二)-加入factory机制 从零开始搭建UVM平台(三)-加入objection机制 从零开始搭建UVM平台(四&…

sadTalker本地编译

SadTalker一款开源的可生成逼真的人像动画的工具。它利用深度学习技术,根据输入的图像和音频,生成具有生动表情和动作的视频。用户可以通过上传照片或使用预设的模型,轻松创建个性化的动画内容. 以上是官网的图, 下边是本地部署生成的,效果差…

Vue+NestJS项目实操(图书管理后台)

一、项目搭建 前端基于vben进行二次开发 在Github下载vben框架,搜索vben即可 下载地址:https://github.com/vbenjs/vue-vben-admin 下载完成后,进行安装依赖,使用命令: // 下载依赖 pnpm install// 运行项目 pnpm …

麒麟系统命令失效快速修复

麒麟系统命令失效快速修复 1、问题描述2 问题原因3、解决方法 💐The Begin💐点点关注,收藏不迷路💐 1、问题描述 麒麟操作系统中,所有命令突然无法使用。 2 问题原因 /usr目录权限可能被错误修改。 3、解决方法 准…