




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、输入输入/输出接口概述输出接口概述6.1CPU与外设之间的数据传送方式与外设之间的数据传送方式6.2中断技术中断技术6.3CPUCPU和外设之间必须要设置输入和外设之间必须要设置输入/ /输出接口输出接口(I/O(I/O接接口口) ),作为,作为CPUCPU与外设进行信息交换的桥梁。与外设进行信息交换的桥梁。 接口是一组电路,是接口是一组电路,是CPU与输入输出设备等外设之与输入输出设备等外设之间协调动作的控制电路。间协调动作的控制电路。I/O地址译码与设备选择地址译码与设备选择(1)信息的输入信息的输入/输出输出(2)命令、数据和状态的缓冲与锁存命令、数据和状态的缓冲与锁存(3)信息转换信息
2、转换(4) 所有外设都通过I/O接口挂接在系统总线上,在同一时刻,总线只允许一个外设与CPU进行数据传送。通过I/O接口,CPU可以从外部设备输入各种信息,也可将处理结果输出到外设;CPU可以通过向I/O接口写入命令字来控制I/O接口的工作,还可以随时监测与管理I/O接口和外设的工作状态;I/O接口还可以通过接口向CPU发出中断请求。因为CPU与外设之间的时序和速度差异很大,为了能够确保计算机和外设之间可靠地进行信息传送,要求接口电路应具有信息缓冲能力。接口不仅应缓存暂时存留CPU送给外设的信息,也要缓存暂时存留外设送给CPU的信息。以实现CPU与外设之间信息交换的同步。 I/O接口还要实现信
3、息格式变换、电平转换、码制转换、传送管理以及联络控制等功能。 CPU与与I/O设备之间传输的信息可分为以下三种:设备之间传输的信息可分为以下三种:(1 1数据信息数据信息 CPUCPU和外设交换的基本信息就是数据,分为数字量、和外设交换的基本信息就是数据,分为数字量、模拟量、开关量。模拟量、开关量。(2 2状态信息状态信息 状态信息反映了当前外设所处的工作状态,是外状态信息反映了当前外设所处的工作状态,是外设发给设发给CPUCPU的用来协调两者之间的操作。如的用来协调两者之间的操作。如READYREADY、BUSYBUSY。(3 3控制信息控制信息 控制信息是控制信息是CPUCPU发给外设的,
4、以控制外设的工作。发给外设的,以控制外设的工作。如外设的启动信号和停止信号。如外设的启动信号和停止信号。数据信息、状态信息和控制信息是属于不同性质的数据信息、状态信息和控制信息是属于不同性质的信息,需要分别传送。信息,需要分别传送。 一个简单的一个简单的I/OI/O接口内部包含:数据端口、状态和接口内部包含:数据端口、状态和控制端口。控制端口。n CPU CPU通过数据端口从外设读入数据或向外设输通过数据端口从外设读入数据或向外设输出数据出数据n 从状态端口读入设备的当前状态从状态端口读入设备的当前状态n 通过控制端口向外设发出控制命令通过控制端口向外设发出控制命令n 一个一个I/OI/O接口
5、可能仅包含其中的一类或两类端接口可能仅包含其中的一类或两类端口,当然也可能包含全部三类端口。口,当然也可能包含全部三类端口。 I/O I/O接口通常设置有若干个寄存器,用来暂存接口通常设置有若干个寄存器,用来暂存CPUCPU和外设和外设之间传输的数据、状态和控制信息,这些接口内部的寄存器之间传输的数据、状态和控制信息,这些接口内部的寄存器通常称为端口,分别为数据端口、状态端口、控制端口。每通常称为端口,分别为数据端口、状态端口、控制端口。每个端口有一个独立的地址,个端口有一个独立的地址,CPUCPU可通过端口地址来读可通过端口地址来读/ /写它们。写它们。 在微机系统中,在微机系统中,CPU对
6、外设的访问实际上是对外设的访问实际上是对外设接口电路中相应的对外设接口电路中相应的I/O端口进行访问,端口进行访问,CPU用相应的读写指令来对端口进行读或写。用相应的读写指令来对端口进行读或写。因此,对这些端口必须指定相应的地址码,因此,对这些端口必须指定相应的地址码,这就是这就是I/O端口的编址。端口的编址。I/O端口的编址通常有两种不同的方式:端口的编址通常有两种不同的方式:统一编址统一编址1独立编址独立编址2又称为存储器映射编址方式,即把每又称为存储器映射编址方式,即把每个个I/O端口都当作一个存储单元看待,端口都当作一个存储单元看待,按照存储单元的编址方式统一安排端按照存储单元的编址方
7、式统一安排端口的地址。口的地址。优点:可以用访问内存的方法来访问优点:可以用访问内存的方法来访问I/O端口。由于访问内存的指令种类端口。由于访问内存的指令种类丰富、寻址方式多样,因此这种编址丰富、寻址方式多样,因此这种编址方式为访问外设带来了很大的灵活性。方式为访问外设带来了很大的灵活性。同时,同时,I/O控制信号也可与存储器的控制信号也可与存储器的控制信号共用,从而给应用带来了很控制信号共用,从而给应用带来了很大的方便。大的方便。缺陷:外设占用了一部分内存地址空间,这就减少了内存可用缺陷:外设占用了一部分内存地址空间,这就减少了内存可用的地址范围。此外从指令上不易区分当前是对内存进行操作还的
8、地址范围。此外从指令上不易区分当前是对内存进行操作还是对外设进行操作。是对外设进行操作。 Intel MCS-51等系列的单片微型计算机采用统一编址方式。等系列的单片微型计算机采用统一编址方式。内存地址空间和外设地址空间是相互独立的。内存地址空间和外设地址空间是相互独立的。8086/80888086/8088系统的内存地址范围为系统的内存地址范围为00000H0FFFFFH00000H0FFFFFH,共,共1M1M空空间,而外设端口的地址范围为间,而外设端口的地址范围为0000H0FFFFH0000H0FFFFH,共,共64K64K空间。空间。这两个地址空间相互独立,互不影响。这两个地址空间相
9、互独立,互不影响。CPUCPU在寻址内存和外设时,使用不同的控制信号来区分当前在寻址内存和外设时,使用不同的控制信号来区分当前是对内存操作还是对是对内存操作还是对I/OI/O端口操作。例如端口操作。例如80868086的的M/IO#M/IO#。指令系统中单独设置有专用的指令系统中单独设置有专用的I/OI/O指令。指令。优点:将输入输出指令和访问存储器的指令明显区分开,使优点:将输入输出指令和访问存储器的指令明显区分开,使程序清晰,可读性好,而且程序清晰,可读性好,而且I/OI/O指令长度短,执行的速度快,指令长度短,执行的速度快,也不占用内存空间;也不占用内存空间;I/OI/O地址译码电路较简
10、单,地址译码电路较简单,缺陷:必须有专门的缺陷:必须有专门的ININ和和OUTOUT指令,这些指令的功能没有访指令,这些指令的功能没有访问存储器指令强,也增加了指令系统的规模。另外,问存储器指令强,也增加了指令系统的规模。另外,CPUCPU要要能提供区分存储器和能提供区分存储器和I/OI/O的控制信号。的控制信号。 无条件方式无条件方式6.2.1查询方式查询方式6.2.2中断方式中断方式6.2.3DMA方式方式.1 6.2.1 无条件传送方式无条件传送方式 无条件传送方式主要用于外部控制过程的各种动作是固定的、且是已知的,控制的对象是一些简单的、随时“准备好的外设。也就是说,在
11、这些设备工作时,随时都可以接收CPU输出的数据,或者它们的数据随时都可以被CPU读出。 它不需要查询外设状态,直接使用IO指令与外设实现同步数据交换。采用这种控制方式的接口电路和控制程序都比较简单。它一般应用在工作速度慢,接口电路较简单的外设,如发光二极管、开关等,适合采用这种方式。6.2.2 6.2.2 条件传输方式条件传输方式程序查询传送方式程序查询传送方式 在执行输入输出前,要先查询接在执行输入输出前,要先查询接口中状态寄存器的状态。口中状态寄存器的状态。 输入时,状态寄存器的状态指示要输入输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪;的数据是否已经准备就绪; 输出时,状态寄
12、存器的状态指示输出设输出时,状态寄存器的状态指示输出设备是否空闲。备是否空闲。查询传输方式查询传输方式(1)CPU(1)CPU从状态端口中读取从状态端口中读取状态字;状态字;(2)CPU(2)CPU检测状态字的相应检测状态字的相应位是否满足位是否满足“就绪就绪条条件,如果不满足,则转件,如果不满足,则转(1)(1),再读取状态;,再读取状态;(3)(3)如状态位表明外设已如状态位表明外设已处于处于“就绪就绪形状,则形状,则通过数据端口传输数据。通过数据端口传输数据。外设准备好?传送数据读取外设状态YN特点:利用查询方式进行数据输入输出的过程中,特点:利用查询方式进行数据输入输出的过程中,CPU
13、将大量时间耗费在读取和检测外设状态上,真将大量时间耗费在读取和检测外设状态上,真正用于传送数据的时间很少,这样大大降低了正用于传送数据的时间很少,这样大大降低了CPU的效率。的效率。例题:例题: 某输入接口的状态端口地址为某输入接口的状态端口地址为86H,数据,数据端口地址为端口地址为87H,外部输入信息准备好状态标,外部输入信息准备好状态标志为志为D71D7=0表示外设未准备好)用表示外设未准备好)用查询方式写出从外设读入查询方式写出从外设读入100字节数据并存于字节数据并存于内存内存BUFFER开始的单元中。开始的单元中。 LEA BX , BUFFER ;将BUFFER偏移地址送BX M
14、OV CX , 100 ; 字节数ABC: IN AL, 86H ; 读状态端口 (目的读状态位) TEXST AL, 80H ;测试D7位是否为1准备好) JZ ABC ;若D7=0未准备好,循环检测 IN AL , 87H ;准备好,读数据端口 MOV BX, AL ; 存到内存BUFFER缓冲区 INC BX ; 修改地址指针 LOOP ABC ; 未送完,继续传送格式:IN OPD,OPS功能:从端口(地址为n或在DX中)输入位数据到AL或输入16位数据到AX。IN AL,40H;从40H端口读入一个字节送ALMOV DX,8F00H;将端口地址8F00H送DXIN AL,DX;从8F
15、00H端口读入一个字节送AL 格式:OUT OPD,OPS功能:从AL输出8位数据或从AX输出16位数据到端口(地址为n或在DX中)。OUT 40H,AL;将AL内容送40H端口MOV DX,8F00H;将端口地址8F00H送DXOUT DX,AL;将AL内容送8F00H端口输入输入/输出指令对标志寄存器没有影响。输出指令对标志寄存器没有影响。端口地址大于端口地址大于255时,必须用时,必须用DX指定端口指定端口地址。地址。 在中断传输方式下,当输入设备将数据准备好或者输出设在中断传输方式下,当输入设备将数据准备好或者输出设备可以接收数据时,便可以向备可以接收数据时,便可以向CPUCPU发出中
16、断请求,使发出中断请求,使CPUCPU暂时停暂时停止执行当前程序,而去执行一个数据输入止执行当前程序,而去执行一个数据输入/ /输出的中断服务程输出的中断服务程序,与外设进行数据传输操作,中断程序执行完后,序,与外设进行数据传输操作,中断程序执行完后,CPUCPU又转又转回继续执行原来的程序。回继续执行原来的程序。 中断方式的数据传输仍在程序的控制下执行,也可称为程中断方式的数据传输仍在程序的控制下执行,也可称为程序中断方式,适用于中、慢速外设的数据传输。序中断方式,适用于中、慢速外设的数据传输。 利用中断控制方式,利用中断控制方式,CPUCPU不必花费大量的时间去检测不必花费大量的时间去检测
17、外设的状态,提高了外设的状态,提高了CPUCPU的效率。的效率。 在高速的外设或成块交换数据的情况,采用程序在高速的外设或成块交换数据的情况,采用程序控制方式进行数据的传输,是无法满足要求的。在这控制方式进行数据的传输,是无法满足要求的。在这种情况下,采用种情况下,采用DMA方式。方式。 DMA方式是在外设与内存间建立起直接的通道,方式是在外设与内存间建立起直接的通道,CPU不再直接参加外设和内存间的数据传输。但系统不再直接参加外设和内存间的数据传输。但系统需要进行需要进行DMA传输时,将传输时,将CPU对地址和数据及控制对地址和数据及控制线的管理权交由线的管理权交由DMA控制器进行控制,当完
18、成了一控制器进行控制,当完成了一次次DMA数据传输后,再将这个控制权还给数据传输后,再将这个控制权还给CPU,这,这些工作都是由硬件自动实现的,并不需要程序进行控些工作都是由硬件自动实现的,并不需要程序进行控制。制。 中断概述中断概述6.3.1中断的处理过程中断的处理过程6.3.28086/8088的中断的中断6.3.3中断源及其分类中断源及其分类1中断系统及其功能中断系统及其功能2中断优先级的确定中断优先级的确定3 CPU正在执行某一段程序的过程中,如果外正在执行某一段程序的过程中,如果外界或内部发生了紧急事件,要求界或内部发生了紧急事件,要求CPU暂停正暂停正在运行的程序转去执行这个紧急事
19、件的处理在运行的程序转去执行这个紧急事件的处理程序,待处理完后再回到被停止执行程序的程序,待处理完后再回到被停止执行程序的间断点,继续执行原来被打断了的程序,这间断点,继续执行原来被打断了的程序,这一过程称为中断。一过程称为中断。引起中断的事件就称为中断源。引起中断的事件就称为中断源。分为两大类:分为两大类:内部中断源:来自内部中断源:来自CPU内部,如:内部,如:CPU执行指令时执行指令时产生的异常、特殊操作引起的异常以及由程序员安产生的异常、特殊操作引起的异常以及由程序员安排在程序中的排在程序中的INT n软件中断指令。中断的控制完软件中断指令。中断的控制完全是在全是在CPU内部实现的。内
20、部实现的。外部中断源:来自外部中断源:来自CPU外部,如:如键盘、打印机、外部,如:如键盘、打印机、定时器时间到、电源掉电、硬件出错等。利用定时器时间到、电源掉电、硬件出错等。利用CPU的两条中断输入信号线的两条中断输入信号线INTR和和NMI来告诉来告诉CPU已已发生了中断事件。发生了中断事件。实现中断响应及返回实现中断响应及返回实现优先权排队实现优先权排队高级中断源能中断低级的中断处理高级中断源能中断低级的中断处理中中断断请请求求执执行行中中断断服服务务程程序序中断过程示意图中断过程示意图断点:主程序中被断点:主程序中被暂停执行的指令的暂停执行的指令的地址称为断点。地址称为断点。执行主程序
21、执行主程序继继续续执执行行主主程程序序响应中断响应中断返返回回主主程程序序当某个中断源发出中断请求时,CPU能根据条件决定是否响应该中断请求。若允许响应,则CPU必须在执行完现行指令后:保护断点和现场(即把断点处的断点地址和各寄存器的内容与标志位的状态推入堆栈);转到需要处理的中断服务程序的入口;清除中断请求触发器。当处理完中断服务程序后,再恢复现场和断点地址,使CPU返回断点,继续执行主程序。在实际系统中有多个中断源时,有可能出现两个或两个以上中断源同时提出中断请求的情况,而CPU同一时刻只能接受一个中断申请。这样就必须要设计者事先根据轻重缓急,给每个中断源一个中断优先权。当多个中断源同时发
22、出中断申请时,CPU能找到优先级别最高的中断源,响应它的中断请求。在优先权级别最高的中断源处理了以后,再响应级别较低的中断源。 当CPU响应某一中断源的请求,在进行中断处理时,若有优先级别更高的中断源发出中断申请,则CPU要能中断正在进行中的中断服务程序,保留这个程序的断点和现场(类似于子程序嵌套),响应高级中断,在高级中断处理完以后,再继续执行被中断的中断服务程序。这就形成了中断嵌套,如图6.12所示。两个中断形成的是两重中断(或两级嵌套),还可以进行多重中断(或多级嵌套)。 中断请求中断请求1中断响应中断响应2中断处理中断处理3外设需要CPU服务时,首先要发出一个有效的中断请求信号送到CP
23、U的中断输入端。中断请求信号分为边沿触发和电平触发。一般来说,CPU能够即时予以响应的中断可以采用边沿触发,而不能即时响应的中断则应采用电平触发,否则中断请求信号就会丢失。8088/8086CPU的NMI为边沿触发,而INTR为电平触发。为了保证产生的中断能被CPU处理,INTR中断请求信号应保持到该请求被CPU响应为止。CPU响应后,INTR信号还应及时撤除,以免造成多次响应。 响应中断请求的响应中断请求的3 3个条件:个条件:(1)(1)一条指令执行结束。一条指令执行结束。 (2)CPU(2)CPU处于开中断状态。处于开中断状态。(3)(3)没有总线请求。在复位没有总线请求。在复位(RES
24、ET)(RESET)、总线保持、总线保持(HOLD)(HOLD)等总线等总线请求时,请求时,CPUCPU不工作,当然就不能响应中断。不工作,当然就不能响应中断。中断响应时,中断响应时,CPUCPU除了要向中断源发出中断响应信号外,还除了要向中断源发出中断响应信号外,还要自动完成下述要自动完成下述3 3项工作:项工作:(1)(1)关闭中断。关闭中断。CPUCPU响应中断时,需立即关中断响应中断时,需立即关中断( (使使IF=0)IF=0),以,以保证保护现场、断点和获取中断入口地址等工作不受影响。保证保护现场、断点和获取中断入口地址等工作不受影响。(2)(2)保护现场和断点。将标志寄存器保护现场
25、和断点。将标志寄存器FRFR、断点的段基址、断点的段基址(CS(CS值值) )和偏移地址和偏移地址(IP(IP值值) )压入堆栈,以保证中断结束后能正常返回压入堆栈,以保证中断结束后能正常返回被中断的程序。被中断的程序。(3)(3)获得中断服务程序入口,转入中断服务程序。获得中断服务程序入口,转入中断服务程序。 保护现场。保护现场是指把中断服务程序中要用到的寄存器保护现场。保护现场是指把中断服务程序中要用到的寄存器的原内容压入堆栈保存起来。的原内容压入堆栈保存起来。开中断。开中断。CPU响应中断时会自动关闭中断响应中断时会自动关闭中断(使使IF=0)。若进入。若进入中断服务程序后允许中断嵌套,
26、则需用指令开中断中断服务程序后允许中断嵌套,则需用指令开中断(使使IF=1)。执行中断处理程序。完成具体的中断处理。执行中断处理程序。完成具体的中断处理。关中断。确保有效地恢复被中断程序的现场。关中断。确保有效地恢复被中断程序的现场。恢复现场。就是把先前保护的现场进行恢复,也即把所保存恢复现场。就是把先前保护的现场进行恢复,也即把所保存的有关寄存器内容按入栈的相反顺序从堆栈中弹出,使这些的有关寄存器内容按入栈的相反顺序从堆栈中弹出,使这些寄存器恢复到中断前的状态。寄存器恢复到中断前的状态。开中断返回。其操作正好是开中断返回。其操作正好是CPU硬件在中断响应时自动保护硬件在中断响应时自动保护硬件
27、现场和断点的逆过程,即硬件现场和断点的逆过程,即CPU会自动地将堆栈内保存的会自动地将堆栈内保存的断点信息和标志信息弹出到断点信息和标志信息弹出到IP、CS和和FR中,保证被中断的中,保证被中断的程序从断点处继续往下执行。程序从断点处继续往下执行。8086/8088系统中给每种中断都赋予一个中断类型码(或称中断号),编号为0255。CPU可根据中断类型码的不同来识别不同的中断源。 中断类型中断类型1中断优先级顺序中断优先级顺序2中断向量表中断向量表3中断处理过程中断处理过程48086/8088系统的中断源:外部中断:来自CPU外部内部中断:来自CPU内部 也称为硬件中断,它是由外部硬件或外设接
28、口产生的。8086/8088CPU为外部设备提供了两条中断信号线NMI和INTR。非屏蔽中断非屏蔽中断可屏蔽中断可屏蔽中断由NMI引脚上出现的上升沿触发,它不受中断允许标志IF的控制,其中断类型码固定为2。CPU接收到非屏蔽中断请求信号后,会在执行完当前指令后立即响应中断请求而进入相应的中断处理。非屏蔽中断通常用来处理系统中出现的重大故障或紧急情况。从CPU的INTR端引入,高电平有效。可屏蔽中断受中断允许标志位IF的控制,只有当IF=1,CPU才会响应INTR请求。如果IF=0,即使中断源有中断请求,CPU也不会响应。在微型计算机中,外部设备的中断请求是通过中断控制器8259A来进行统一管理
29、的,由8259A决定是否允许一个外设向CPU发出中断请求。内部中断是CPU执行了某些指令或者软件对标志寄存器中某个标志位进行设置而产生的,由于它与外部硬件电路完全无关,故也称为软件中断。在8086/8088 CPU中,内部中断可分为5种类型:除法出错中断单步中断断点中断溢出中断中断指令INT n以上所述内部中断的类型码均是固定,除单步中断外,其他的内部中断不受IF状态标志影响。在执行除法指令时,若发现除数为0或商超过了结果寄存器所能表示的最大范围,则立即产生一个中断类型码为0的中断。 8086/8088 CPU的标志寄存器中有一位陷阱标志TF。CPU每执行完一条指令都会检查TF的状态。若发现T
30、F=1,则CPU就产生中断类型码为1的中断,使CPU转向单步中断的处理程序。单步中断广泛地用于程序的调试。 8086/8088指令系统中有一条专用于设置断点的指令INT 3。CPU执行该指令就会产生一个中断类型码为3的中断。INT 3指令是单字节指令,因而它能很方便地插入程序的任何地方,专门用于在程序中设置断点来调试程序,它也称为断点中断,插入INT 3指令之处便是断点。在断点中断服务程序中,可显示有关的寄存器、存储单元等内容,以便程序员分析到断点为止程序运行是否正确。 若算术指令的执行结果发生溢出(OF=1),则执行INTO指令后立即产生一个中断类型码为4的中断。溢出中断为程序员提供了处理运
31、算溢出的手段,INTO指令通常和算术运算指令配合起来使用。 INT n是用户自定义的软件中断指令,CPU执行中断指令INT n也会引起内部中断,其中断类型码由指令中的n指定。80 x8680 x86微机可处理微机可处理256256个不同的中断请求。个不同的中断请求。80 x8680 x86将将256256个中断统一编号为个中断统一编号为02550255,称作中断类,称作中断类型号,中断类型号是中断源的唯一标识。型号,中断类型号是中断源的唯一标识。在在80 x8680 x86中断系统中,中断响应时自动获得中断中断系统中,中断响应时自动获得中断类型号,并据此得到该中断服务程序入口地址,类型号,并据
32、此得到该中断服务程序入口地址,然后转去执行中断服务程序。然后转去执行中断服务程序。问题问题: :中断类型号和中断服务程序的入口地址中断中断类型号和中断服务程序的入口地址中断向量如何联系?向量如何联系?中断服务程序的入口地址叫做中断向量。中断服务程序的入口地址叫做中断向量。中断类型号n40000:4n+00000:4n+10000:4n+20000:4n+30010002010002000IPCS内存中断类型号和中断向量的对应关系中断类型号和中断向量的对应关系每个中断源都有一个中断类型码。中断类型码长度为一个字节,故8086/8088最多允许处理256种类型的中断(中断类型码为0255)。中断向
33、量表位于内存的最低1K字节(即内存中00000H003FFH区域),用以存放256个中断向量,即256个中断的服务程序入口地址。每个中断向量占4个字节,其中低位字(2个字节)存放中断服务程序入口地址的偏移量,高位字(2个字节)存放中断服务程序入口地址的段地址。中断向量在表中的存放地址=4中断类型码n取连续的4n和4n+l字节单元的内容装入IP,取4n+2和4n+3单元的内容装入CS,即可转入中断服务程序。 中断类型码的获取中断类型码的获取中断类型码的获取中断类型码的获取中断处理中断处理有两种方法获取中断类型码:有两种方法获取中断类型码:对于软件中断:类型码为对于软件中断:类型码为0、1、3、4
34、的中断类的中断类型码由系统自动形成;对于型码由系统自动形成;对于INT n指令,类型指令,类型码由指令指定。码由指令指定。对于硬件中断:若为对于硬件中断:若为NMI中断,则由系统自动中断,则由系统自动产生中断类型码产生中断类型码2;若为;若为INTR中断,则中断,则CPU转入转入2个连续周期的中断响应周期,并在第个连续周期的中断响应周期,并在第2个中断响应周期采样数据总线,获取中断类个中断响应周期采样数据总线,获取中断类型码。型码。 将类型码乘4,计算出中断向量的地址。硬件现场保护。即将标志寄存器F压入堆栈,以保护当前指令执行结果的特征。清除IF和TF标志,屏蔽新的INTR中断和单步中断。保存
35、断点,即把断点处的IP和CS值压入堆栈,先压入CS值,再压入IP值。根据计算出来的地址从中断向量表中取出中断服务程序的入口地址(段和偏移),分别送至CS和IP中。转入中断服务程序执行。进入中断服务程序后,首先要保护在中断服务程序中要使用的寄存器内容,然后进行相应的中断处理,现场恢复与中断返回。在中断返回前恢复保护的寄存器内容,最后执行中断返回指令IRET。IRET的执行将使CPU按次序恢复断点处的IP、CS和标志寄存器,从而使程序返回到断点处继续执行。 6.4.1 8259A6.4.1 8259A的内部结构及引脚分配的内部结构及引脚分配IR0IR0IR1IR1IR2IR2IR7IR7中断控制器
36、中断控制器8259A功能:功能:(1) 一片一片8259A可管理可管理8个中断请求,具有个中断请求,具有8级优先权级优先权控制,并能把当前优先权最高的中断请求送到控制,并能把当前优先权最高的中断请求送到CPU的的INTR端;端;(2) 每一级都可以由编程进行屏蔽或开放每一级都可以由编程进行屏蔽或开放(3) 通过级连可以扩展至通过级连可以扩展至64级级(4) 在中断响应周期,在中断响应周期,8259A可以提供相应的中断类可以提供相应的中断类型号;型号;(5) 通过编程可选择通过编程可选择8259A的各种工作方式。的各种工作方式。(2)(2)中断服务寄存器中断服务寄存器ISRISR ISR ISR
37、是一个是一个8 8位寄存器,用于寄存所有正在被服务的中位寄存器,用于寄存所有正在被服务的中断级。在中断响应的第一个断级。在中断响应的第一个INTA#INTA#周期,使对应的周期,使对应的ISRISR位位置置1 1而而IRRIRR位清位清0 0。(1)(1)中断请求寄存器中断请求寄存器IRRIRR 保存从保存从IR0IR0IR7IR7来的中断请求信号,某位来的中断请求信号,某位=1=1表示对表示对 应的应的IRiIRi有中断请求有中断请求 。(4)(4)优先权电路优先权电路 用于识别和管理用于识别和管理IRRIRR中各位的优先权级别。能进行优先中各位的优先权级别。能进行优先级判别,把未被屏蔽的最
38、高优先级的中断请求送到级判别,把未被屏蔽的最高优先级的中断请求送到CPUCPU。(3)(3)中断屏蔽寄存器中断屏蔽寄存器IMRIMR IMR IMR是一个是一个8 8位寄存器,存放中断屏蔽字,某位位寄存器,存放中断屏蔽字,某位=1=1表示表示对应的对应的IRiIRi输入被屏蔽,为输入被屏蔽,为0 0开放该中断请求。可通过指令开放该中断请求。可通过指令设置。设置。1.1.内部结构内部结构(5)(5)控制逻辑电路控制逻辑电路 控制逻辑电路根据控制逻辑电路根据CPUCPU对对8259A8259A编程设定的工作方编程设定的工作方式管理式管理8259A8259A,负责发出,负责发出INTRINTR和接收
39、和接收INTA#INTA#,并使,并使INTA#INTA#转化为内部所需的各种控制信号。转化为内部所需的各种控制信号。(6)(6)读读/ /写电路写电路 读读/ /写电路可接收写电路可接收CPUCPU对对8259A8259A的初始化命令字的初始化命令字ICWICW和操作命令字和操作命令字OCWOCW,并将其存入相应的端口寄存器,并将其存入相应的端口寄存器,来规定来规定8259A8259A的工作方式和控制模式;也可以向的工作方式和控制模式;也可以向CPUCPU提提供各端口寄存器的内容。供各端口寄存器的内容。(7)(7)数据总线缓冲器数据总线缓冲器 连接系统总线和连接系统总线和8259A8259A
40、的内部总线,用于传输的内部总线,用于传输8259A8259A的控制字或状态字,以及中断类型号。的控制字或状态字,以及中断类型号。(8)(8)级连缓冲级连缓冲/ /比较器比较器 控制多片控制多片8259A8259A的级连,扩展中断级。多片的级连,扩展中断级。多片8259A8259A级连时,一片为主,其余为从。最多可级连时,一片为主,其余为从。最多可9 9片级连,扩片级连,扩展展6464级中断。级中断。8259A8259A是是2828脚双列直插式芯片。脚双列直插式芯片。D7D0:D7D0:双向三态数据线,直接与系统数据总线低双向三态数据线,直接与系统数据总线低8 8位位相连;相连;IRQ0IRQ7
41、:IRQ0IRQ7:中断请求输入线,与外设相连,优先权中断请求输入线,与外设相连,优先权0 0至至7 7递减;递减;INT:INT:中断请求输出线,与中断请求输出线,与CPUCPU的的INTRINTR相连;相连;INTA:INTA:中断允许线,接收来自中断允许线,接收来自CPUCPU的中断响应信号的中断响应信号INTAINTA,与与CPUCPU的的INTAINTA相连。相连。CS, :CS, :片选信号端。片选信号端。WRWR:写信号控制端。:写信号控制端。RDRD:读信号控制端。:读信号控制端。CAS2CAS0:CAS2CAS0:级连信号线,主片为输出,从片为输入;级连信号线,主片为输出,从
42、片为输入;SP/EN:SP/EN:主从主从/ /允许缓冲线,具有双向功能;允许缓冲线,具有双向功能;VCCVCC,GND:GND:分别接分别接+5v+5v电源和接地电源和接地A0:A0:端口地址选择信号,输入,由端口地址选择信号,输入,由8259A8259A片内译码,片内译码,选择内部寄存器。选择内部寄存器。 一片一片8259A8259A有有2 2个端口地址,个端口地址,一个为偶地址,另一个为奇地址。一个为偶地址,另一个为奇地址。A0=0A0=0选择偶地选择偶地址端口,址端口,A0=1A0=1选择奇地址端口。选择奇地址端口。 8259A对外部中断请求的响应和处理过程如下:对外部中断请求的响应和
43、处理过程如下: (1) 当中断请求输入线当中断请求输入线IRQ0IRQ7中有一条或多条变高时,中有一条或多条变高时,则中断请求寄存器则中断请求寄存器IRR的相应位置的相应位置“1”。(2) 未被屏蔽的中断请求信号进入优先权判别器,优先级判定未被屏蔽的中断请求信号进入优先权判别器,优先级判定电路选出优先级最高的中断请求,控制电路由电路选出优先级最高的中断请求,控制电路由INT引脚向引脚向CPU发出中断请求信号。发出中断请求信号。(3) 如如CPU是处于开中断状态,则在当前指令执行完后,用是处于开中断状态,则在当前指令执行完后,用INTA#信号作为响应。信号作为响应。(4) 8259A在接收到在接
44、收到CPU的的INTA#信号后,使最高优先级的信号后,使最高优先级的ISR位置位置“1”,而相应的,而相应的IRR位清位清“0”。但在该中断响应周期。但在该中断响应周期中,中,8259A并不向系统总线送任何信息。并不向系统总线送任何信息。(5) CPU(8086/8088和和80X86)输出第二个输出第二个INTA#信号,信号,启动第二个中断响应周期。在此周期中,启动第二个中断响应周期。在此周期中,8259A向数向数据总线输送一个据总线输送一个8位的中断类型号;位的中断类型号;CPU读取此类型读取此类型号后将它乘以号后将它乘以4(左移左移2位位),即可从中断服务程序向量,即可从中断服务程序向量
45、表表(即入口地址表即入口地址表)中取出中断服务程序的入口地址,中取出中断服务程序的入口地址,包括段地址和段内偏移地址。据此包括段地址和段内偏移地址。据此CPU便可转入中便可转入中断服务程序。断服务程序。1.1.中断嵌套方式中断嵌套方式 8259A 8259A有两种中断嵌套方式:有两种中断嵌套方式:(1)(1)一般全嵌套方式一般全嵌套方式 一般全嵌套方式是一般全嵌套方式是8259A8259A最常用的工作方式,最常用的工作方式,初始化后的默认工作方式。此时中断优先权的级别初始化后的默认工作方式。此时中断优先权的级别是固定的,是固定的,IR0IR7IR0IR7递减。递减。CPUCPU响应中断时,屏蔽
46、掉响应中断时,屏蔽掉与它同级或低级的中断请求。与它同级或低级的中断请求。 在中断处理过程中允许被更高优先级的事件所中在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套。断称为中断嵌套。8259A有两种中断嵌套方式:有两种中断嵌套方式: 8259A 8259A的中断管理功能很强,单片可以管理的中断管理功能很强,单片可以管理8 8级外级外部中断,在多片级联方式下最多可以管理部中断,在多片级联方式下最多可以管理6464级外部中级外部中断,并且具有中断嵌套、中断优先权判优、中断结束断,并且具有中断嵌套、中断优先权判优、中断结束和中断触发等多种中断管理方式。和中断触发等多种中断管理方式。 (2)(
47、2)特殊全嵌套方式特殊全嵌套方式和一般全嵌套方式基本相同,区别在于:和一般全嵌套方式基本相同,区别在于:在特殊全嵌套方式下,处理某一中断时,在特殊全嵌套方式下,处理某一中断时,可实现对同级中断请求的响应。可实现对同级中断请求的响应。系统中只有单片系统中只有单片8259A8259A时,通常用全嵌时,通常用全嵌套方式;而当套方式;而当8259A8259A多片级连时,主片多片级连时,主片必须采用特殊全嵌套方式,从片可采用必须采用特殊全嵌套方式,从片可采用一般全嵌套方式。一般全嵌套方式。1.1.中断嵌套方式中断嵌套方式D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式:一
48、般全嵌套方式:从片的从片的INTINT被主片封被主片封锁,故更高级别的锁,故更高级别的IR0-IR2IR0-IR2中断也无法中断也无法得到响应得到响应特殊全嵌套方式:特殊全嵌套方式:因主片不封锁从片的因主片不封锁从片的INTINT,故级别高的,故级别高的IR0-IR0-IR2IR2中断可以得到响应。中断可以得到响应。( (但但IR3-IR7IR3-IR7仍被本从仍被本从片封锁片封锁) )C.假定从片假定从片IR3发发生中断生中断,并获得并获得服务服务一般全嵌套方式:一般全嵌套方式:主片的主片的IR4IR4的中断的中断被服务时,这些被服务时,这些中断将被封锁。中断将被封锁。B.特殊全嵌套方式:特
49、殊全嵌套方式:IR4IR4的中断被服的中断被服务 时 , 只 封 锁务 时 , 只 封 锁IR5-IR7IR5-IR7。A.INTE.从从8259AINTIR0IR1IR2IR3IR4IR5IR6IR7n一般全嵌套方式与特殊全嵌套方式的区别一般全嵌套方式与特殊全嵌套方式的区别 去去CPU8259A8259A中断优先权的管理方式有固定优先权方式和自中断优先权的管理方式有固定优先权方式和自动循环优先权方式两种。动循环优先权方式两种。 (1 1固定优先权方式固定优先权方式在固定优先权方式中,在固定优先权方式中,IR7IR7IR0IR0的中断优先权的中断优先权的级别是由系统确定的。的级别是由系统确定的
50、。它们由高到低的优先级顺序是:它们由高到低的优先级顺序是:IR0, IR1, IR0, IR1, IR2, , IR7, IR2, , IR7, 其中,其中,IR0IR0的优先级最高,的优先级最高,IR7IR7的优的优先级最低。当有多个先级最低。当有多个IRiIRi请求时,优先权判决器请求时,优先权判决器PRPR将它们与当前正在处理的中断源的优先权进行比较,将它们与当前正在处理的中断源的优先权进行比较,选出当前优先权最高的选出当前优先权最高的IRiIRi,向,向CPUCPU发出中断请求发出中断请求INTINT,请求为其服务。请求为其服务。注注: 特殊全嵌套仅用于多个特殊全嵌套仅用于多个8259
51、A级连时的级连时的主主8259A,而不能用于从属,而不能用于从属8259A或单或单8259A系统。系统。(2 2自动循环优先权方式自动循环优先权方式 在自动循环优先权方式中,在自动循环优先权方式中,IR7IR7IR0IR0优先权级别是可以改变的。优先权级别是可以改变的。 其变化规律是:当某一个中断请求其变化规律是:当某一个中断请求IRiIRi服务结束后,该中断的服务结束后,该中断的优先权自动降为最低,而紧跟其后的中断请求优先权自动降为最低,而紧跟其后的中断请求IR(iIR(i1)1)的优先权的优先权自动升为最高,自动升为最高,IR7IR7IR0IR0优先权级别按如下所示的右循环方式改优先权级别
52、按如下所示的右循环方式改变。变。 假设在初始状态假设在初始状态IR0IR0有请求,有请求,CPUCPU为其服务完毕,为其服务完毕,IR0IR0优先权优先权自动降为最低,排在自动降为最低,排在IR7IR7之后,而其后的之后,而其后的IR1IR1的优先权升为最高,的优先权升为最高,其余依次类推。这种优先权管理方式,可以使其余依次类推。这种优先权管理方式,可以使8 8个中断请求都拥个中断请求都拥有享受同等优先服务的权利。有享受同等优先服务的权利。 在自动循环优先权方式中,按确定循环时的最在自动循环优先权方式中,按确定循环时的最低优先权的方式不同,又分为普通自动循环方低优先权的方式不同,又分为普通自动循环方式和特殊自动循环方式两种。式和特殊自动循环方式两种。普通自动循环方式的特点是:普通自动循环方式的特点是:IR7IR0中的初中的初始最高优先级由系统指定,即指定始最高优先级由系统指定,即指定IR0的优先的优先级最高,以后按右循环规则进行循环排队。级最高,以后按右循环规则进行循环排队。特殊自动循环方式的特点是:特殊自动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年03月国家药品监督管理局直属单位公开招聘126人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 武汉工程科技学院《篆刻1》2023-2024学年第二学期期末试卷
- 井下多功能测振仪项目安全评估报告
- 福建对外经济贸易职业技术学院《图片摄影》2023-2024学年第二学期期末试卷
- 山东艺术设计职业学院《西方戏剧选读》2023-2024学年第二学期期末试卷
- 濮阳职业技术学院《色彩静物及人物头像》2023-2024学年第二学期期末试卷
- 年3D打印耗材项目安全评估报告
- 石家庄幼儿师范高等专科学校《美学与美育》2023-2024学年第一学期期末试卷
- 四川汽车职业技术学院《投资学》2023-2024学年第二学期期末试卷
- 河北政法职业学院《小学英语教学设计》2023-2024学年第二学期期末试卷
- 完整初一历史上学期记忆时间轴
- 二零二四年度美团共享单车服务协议
- 《农村普惠金融发展研究的国内外文献综述》4500字
- 渔光互补光伏发电项目反事故及预防措施
- 农业昆虫学-形考测试四-国开(ZJ)-参考资料
- 中式烹调师理论知识测试题与参考答案
- 家园的治理:环境科学概论学习通超星期末考试答案章节答案2024年
- 2022年高中学业水平考试政治历史地理试题及答案
- 人工肩关节置换(反肩)
- 2024年执业助理医师实践技能考试体格检查
- 2020年全国硕士研究生招生考试《思想政治理论》真题及解析
评论
0/150
提交评论