计算机组成原理学习笔记(七)输入输出系统(学习王道)

这一篇章比较建议先把操作系统的输入输出系统给看了再说,这样会比较好。而且我还是比较推荐看王道的操作系统的,讲的也是很好的。另外,这是最后一节了,朋友们,撑住!

目录

IO系统基本概念

演变过程

基本组成

I/O控制方式 

输入输出

输入设备 

输出设备 

外存储器

组成结构

 性能指标

磁盘地址&硬盘的工作过程

磁盘阵列

RAID0 

RAID1 

 其他方案省略

I/O接口

 I/O端口

接口的类型 

程序查询方式 

程序查询方式接口结构 

例题 

中断系统

程序中断方式

例题 

DMA方式 

DMA传送过程

DMA传送方式

DMA方式的特点

中断与DMA的对比 

例题 ​编辑


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的对比 

例题 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值