这一篇章比较建议先把操作系统的输入输出系统给看了再说,这样会比较好。而且我还是比较推荐看王道的操作系统的,讲的也是很好的。另外,这是最后一节了,朋友们,撑住!
目录
IO系统基本概念
演变过程
①早期:每个I/O设备要连接到主机上都需要一个专用的线路,外设的增删是很麻烦的。并且当CPU需要外设提供内容的时候,CPU是不敢乱动的,要等外设,所以就是不断查询。串行就是说CPU工作的时候
②接口模块和DMA阶段:比较易于理解的说明就是CPU不需要反复查询了,给出一句交代后CPU就可以去干自己的计算工作了,这时候I/O设备干活,弄好了就发出中断请求,告诉CPU你要的东西好了。此时的CPU只需要暂停手上的工作来稍微处理一下即可。
另外有趣的是,高速外设是高速的,也就是说它处理的速度很快,甚至比CPU慢不了多少,所以就会频繁打断CPU工作。所以设置一个主存与外设的通路,即DMA,这样CPU只需要交代最初的工作要求,剩下的就不需要管了。
③CPU不需要安排任务,只需要给通道简单的启动、停止的命令即可,之后通道就会自动安排外设进行工作。并且通道有一套自己的通道指令、专用的处理机(该处理机服从CPU的管理)。
④这是进一步扩展,此时的通道处理机性能不低于CPU,甚至在有的计算机的CPU坏了的时候能够顶替CPU的功能。
基本组成
注意点:
①I/O指令:以前学的操作码那是会规定操作的功能的,打但是现在的这个是告诉计算机,这个是I/O指令。规定功能的则是命令码,设备码就类似地址码了,规定是哪个设备。
②通道指令:里面的操作命令是写或者读的两类。
③设备控制器一般是电信号。
I/O控制方式
这个之前的“演变过程”小节有仔细说过,这里不废话了。
输入输出
输入设备
看一下就好,不重要的。
输出设备
外存储器
组成结构
之所以长期保存不丢失,是因为磁性物质除非消磁,否则就不会丢失。像上图就可以用N/S的方向来表示0与1。
来看一个放大的结构:
磁盘驱动器
性能指标
①一般来说,格式化的存储能力逊于非格式化
②外圈比内圈大,但是内圈密度大,所以存储的大小一样。(几种密度见下图)之所以这样做是因为角速度固定的价格比线速度固定的价格便宜。
平均存取时间是这些里面比较重要的内容,下面这个图,你一看就能理解的:
①关于寻道时间,除非题目特别说明,否则一般按照平均寻道时间(最外圈到最内圈的时间的一半)来算。
②旋转延迟时间也是,没有特别说明则按平均算(转一圈时间的一半)。
磁盘地址&硬盘的工作过程
关于为什么柱面号要在盘面号前面,是用这么两句解释:
①柱面可以确定到所有盘面的一个磁道组,盘面号可以从前面确定的磁道组中确定一个唯一的磁道
②因为第一步是移动磁头来寻道(柱面号),然后再来决定哪个磁头来贴紧对应的盘面(盘面号),最后旋转指定的盘面来获取对应扇区号的内容
上图是对硬盘工作过程的解释
磁盘阵列
RAID0
RAID1
其他方案省略
I/O接口
过程解释与说明:
I/O端口
编址分为统一编址与独立编址:
接口的类型
程序查询方式
程序查询方式接口结构
例题
中断系统
①中断请求是CPU每完成一次指令之后会统一检测有没有。
②中断响应不是一接到请求就做的,CPU会有自己的考虑,合适的情况下才会去做。
③中断隐指令是保存断点的(就是记住从哪里离开的)
所谓的CPU内部就是发生在CPU和主存的。
内中断详细说明一下:
下面是关于中断标记的细节:
查询断点之所以必要是因为长时间不去考虑中断,可能会发生不可预想的后果。
下面是中断判优的细节:
排队器那个方框里面的1表示与1做运算,1+1=0就是二进制的结果。
中断处理过程:
上图是引出为什么需要中断隐指令。
下面硬件向量法举个例子:
中断服务程序的思路如下:
上图既是描述中断处理过程,又是在引入多重中断的概念(因为中断进行的时候也可以看作一个正在运行的主程序)
下面这个才是单重中断与多重中断的正式解释:
屏蔽字的书写:
不得不说,屏蔽字是很强力的一个东西,上图例就展现了它一言堂的特点。
值得注意的是,MASK上面的那横线表示取反的意思,不要误会。
例题:
解释一下第一题:
任何一个都应该能屏蔽自己!
A的优先级比 B、C高,所以B、C位置上应该是1;
其他同理
第二小问的解答:
这个就很像操作系统里面的优先级算法了。
程序中断方式
上面是总体的过程(其实课程里面一直在反复强调,所以重要性大家都应该懂的吧)
例题
答案:
DMA方式
大家现在还记得DMA是为什么出现吗?回顾一下:是因为一些高速设备太高速了,会影响CPU的正常工作,所以要做一个独立的设备去管理。
下面是DMA的工作:
置位就是给DMA请求触发器写“1”。
DMA就是“摄政大臣”,权力是很大的。
DMA传送过程
就数据传送我们以数据输入为例 :
下一步的后处理有这两种处理:
①校验位检验是否出错
②CPU可能还有数据要求,就再次安排预处理
DMA传送方式
第二种之所以不好是因为DMA和CPU访存的机会、用时都不均衡的。
DMA方式的特点
中断与DMA的对比
例题 ![](https://img-blog.csdnimg.cn/abc26b36a3354de78646036e553cec54.png)