找回密码
 立即注册

微信扫码登录

使用验证码登录

搜索
查看: 62|回复: 0

28.第28节课第七章输入输出系统

[复制链接]

5158

主题

3

回帖

1万

积分

管理员

积分
15576
发表于 2024-4-15 09:12:21 | 显示全部楼层 |阅读模式
同学们大家好,我们接着往下看看一下本章当中的第四小节IO的控制方式。本节当中,主要包括三个方面的内容,第一个是程序查询的流程,第二个是程序的中断方式。第三种是dma方式,那么我们来看一下,分别看一下这三种方式是什么样子的?首先我们来看一下程序查询的流程,在程序俩查询的流程过程当中,我们看一下这个。图那首先我们会有一个预制传送的参数,将预制传送的参数。传到我们的启嗯,

启动外设啊,内置传送的参数指的是CPU执行初始化程序。并预制传送参数,比如说设置计数器,设置手,设置数据的手地址。我们将这些数据传送到我们的启动外设当中,也就是向IO接口发送命令,启动我们的IO设备。啊,启动我们的IO设备,紧接着,然后进行一个取外设的状态,也就是从CPU接口中读取设备状态的信息。我们读取设备状态信息之后,

然后去判断。外侧是否准备就绪?如果外侧准备就绪,那么我们就进行传送一次数据。传送完数据之后,我们会对数据进行修改,相应的传送参数。传送完参数之后,我们进行一个判断啊,是否判断传送是否完成,如果传送完成,我们结束该程序的操作。如果没有,那我们再进行一个循环啊,循环到曲外射状态,

该该处的一个状态。也就是嗯,在这个过程当中,在取外射和判断外射是否准备。就绪的过程当中,如果说外射没有准备就绪,那么我们再继续对外射进行一个。啊,状态信息来进行一个读取CPU,再从接口去读取我们外设信息的状态,啊,外设状态的一个信息。直到他准备就绪,我们再进行相关的一系列操作。就是CPU不断查询IO设备的状态,

直到外设准备就绪,在这个过程当中,我们CPU 1旦启动IO设IO。就必须停止现行的程序运行,并且在现行程序中插入一段程序啊,在现行程序当中去插入相关的程序。在这个过程当中的主要特点是我们CPU是进行了一个踏步等待的现象,嗯,直到我们外射准备就绪啊。然后我同时我们CPU与IO是进行了一个串行的工作程序查询流程。它的有相应的优点,它的优点是接口设计比较简单啊,设备较少。同时,它也存在一定的缺点,

它的缺点是CPU在信息传输过程当中要花费大量的时间啊,用于我们的查询和等待。而且在这一段时间内,只能和一台外射,就是和我们这一台外射进行一个信息的交换。效率大大的降低,效率大大的降低,我们要注意的是,在传送一次数据的时候,在传送数据的时候。一般传送的呃,一般设为一个字啊,进行传送,在修改传送参数的时候,修改的是地址和技术的计数器的相关参数。

这就是我们查询的流程啊,这是我们查询的流程,在我们查询流程过程当中,要注意的就是我们CPU啊,是有一个踏步等待的现象的CPU,是有一个踏步等待现象的。那我们看完查询流程,我们再接着往下看一下程序,查询方式的接接口结构。程序查询方式的接口结构,我们可以看到这张图当中IO接口,它包括了设备。状态寄存器数据缓冲,寄存器也就是dbr,还有我们的设备选择电路这三大部分,

我们CPU啊是由由cu和寄存器。啊,外设还有我们的外外部设备啊l接口,它连接了CPU和外设。在l接口当中,有三个部分啊!l接口当中的设备状态,寄存器和我们的cu和外设进行一个数据的交换。cu通过命命令键发出相应的命令啊,去由设备状态,寄存器传输信息到外设啊。动作开始,如果动作结束,将外设,将状态传送给我们的IO接口当中的设备状态寄存器,

由状态线传送到我们CPU当中的。cu啊,进行相应的控制数据,缓冲寄存器,也就是dbr,通过数据线。和寄存器和我们CPU当中的寄存器与外设进行一个数据的交换,同时我们的。CPU啊,通过地址线啊和设备选择电路进行一个交换信息,在信息交换过程当中,我们可以看到。它是完全由主机来进行执行的来嗯,主机来执行程序来实现的。IO接口中设置了一个呃数据缓冲寄存器啊,

