【复习笔记】计算机组成原理复习重点——篇五

news2024/11/23 2:22:42

计算机组成原理复习重点笔记

第5章 输入输出系统

5.1 概述

  • 外部设备:包括输入/输出设备及通过输入/输出接口才能访问的外存储设备。
  • 接口:外设与主机之间数据传输时完成速度匹配、格式转换等工作的逻辑部件。
  • 输入设备:键盘鼠标
  • 输出设备:显示器打印机
  • 外存设备:除寄存器、缓存、内存以外的辅助存储器。

5.1.1 输入输出系统的发展概况

  1. 程序查询方式

CPU 和 I/O设备串行工作

  1. DMA 阶段(中断方式,DMA 方式)

CPU 和 I/O设备并行 工作

  1. 具有通道结构的阶段
  2. 具有 I/O 处理机的阶段
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 程序查询方式
  • CPU通过程序不断查询I/O设备是否做好准备,直到准备好才传送数据。
  • CPU 和 I/O 串行工作,查询期间CPU踏步等待,效率低。
    在这里插入图片描述
    在这里插入图片描述
  1. 程序中断方式
  • CPU启动I/O设备后,不查询设备状态,继续执行自身程序,设备就绪后向CPU发出中断请求,CPU予以响应,执行中断服务程序,完成数据交换。
    在这里插入图片描述
    程序中断方式流程
    在这里插入图片描述
    在这里插入图片描述
  1. DMA 方式
  • 主存和 I/O 之间有一条直接数据通道,不中断现行程序,可直接传送数据。
  • 当CPU和DMA同时访存时,周期挪用(周期窃取)。
  • CPU 和 I/O 并行工作。
    在这里插入图片描述在这里插入图片描述

5.2 外部设备

5.2.1 概述

在这里插入图片描述

5.2.2 输入设备

在这里插入图片描述

5.2.3 输出设备

在这里插入图片描述

5.2.4 其它

在这里插入图片描述

5.2.5 多媒体设备

在这里插入图片描述

5.3 I/O接口

5.3.1 I/O接口的功能

为了实现主机与外设之间的匹配。

  • 实现设备的选择
  • 实现数据缓冲达到速度匹配
  • 实现数据串-并、A/D、电平转换
  • 传送控制命令
  • 反映设备的状态(“忙”、“就绪” )
    在这里插入图片描述
    在这里插入图片描述

5.3.2 I/O 接口的基本组成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.4 程序查询方式(自学)

5.5 程序中断方式

5.5.1 中断的概念

在这里插入图片描述

5.5.2 I/O 中断的产生

在这里插入图片描述
程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,转去对这些异常情况或特殊请求进行处理,处理完毕后,CPU自动返回到现行程序的断点处,继续执行原程序。

  1. 基本概念
  • 中断:CPU中止正在执行的程序,转去处理随机提出的请求,处理完,再返回刚才的程序继续执行,这个过程叫中断。
  • 中断处理是通过具体执行中断服务程序来对中断源进行处理的过程。
  • 中断系统:响应和处理各种中断的软硬件总体。
  • 中断源:引起中断的各种事件。
  • 中断请求:中断源向中断系统发出请求中断的申请。
  • 中断响应:允许CPU 中止正在执行的程序,转去处理引起中断的各种事件。
  1. 外中断和内中断
  • 外中断:是指来自CPU和内存以外的部件引起的中断,如I/O设备发出的I/O中断、外部信号中断(如按下Esc)、各种定时器引起的时钟中断。
  • 內中断:是指来自CPU和内存内部引起的中断,主要是程序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问控制错、算数运算溢出、数据格式非法、除数为零、非法指令、用户程序执行特权指令、分时系统中时间片中断、用户态到管态的切换等。
  • 硬件中断:通过外部硬件产生的中断,属于外中断。
  • 软件中断:通过指令编程实现的中断,属于內中断。
  1. 中断判优
  • 一般的高性能系统,系统的中断源个数可能多达数十甚至数百个,为简化硬件的复杂度,宜将性质接近的中断源分成类。
  • 不同类的中断,就要根据中断类的性质、紧迫性、全局性、重要性及软件处理的方便性等,再将它们分成不同的中断响应优先级,让级别高的中断类能优先得到响应
  • 中断判优由中断排队器实现。
  1. 中断隐指令

CPU响应中断请求后,经过某些操作,转去执行中断服务程序。这些操作优硬件直接完成,称为中断隐指令。这些操作包括:

(1)关中断。为了保证本次中断响应过程不受干扰,CPU进入中断周期后,立即关中断。
(2)保存断点。将程序计数器的内容压栈保存。
(3)获取中断服务程序入口地址,传给程序计数器,引出中断服务程序。

  1. 中断向量

每个中断服务程序都有一个入口地址,即中断向量。
系统中将所有的中断向量集中存放到某个存储区域,称为中断向量表。
CPU通过查表获取中断向量。

  1. 中断处理过程

(1)关中断。确保保护现场顺利进行。
(2)保护断点。保证中断处理完能够返回,继续执行原程序。
(3)引出中断服务程序。
(4)保护现场。程序状态字、中断屏蔽寄存器、CPU中某些寄存器的内容。
(5)开中断。允许更高级的中断请求得到响应,中断嵌套。
(6)执行中断服务程序。
(7)关中断。
(8)恢复现场。
(9)开中断,返回。

  1. 中断嵌套
  • 中断嵌套指的是新的中断请求中断了CPU正在执行的中断处理程序。
  • 中断嵌套的原则:正在执行的中断处理程序,应当屏蔽与之同级或比之低级的中断请求。
  • 用户程序的级别最低,任何中断请求都能中断用户程序的运行;
  • 中断处理程序结束后,启用“从哪里来回那里去”机制。
  1. 通过中断屏蔽技术设置中断处理次序

为了能动态地调节中断处理程序实际执行完的次序,即中断处理次序,在中断级请求源与中断响应排队器的入口端之间又加设了一个中断级屏蔽位寄存器和相应的控制门电路硬件。
在这里插入图片描述

中断级屏蔽字寄存器中的每一个中断级屏蔽位可以控制让相应等级的中断请求能否进入中断响应排队器去参加排队。只要能进入中断响应排队器的中断请求,总是让其中级别相对高的优先得到响应。

  1. 中断屏蔽位举例
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

程序中断和子程序的区别:

(1) 发生时刻。调用子程序的时间是已知的,有程序员实现安排的;发生中断的时刻是随机的,有系统工作环境决定。
(2)和被打断的程序关系不同,主程序和子程序是主从关系,被中断的程序和中断服务程序可能没有任何关系;
(3)进入方式不同,子程序通过执行CALL指令进入,完全属于软件行为,中断服务程序通过执行中断隐指令进入,软硬件结合;
(4)程序中断比子程序调用更复杂。

5.6 DMA方式

5.6.1 DMA

程序中断方式由于要切换程序,不适合高速外设大批量数据传输,因此,在计算机中设置了DMA方式,在外设和主存之间直接传输数据。

  • DMA(Direct Menory Access,直接存储器访问)DMA占用总线,在DMAC控制下,存储器和输入输出设备之间直接传送数据,不需要CPU运行指令或程序来干预。
  1. DMA硬件组织

DMA方式依靠硬件来完成数据传送,其硬件比程序查询和程序中断方式要复杂。现在的计算机将DMA控制器和DMA接口分离。
DMA控制器负责申请、接管总线的控制权,发出传送命令和主存地址,控制DMA传送的开始与终止,可以通用。
DMA接口实现与设备的连接和数据缓冲,反映设备的特定要求。

  1. DMA的传送方式

数据传输的基本单位是数据块。每次DMA请求被批准后,CPU让出一个或几个总线周期来传送数据,也叫周期挪用、周期窃取。
DMA 申请访问主存时,有三种可能:

  • CPU 此时不访存,那么DMA获得总线使用权。
  • CPU 正在访存,当前存储周期结束后, DMA获得总线使用权。
  • CPU 与 DMA 同时请求访存,DMA优先访问。

5.6.2 DMA 接口组成

在这里插入图片描述

5.6.3 DMA 的工作过程

在这里插入图片描述
数据传送过程(输入)
在这里插入图片描述
DMA 方式与程序中断方式的比较
在这里插入图片描述

5.6.4 DMA 接口的类型

  1. 选择型
    在这里插入图片描述
  2. 多路型
    在这里插入图片描述

5.7 通道方式

在这里插入图片描述
1、通道的分类及相应的数据宽度

在通道的数据传送期内,根据信息传送所采取的方式不同,通道又可被分为字节多路、数组多路和选择3类。

设通道所连接的p台设备均已启动,且在数据传送期内,选择使用当前通道总线来传送数据的设备所需要的时间为TS,通道传送一个字节数据所需要的时间为TD,则每台设备都要传送n个字节数据时的工作时间示意图如下所示:

字节多路通道
在这里插入图片描述
在这里插入图片描述

数组多路通道

