版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9章章 输入输出系统及中断的使用输入输出系统及中断的使用方法方法 本章重点:本章重点: 掌握接口的基本功能和输入输出指令。掌握CPU寻址外设的方式、外设端口的编址方式、CPU与外设间传送信息的种类。掌握程序控制传送方式、中断传送方式,了解DMA方式的特点。 重点掌握如何用汇编编写一些功能程序。另外在理解中断的相关概念基础上进一步掌握中断服务程序的设计等。 9.1 输入输出接口概述输入输出接口概述 1. I/O接口的一般结构及编址方式接口的一般结构及编址方式 接口是一组电路,是中央处理器与存储接口是一组电路,是中央处理器与存储器、输入输出设备等外设之间协调动作器、输入输出设备等外设之间协调动
2、作的控制电路。的控制电路。 9.1 输入输出接口概述输入输出接口概述 2I/O设备接口的编址方式设备接口的编址方式 设备接口表现为一组寄存器,具有确定的地址码设备接口表现为一组寄存器,具有确定的地址码(即(即IO端口地址)。主机通过端口寻址寄存器端口地址)。主机通过端口寻址寄存器连接设备,其中数据寄存器提供传输数据的存储连接设备,其中数据寄存器提供传输数据的存储缓冲,状态寄存器记录设备工作状态,而控制寄缓冲,状态寄存器记录设备工作状态,而控制寄存器决定设备工作方式。存器决定设备工作方式。 80 x86系列采用独立编址方式,具有64KB个8位端口,其中系统标准设备已占用部分端口。下面列出PC机部
3、分I/O端口的地址。 00H0FH:DMA控制器的端口地址。 20H21H:可编程中断控制器PIC端口地址,其中ICR为20H,IMR为21H。 40H43H:时钟/定时器的端口地址。 60H6FH:键盘控制器端口地址,60H为键盘输入端口寄存器的地址。 61H:设备控制寄存器的端口地址。 70H71H:CMOS RAM端口地址 378H37AH:LPT1并行打印机端口地址,数据、状态和控制端口地址依次为378H、379H、37AH 3F8H3FFH:COM1端口地址,其中数据寄存器的端口地址为3F8H、状态寄存器为3FDH。 2F8H2FFH:COM2端口地址。 可见,00HFFH用于微机主
4、板上的I/O设备端口,100H4FFH用于扩展插件上的设备端口,500FFFFH为I/O扩展区,供用户使用。当设备端口分配存在冲突时,系统将无法正常运行。 9.1 输入输出接口概述输入输出接口概述 9.1.2 CPU与外设间的数据传送方式与外设间的数据传送方式 1无条件传送方式无条件传送方式 无条件传送方式也叫直接程序控制输入输出。它无条件传送方式也叫直接程序控制输入输出。它不需要查询外设状态,直接使用不需要查询外设状态,直接使用IO指令与外设指令与外设实现同步数据交换。采用这种控制方式的接口电实现同步数据交换。采用这种控制方式的接口电路和控制程序都比较简单。它一般应用在工作速路和控制程序都比
5、较简单。它一般应用在工作速度慢,接口电路较简单的外设,如扬声器,度慢,接口电路较简单的外设,如扬声器,LED显示器、开关、继电器等。适合采用这种方式。显示器、开关、继电器等。适合采用这种方式。9.1 输入输出接口概述输入输出接口概述 2程序查询传送方式程序查询传送方式 程序查询控制是指CPU通过程序不断地查询外部设备的工作状态,看其是否为“准备好”状态,只有在外部设备已“准备好”的状态下,微处理器才对指定端口进行输入输出操作,否则微处理器继续查询等待。它是利用程序来不断地测试外设的状态,根据状态决定是否实现输入输出操作的信息传送方式。例如对于打印机,就可以采用此方式。CPU查询打印机是否处于就
6、绪(Ready)状态,如果就绪,将要打印的字符首先提供给数据端口。然后查询状态端口,如果打印机能接收数据,则利用控制端口将数据提供给打印机。下面的程序代码就是常用的查询方式。9.1 输入输出接口概述输入输出接口概述 3中断传送方式中断传送方式 当CPU需要与外设交换数据时,执行一条指令去完成外设工作,然后继续执行自己的程序,这就是中断传送方式。输入时若外设的输入数据已送入数据寄存器,在输出时若外设已把一个数据输出,则由外设向CPU发出中断请求。当CPU响应中断时,就暂停正在执行的程序(即实现中断),转去执行输入或输出操作(中断服务)。一次数据传送完成后,返回到刚才暂停处(断点地址),CPU继续
7、执行原来程序。9.1 输入输出接口概述输入输出接口概述 中断控制方式的处理过程如下: 在中断控制方式下,外部设备具有申请微处理器服务的主动权。当输入设备“准备好”输入的数据或输出设备“准备好”接收微处理器数据时,可以向微处理器发出中断请求,触发中断请求信号线INTR。 中断控制器具有中断判优的功能,当输入中断请求信号具有较高的优先级时,会立即向微处理器发出中断请求。 当中断标志位IF=1(开中断)时,执行完当前一条指令后,微处理器响应外部设备的中断请求。由中断控制器将相应的中断矢量码n送微处理器,微处理器根据中断矢量码从中断矢量表取得中断服务程序的入口地址,转相应的中断服务程序。 执行中断服务
8、程序,微处理器与外部设备交换数据后,中断返回。9.1 输入输出接口概述输入输出接口概述 4直接存储器存取方式直接存储器存取方式 程序查询方式和中断方式都是解决CPU和I/O设备间的信息交换,其共同特点是实现CPU寄存器与I/O端口间数据交换,且I/O操作都是由软件(I/O指令)完成,而DMA方式下CPU不参与工作,在硬件DMAC控制下完成外设与存储器间的直接传输数据的一种方式。直接存储器存取(DMA)是利用专门的硬件电路DMAC(DMA控制器8237)让外设接口可直接与内存进行高速数据传送,而不必经过CPU。DMA方式适合于大批量数据的传输,但硬件开销量较大。 采用DMA方式时,如外设需要进行
9、数据传输,首先向DMA控制器发出DMA请求,DMA控制器再向CPU发出总线请求,要求使用系统总线。CPU响应DMA控制器的总线请求并把总线控制权交给DMA控制器,然后在DMA控制器的控制下开始利用系统总线进行数据传输。数据传输结束后,DMA控制器自动交出总线控制权。整个数据传输过程与CPU无关。这样,数据传输速度基本上取决于外设和存储器的速度。9.2 中断处理技术中断处理技术 9.2.1 中断的概念中断的概念 1中断的基本概念中断的基本概念 中断是指正常执行的程序被某种临时发生的事件所打断,当前程序暂时中止,处理器转去处理所发生的事件,处理完毕后再返回继续执行暂时中止的程序。就是说,在当前程序
10、中插进了一段别的程序中断服务程序或中断处理程序。CPU执行的现行程序被中断时的后继指令(下一条指令)的地址称为断点地址。中断时,CPU执行程序过程中所处的状态称为现场。9.2 中断处理技术中断处理技术2中断的响应过程中断的响应过程对于可屏蔽中断,当CPU检测到有中断请求时,如果满足响应条件就要予以响应,具体过程如下: 关中断,保护断点。这一步为隐操作。 保护现场。在中断服务程序中可能要用到某些寄存器,而这些寄存器也许在主程序被打断时存放着有用的内容,为了不破坏主程序在断点处的状态,应将这些寄存器的内容进压栈保护,这称为现场保护。 开中断。由于CPU响应中断时自动关闭了中断,如果不用指令打开中断
11、,CPU就不再响应可屏蔽的中断,这样就可能把更高级别的中断请求屏蔽掉,返回断点后CPU也就不能响应其他的可屏蔽中断。为此,要根据中断系统的实际情况,在中断服务程序的适当位置打开中断。 具体中断处理。这是中断服务程序的主体。 关中断。为安全起见,在保护现场和恢复现场时都应关中断。防止这时响应更高级别的中断。 恢复现场。用一系列出栈指令,使保护现场时被保护的那些寄存器内容还原。 开中断、中断返回。因为恢复现场是在关中断状态下进行的,为了使返回断点后CPU能响应可屏蔽中断,必须开中断。同时,由返回指令(IRET)弹出断点地址,从而返回断点处继续执行被打断了的程序。9.2 中断处理技术中断处理技术 1
12、硬件中断硬件中断 硬件中断也称外部中断,是指通过外部的硬件产生的中断。如打印机、硬盘等。硬件中断可分为可屏蔽中断(INTR)和不可屏蔽中断(NMI)。 2软件中断软件中断 软件中断也称内部中断,即由中断指令引起的中断,它与硬件电路无关,也不受IF位控制。常见的有以下几种。如除数为0,或用执行软中断指令INT n后,产生中断,调用系统内相应的中断服务程序。溢出中断由INT 0指令引起,断点中断由INT 3指令引起。中断类型由指令中的n指定,n称为中断号,其范围是0255 9.2 中断处理技术中断处理技术 3.中断向量表是中断类型号n与对应的中断服务处理程序之间的连接表,它提供了各个中断类型号n对
13、应的中断服务程序的入口地址。当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。在IBM-PC16位机中,中断向量表占用主存至少1KB的地址空间,地址范围是00000H003FFH。在中断向量表中内容分为256项,分别对应256个中断类型号0255。每一项占用四个字节,用来存放中断处理程序的入口地址。高、低字单元分别用来存放中断处理程序入口地址所在段的段地址和偏移地址。 9.2 中断处理技术中断处理技术 4中断处理过程中断处理过程 由于各中断服务处理程序的段地址和偏移地址在中断向量表中按中断类型好依次存放,其入口地址由中断类型号乘以4得到。 当中断发生时,系统自
14、动完成下列动作: 取中断类型号n 图9-4 标志寄存器(PSW)内容压入堆栈 当前CS内容入栈,IP内容入栈 禁止硬件中断和单步中断(IF=0,TF=0) 从中断向量表中取4n的字内容送IP,取4n+2的字内容送CS 转入中断服务子程序去执行 中断服务程序中通常有IRET指令,当执行该指令时,它的功能是从堆栈中弹出中断断点地址,分别送入IP和CS,然后恢复标志寄存器的内容。所以,在执行了IRET指令以后,便返回到被中断的主程序,继续原有程序的执行。中断传送方式应用程序举例中断传送方式应用程序举例例例9.2.2:设计一个中断服务程序。在60H67H号中断是保留给用户使用的,现要求编程设置其功能指
15、令“INT 60H”的功能是输出字符“K”。分析:驻留程序通常使用TINY内存模式,程序应该尽量短。代码如下。MODEL TINYCODESTARTUPNEWINT60 PROC NEAR ;自定义新的中断60H服务程序STI ;开中断MOV AH,2MOV DL,KINT 2lHIRETNEWINT60 ENDPSTART PROC FAR;为60H号中断设置新中断向量LEA DX,MYINTMOV AX,SEGMYINTMOV DS,AXMOV AL,60HMOV AH,25HINT 21HMOV AH,31HMOV DX,15H ;其中10H节属于PSPINT 2lHSTART ENDPCODE ENDSEND START习题简答题 1CPU和外设的数据传输方式有哪几种?在一个系统中,确定采用数据传输的方式的依据是什么? 2在一个系统中,有一I/O数据输入端口,如CPU采用MOV指令从该端口读入数据,说明该系统采用的是哪种I/O接口编址方式。 3简述中断优先级? 4中断向量表的功能是什么?已知中断类型码分别是84H和FAH,它们的中断向量应放在中断向量表的什么位置? 5什么叫DMA传送方式?DMAC控制器的主要功能是什么?习题简答题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编版五下六上学科融合劳动教材-香菜种植实践(同一班级进阶版)
- 多地点办公同步协调方法
- 2026浙江杭州市上泗中学诚聘初中语文、数学、英语、科学、社会教师(非事业)备考题库含答案详解(完整版)
- 2026年河南省三门峡市灵宝市事业单位联考招聘备考题库含答案详解(黄金题型)
- 2026广东湛江市坡头区生态环境保护督察整改工作领导小组办公室招聘1人备考题库含答案详解(夺分金卷)
- 2026赫章鑫晨建工(集团)有限公司招聘6人备考题库及答案详解(易错题)
- 2026安徽六安裕安区中医医院劳务派遣制工作人员招聘6人备考题库含答案详解(综合题)
- 2026重庆建峰工业集团有限公司招聘6人备考题库及完整答案详解
- 2026年安庆桐城中学教师招聘备考题库带答案详解
- 2026贵州黔南州罗甸县第一医共体罗妥分院面向社会招聘工作人员1人备考题库含答案详解(突破训练)
- 黄精食品加工项目可行性研究报告模板-备案拿地
- 布病防控知识培训课件
- 湖南省2024年中考语文真题试卷(含答案)
- 低碳 教育 课题研究报告
- 工程造价预算书
- 手术室布局讲解
- 广东省深圳市2023-2024学年六年级下学期期中综合测试数学试卷(北师大版)
- 校园停车位规划设计方案
- 服务记录单(模板-工程)
- 加强学校师资队伍建设,着力提升教育质量
- 2023年4月22日福建省宁德市事业单位《综合基础知识》笔试试题及答案
评论
0/150
提交评论