也就是我们的数据端口还设置了一个。设备状态,寄存器也就是我们的状态端口啊,受到我们寄存器的限制啊,在这个过程当中一次只能传输一个字的数据。啊,这就是我们程序查询方式的接口结构。那我们来总结一下程序查询流程,程序查询的它的主要特点和优点和缺点。我们也刚刚讲到了,在它的流程当中,我们看我们总结到它的主要特点是CPU具有一个踏步等待的现象。啊,同时CPU和IO,它是进行的一个串行工作,

优点就是接口设计比较简单,设备量少。缺点是CPU在信息传输过程中要花费很多时间去用于我们的查询和等待。而且在一段时间内只能和一台外设交换信息,效率大大降低。同时,它受到寄存器的限制,一次只能传输一个字的数据啊,这是我们程序查询流程。程序查询的主要特点和优缺点,这是我们第一小块的内容。程序查询流程的知识点。那么,我们接着往下看一下我们的程序中断方式。首先,

我们来了解一下程序中断的相关概念。什么是中断呢?它指的是计算机在执行程序过程当中,当它出现异常或者特殊请求的时候。CPU暂时停止限行的程序来转向对这些异常情况或者特殊请求进行一个处理。处理结束后CPU又自动的返回到现行程序的断点处,继续执行原程序。这就是我们刚刚说的。中断程序的概念。中断它是现代计算机有效合理发挥效能和提高效率的一个十分重要的功能。实现该功能所需要的软硬件技术被称为中段技术,中段操作的作用是什么呢?它是CPU与IO设备并行工作的啊,处理硬件故障和软件故障的错误,同时实现人机交互。

实现多道程序分时操作,实现实时处理,快速响应,实现软中断,这是我们中断的作用和概念。那我们来具体看一下中断工作的一个流程,首先中断它是一个过程啊,是一个过程。它包括三个过程,一是中断请求,二是中断响应,第三个是中断处理。那我们来看一下我们CPU在执行。程序的过程当中,我们走到了k这条指令啊,

执行完k这条指令,我们进入入口一啊,执行中断服务去执行中断服务程序一。我们执行完中断服务程序之后,我们再跳转到我们主程序当中去执行下一条指令,就是k+1层。bk+1条指令,这是我们中断工作的一个流程啊,在中断请求嗯,它的。中断请求是指的中断源向CPU发送中断请求信号,我们中断源向我们的CPU发送一个中断。请求信号,然后再对它做出一个响应,进行中断响应,

响应中断条件,并且对中断进行一个探究。多个中断源同时提出请求时,通过中断判优逻辑去响应一个中断源,看哪个优先级更高,我们去执行哪一个啊?执行那个优先级更高的?所以这时候就需要我们的中断判优,我们对中断进行响应完之后,再执行的是中断处理啊,中断处理就包括两个过程。是处理中断银指令和中断服务程序啊,这是我们中断的工作流程。那我们接着往下看一下。啊,

同样的啊,在执行q的q这条指令的时候,同样是执行完q指令之后,它有一个中断请求,然后对它做出相应的响应。再进行中断处理啊,我们中断服务程序就进行一个相应的处理,处理完之后我们再回到主程程序当中执行下一条指令。执行下一条指令,再依次往下一推,我们看完中断请工作流程之后,我们来看一下中断请求的分类。中断请求有哪些分类呢?我们按照中断源的类别来划分,可以分为内中断和外中断啊,

也就是说我们所说的广义的中断。啊内中断它指的是处理器和内存内部产生的一个中断,也就是我们信号的来源啊,信号来源。它与CPU,与CPU内部,与当前执行的指令是有关的啊,称为内中断。内中断有分为两种,一个是自愿中断,一个是强迫中断,自愿中断指的是指令中断。就比如说我们系统去调用。嗯,调用啊,

调用时使用的一个房管指令,又叫做线入指令,或者或者是tab指令。嗯,在强迫指令,在强迫总管当中又分为两种,一个是硬件故障。一个是软件中断经验,工作故障,比如说我们的缺页啊,软件中断,比如说整数除以零,那这种软件中断。外中断啊,它包括了两种,

