




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9章章输入输出与中断输入输出与中断9.1 输入输出的根本概念输入输出是一个完好运用程序的重要组成部分,也是交互式运用输入输出是一个完好运用程序的重要组成部分,也是交互式运用程序不可短少的组成部分。任何一种输入程序不可短少的组成部分。任何一种输入/输出设备都要经过一个硬输出设备都要经过一个硬件接口或控制器与件接口或控制器与CPU相连。例如,软磁盘经过软盘控制器与相连。例如,软磁盘经过软盘控制器与CPU相相连,终端显示器经过数据接口与连,终端显示器经过数据接口与CPU相连。这些接口和控制器都能支相连。这些接口和控制器都能支持输入持输入/输出指令与外部设备交换信息。这些信息包括控制、形状和输出指
2、令与外部设备交换信息。这些信息包括控制、形状和数据数据3种不同性质的信息,它们必需按不同的端口地址分别传送,如种不同性质的信息,它们必需按不同的端口地址分别传送,如下图。下图。 CPU数据寄存器状态寄存器控制寄存器I/O设备I/O接口 数据总线控制总线地址总线 外设数据 状态信号 控制信号9.1 输入输出的根本概念9.1.1 I/O端口地址和I/O指令1. I/O端口地址端口地址I/O端口端口PORT是是CPU与与I/O设备交换数据的场所。经设备交换数据的场所。经过过I/O端口,处置机可以接受从输入设备输入的信息,也可向端口,处置机可以接受从输入设备输入的信息,也可向输出设备发送信息。在计算机
3、系统中,用不同的数字给各类输出设备发送信息。在计算机系统中,用不同的数字给各类I/O端口进展编号,这种端口进展编号,这种I/O端口的编号就称为端口的编号就称为I/O端口地址。端口地址。2. I/O指令指令I/O指令应属于数据传送指令。指令应属于数据传送指令。1输入指令输入指令IN格式:格式:IN 累加器,端口地址累加器,端口地址9.1 输入输出的根本概念9.1.1 I/O端口地址和I/O指令功能:是从端口读入一个字节或字,并保管在存放器功能:是从端口读入一个字节或字,并保管在存放器AL或或AX中。假设端口地址在中。假设端口地址在0255范围之内,那么可在指令范围之内,那么可在指令IN中中直接给
4、出;否那么,要把端口地址先存入存放器直接给出;否那么,要把端口地址先存入存放器DX中,然后在中,然后在指令中由指令中由DX来给出其端口地址。因此,输入指令来给出其端口地址。因此,输入指令IN有如下有如下4种种格式:格式:IN AL,PORT;PORTALIN AX,PORT;PORT+1,PORTAXIN AL,DX;DXALIN AX,DX;DX+1,DXAX9.1 输入输出的根本概念9.1.1 I/O端口地址和I/O指令2输出指令输出指令OUT格式:格式:OUT 端口地址,累加器端口地址,累加器 功能:功能: 把存放器把存放器AL或或AX的内容输出到指定端口。假设某输出设的内容输出到指定端
5、口。假设某输出设备的端口地址在备的端口地址在0255范围之内,那么可在指令范围之内,那么可在指令OUT中直接给出;否中直接给出;否那么,要把端口地址先存入存放器那么,要把端口地址先存入存放器DX中,然后在指令中由中,然后在指令中由DX来给出来给出其端口地址。因此,输出指令其端口地址。因此,输出指令OUT也有如下也有如下4种格式:种格式:OUT PORT,AL;ALPORTOUT PORT,AX;AXPORT+1,PORT9.1 输入输出的根本概念9.1.1 I/O端口地址和I/O指令OUT DX,AL;ALDXOUT DX,AX;AXDX+1,DX这些指令只能起到传送数据的作用。假设要对形状存
6、放器进展测这些指令只能起到传送数据的作用。假设要对形状存放器进展测试、设置等操作,还要取回试、设置等操作,还要取回I/O形状数据到形状数据到AL或或AX,然后对,然后对AL或或AX进展测试、设置等操作,结果再写入进展测试、设置等操作,结果再写入I/O形状存放器。形状存放器。对对I/O端口的操作除了可以利用端口的操作除了可以利用AL/AX输入输入/输出一个字节或字外,输出一个字节或字外,在在32位的系统中还支持经过位的系统中还支持经过EAX的双字数据操作。的双字数据操作。9.1 输入输出的根本概念9.1.2 数据传送方式数据传送方式普通分为无条件传送、程序查询传送、中断传送、数据传送方式普通分为
7、无条件传送、程序查询传送、中断传送、DMA传送和数据通道传送等传送和数据通道传送等5种方式。种方式。1. 无条件传送方式无条件传送方式无条件传送方式适用于无条件传送方式适用于CPU与外设同步的情况。这种方式不需求与外设同步的情况。这种方式不需求查询外设的形状,而直接用查询外设的形状,而直接用IN或或OUT指令实现指令实现CPU与指定的外设存放与指定的外设存放器之间的数据传送。采用这种方式时,必需确保外设与器之间的数据传送。采用这种方式时,必需确保外设与CPU在传输数在传输数据的过程中,具有一样的速度,否那么不能准确地传送信息。据的过程中,具有一样的速度,否那么不能准确地传送信息。9.1 输入输
8、出的根本概念9.1.2 数据传送方式2. 查询方式查询方式查询方式适用于查询方式适用于CPU与外设不同步的情况。输入之前,要查与外设不同步的情况。输入之前,要查询数据能否曾经预备好,假设曾经预备好,那么可以传输;否那询数据能否曾经预备好,假设曾经预备好,那么可以传输;否那么,继续等待,直到数据预备好再进展数据传送,如左图所示。么,继续等待,直到数据预备好再进展数据传送,如左图所示。输出之前也要查询外设形状能否忙碌,忙碌那么等待,不忙那么输出之前也要查询外设形状能否忙碌,忙碌那么等待,不忙那么输出数据到外设,如右图所示。输出数据到外设,如右图所示。 输入状态信息 准备好 输入数据 N Y 输出状
9、态信息 设备忙 输出数据 N Y 9.1 输入输出的根本概念9.1.2 数据传送方式3. 中断传送方式中断传送方式在中断传送方式中,某一外设的数据预备就绪后,它在中断传送方式中,某一外设的数据预备就绪后,它“自动自动向向CPU发恳求中断的信号,恳求发恳求中断的信号,恳求CPU暂时中断目前的任务而暂时中断目前的任务而进展数据交换。当进展数据交换。当CPU呼应这个中断时,便暂停运转主程序,呼应这个中断时,便暂停运转主程序,并自动转移到该设备的中断效力程序。当中断效力程序终了以后,并自动转移到该设备的中断效力程序。当中断效力程序终了以后,CPU又回到原来的主程序。其原理和调用子程序相仿,不过,又回到
10、原来的主程序。其原理和调用子程序相仿,不过,这里要求转移到中断效力子程序的恳求是由外部设备发出的。这里要求转移到中断效力子程序的恳求是由外部设备发出的。中断传送方式是中断传送方式是CPU和外部设备进展输入输出的有效方法。和外部设备进展输入输出的有效方法。它可以防止因反复查询外部设备的形状而浪费时间,从而提高它可以防止因反复查询外部设备的形状而浪费时间,从而提高CPU的效率。的效率。9.1 输入输出的根本概念9.1.2 数据传送方式4. DMA方式方式DMA方式即直接存储器存取方式即直接存储器存取Direct Memory Access方式,也称为成组数据传送方式。方式,也称为成组数据传送方式。
11、DMA方式主要用于一些高速方式主要用于一些高速的的I/O设备,如磁带、磁盘、模数转换器设备,如磁带、磁盘、模数转换器ADC等设备。对这等设备。对这类高速类高速I/O设备,用执行输入设备,用执行输入/输出指令的方法或完成一次次中输出指令的方法或完成一次次中断序列的方法来传输字节,将会呵斥数据的丧失,而断序列的方法来传输字节,将会呵斥数据的丧失,而DMA方式方式I/O设备直接和存储器进展成批数据的快速传送,传送数据时不设备直接和存储器进展成批数据的快速传送,传送数据时不需求需求CPU干涉。干涉。在在DMA方式下,外设经过方式下,外设经过DMA的一种专门接口电路的一种专门接口电路DMA控制器控制器D
12、MAC,向,向CPU提出接纳总线控制权的总线提出接纳总线控制权的总线9.1 输入输出的根本概念9.1.2 数据传送方式恳求,恳求,CPU在当前的总线周期终了后,呼应在当前的总线周期终了后,呼应DMA恳求,把对总线的控制恳求,把对总线的控制权交给权交给DMA控制器。控制器。5. 通道控制传送方式通道控制传送方式 通道进一步提高了通道进一步提高了CPU的效率,这是由于通道是一个具有特殊功能的处置的效率,这是由于通道是一个具有特殊功能的处置器,它有本人的指令和程序专门担任数据输入输出的传输控制,而器,它有本人的指令和程序专门担任数据输入输出的传输控制,而CPU将将“传传输控制的功能下放给通道后只担任
13、输控制的功能下放给通道后只担任“数据处置功能。这样,通道与数据处置功能。这样,通道与CPU分分时运用内存,实现了时运用内存,实现了CPU内部运算与内部运算与I/O设备的并行任务。通道的根本功能是设备的并行任务。通道的根本功能是执行通道指令、组织外部设备和内存进展数据传输,按执行通道指令、组织外部设备和内存进展数据传输,按I/O指令要求启动外部指令要求启动外部设备,向设备,向CPU报告中断等。报告中断等。9.2 中断9.2.1 中断的根本概念1. 中断与中断源中断与中断源所谓计算机中断是指所谓计算机中断是指CPU正在执行某程序时,由于外界事件的需正在执行某程序时,由于外界事件的需求而向求而向CP
14、U发出恳求,发出恳求,CPU暂时中断正在执行的程序而转去处置暂时暂时中断正在执行的程序而转去处置暂时发生的特殊事件,处置完后再前往到被中断的地方继续往下执行的过发生的特殊事件,处置完后再前往到被中断的地方继续往下执行的过程。程。在中断过程中,执行的事件处置程序被称为中断效力程序,被中在中断过程中,执行的事件处置程序被称为中断效力程序,被中断的程序就是主程序。主程序中被中断的位置称为断点。断的程序就是主程序。主程序中被中断的位置称为断点。2. 中断分类中断分类8086/8088的中断可分为两类:外部中断和内部中断。的中断可分为两类:外部中断和内部中断。9.2 中断9.2.1 中断的根本概念1外部
15、中断外部中断外部中断又称为硬中断,由外设控制器或协处置器引起,以完外部中断又称为硬中断,由外设控制器或协处置器引起,以完全随机的方式中断现行程序而转向中断处置程序。外部中断有两全随机的方式中断现行程序而转向中断处置程序。外部中断有两个来源:非屏蔽中断个来源:非屏蔽中断NMI和可屏蔽中断和可屏蔽中断INTR。2内部中断内部中断内部中断又称为软中断,中断恳求来自内部中断又称为软中断,中断恳求来自CPU内部,不受中断内部,不受中断允许标志控制,主要由以下几种情况引起:由中断指令允许标志控制,主要由以下几种情况引起:由中断指令INT引起的引起的中断、除法错中断、溢出中断、程序员为调试程序设置的中断,中
16、断、除法错中断、溢出中断、程序员为调试程序设置的中断,以及单步中断和断点中断。在上述内部中断中,除单步中断及断以及单步中断和断点中断。在上述内部中断中,除单步中断及断点中断外,均为非屏蔽中断。点中断外,均为非屏蔽中断。9.2 中断9.2.1 中断的根本概念3. 中断向量表中断向量表每个中断源都对应着一个中断处置程序,中断处置程序的起始地每个中断源都对应着一个中断处置程序,中断处置程序的起始地址称为中断入口地址,系统将各种中断处置程序的入口地址放在一同址称为中断入口地址,系统将各种中断处置程序的入口地址放在一同构成一个地址表,称为中断向量表,如下图。构成一个地址表,称为中断向量表,如下图。在中断
17、向量表中,每在中断向量表中,每4个单元的内容构成一个中个单元的内容构成一个中断处置程序的入口地址中断向量,其中,前断处置程序的入口地址中断向量,其中,前两个单元存放中断处置程序的偏移地址两个单元存放中断处置程序的偏移地址IP的值,的值,后两个单元存放中断处置程序的段地址后两个单元存放中断处置程序的段地址CS值。值。 00000H 00004H 00008H 0000CH 003FCH 003FFH 类型 0 中断处理 程序入口地址 类型 1 中断处理 程序入口地址 类型 2 中断处理 程序入口地址 类型 0FF 中断处理 程序入口地址 9.2 中断9.2.1 中断的根本概念4. 中断系统的功能
18、中断系统的功能实现中断过程的硬件和软件称为中断系统。中断系统应具有以下实现中断过程的硬件和软件称为中断系统。中断系统应具有以下功能:功能:1实现中断与前往实现中断与前往2能实现优先级排队能实现优先级排队3能实现中断嵌套能实现中断嵌套优先级从高到低的次序为: 优先级高 非屏蔽中断(NMI) 内部中断 可屏蔽中断(INTR) 优先级低 单步中断 9.2 中断9.2.1 中断的根本概念5. 中断呼应中断呼应实现中断与前往的过程称为中断呼应。实现中断与前往的过程称为中断呼应。1CPU呼应中断的条件呼应中断的条件2中断呼应的过程中断呼应的过程6. 中断指令中断指令软中断依托程序中的软中断指令实现,所以又
19、称它为程序自中断。软中断依托程序中的软中断指令实现,所以又称它为程序自中断。软中断指令格式:软中断指令格式:INT n其中,其中,n为类型码,取值范围为类型码,取值范围0255。9.2 中断9.2.1 中断的根本概念执行操作:执行操作:FLAGS 送堆栈,去除送堆栈,去除IF、TF;CS送堆栈,送堆栈,4n+2CS;IP 送堆栈,送堆栈,4nIP。中断前往指令格式为:中断前往指令格式为:IRET执行操作:当前栈顶出栈送执行操作:当前栈顶出栈送IP,SP+2SP;当前栈顶出栈送当前栈顶出栈送CS,SP+2SP;当前栈顶出栈送当前栈顶出栈送FLAGS,SP+2SP。9.2 中断9.2.1 中断的根
20、本概念7. 中断和子程序调用的比较中断和子程序调用的比较中断和子程序调用两者有类似和不同之处。它们的任务过程非中断和子程序调用两者有类似和不同之处。它们的任务过程非常类似,即暂停当前程序的执行,转而执行另一程序段,该程序段常类似,即暂停当前程序的执行,转而执行另一程序段,该程序段执行完时,执行完时,CPU都自动恢复原程序的执行。都自动恢复原程序的执行。中断和子程序调用在实现方面的主要差别如下:中断和子程序调用在实现方面的主要差别如下:子程序调用一定是程序员在编写源程序时事先安排好的,是可子程序调用一定是程序员在编写源程序时事先安排好的,是可知的,而中断是由中断源根据本身的需求产生的,是不可预见
21、的知的,而中断是由中断源根据本身的需求产生的,是不可预见的用指令用指令INT引起的中断除外。子程序调用是用引起的中断除外。子程序调用是用CALL指令来实现指令来实现的,而中断是由中断恳求产生的。子程序的前往指令是的,而中断是由中断恳求产生的。子程序的前往指令是RET,而中,而中断效力程序的前往指令是断效力程序的前往指令是IRET。9.2 中断9.2.2 BIOS中断调用1. BIOS概述概述BIOSBasic Input/Output System是系统提供的根本输是系统提供的根本输入输出例行程序,它们普通以中断处置程序的方式存在。入输出例行程序,它们普通以中断处置程序的方式存在。BIOS例例
22、行程序普通装载在从地址行程序普通装载在从地址0FE000H开场的开场的8KB ROM中。驻留在中。驻留在ROM中的中的BIOS提供了系统加电自检、引导装入、主要提供了系统加电自检、引导装入、主要I/O设备的设备的处置程序以及接口控制等功能模块来处置一切的系统中断。处置程序以及接口控制等功能模块来处置一切的系统中断。以下情况下可思索运用以下情况下可思索运用BIOS中断:中断:有些功能有些功能DOS没有提供,但没有提供,但BIOS提供了;有些场所无法运用提供了;有些场所无法运用DOS功能调用;其他缘由。功能调用;其他缘由。9.2 中断9.2.2 BIOS中断调用2. BIOS中断调用方法中断调用方
23、法BIOS中断调用方法很简单,根本步骤为:中断调用方法很简单,根本步骤为:1置入口参数。置入口参数。2运用中断语句运用中断语句“INT n,其中,其中,n为中断号。为中断号。3. 常用常用BIOS功能调用功能调用1键盘键盘I/O中断调用中断调用16H中断调用中断调用16H中断调用有中断调用有3个功能,功能号为个功能,功能号为02。9.2 中断9.2.2 BIOS中断调用2打印机打印机I/O中断调用中断调用17H中断调用中断调用17H中断调用有中断调用有3个功能,功能号为个功能,功能号为02。3时钟中断调用时钟中断调用1AH中断调用中断调用1AH中断调用有两个功能,功能号为中断调用有两个功能,功
24、能号为0和和1。4. 显示器显示器I/O中断调用中断调用1设置显示方式功能号设置显示方式功能号0入口参数:入口参数:AH=0,AL为方式编码。为方式编码。出口参数:无。出口参数:无。9.2 中断9.2.2 BIOS中断调用2设置光标大小功能号设置光标大小功能号1入口参数:入口参数:AH=1,CH为光标顶值,取值范围为为光标顶值,取值范围为011,CL为为光标底值,取值范围为光标底值,取值范围为112。出口参数:无。出口参数:无。正规的光标符号类似于下划线,根据需求,用户可在规定范围内调整正规的光标符号类似于下划线,根据需求,用户可在规定范围内调整光标的大小。光标的大小。3设置光标位置功能号设置
25、光标位置功能号2入口参数:入口参数:AH=2,BH为页号,为页号,DH为行号,为行号,DL为列号。为列号。出口参数:无。出口参数:无。9.2 中断9.2.2 BIOS中断调用4上滚当前页功能号上滚当前页功能号6入口参数:入口参数:AH=6,AL为上滚行数假设为上滚行数假设AL=0,那么清屏,那么清屏,CH和和CL分别为滚动区左上角的行号和列号,分别为滚动区左上角的行号和列号,DH和和DL分别为滚动区右分别为滚动区右下角的行号和列号,下角的行号和列号,BH为从底部进入滚动区的空白行属性。为从底部进入滚动区的空白行属性。出口参数:无。出口参数:无。5下滚当前页功能号下滚当前页功能号7入口参数:入口
26、参数:AH=7,AL为下滚行数假设为下滚行数假设AL=0,那么清屏,那么清屏,CH和和CL分别为滚动区左上角的行号和列号,分别为滚动区左上角的行号和列号,DH和和DL分别为滚动区右分别为滚动区右下角的行号和列号,下角的行号和列号,BH为从底部进入滚动区的空白行属性。为从底部进入滚动区的空白行属性。出口参数:无。出口参数:无。9.2 中断9.2.2 BIOS中断调用6在当前光标处写字符及其属性功能号在当前光标处写字符及其属性功能号9入口参数:入口参数:AH=9,AL为写入字符的为写入字符的ASCII码,码,BH为页号,为页号,BL为字符属性,为字符属性,CX为反复次数。出口参数:无。为反复次数。出口参数:无。7在当前光标处写字符功能号在当前光标处写字符功能号1010号功能也是在当前光标处写字符,不改动光标位置,但是属性号功能也是在当前光标处写字符,不改动光标位置,但是属性和上次写的字符属性一样。和上次写的字符属性一样。入口参数:入口参数:AH=10,AL为写入字符的为写入字符的ASCII码,码,BH为页号,为页号, CX为反复次数。出口参数:无。为反复次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版婚内财产处理协议:净身出户执行合同范本
- 二零二五年度抗滑桩施工风险管理服务合同
- 二零二五年度离婚协议书中英对照律师全程指导合同
- 2025年度大型餐饮企业调味品采购范本
- 2025版防火门安全性能检测及认证服务合同
- 2025邓丹离婚协议中个人债务重组及处理协议
- 义务教育课程标准修订的教学案例心得体会
- 审计整改结果对账销号清单
- 小班健康活动:我爱刷牙
- 新型外墙真石漆施工工艺流程
- 2023年中国(浦东)知识产权保护中心专利预审员招聘笔试参考题库附带答案详解
- 勘界定标技术报告
- von frey丝K值表完整版
- 危险性较大的分部分项工程施工前安全生产条件核查表
- GB/T 5696-2006预应力混凝土管
- GB/T 528-2009硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- GB/T 3299-1996日用陶瓷器吸水率测定方法
- 大客户战略管理
- 精轧机组机械设备使用说明书
- 2022年机械制图期末试卷及答案
- 设备维护保养制度-设备维护保养制度规定
评论
0/150
提交评论