微机原理与接口技术_06IO接口与中断综述_第1页
微机原理与接口技术_06IO接口与中断综述_第2页
微机原理与接口技术_06IO接口与中断综述_第3页
微机原理与接口技术_06IO接口与中断综述_第4页
微机原理与接口技术_06IO接口与中断综述_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第66章 I/O接口与中断本章主要内容 6.1 I/O接口概念 6.2 I/O端口编址方式 6.3 CPU与I/O接口之间数据传送方式 6.4中断 6.5 8086中断系统6.1 I/O接口概念6.1.1 I/O接口的基本功能 为了协调CPU与外设之间的数据读写矛盾,实现CPU和外设之间高效可靠的信息交换,I/O接口应具备以下功能。 1数据缓冲功能 2信号转换功能 3端口选择功能 4接收和执行CPU命令的功能 5中断管理功能 6可编程功能6.1.2 I/O接口的基本组成 I/O接口的基本结构如下图所示。 1CPU和I/O设备之间交换的信息有数据信息、状态信息和控制信息 1)数据信息 CPU与外

2、设交换的基本信息是数据信息(data),大致可以分为下面三种类型。 (1)数字量 (2)模拟量 (3)开关量 2)状态信息 状态信息(status)反映的是当前外设所处的工作状态,外设通过I/O接口将状态信息送往CPU,CPU接收到这些信息就可以了解到外设的工作情况,从而准确适时地进行数据的传送。 3)控制信息 控制信息(control)是CPU通过接口传送给外设的,CPU通过发送控制信息来控制外设的暂停,启动等。 2端口地址译码 地址译码是I/O接口的基本功能之一,微处理器在执行输入/输出指令时需要向地址总线发送外部设备的端口地址,译码电路收到与本接口有关的地址后产生相应的选通信号,对相关端

3、口进行数据、命令或状态的传输,完成一次I/O操作。 3数据缓冲/锁存器 在CPU与I/O设备之间进行输入/输出操作时,输入需要缓冲,输出需要锁存。 6.2 I/O端口编址方式6.2.1 统一编址这种编址方式又称为存储器映射编址方式,是从存储器空间划出一部分地址给I/O端口,即把每个I/O端口当作一个存储单元,I/O端口与内存单元被安排在同一个地址空间中,CPU与外设的数据交换,相当于对存储器的读/写操作,不设置专门的I/O指令。 使用这种编址方式的优点如下。 (1)可以用访问内存的方式来访问I/O端口。 (2)外设数目或I/O寄存器数目几乎不受限制。 (3)微机系统读写控制逻辑较简单。 使用这

4、种编址方式的缺点如下。 (1)I/O端口占用部分内存空间,减少了内存可用的地址范围,因此对内存容量有 影响。 (2)访问I/O端口和访问内存一样,由于访问内存时地址较长,指令的机器码也长,执行时间显然会增加。 (3)从指令上不易区分当前是对内存进行操作还是对外设进行操作。6.2.2 独立编址这种编址方式称为I/O映射编址方式,内存和I/O端口有各自独立的地址空间。 使用这种编址方式的优点如下。(1)内存地址空间不受I/O端口地址空间影响。(2)地址译码简单,速度较快。(3)I/O指令简短,执行速度快。(4)使用专用I/O命令,与内存访问命令有明显区别,便于理解和检查。6.3 CPU与I/O接口

5、之间数据传送方式6.3.1 程序控制方式1无条件传送方式在该方式中,外设总被认为已处于准备就绪或准备接收状态,程序不必查询外设的状态,当需要与之交换数据时,直接执行输入、输出指令,就开始发送或接收数据。 2条件传送方式条件传送方式也称为程序查询方式,在传送数据之前,CPU要执行查询程序去查询外设的当前状态,只有当外设处于准备就绪(输入设备)或空闲状态(输出设备)时,才执行输入或输出指令进行数据传送,否则,CPU循环等待,直到外设准备就绪为止。 6.3.2 中断控制方式中断传送方式的特点是,改CPU的主动查询为被动响应,当输入设备准备好数据或输出设备处于空闲时向CPU发出中断申请信号,请求CPU