一个是外射请求,一个是人工干扰外射请求,比如说我们操作完成发出的中断信号啊,我们外射请求。人工干预,比如说用用户强制终止一个进程,那么就是用人工干预。在中断当中,我们狭义的中断也可以划分两种,就是非屏蔽中断和可屏蔽中断。该屏蔽中断指的是关中断啊时也会被响应啊,就是不屏蔽中断标志v为f呃等于。is等于。可综可屏蔽综断啊,是指关中断时不会被响应啊,

关中断时不会被响应。同时,我们的内部动态当中又分为呃内部异常有陷阱陷入啊,是指的有意而为之的异常啊,比如说我们刚刚说的系统调用。故障的话就是由错误条件引起的,可能对故障处理的程序修复,比如说缺页。终止的话是指不可修复的致命错误造成的结果,终止处理程序不再将。控制返回给引发终止的应用程序啊,如刚刚所说到的整除整数为零啊,整数为零。这是我们所说的中段的分类,那么我们看完中段的分类,

我们再接着往下看一下中段请求的标记。什么是中断请求的标记呢?每个中断源向CPU发出中断请求时,它是随机的啊,为了记录中断事件并区分不同的中断源。中断系统需要对每个中断源设置中断请求标记触发器啊,那是我们的一个触发器。用int 2来表示,当其状态为一时表示中断有请求啊,当其为零时表示中中断原没有请求。中断请求标记,也就是标记一下我们的中断源,它是否有请求啊?如果有的话,我们就执行相应的操作,

如果没有的话,我们就不不进行中断。这些触发器可以组成中断请求标记的一个寄存器,该寄存器它可以集中在CPU当中,当然它也可以分散在各个中断源当中啊,比如说我们这张图当中给出的一个。一些中断请求啊,掉电过热接上亿非法除法啊,光电输入机,打印机,输出机等等。这些中断请求啊,我们用英特尔来表示它是否唯一啊,当唯一的时候表示有这个请求。当为零的时候,

它表示没有这个请求,没有这个请求,对于我们的外界中断啊,对于我们的外界中断。CPU是在统一时刻啊,即每条指令执行阶段结束前向接口发出中断查询信号。以获取我们的IO中断请求,也就是说CPU响应中断的时间在每条指令执行阶段的结束时刻。我们CPU响应中断,必须满足以下三个条件,第一个就是中断源,有中断请求啊,有中断请求,也就是我们的。中断标记我们的呃标记为一啊,

状态为一的时候CPU允许中断即开中断啊,允许中断就是我们的开中断。第三个条件是一条指令执行完毕且没有更紧迫的一个任务啊,这样的话,我们CPU显示中断,那么才满足了这三个条件,这三个条件。这是我们所讲的中断请求标记,那我们接着往下看一下中断判优时限。什么是中断判优实现呢?它指的是多个中断源,同时提出请求时,需要通过中断判优逻辑去确定响应哪个中断源的请求。我们有多个中断啊,我们有多个中断,

同时提出了一个请求,那这个时候我们应该执行哪条中断指令呢?这里就用到了我们的中段判优啊,我们根据判优的一个逻辑去确定咱们去响应哪个中断源的一个请求啊?中段探究它的实现方法啊,既可以通过硬件来实现,也可以通过软件来实现。用硬件实现的时候,是通过硬件排队器来实现的啊,这是我们的硬件排出器,这个图当中给出的是硬件排队器。即啊,既可以设置在CPU当中啊,也可以分散在各个中断源当中,我们可以。

嗯,在这个排便性列排便器当中啊,最高优先级请求就慢啊,假如一一的时候我们请求。啊中院。次优先级请求中断啊,次优先级再请求中断,再次优先级请求中断是通过硬件来实现的,软件实现的方式是通过程序查询来实现的啊。在程序查询的过程当中,是否a请求如果是的话啊,转a的服务程序入口地址。啊,然后如果不是a的话,我们就判断它是否是b的请求啊,

然后如果是b的请求,我们转入。转b的服务程序,入口地址,如果你不是b请求啊,那我们转到c请求啊,转到c请求,以此类推,我们通过软件,你通过程序。查询来实现咱们的这个呃中断判优啊,这是软硬件的实现方式和中断判优的概念。好,我们接着往下看啊,看一下中断请求优先级的设置,

