本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对
计算机组成
知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!!
关于对输入输出系统
章节知识点总结的十分全面,涵括了《计算机组成原理》课程里的全部要点(本人来来回回过了三遍视频),其中还陆陆续续补充了许多内容,所以读者可以相信本篇博客对于考研计算机组成原理 “输入输出系统” 章节知识点的正确性与全面性;
但如果还有自主命题的学校,还需额外读者自行再观看对应学校的自主命题材料。
计算机组成原理
笔记导航
- 第一章 计算机系统概述
- 第二章 数据的表示和运算
- 第三章 存储系统
- 第四章 指令系统
- 第五章 中央处理器
- 第六章 总线
- 第七章 输入输出系统
⇦当前位置
计算机组成原理 复试精简笔记 (加班中...)
- 408 全套初复试笔记汇总 传送门
如果本篇文章对大家起到帮助的话,跪求各位帅哥美女们,
求赞 、求收藏 、求关注!
你必考上研究生!
我说的,耶稣来了也拦不住!
食用说明书:
第一遍学习王道课程时,我的笔记只有标题和截图,后来复习发现看只看图片,并不能很快的了解截图中要重点表达的知识点。
在第二遍复习中,我给每一张截图中 标记了重点,以及 每张图片上方总结了该图片 对应的知识点 以及自己的 思考 。
最后第三遍,查漏补缺。
所以 ,我把目录放在博客的前面,就是希望读者可以结合目录结构去更好的学习知识点,之后冲刺复习阶段脑海里可以浮现出该知识结构,做到对每一个知识点熟稔于心!
请读者放心!目录展示的知识点结构是十分合理的,可以放心使用该结构去记忆学习!
注意(⊙o⊙)!,每张图片上面的文字,都是该图对应的知识点总结,方便读者更快理解图片内容。
【考纲内容】
王道 P302 ~ 338
(一) I/O 接口(I/O控制器) 网课耗时:
0.5 h
- I/O接口的功能 和 基本结构;
- I/O端口及其编址;
(二) I/O方式
网课耗时:
2 h
- 程序查询方式;
- 程序中断方式:中断的基本概念、中断响应过程、中断处理过程、多重中断和中断屏蔽的概念;
- DMA方式:DMA控制器的组成,DMA传送过程;
【复习提示】
I / O 方式 是本章的重点和难点,每年不仅会以 选择题 的形式考查基本概念和原理,而且可能会以 综合题 的形式考查;
- 各种I/O方式效率的相关计算;
- 中断方式的各种原理、特点、处理过程、中断屏蔽;
- DMA方式的特点、传输过程、与中断方式的区别;
(注意,本章节带 * 的内容,大纲已删除,仅供参考学习)
本节实际就是对 I/O 系统 的简易科普,重点内容会在后续展开介绍;
I / O 接口 :负责协调 主机 与 外部设备 之间的数据传输;
在 I / O 系统中,经常进行大量的数据传输,传输过程有各种不同的 I / O 控制方式,基本的控制方式有以下四种:
① 程序查询方式
② 程序中断方式
③ DMA控制方式
DMA接口 也是一种 I/O接口,只不过DMA接口负责高速外设;
④ 通道控制方式
1. 输入设备
2. 输出设备
小结
本节内容对标 《操作系统》5.1.2 I/O 控制器,两个之间配合学习;
王道里的 I/O 接口功能:
- 进行地址译码和设备选择;
- 实现主机和外设的通信联络控制;
- 实现数据缓冲;
- 信号格式的转换;
- 传送控制命令和状态信息;
I/O 接口 = 若干个 I/O 端口 + 控制逻辑;
I/O端口的编址方式分为两种:
- 统一编址;
- 独立编址;
章节小结
本节内容对标 《操作系统》5.1.3 I/O 控制方式,两个之间配合学习;
I / O 系统 实现主机与 I / O 设备 之间的数据传送,可以采用不同的 I / O 控制方式 ;
三种 I/O 方式 的CPU过程;
程序查询方式 中信息交换的控制完全由 CPU 执行程序实现;
关于 程序查询方式 的例题
结论:对于快速I/O设备,使用 程序查询方式 会占用大量的CPU查询时间;
小结
定时查询、独占查询
1. 中断的基本概念
中断的主要功能 (了解即可) :
- ① 实现 CPU 与 I/O 设备的并行工作;
- ② 处理硬件故障和软件错误;
- ③ 实现人机交互,用户干预机器需要用到中断系统;
- ④ 实现多道程序、分时操作,多道程序的切换需借助于中断系统;
- ⑤ 实时处理需要借助中断系统来实现快速响应;
- ⑥ 实现应用程序和操作系统(管态程序)的切换,称为“软中断”;
- ⑦ 多处理器系统中各处理器之间的信息交流和任务切换;
当CPU 检测到中断信号后,由 硬件 自动保存被中断程序的断点 (即程序计数器PC).
之后,硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址
(各中断向量统一存放在 中断向量表 中,该表由操作系统初始化)。 接下来开始执行中断服务程序,保存PSW、保存中断屏蔽字、保存各通用寄存器的值,并提供与中断信号 ==对应的中断服务,==中断服务程序属于操作系统内核。
程序中断方式的思想:CPU执行程序无需一致等待 I/O设备,代I/O设备完成之后发送中断请求通知CPU;
非屏蔽中断 + 屏蔽中断
2. 中断请求标记
CPU设置 中断请求标记 来判断是哪个设备发来的中断信号 - 中断请求标记标记触发器INTR ;
.
CPU响应中断必须满足条件:
- ① 中断源有中断请求;
- ② CPU允许中断及开中断(异常和不可屏蔽中断不受此限制);
- ③ 一条指令执行完毕(异常不受此限制),且没有更紧迫的任务;
3. 中断判优
中断判优:当有多个中断信号同时到来,该选择先处理哪个 ?
- 硬件排队器 实现硬件判优,确保当前优先级最高的中断的信号为1;
- 查询程序 实现软件判优,按优先级递减顺序查询中断;
中断优先级的设置原则
4. 中断系统的工作流程
中断隐指令 并不是一条指令,而是CPU遇到中断信息,进行的一系列动作;
【问题一】PC的值如何保存 ?
【问题二】保存完PC的值之后,如何找到对应中断处理程序的入口地址 ?
中断隐指令 的主要任务:
- 关中断
- 保持断点
- 引出中断服务程序
如何确定中断信号对应的中断服务程序的起始地址:
- 软件查询法
- 硬件向量法(重点)
硬件向量法
首先,可以给 中断请求 编号,例如下图中的 12H、13H、14H ;
12H 中的 无条件转移指令
JMP 200
,指明 12H 所对应的中断服务程序; 把 指向中断服务程序的地址信息 称为 中断向量 ;
实际过程:由 硬件 产生 向量地址 ,再由 向量地址 找到 入口地址 ;
中断向量是函数的指令,向量地址是函数指针的指针;
中断服务程序 的主要任务;
- 保护现场
- 中断服务
- 恢复现场
- 中断返回
小结
1. 多重中断的概念
【问题一】为什么在多重中断中,要把开 中断指令 放在保护现场之后呢 ?
答:保护现场必须完全进行完,才可以开中断,不然主程序的信息可能会被新中断影响,导致未完全保存;(恢复现场同理)
【问题二】中断屏蔽字
答:中断屏蔽字,用来屏蔽优先级较低中断。
2. 中断屏蔽技术
关于 中断屏蔽技术 的例题
小结
关于 程序中断方式 的例题
小结
1. DMA控制器
2. DMA传送过程
3. DMA传送方式
DMA 方式 v.s 中断方式
小结
1. 中断响应优先级和中断处理优先级分别指什么 ?
中断响应优先级是由硬件排队线路或中断查询程序的查询顺序决定的,不可动态改变;而中断处理优先级可以由中断屏蔽字来改变,反映的是正在处理的中断是否比新发生的中断的处理优先级低(屏蔽位为“0”,对新中断开放),若是,则中止正在处理的中断,转到新中断去处理,处理完后再回到刚才被中止的中断继续处理。
2. 向量中断、中断向量、向量地址三个概念是什么关系 ?
中断向量:每个中断源都有对应的处理程序,这个处理程序称为中断服务程序,其入口地址称为中断向量;
所有中断的中断服务程序入口地址构成一-个表,称为中断向量表;也有的机器把中断服务程序入口的跳转指令构成一张表,称为中断向量跳转表。
向量地址:中断向量表或中断向量跳转表中每个表项所在的内存地址或表项的索引值,称为向量地址或中断类型号; 向量中断:指一种识别中断源的技术或方式;
识别中断源的目的是找到中断源对应的中断服务程序的入口地址的地址,即获得向量地址;
3. 程序中断和调用子程序有何区别 ?
两者的根本区别主要表现在服务时间和服务对象上不一样;
1) 调用子程序过程发生的时间是已知的和固定的,即在主程序中的调用指令(CALL)执行时发生主程序调用子程序过程,调用指令所在位置是已知的和固定的。而中断过程发生的时间一般是随机的,CPU 在执行某个主程序时收到中断源提出的中断申请,就发生中断过程,而中断申请一般由硬件电路产生,申请提出时间是随机的。也可以说,调用子程序是程序设计者事先安排的,而执行中断服务程序是由系统工作环境随机决定的;
2)子程序完全为主程序服务,两者属于主从关系。主程序需要子程序时就去调用子程序,并把调用结果带回主程序继续执行。而中断服务程序与主程序二者一般是无关的,不存在谁为谁服务的问题,两者是平行关系;
3)主程序调用子程序的过程完全属于软件处理过程,不需要专门的硬件电路;而中断处理系统是一个软/硬件结合的系统,需要专门的硬件电路才能完成中断处理的过程;
4)子程序嵌套可实现若千级,嵌套的最多级数受计算机内存开辟的堆栈大小限制;而中断嵌套级数主要由中断优先级来决定,一般优先级数不会很大;
从宏观上看,虽然程序中断方式克服了程序查询方式中的CPU“踏步”现象,实现了CPU与IO 并行工作,提高了CPU的资源利用率,但从微观操作分析,CPU在处理中断服务程序时,仍需暂停原程序的正常运行,尤其是当高速IO设备或辅助存储器频繁地、成批地与主存交换信息时,需要不断打断CPU 执行现行程序,而执行中断服务程序;
1) IO设备有哪些编址方式 ? 各有何特点 ?
统一编址和独立编址;
统一编址是在主存地址中划出一定的范围作为IO地址,以便通过访存指令即可实现对IO的访问,但主存的容量相应减少;
独立编址是指IO地址和主存是分开的,IO地址不占主存空间,但访存需专门的IO指令;
2) CPU响应中断应具备哪些条件 ?
在CPU内部设置的中断屏蔽触发器必须是开放的;
外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号;
外设(接口)中断允许触发器必须为“1",这样才能把外设中断请求送至CPU;
具备上述三个条件时,CPU在现行指令结束的最后一个状态周期响应中断;