6、为它们服务(输出数据或从接口读取数据)。这时,CPU暂时中断当前正在执行的程序(即主程序)转去执行为输入/输出设备服务的中断处理程序,服务完毕,又返回到被中断的程序处继续执行。这样,CPU就不用花大量时间查询外设状态,而使CPU和外设并行工作,只是当外设状态就绪或准备好时,用很短时间去处理一下,处理完毕又继续回到主程序执行,大大提高了CPU的工作效率。 6.3.3 DMA方式该方法的基本思路是:外设与内存间的数据传送不经过CPU,传送过程也不需要CPU干预,在外设和内存间开设直接通道,由一个专门的硬件控制电路来直接控制外设与内存间的数据交换,从而提高传送速度和CPU的效率。 1DMA控制器的基

7、本功能及组成 DMA控制器应具有以下基本功能。 (1)能接收外设的DMA请求,并向CPU发出总线请求,以便取得总线使用权。 (2)能接收CPU的总线允许信号,控制总线。 (3)在获得总线控制权后,能提供访问存储器和I/O端口的地址,并在数据传送过程中能自动修改地址指针,以指向下一个要传送的数据。 (4)在DMA传送期间向存储器和I/O设备发出所需要的控制信号(主要是读/写控制信号)。 (5)能控制数据传送过程的进行和结束,有一个字节计数器以控制传送何时结束。 (6)当DMA传送结束时,能向CPU发DMA结束信号,以便CPU恢复对总线的 控制。 根据DMA控制器应具有的基本功能,确定DMA控制器

8、在硬件结构上应该具有以下基本部件。 (1)地址寄存器:接收CPU预置的存储器起始地址,以及在传送过程中自动修改地址,以指出下一个要访问的存储单元。 (2)字节计数器:接收CPU预置的数据传送的总字节数,以及在传送过程中控制传送过程何时结束,该字节计数器应具有自动减1功能。 (3)控制寄存器:接收CPU的命令,决定DMA传送方向及传送方式,是输出(从内存到外设备)还是输入(从外设到内存),是传送一个数据还是一批数据。 (4)状态寄存器:用来反映DMA控制器及外设当前的工作状态。 (5)内部定时与控制逻辑:用来产生一些接口电路内部的控制信号。 2DMA控制器的工作模式 DMA传送通常用于高速外设与

9、存储器间的大批量数据传送,DMA控制器可以有以下几种工作模式。 1)单字节传送模式 2)成批传送模式 3)请求传送模式 4)级联传送模式 3DMA操作过程 一个完整的DMA操作过程大致可分三个阶段:准备阶段(初始化)、数据传送阶段和传送结束阶段。准备阶段是DMA控制器接受CPU对其进行初始化,初始化的内容包括设置存储器的地址、传送的数据字节数,决定DMA控制器工作模式和传送方向等的控制字,以及对相关接口电路的初始化设置。传送结束阶段是DMA控制器在传送完成后向CPU发出结束信号,以便CPU撤销总线允许信号,收回总线控制权。 6.4中断6.4.1 中断的概念与特点所谓中断,是指对现行程序的“中断

10、”,即指CPU暂时停止现行程序的执行,转去处理突然发生的随机事件,处理完毕后又自动恢复原来程序的执行。 中断方式带有随机性,这是中断区别于其他程序切换过程(如转子与返回)的主要特点。什么时候转子,在程序中是事先安排好了的,而什么时候转去执行中断处理程序则不是由程序预先安排。 6.4.2 中断源的概念能够引起中断的事件称为中断源,亦即能够向CPU发出中断请求的中断来源。常见的中断源如下。(1)I/O设备,例如键盘、打印机等。(2)故障信号,例如硬件损坏、电源掉电等。(3)实时时钟,例如外部硬件时钟电路定时到等。(4)软件中断,如软中断指令、调试指令等。 在微型计算机系统中,中断源有两类,即内部中

11、断和外部中断。 1)内部中断 由处理器内部产生的中断事件。 2)外部中断 由处理器以外的设备产生的中断事件。按照中断请求信号接入引脚的不同,外部中断又可分为可屏蔽中断和非屏蔽中断。6.4.3 中断处理过程一个完整的中断处理过程主要包括三个方面:中断请求、中断承认、中断响应。中断和中断过程如下图所示。6.4.4 中断优先级及中断嵌套1中断优先级按照中断源的重要性和实时性要求来安排中断响应的次序,这个中断响应次序就称为中断优先级。 中断优先级的控制原则如下:(1)同时有多个中断请求时,先响应高优先级中断,再响应低优先级中断。(2)当CPU执行某个中断服务子程序时,出现新的高优先级中断源请求中断,则