我们有了中断请求的优呃优先和实现方法,那么我们就会有一些。中断请求的优先级设置啊,它的设置有要往往是有这六个方面啊,六个特点。第一个就是硬件故障,故障中断属于一个最高级啊,属于最高属于最高级。其次是一个软件中断,硬件故障中断,属于最高级。其次才是软件中断。第二是非屏蔽中断,优于可屏蔽中断啊,非屏蔽自由中。

中断是优先于我们可屏蔽中断的。第三个是dma请求优先于IO设备传送的中断请求。dma的请求优先于我们IO设备传送的中断请求。第四个是高速设备优于低速设备啊,第五个是输入设备优于输出设备,第六个是实时设备优于普通设备,这是我们中断请求优先级的一个设置。啊,是跟是有这六个方面的一个内容,那我们接着往下看,看完中断请求的优先级和实现嗯。还有优先级的设置之后,我们再来看一下中断处理的过程。什么是中断处理呀?它首先看一下我们,

首先看一下中断的引指令。什么是中断的引指令?它指的是CPU响应中断请求后,需要经过一系列的操作才转去执行中断服务程序。这些操作由硬件直接实现,可能称为我们的中断引指令,它不属于真正的指令,没有操作法,用户不能使用。中断因子没有完成的主要任务有哪些呢?还有三个三大任务,第一个是进行关中断,第二个进行保存断点,第三个是引出中断服务程序。啊,

中断仪,这是中断引起来的主要任务,那关中断是什么意思呢?它是为了保护中断现场,也就是CPU计算器中等内容。它不被新的中断打断啊,需要关中断,从而保证被中断的程序在中断执行。完毕之后,能正确的去执行下去啊,我们我们观众感的含义保存断点,它是为了中断程序,执行完毕后能正确的返回原来的程序。需要保存于我们原程序的断点,也就是我们PC继承器啊,

我们可以把它存入对战当中,也可以把它存入指定单元单元当中。第三个任务,它就是需要引出中断服务程序啊,取出中断服务程序的入口地址,并且传送给程序计数器啊。嗯,引出多大服务程序可以通过软查询法和硬件向量向量法来进行实现。这是我们中断处理过程当中的中断引指令,那我们再看一下中断服务程序,中断服务程序。嗯,它有主要几个内容呢啊,几个主要任务呢,有四个主要任务,

第一个是进行保护现场,第二个是中断服务。也就是设备服务,第三个是恢复现场,第四个是中断返回好,我们保护现场指的是什么呢?它是呃,第一个是要保存程序中断点,就我们的PC,比如它是由中断引存来完成的。第二个是保存通用寄存器和状态寄存器呢的内容,由中断服务程序来完成,我们可以使用对战,也可以使用特殊的单一存储人员,我们刚刚也提到过。

第二个主要任务是中断服务,就是设备服务。嗯,主体部分嗯,它是它的主体部分哈,如果通过程序控制,需要打印你的字符代码送入咱们的打印机的缓冲存储器当中。是主体部分,第三个主要任务是恢复现场,通过出站指令或者是取数指令,把之前保存的信息。送回计算机当中第四个主要任务是中断返回,通过中断返回指令回到我们原程序的断点处啊,这是中断服务程序的主要任务。保护现场中断服务。

恢复现场和综合返回。那我们看完了以上两个内容之后,我们来看一下咱们中断处理的过程是什么样子,先看一下。看一下本张图当中,我们在执行完k指令这个之后,然后进入这个入口一啊,进入口一,然后中断服务执行中断服务程序一。它执行中的服务程序一的时候并没有执行完之后并没有返回我们主程序,而是进入了入口二,然后去执行中断服务程序二。执行完中断服务程序二之后,又执行了中断服务程序三执行完中断服务程序三之后,才返回了我们中断服务程序二。

返回完中断服务程序二之后,又返回了中断服务程序一。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5432考试网 ( 蜀ICP备2022024372号|川公网安备51152402000101号 )|网站地图

GMT+8, 2024-5-2 11:54 , Processed in 0.071176 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表