① 选中一台设备后,设备只传送k字节成组数据,然后释放总线;
② 各设备轮流传送;
③ 设备要传送n字节数据,需经[n/k]次申请使用通道总线;
④ t=p·(Ts+kTD)·[n/k]
⑤ 适用于连接多台高速设备,如磁盘,k=512B,一般地k<n;
⑥ 通道的数据宽度为k字节。

在这里插入图片描述
选择通道

① 选中一台设备后,设备独占通道,传送外所有数据后释放才总线;
② 各设备轮流传送;
③ 设备要传送n字节数据,只需1次申请使用通道总线;
④ t=p·(Ts+nTD)
⑤ 适用于连接优先级高的高速设备;
⑥ 通道的数据宽度为n字节。
在这里插入图片描述
2. 通道流量设计
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.8 I/O处理机

1 通道处理机的局限性

通道处理机实际上并不能看成是独立的处理机,原因如下:

  • 通道指令系统简单;
  • 没有大容量的存储器;
  • 每次I/O操作前后需中断CPU的现行程序,调用OS的管理程序为I/O操作服务;
  • 当外围设备或通道处理机出现故障时,须通过中断方式请求CPU来处理;
  • 对所传数据的格式转换、码制转换、正确性校验等工作仍需CPU完成;
  • 文件管理、设备管理等操作系统的工作需要CPU来实现;

外围处理机
在这里插入图片描述
2 外围处理机的功能

外围处理机除了能够完成通道处理机的全部功能外,还能完成如下功能:

  • 码制转换;
  • 数据校验和校正;
  • 故障处理;
  • 文件管理;
  • 诊断和显示外围设备的状态;
  • 处理人机对话;
  • 连接网络或远程终端。

编辑于2022/12/15;
距离考试还有一周+不满一天。

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

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

相关文章

制造业ERP管理系统如何帮助企业解决委外加工管理难题?

当制造企业自身的生产能力不足或者缺乏某种技术的话&#xff0c;就需要把某个工艺甚至整个产品交给外面的制造厂商去进行生产&#xff0c;这就会触发委外加工作业。 委外加工是制造企业管理流程中&#xff0c;非常常见的一个环节&#xff0c;可以有效地减少因公司产能不足&…

qcustomplot单游标在多个坐标系中切换

1. 多坐标系—单个游标—游标在多个坐标系切换 在某些场景下&#xff0c;需要动态的添加多个坐标系&#xff0c;而游标只能在一个坐标系中显示&#xff0c;这时就需要将游标从默认的坐标系切换到指定坐标系&#xff0c;实现很简单&#xff0c;就不贴图了。代码如下&#xff1a…

docker中的c++ ROS节点中使用Matplotlib-cpp

背景 有时debug算法问题&#xff0c;想把算法&#xff0c;代码的中间量快速可视化出来&#xff0c;目前采用rviz或者qt_ros可以实现&#xff0c;但都不是很方便&#xff0c;代码开发量较大&#xff0c;常常会想要是能在ros c中也能像Matlab一样直接plot绘图就好了&#xff0c;…

英飞凌-AURIX-TC3XX 片上总线通信架构

目录1、英飞凌-AURIX-TC3XX 片上总线通信架构1.1、SRI-系统资源互连结构1.1.1、SRI简介1.1.2、SRI 的特征&#xff1a;1.1.3、SRI 结构相比于前一代产品主要的区别&#xff1a;1.1.4、SRI Crossbar 点对点连接机制1.1.5、SRI主机和SRI从机的连接情况1.2、系统外设总线1.3、BBB-…

Windows Qt连接达梦数据库

下载达梦数据库 首先可以在达梦数据库的官网下载达梦数据库&#xff1a;https://www.dameng.com/list_103.html 如果你的QT程序是64位的&#xff0c;那么就下载win64 的达梦数据库&#xff0c;相应的32位的QT程序要下载win32的达梦数据库。否则&#xff0c;程序在连接数据库时…

【图像分割】各向异性热扩散方程SAR图像分割【含Matlab源码 1879期】

⛄一、各向异性热扩散方程简介&#xff08;具体理论见参考文献&#xff09; 1 前言 图像分割是 图像解译的一个关键步骥。 图像分割属于图像解译的早期处理 &#xff0c; 目的是为更高水平的后续处理提供输人。 因此图像分割的好坏对后续 解译性能有较大的影响。 相对于光学图…

3、metasploit渗透测试初识

一、Metasploitable2靶机安装 参考(1条消息) Metasploitable-linux-2.0.0靶机下载配置教程_draper-crypto的博客-CSDN博客_metasploitable2-linux用户密码&#xff1a;msfadmin/msfadmin二、模块介绍 exploits&#xff08;渗透攻击/漏洞利用模块&#xff09;渗透攻击模块&#…