12、暂停正在执行的低优先级中断服务子程序,先去执行高优先级中断服务子程序,高优先级中断服务结束后,再返回到低优先级中断服务程序继续执行。一般情况下,我们采用软件查询或者专业芯片管理两种方式实现中断优先级控制。 2中断嵌套 在中断优先级确定的条件下,CPU总是先响应优先级最高的中断请求。当CPU正在执行优先级相对较低的中断服务子程序时,又有优先级更高的中断请求,CPU会将正在处理的低优先级中断暂停,转去处理优先级更高的中断,即去执行高级中断的服务子程序,这就是中断嵌套。 6.5 8086中断系统6.5.1 中断源类型 1内部中断 内部中断是CPU在执行指令过程中产生的中断,如执行软中断指令INT,调

13、试程序时设置的中断,以及CPU在执行常规指令时产生的异常状态。主要包括除法错中断、单步中断、断点中断、溢出中断以及软中断,这些中断源都来自CPU内部。 2外部中断 外部中断是指外部设备通过CPU引脚接入的中断,8006 CPU有两条专门的中断请求信号接入引脚INTR和NMI,所以外部中断包括可屏蔽中断(INTR)和非屏蔽中断(NMI)。6.5.2 中断优先级在8086系统中,内部中断的优先级最高(除单步中断),接下来就是NMI,其次是INTR,优先级最低的是单步中断。8086系统各类中断的优先级如下表所示。中断源优先级除法错、INTn、INTO最高NMI 次之 INTR 较低 单步中断 最低

14、6.5.3 中断向量法 1中断向量表 CPU响应中断,最终目的是执行中断服务子程序,完成对中断事件的服务。由于中断源和中断类型码一一对应,所以6.5.1节CPU获取中断类型码后,也就确定了中断源。剩下的关键问题就是怎样找到该中断源中断服务子程序的入口地址,从而转向中断服务程序。8086系统采用的方法是为256个中断源的中断服务程序的入口地址建立一张表格中断向量表。 2中断向量表初始化 一般8086系统已将专用中断和系统保留中断的中断向量存入中断向量表,但用户定义的中断尚未存入,所以用户在实际使用时如果自定义并使用了其他中断,必须事先将自定义的中断源的中断向量自行存入中断向量表,这就是中断向量表

15、初始化。 中断向量表初始化采用编程方法实现,用户应在主程序的初始化部分编写程序段,将中断向量依次写入中断向量表。 6.5.4 中断响应过程 8086系统对一个中断的处理过程主要包括中断请求、中断承认、中断响应三个环节。在这个中断处理过程中,不同中断有一些区别。 1可屏蔽中断(INTR) 这一中断响应过程中,CPU主要完成以下工作。 (1)执行两个中断响应周期。 (2)执行一个总线写周期,将标志寄存器的内容压入堆栈。 (3)执行两个写总线周期。 (4)执行两个读总线周期。 (5)由CS寄存器和IP寄存器得到中断服务子程序的物理地址,CPU自动转向中断服务子程序。 (6)中断服务子程序执行完毕,返

16、回原程序断点处继续执行。 2非屏蔽中断(NMI) 与可屏蔽中断相比,非屏蔽中断的处理过程主要有以下区别。 (1)在中断请求环节,非屏蔽中断请求信号为上升沿有效。 (2)在中断承认环节,它不受中断允许标志位IF的控制,并且优先级高于INTR。 (3)在中断响应环节,由于非屏蔽中断请求的中断类型码是固定的,所以就不执行可屏蔽中断的步骤(1),而直接执行步骤(2)(6)。 3内部中断 与可屏蔽中断相比,内部中断的处理过程主要有以下区别。 (1)在中断请求环节,内部中断请求信号直接由CPU内部产生。 (2)在中断承认环节,它不受中断允许标志位IF的控制,并且除单步中断外优先级均高于INTR。 (3)在中断响应环节,由于内部中断的中断类型码或者是固定的,或者可直接从指令操作数获得,所以就不执行可屏蔽中断的步骤(1),而直接执行步骤(2)(6)。 6.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论