软件设计师学习笔记7-输入输出技术+总线+可靠性+性能指标

目录

1.输入输出技术

1.1数据传输控制方式

1.2中断处理过程

2.总线

3.可靠性

3.1可靠性指标

3.2串联系统与并联系统

3.3混合模型

4.性能指标


1.输入输出技术

即CPU控制主存与外设交互的过程

1.1数据传输控制方式

(1)程序控制(查询)方式:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/0能力不高,严重影响CPU的利用率。

其中,无条件传送是系统默认所有I/0都是准备好的,直接开始操作;而程序查询是CPU每一次都去询问各个I/O设备是否准备好,只要有一个设备没准备好就要重复查询,所以严重影响CPU利用率

(2)程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。(即数据的传输与CPU是一个并行的过程)

简单来讲就是,老师(CPU)上课讲课,让你做笔记,你做笔记的过程不影响老师继续讲课,只需要做完告诉老师即可

(3)DMA方式:DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。(DMAC向总线裁决逻辑提出总线请求;CPU执行完当前总线周期即可释放总线控制权。此时DMA响应,通过DMAC通知I/0接口开始DMA传输)

简单来讲,就是DMA相当于助教,CPU只负责初始化,DMA打工就行

(4)效率:I/O处理机 > 通道方式 > DMA方式 > 程序中断方式 > 程序控制(查询)方式

前两者知道有这个东西就行

1.2中断处理过程

(1)CPU无需等待也不必查询I/0状态

(2)当I/0系统准备好以后,发出中断请求信号通知CPU

(3)CPU接到中断请求后,保存正在执行程序的现场(用栈保存现场),打断的程序当前位置即为断点

(4)(通过中断尚量表)转入I/O中的服务程序的执行,完成I/O系统的数据交换(中断向量表用于保存中断服务程序的入口地址)

(5)返回被打断的程序继续执行(恢复现场)

2.总线

一条总线同一时刻仅允许一个设备发送,但允许多个设备接收。(分时双工,性能不是很高)

总线的分类:

数据总线(DataBus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。

地址总线(AddressBus):用来指定在RAM(RandomAccessMemory)之中储存的数据的地址。

控制总线(ControlBus):将微处理器控制单元(ControlUnit)的信号,传送到周边设备。

3.可靠性

3.1可靠性指标

平均无故障时间:MTTF = 1 / λ, λ为失效率

平均故障修复时间:MTTR = 1 / μ, μ为修复率

平均故障间隔时间:MTBF = MTTR + MTTF

系统可用性 = MTTF / MTBF * 100%

在实际应用中,一般MTTR很小,所以通常认为MTBF ≈ MTTF

可靠性可以用MTTF / (1 + MTTF)来度量

3.2串联系统与并联系统

跟物理上的电路差不多,其中方块为系统中的某一个部件

(1)串行系统

该图片来自希赛软考

R = R1 * R2 * …… * Rn,其中R为可靠性

(2)并行系统

通过部件的冗余来提高容错性和可靠性

该图片来自希赛软考

R = 1 - (1 - R1) * (1 - R2) * …… * (1 - Rn),其中R为可靠性

3.3混合模型

该图片来自希赛软考

4.性能指标

(1)字长和数据通路宽度

字长:表示计算机一次能够读取的数据长度

数据通路宽度:指一次性数据线路能够通过的数据量

两者一般以bit为单位

(2)主存容量和存取速度

主存容量:eg:在16 G + 512 G的电脑里,主存就是16 G

存取速度:从主存读数据到读完回来,完成该操作的时间

(3)运算速度

运算速度是指计算机系统处理数据和执行指令的速度。主要由主频和浮点运算速度决定。

(5)吞吐量与吞吐率

吞吐量:某一个时间间隔内所完成的任务量

吞吐率:单位时间内完成的任务量

(6)响应时间(RT)(Response Time)与完成时间(TAT)

响应时间:从提交请求到完成请求的时间

(7)兼容性

一般为向下兼容

(8)主频与CPU时钟周期

主频:eg: 2.4 GHz表示一秒内能够有2.4 G次脉冲

CPU时钟周期 = 1 / 主频

(9)CPI(clock per instruction)与IPC(instruction per clock)

CPI:平均每条指令的平均时钟周期个数

IPC:每(时钟)周期运行指令条数

(10)MIPS(Million Instruction Per Second)与MFLOPS(Million Floating-point Operations per Second)

MIPS:百万条指令每秒

MIPS = 指令条数 / (执行时间 * 10 ^ 6) = 主频 / CPI = 主频 * IPC

MFLOPS:每秒百万个浮点操作

MFLOPS = 浮点操作次数 / (执行时间 * 10 ^ 6)

注:此处的指令条数和浮点操作次数都是以百万为单位,所有需要除以10 ^ 6

声明:笔记内容参考自希赛软考

上一篇:软件设计师学习笔记6-存储系统

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

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

相关文章

VScode使用SSH连接linux

1、官网下载和安装软件 https://code.visualstudio.com/Download 2、安装插件 单击左侧扩展选项,搜索插件安装 总共需要安装的插件如下所示 3、配置连接服务器的账号 安装完后会在左侧生成了远程连接的图标,单击此图标,然后选择设置图标…

JDK介绍

JDK,JRE和JVM之间的关系 JVM是运行环境,JRE是含运行环境和相关的类库,跟node环境是一个意思 JDK目录介绍 目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件include该路径下存放了一些…

裸露土堆识别算法

裸露土堆识别算法首先利用图像处理技术,提取出图像中的土堆区域。裸露土堆识别算法首通过计算土堆中被绿色防尘网覆盖的比例,判断土堆是否裸露。若超过40%的土堆没有被绿色防尘网覆盖,则视为裸露土堆。当我们谈起计算机视觉时,首先…

BUGFix:onnx -> TensorRT转换过程失败

先附上相关的onnx2trt的部分代码&#xff1a; def onnx2trt(onnx_path):logger trt.Logger(trt.Logger.ERROR)builder trt.Builder(logger)network builder.create_network(1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH))parser trt.OnnxParser(netw…

删除ubuntu开始菜单中的图标

背景 本来是很好看干净的界面 更新谷歌浏览器后出现了Gmail&#xff0c;幻灯片&#xff0c;谷歌硬盘等跟谷歌相关的乱七八糟东西搞得界面就很丑 解决问题 删掉那个图标 输入命令 sudo nautilus /usr/share/applicationssudo nautilus ~/.local/share/applications可以…

react18+antd5.x(1):Notification组件的二次封装

antdesign已经给我们提供了很好的组件使用体验,但是我们还需要根据自己的项目业务进行更好的封装,减少我们的代码量,提升开发体验 效果展示 开起来和官网的使用没什么区别,但是我们在使用的时候,进行了二次封装,更利于我们进行开发 MyNotification.jsx,是我们的业务页面…

内存管理框架 --- 基础知识

文章目录 一、内存管理1.1 内存管理的出现1.2 内存管理的用途1.2.1 虚拟内存和物理内存的定义1.2.1.1 什么是虚拟内存&#xff1f; 1.2.2 虚拟内存的划分&#xff1a;用户空间与内核空间 1.3 操作系统和MMU1.3.1 OS和MMU的关系1.3.2 虚拟地址到物理地址的映射流程 1.4 物理内存…

Unity 类Scene窗口相机控制

类Scene窗口相机控制 &#x1f354;效果 &#x1f354;效果 传送门&#x1f448;

【网络基础实战之路】基于三层架构实现一个企业内网搭建的实战详解

系列文章传送门&#xff1a; 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 【网络基础实战之路】基于…

oracle 12c怎样修改varchar2允许的最大长度

12C单实例测试&#xff0c;varchar2在早期版本中最大长度限制为4000&#xff0c;当字段长度指定的比较长的时候会报错&#xff1a;ORA-00910: specified length too long for its datatype。 早期版本中虽然SQL数据类型限制为4000&#xff08;如表中的列的varchar2类型&#x…

spring cloud gateway中出现503

spring cloud gateway中出现503 当搭建网关模块的时候出现503的错误的最大的可能就是没有设置负载均衡的依赖包 原先搭建的时候采用的是下面的方式进行设置的 gateway:discovery:locator:enabled: true #可以从nacos进行服务的发现 上面的这种方式可以直接进行注册和发现&…

机器学习实战14-在日本福岛核电站排放污水的背景下,核电站对人口影响的分析实践

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战14-在日本福岛核电站排放污水的背景下,核电站对人口影响的分析实践。 近日&#xff0c;日本政府举行内阁成员会议&#xff0c;决定于2023年8月24日启动福岛核污染水排海。当地时间2023年8月24日13时&am…

带你了解Python的重要性,就算做测试也要会Python(文末送书)

名字:阿玥的小东东 学习:Python、C/C++ 主页链接:阿玥的小东东的博客_CSDN博客-python&&c++高级知识,过年必备,C/C++知识讲解领域博主 目录 人生苦短,我用 Python 在测试工作中用好 Python

若依上传文件及后端解析

1.前端设计导入 <!-- 用户导入对话框 --><el-dialog :title"upload.title" :visible.sync"upload.open" width"400px" append-to-body><el-upload ref"upload" :limit"1" accept".xlsx, .xls" :he…

JAVA中如何知道某项目使用什么数据库类型

文章目录 1. 前言2. 先说结论3. 代码案例 1. 前言 最近在写第三方工具的时候&#xff0c;需要判断使用方项目具体使用了什么数据库类型&#xff0c;从而进行不一样的实现逻辑。当然可以让用户在YML中配置说明项目用什么数据库&#xff0c;但用户不一定填写正确。因此需要想其他…

【C语言】操作符大全(保姆级介绍)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;C语言 &#x1f525;该篇将详细介绍各种操作符的功能。 目录&#xff1a; &#x1f4d8; 前言① 算术操作符②移位操作符③位操作符④赋值操…

go-基础-1-变量-记录

go 变量 变量定义 var 变量名 变量类型 变量赋值 var 变量名 变量类型 变量值 变量名 : 变量值 package mainimport "fmt"func main() {var name string "chang"fmt.Println(name) }package mainfunc main() {var (name stringage intsex string…

深度思考线程池面经之二:jdk线程池设计答疑

2 疑问 2.1 这里的“只有当线程池是无界的或者可以拒绝任务时&#xff0c;该队列才有实际价值”&#xff0c;为什么这么说 SynchronousQueue是一种特殊的队列&#xff0c;它不保留任务&#xff0c;而是直接将任务移交给工作线程。这种队列适合于执行大量生命周期非常短的异步…

基于微信小程序的宠物领养平台的设计与实现(Java+spring boot+微信小程序+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于微信小程序的宠物领养平台的设计与实现&#xff08;Javaspring boot微信小程序MySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java…

RT-Thread 线程管理(学习一)

RT-Thread是支持多任务的操作系统&#xff0c;多任务通过多线程的方式实现。线程是任务的载体&#xff0c;也是RTT中最基本的调度单位。 线程执行时的运行环境称为上下文&#xff0c;具体来说就是各个变量和数据&#xff0c;包括所有的寄存器变量、堆栈、内存信息等。 特点 …