SuperMap GIS 倾斜摄影数据优化 QA

一、为什么要优化 倾斜摄影数据自身存在文件碎、体量大等特点。未经优化的倾斜摄影在目前市面上主流的三维平台上加载均会出现加载慢&#xff0c;浏览效率低等问题。特别是在浏览器端受文件请求量、网络带宽、硬件性能等方面的影响&#xff0c;倾斜摄影的显示效果往往不尽人意…

元房地产经纪人 — 科幻系列包 #2 来袭!

OUTR Studios 刚刚发布了他们最新的 The Sandbox 元宇宙科幻包&#xff0c;里面装满了很多好东西&#xff01;新内容包括两个非玩家角色 (NPC)、两套可装备的太空服和两个独特的太空无人机。这个最新版本肯定会为已有的模块化科幻构建套件增添更多乐趣。无论你们是与朋友一起建…

大屏适配的两种方案

现在做大屏的需求越来越多,大屏的适配是个头疼的事情 一、基于rem的适配方案 rem是什么? rem是指相对于根元素的字体大小的单位,在日常开发过程中我们通常把根元素(html/body)的字体设置为10px,方便于我们计算(此时子元素的1rem就相当于10px)。 适用场景 不固定宽高…

A_A05_001 aithinker_serial_tool_安信可调试助手使用

目录 一、软件获取 二、软件基本功能介绍 1、接收区 2、串口通信参数配置区 3、串口打开关闭与其他设置区域 4、手动发送区域 5、多文本发送区 6、辅助区域 三、注意事项 一、软件获取 网盘链接 直戳跳转 二、软件基本功能介绍 1、接收区 接收区就是接收外部设备给串口…

理解vue2.x版本中productionTip=false设置无效的原因

首先&#xff0c;我们看到vue官网中关于productionTip的API使用&#xff1a; 但是&#xff0c;我在本地中使用却无效&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta htt…

写接口用例文档,测接口

定义数据工具 共用API文档 产品、设计、前端、后端、测试、运维、售前、售后 mock 自动生成code和data 前后端 编写接口文档 post json格式 查询需要token值 APIfox介绍 一、常用解决方案 使用 Swagger 管理 API 文档 使用 Postman 调试 API 使用 mockjs 等工具 Mock AP…

算法刷题打卡第46天:排序数组---堆排序

排序数组 难度&#xff1a;中等 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;nums [5,2,3,1] 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;nums [5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,5]堆排序…

[附源码]Python计算机毕业设计高校图书馆网站Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

C++初阶 模板进阶

作者&#xff1a;小萌新 专栏&#xff1a;C初阶 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;介绍进阶模板的一些特性 C 模板进阶非类型模板参数注意点模板的特化概念函数模板特化类模板的特化全特化偏特化模板的编译分离什么是编…

再见print !这个牛逼的库竟然这么强!

PySnooper 是一个非常方便的调试器。如果您正在试图弄清楚为什么您的Python代码没有按照您的预期去做&#xff0c;您会希望使用具有断点和监视功能的成熟Debug工具&#xff0c;但是许多Debug工具配置起来非常麻烦。 现在&#xff0c;有了PySnooper&#xff0c;您并不需要配置那…

最长回文子串问题(Manacher算法)

文章目录题目1&#xff09;例子演示2&#xff09;思路分析3&#xff09;Manacher 算法4&#xff09;代码展示题目 如何求得某字符串 str 的最长回文子串的长度&#xff1f; 要求时间复杂度 O(N) 1&#xff09;例子演示 什么是回文子串&#xff1f; 回文串即该字符串从前往…

Stable Diffusion 迁移和部署

文章目录1. 模型概述2. 模型架构3. 模型迁移流程3.1 前置准备3.2 CLIP text encoder3.3 VQ-VAE (fp16)3.4 Text conditioned unet3.5 创建pipeline3.6 web demo部署4. 效果展示5. 相关链接此实验需要最新的sdk实现模型的迁移&#xff0c;最终在1684X上进行推理。代码地址为&…

mysqldumpslow和mysqldumpslow

mysqldumpslow 这是一款mysql自带的慢查询工具&#xff0c;个人使用下来发现&#xff0c;可以满足在很多慢日志中找到有问题的慢的sql&#xff0c;并且可以进行sql排序。属于一种短小精干的工具。 命令大概形式&#xff1a; slowlog是需要分析的日志 mysqldumpslow -s c -t 1…