第5章输入输出技术应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章 输入输出技术
图5-4 查询方式I/O接口
第5章 输入输出技术
图5-5 多外设查询方式工作流程
第5章 输入输出技术
5-2 中断方式
一、中断的基本概念 1.中断的概念及中断源分类 在 CPU 执 行 程 序 过 程 中 , 由 于 某 种 事 件 发 生 , 强 迫 CPU暂时停止正在执行的程序而转向对该发生的事件 进行处理,当对事件的处理结束后又能回到原中止的程 序,接着中止前的状态继续执行原来的程序,这一过程称 为中断。
第5章 输入输出技术
一、外设接口的编址方式 在微型计算机系统中,主要采用两种不同的外设地 址的编址方式。 1.外设地址与内存地址统一编址。 这种编址方式又称为存贮器映射编址方式。在这 种编址方式中,将外设接口地址和内部存贮器地址统一 安排在内存的地址空间中。即把内存地址分配给外设, 由外设来占用这些地址。用于外设的内存地址,存贮器 不能再使用。
第5章 输入输出技术
图5-10 中断嵌套示意图
第5章 输入输出技术
二、8086(88)的中断系统 8086(88)具有功能很强的中断系统,可以处理256个 不同方式的中断。每一个中断赋于一个中断向量 码 ,CPU 根 据 向 量 码 的 不 同 来 识 别 不 同 的 中 断 源 。 8086(88)中断源分为两大类,下面将逐一加以介绍。 1.内部中断源 8086(88)的内部中断主要是如下五种:
第5章 输入输出技术
② CPU 处于开中断状态。只有在CPU的IF=1开中 断时,CPU 才有可能响应可屏蔽中断请求。
③ 没有发生复位(RESET),保持(HOLD)和非屏蔽中 断请求(NMI)。
④ 开中断指令(STI)、中断返回指令(IRET)执行完, 还需再执行一条指令才能响应INTR请求。另外,一些前 缀指令,如LOCK、REP等,将它们后面的指令看作一个 总体,直到这种指令执行完,方可响应INTR请求。
第5章 输入输出技术
(3) 断点中断 8086(88)的指令系统中有一条专门用做设置断点的 指令,其操作码为单字节CCH。 (4) 溢出中断 当CPU进行算术运算时,如果发生溢出,则会使标志 寄存器的OF标志置1。 (5) 用户自定义的软件中断 用户可以用INTn这样的指令形式来产生软件中断。
第5章 输入输出技术
第5章 输入输出技术
1.无条件传送。 在微机系统中,有一些简单的外设,当它工作时,随时 都准备好接收CPU的输出数据或它的数据随时都是准 备好的,CPU什么时候读它的数据均可以正确地读到。 也就是说外设无条件准备好向 CPU提供数据或接收 CPU送来的数据。所以CPU可以无条件地向这样的外 设传送数据。在CPU与这样的外设交换数据的过程中, 数据交换与指令的执行是同步的。故有人也称其为同 步传送。
第5章 输入输出技术
图5-6 查询中断源硬件
第5章 输入输出技术
一旦中断请求得到响应,在保护断点后,CPU读INT 的输入口,利用软件对中断源逐一查询,确定中断源并对 相应的中断源进行服务。当然,应当注意到,一旦确定了 中断源之后,应当立即将相应的INT状态变低——去掉 请求信号。查询确定中断源的流程框图如图5-7所示。
第5章 输入输出技术
若CPU需要向外设输出一个数据,同样,CPU首先查 询外设的状态,看其是否空闲。若正忙,则等待;若外设 准备就绪,处于空闲状态,则CPU向外设送出数据和输出 就绪信号,后者通知外设CPU送来有效数据。外设接收 数据后,向CPU发出数据已收到的状态信息。这样,一个 数据的输出过程就告结束。
源自文库5章 输入输出技术
3.中断优先级及中断嵌套 当微型计算机系统中存在着多个中断源,这些中断 源在提出中断请求后,要求CPU对它响应的快慢程度是 不一样的。而且从微机系统的设计者的眼光来看,在多 个中断源的系统中,设计者会知道哪些中断源特别重要, 所要求的响应要快;哪些中断源速度比较慢或重要性比 较低,对它们的响应稍微晚一点是可以的。为了能够根 据中断源的轻重缓急对多个中断进行合理的响应,在微 机中提出了中断优先级的控制问题。中断优先级控制 应当解决这样两种可能出现的情况:
第5章 输入输出技术
中断服务程序分为两种情况:第一种是如图5-8所示 的、不允许被中断的中断服务程序。这种中断服务程 序进入过程是中断源请求,CPU 响应——承认、断点保 护后进入该服务程序的入口。在入口时刻,CPU 内部硬 件已经关中断并进行了部分断点保?护工作。从图5-8 流程图中可以看到,本服务程序直到中断返回IRET前才 开中断,保证在整个中断服务程序中不会被INTR所中断。
第5章 输入输出技术
(1) 除法错中断 在 8086(88) 执 行 除 法 指 令 时 , 如 果 所 得 的 商 超 过 了 CPU所能表示的最大值, CPU会立即产生一个向量码为 0的中断。 (2) 单步中断 8086(88)CPU 的标志寄存器中有一位TF标志——陷 井状态标志。CPU每执行完一条指令都检测TF的状态。
MOV AL,81H MOV DX,0000H OUT DX,AL 当执行OUT指令时,CP端会有负脉冲产生,这就可以将数 据线上的81H锁存在输出端,从而点亮发光二极管。
第5章 输入输出技术
2.查询方式。 无条件传送对于那些慢速的总是准备好的外设是 适用的,但是,还有许多外设并不是总是准备好的。CPU 与这类外设进行数据交换,经常采用程序查询方式。查 询方式传送数据过程如下:如果CPU要从外设接收一个 数据,则CPU首先查询外设的状态,看外设数据是否准备 好,若没有准备好则等待;若外设已将数据准备好,则CPU 由外设读取数据。接收数据后,CPU向外设发响应信号, 表示数据已被接收。外设收到响应信号之后,即可开始 下一个数据的准备工作。
以上所描述的查询方式工作的输入输出过程,可简 要地用图5-3所示的流程图来说明。CPU查询外设的状 态而后决定数据的传送。
第5章 输入输出技术
图5-3 查询方式输入输出框图
第5章 输入输出技术
下面的一段程序是将BL的内容输出到外设上去。 MOV DX,00FFH
LOOP: IN AL,DX AND AL,01H JZ LOOP MOV AL,BL OUT DX,AL
② 中断矢量法 利用不同中断源提供不同中断矢量,从而确定中断 源。该方法已得到广泛的应用。在下一节中将仔细加 以说明。
第5章 输入输出技术
图5-7 软件查询确定中断源流程图
第5章 输入输出技术
(5) 中断服务 我们将用户为进行中断处理所编写的程序统称为 中断服务程序。通常用户编写的服务程序包括断点保 护——是指在中断响应过程中CPU硬件未能保护的那 些寄存器的内容,要进行保护。对中断源进行针对其要 求的服务,假定采用矢量中断,识别中断源已经解决。最 后是恢复断点,开中断,中断返回。上述内容都是用户在 编写中断服务程序时需要做的工作。
第5章 输入输出技术
(2) 可屏蔽中断请求INTR 通常简称中断请求。它受中断允许标志位IF的约束。 只有当IF=1,CPU 才有可能响应INTR请求。INTR是高 电平有效。 INTR的响应过程中,在获得中断向量码上与内部中 断和NMI中断不同。其时序关系图如图5-11所示。
第二种是可以被中断的中断服务程序,其流程图如 图5-9是允许被其他优先级更高的中断源中断的服务程 序。同样,在流?程图中,在某些CPU最后一次开中断是 可以不要的。
第5章 输入输出技术
图5-8 不允许被中断的中断服务程序流程图
第5章 输入输出技术
图5-9 允许中断的中断服务程序流程图
第5章 输入输出技术
第5章 输入输出技术
(2) 中断承认 CPU 在每条指令执行的最后一个时钟周期检测中 断请求输入端有无请求发生,而后决定是否对它做出响 应。CPU 承认一个中断请求,必须满足以下四个条件: ① 一条指令执行结束。CPU 在一条指令执行的最 后一个时钟周期对请求进行检测,当满足我们要叙述的 四个条件时,本指令结束,即可响应。
(6) 断点恢复 与前面所提到的断点保护相对应,由于中断响应过 程中,CPU 硬件本身只保护有限的几个寄存器的内容,而 服务程序中可能还会用到其他一些寄存器,这些寄存器 的内容就必须加以保护。 (7) 中断返回 中断返回是一条指令,执行这条指令,其操作刚好是 CPU硬件在中断响应时自动保护断点的逆过程。即将 堆栈的内容依次弹回到IP、CS和FLAG之中。
第5章 输入输出技术
① 当不同优先级的多个中断 源同时提出中断请求时,CPU 首先响应最高优先级 的中断源。② 当CPU正在对某一中断源服务时,比它优 先级更高的中断源提出中断请求,CPU能够中断正在执 行的中断服务程序转向响应并对优先级更高的中断源 服务。服务结束再返回原优先级较低的中断服务程序 继续执行。
第5章 输入输出技术
(3) 断点保护 在中断响应过程中,CPU 硬件对断点进行保护。只 是不同的CPU断点保护的内容略有不同。8086(88)CPU 在中断响应时硬件自动关中断、将标志寄存器压入堆 栈进行保护、将CS和IP的内容压入堆栈加以保护。
第5章 输入输出技术
有两种常用的确定中断源的方法; ① 软件查询 软件查询中断源,需要硬件支持,其硬件电路简图如 图5-6所示。图5-6中,当中断源要提出中断请求时,INT 变为高电平。它经或门加到CPU 上提出中断请求。同 时,利用并行接口(可以是三态输入口)将INT的状态输入 CPU。
第5章 输入输出技术
2.外设与内存独立编址。 在这种编址方法中,内存地址空间和外设地址空间 是相互独立的。例如,在8086 (8088)CPU中,内存地址是 连续的1M字节,从00000H~FFFFFH。
第5章 输入输出技术
二、输入输出的基本方法 在微型计算机系统中,主要的输入输出方法有以下四种: ① 无条件传送。 ② 查询方式。 ③ 中断方式。 ④ 直接存贮器存取(DMA)方式。
无条件数据传送的另一个例子如图5-2表示。图中 外设是简单的发光二极管。此外设的接口用锁存器 (273)来实现。锁存器是在打入脉冲CP上升沿将输入端 D的数据锁存在它的输出Q端。
第5章 输入输出技术
图5-2 锁存器输出接口
第5章 输入输出技术
图5-2中,锁存器作为输出接口,其外设地址为0000H。当 CPU执行如下指令时,即可将图中两个发光二极管点亮。
第5章 输入输出技术
作为无条件数据输入的例子,我们来看一下图5-1所 示的电路。在图中,我们把开关K看做是一个简单的外 设。K的状态是确定的,要么闭合,要么打开。当计算机 通过外设接口读K的状态时,一定会读到指令执行时刻K 的状态。
第5章 输入输出技术
图5-1 开关K的输入接口
第5章 输入输出技术
2.外部中断 8086(88)有两个信号输入端供外部中断源提出中 断请求来使用,下面分别予以说明。 (1) 非屏蔽中断NMI 如前所述,8086(88)的NMI不受IF标志的限制,只要 是CPU在正常执行程序,一旦NMI请求发生,CPU在一条 指令执行结束后将对它作出响应。NMI输入为上升沿 有效。
第5章 输入输出技术
2.中断响应的一般过程 在这里主要是介绍可屏蔽中断的响应过程,只要 INTR的响应过程清楚了,NMI的响应过程也就很容易理 解了。可屏蔽中断的响应过程按其先后顺序分为如下 几步: (1) 中断请求 当外部设备要求CPU对它服务时,产生一个有效的 中断请求信号,注意是一个电平信号加到CPU的中断请 求输入端,即可对CPU提出中断请求。
第5章 输入输出技术
第五章 输入输出技术
§5.1 概述 §5.2 中断方式 §5.3 直接存贮器存取(DMA) §5.4 I/O处理器 习题
第5章 输入输出技术
5-1 概 述
输入输出是计算机与外部世界进行信息交换不可 缺少的手段,在整个计算机系统中占有极其重要的地位。 没有输入、输出,计算机将变得毫无意义。由于外部设 备种类繁多,要求输入或输出的信号形式、电平、速率 千差万别。这些问题在考虑采用输入输出技术时必须 认真加以考虑。在本节中,我们将介绍如下几个有关的 问题。
相关文档
最新文档