IO方式的“千变万化”——第一部分

强哥,听说这一节的内容很重要?

不错,这一节是关于I/O方式的内容,I/O方式是本章的重点和难点,不仅需要我们掌握基本概念和原理,而且涉及到各类方式效率的计算等等,学习的时候一定要深入理解概念原理,梳理出相应知识脉络。

I/O方式

我们知道输入/输出系统主要实现了主机与I/O设备之间的数据传送,但这种数据传送的控制方式存在着快慢之分,各种方式在代价、性能以及解决问题的着重点等方面各不相同。接下来我们将分别介绍常见的三种I/O方式,它们分别是程序查询方式、程序中断方式、DMA方式,大家需要分别了解这几种方式的基本原理和特点,掌握它的工作流程以及效率计算。

● 程序查询方式:

概念:信息交换的控制完全由主机执行程序实现,程序查询方式接口中设置一个数据缓冲寄存器(数据端口)和一个设备状态寄存器(状态端口)。主机进行I/O操作时,先发出询问信 ,读取设备的状态并根据设备状态决定下一步操作究竟是进行数据传送还是等待。

工作流程:

1)CPU执行初始化程序,并预置传送参数。

2)向I/O接口发出命令字,启动I/O设备。

3)从外设接口读取其状态信息。

4)CPU 不断查询I/O设备状态,直到外设准备就绪。

5)传送一次数据。

6)修改地址和计数器参数。

7)判断传送是否结束,若未结束转第步,直到计数器为0。

在这种控制方式下,CPU一旦启动I/O,就必须停止现行程序的运行,并在现行程序中插入一段程序。程序查询方式的主要特点是CPU有“踏步”等待现象,CPU与I/O串行工作。

优点:这种方式的接口设计简单、设备量少,

缺点:CPU在信息传送过程中要花费很多时间来查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。

● 程序中断方式:

说到中断大家可能还有些陌生,中断是现代计算机有效合理地发挥效能和提高效率的一个十分重要的功能。CPU中通常设有处理中断的机构——中断系统,以解决各种中断的共性问题。那么接下来我们就介绍一下关于程序中断方式的内容。

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

程序中断的作用:

实现CPU 与I/O设备的并行工作。

处理硬件故障和软件错误。

实现人机交互,用户干预机器需要用到中断系统。

实现多道程序、分时操作,多道程序的切换需借助于中断系统。

实时处理需要借助中断系统来实现快速响应。

实现应用程序和操作系统(管态程序)的切换,称为“软中断”。

多处理器系统中各处理器之间的信息交流和任务切换。

程序中断的思想:

CPU在程序中安排好于某个时刻启动某台外设,然后CPU继续执行原来的程序,不需要像查询方式那样一直等待外设准备就绪。一旦外设完成数据传送的准备工作,就主动向CPU 发出中断请求,请求CPU为自己服务。在可以响应中断的条件下,CPU暂时中止正在执行的程序,转去执行中断服务程序为外设服务,在中断服务程序中完成一次主机与外设之间的数据传送,传送完成后,CPU返回原来的程序。

工作流程:

中断请求:中断源向CPU发送中断请求信 。

中断响应:响应中断的条件,中断判优。

中断处理:中断隐指令,中断服务程序。

这里我们将具体来讲讲程序中断工作流程里的这些内容。首先是中断请求的相关内容,这里需要注意区分几种常见的中断。

中断请求是指中断源向CPU 发送中断请求信 。

内中断和外中断

中断源是请求CPU中断的设备或事件,一台计算机允许有多个中断源。根据中断源的类别,可把中断源分为内中断和外中断两种。

每个中断源向CPU发出中断请求的时间是随机的。为记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,当其状态为“1”时,表示中断源有请求。这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中。

外中断是指来自处理器和内存以外的部件引起的中断,包括I/O设备发出的I/O中断、外部信 中断(如用户按Esc键),以及各种定时器引起的时钟中断等。外中断在狭义上一般称为中断。

内中断主要是指在处理器和内存内部产生的中断,包括程序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问控制错、算术操作溢出、数据格式非法、除数为零、非法指令、用户程序执行特权指令、分时系统中的时间片中断及用户态到核心态的切换等。

硬件中断和软件中断

硬件中断:通过外部的硬件产生的中断。硬件中断属于外中断。

软件中断:通过某条指令产生的中断,这种中断是可以编程实现的。软件中断是内中断。

非屏蔽中断和可屏蔽中断

非屏蔽中断:非屏蔽中断是一种硬件中断,此种中断通过不可屏蔽中断请求NMI 控制,不受中断标志位IF的影响,即使在关中断(IF=0)的情况下也会被响应。

可屏蔽中断:可屏蔽中断也是一种硬件中断,此种中断通过中断请求标记触发器INTR控制,且受中断标志位IF的影响,在关中断情况下不接受中断请求。也就是说,可屏蔽中断和非屏蔽中断均是外中断。

交流群

咨询微信

强哥

容嬷嬷

微博

▲ @计算机考研冯强

计算机刷题小程序

计算机刷题小程序

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月13日 上午9:54
下一篇 2022年3月13日

相关推荐