![输入输出与中断技术ppt课件PPT课件_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/18/b7235f63-8646-4337-aaa9-a584deb1f502/b7235f63-8646-4337-aaa9-a584deb1f5021.gif)
![输入输出与中断技术ppt课件PPT课件_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/18/b7235f63-8646-4337-aaa9-a584deb1f502/b7235f63-8646-4337-aaa9-a584deb1f5022.gif)
![输入输出与中断技术ppt课件PPT课件_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/18/b7235f63-8646-4337-aaa9-a584deb1f502/b7235f63-8646-4337-aaa9-a584deb1f5023.gif)
![输入输出与中断技术ppt课件PPT课件_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/18/b7235f63-8646-4337-aaa9-a584deb1f502/b7235f63-8646-4337-aaa9-a584deb1f5024.gif)
![输入输出与中断技术ppt课件PPT课件_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/18/b7235f63-8646-4337-aaa9-a584deb1f502/b7235f63-8646-4337-aaa9-a584deb1f5025.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、v接口概念: 输入/输出(I/O)接口是主机与外部设备(简称外设)之间所设置的逻辑控制部件,通过它实现主机与I/O设备之间的信息交换。输入输出接口概述 思考问题: 微型计算机和外设之间为什么需要接口?第1页/共111页一般情况下,存储器可以与总线直接相连,而外部设备却需要通过接口与CPU的总线相连,原因是由存储器和外设的特点决定:存储器:功能单一 传输方式单一(一次一个字或一个字节)操作方式单一(读和写) 制造工艺与CPU相似,速度与CPU相匹配输入输出接口概述 微型计算机和外设之间为什么需要接口?第2页/共111页接口:解决以上差异,协调、匹配外设与主机正常工作的逻辑部件及相应控制软件。外设
2、:种类繁多 (机械、机电、电子)信号种类不一 (A,D,开关量)信号格式不同 (串行,并行)同一个时刻CPU通常只和一个外设交换信息工作速度不同,且范围宽。如硬盘和打印机工作时序不匹配,无法和CPU时序取得统一输入输出接口概述 微型计算机和外设之间为什么需要接口?第3页/共111页v接口电路的任务: 对数据提供缓冲(时间和电气性能上):设置数据的寄存、缓冲逻辑; 信息格式相容性变换:如串并行的转换;电平转换、数模或模数转换等; 协调时序差异:提供“准备好”“空”“满”等状态信号 提供地址译码或设备选择信号: 提供中断和DMA控制逻辑及管理:输入输出接口概述输入输出接口概述 第4页/共111页I
3、/O端口的寻址方式CPU要操作接口,首先要能识别这个接口。解决方法:通过地址识别。(1)存储器映像寻址方式 若把系统中的每一个I/O端口都看作一个存储单元,并与存储单元一样统一编址,这样访问存储器的所有指令均可用来访问I/O端口,不用设置专门的I/O指令。优点: 简化了指令集,对I/O设备的访问更加灵活方便,I/O地址空间可大可小缺点: 占用内存空间,访问速度慢。输入输出接口概述输入输出接口概述 第5页/共111页I/O端口的寻址方式(2)I/O单独编址方式 对系统中的输入输出端口地址单独编址,构成一个I/O空间,他们不占用存储空间,而是用专门的IN和OUT指令来访问这种具有独立地址空间的端口
4、。优点:将输入输出指令和访问存储器的指令明显区分开,使程序清晰,可读性好;I/O指令长度短,执行速度快,不占用内存空间;I/O地址译码电路简单。缺点:指令系统中需专门的指令,且这些指令的功能没有访问存储器指令强;CPU需提供区分存储器读/写和I/O读写的控制信号。输入输出接口概述输入输出接口概述 第6页/共111页CPU和I/O设备之间的接口信息1、数据信息数字量信息:离散的二进制形式数据,最小单位为“位(b)”,8位为一个字节(B)。模拟量信息:用模拟电压或模拟电流幅值大小表示的物理量。开关量:只有两个状态,“开”和“关”,用一位二进制数即可表示。输入输出接口概述 第7页/共111页2、状态
5、信息 反映当前外设所处的工作状态,实际中通过状态端口信息表现。例如:输入时:“准备好”(Ready) 输出时:“空”(Empty)、“忙”(Busy)3、控制信息 由CPU发出的用来控制外设工作的信号。例如:控制输入/输出装置的启动或停止、读或写 问题提出:数据信息、状态信息、控制信息是不同性质的信息,被分别传送,如何实现?CPU和I/O设备之间的接口信息输入输出接口概述 第8页/共111页 问题解决:数据信息、状态信息、控制信息使用不同的端口地址。 问题结论:都通过数据总线传送,但放在接口的不同寄存器 (I/O端口)中,其中:v输入输出的数据信息放在数据缓冲器v输入的状态信息放在状态寄存器v
6、输出的控制信息放在控制寄存器CPU和I/O设备之间的接口信息输入输出接口概述 第9页/共111页接口数据输入寄存器数据输出寄存器控制输出寄存器状态输入寄存器CPU和I/O设备之间的接口信息外部输入或输出设备CPUDBABCB外设通过接口与CPU之间的连接数据控制状态ABCBDB输入输出接口概述 第10页/共111页访问接口的过程描述:1. CPU先将地址信息发送到地址总线,将确定的控制信息发送到控制总线(打开相应端口);2. CPU传输数据信息到数据总线上等待相应端口接收,或者CPU等待接口把指定端口的内容送到数据总线上(收发数据)。注意:地址是端口(寄存器)的地址,而不是接口部件的地址,一个
7、接口部件包含多个端口,即多个地址。CPU和I/O设备之间的接口信息输入输出接口概述 第11页/共111页几点说明: vI/O端口即I/O接口的寄存器,接口中的每个寄存器都有一个端口地址,每个I/O接口都有一组寄存器。vCPU与外设的信息交流就是CPU与接口寄存器(端口)的交流。v数据输入和数据输出寄存器可以使用同一地址;控制输出和状态输入寄存器可以使用同一地址。CPU和I/O设备之间的接口信息输入输出接口概述 第12页/共111页v程序方式v无条件传送方式v查询传送方式v中断传送方式v直接存储器存取(DMA) 控制方式CPU和外设之间的数据传送方式 第13页/共111页定义: 在数据传送过程中
8、,输入或输出数据一方不查询、判断对方的状态,进行无条件的数据传送。 CPU能够确信外设准备就绪,就不用查询外设的状态而可以直接进行数据传输。驱动指示灯、继电器、启动电机等 例如:CPU要输出一个数据到显示器显示,由于显示器是可以根据输入数据而随时改变显示内容的设备,因而CPU就可以直接向其发送数据,而无需查询。无条件传送方式CPU和外设之间的数据传送方式 第14页/共111页无条件传送方式三态缓冲器输入设备地址译码器&数据来自外设数据总线地址总线IO/MRDCPU无条件传送的输入方式CPU和外设之间的数据传送方式 第15页/共111页无条件传送方式锁存器输出设备地址译码器&数据
9、到外设数据总线地址总线IO/MWRCPUCE无条件传送的输出方式CPU和外设之间的数据传送方式 第16页/共111页 定义: CPU执行程序不断读取并测试外设的状态,如果外设处于准备好(输入)或空闲(输出)状态,则执行输入或输出指令,进行数据交换,否则等待。查询传送方式CPU和外设之间的数据传送方式 第17页/共111页 完成一次数据传送的过程: 1) CPU从状态端口读取外设的状态字; 2) CPU检测状态字对应位是否满足“就绪”条件; 3) 如不满足,则重复执行1)2)过程,直到条件 满足; 4) 如果条件满足,表明外设就绪,则传送数据, 同时I/O的状态复位。查询传送方式CPU和外设之间
10、的数据传送方式 第18页/共111页实现流程: 在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1. CPU通过不断查询外设状态,实现与外设的速度匹配2. CPU的工作效率低NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?CPU和外设之间的数据传送方式和外设之间的数据传送方式 第19页/共111页 两种查询传送方式: 1. 查询式输入 2. 查询式输出查询传送方式查询式输入方式描述 查询式输入是程序控制下的查询式输入方式,在传送前,CPU必须去查询一下外设的状态,当外设准备好了才传送;若未准备好,CPU则等待。CPU和外设之间的数
11、据传送方式 第20页/共111页锁存器锁存器三态缓冲器(8位)输入设备地址译码器&数据选通信号DBABIO/MRDCPU三态缓冲器(1位)&准备就绪触发器DQR+5VDiREADY(状态信息)查询式输入接口电路三态缓冲器(8位)三态缓冲器(1位)CPU和外设之间的数据传送方式 第21页/共111页三态缓冲器(8位)三态缓冲器(8位)锁存器锁存器输入设备地址译码器&数据选通信号DBABIO/MRDCPU三态缓冲器(1位)&准备就绪触发器DQR+5VDiREADY(状态信息)查询式输入接口电路CPU和外设之间的数据传送方式 第22页/共111页1. 输入设备准备好后
12、,发选通信号;2. 数据进入锁存器锁存,并使D触发器置1,从而使三态缓冲器输出状态信号;3. CPU从状态端口读入状态字;4. CPU检测状态位,如果条件满足;5. CPU从数据端口读入数据;6. 清状态字。查询式输入的过程:CPU和外设之间的数据传送方式 第23页/共111页D7D08位数据端口(8位) (输入)D7状态端口(1位) (输入)查询式输入时的数据和状态信息:“READY”(1位)数据信息状态信息CPU和外设之间的数据传送方式 第24页/共111页LOOP1: INAL,STATUS_PORT ;读入状态值 TESTAL,80H ;READY=1? JZLOOP1 ;未准备好?循
13、环 INAL,DATA_PORT ;是,输入数据查询式输入的查询程序:讨论:分析查询程序,熟悉汇编语言在接口电路中的应用。CPU和外设之间的数据传送方式 第25页/共111页例1 查询方式输入假设 外设的状态端口为21C H, 其中D4=1时,表示外设数据准备好 外设的数据端口为218 H。 实现从外设读入50H个字节到内存缓冲区buffer中。21CH端口状态端口218H端口数据端口地址译码数据缓冲控制电路输入外备CPU地址线数据线控制线CPU和外设之间的数据传送方式 第26页/共111页从21CH状态端口读入外设状态信息从218H数据端口读入一个字节数据YND4=1, 外设准备好否?N50
14、H个数据传送结束?Y编程从外设读入50H个字节到内存缓冲区buffer中CPU和外设之间的数据传送方式 第27页/共111页 、 MOV AX, SEG buffer ;取缓冲区首地址 MOV DS, AX LEA DI, buffer MOV CX, 50H ;传送个数 next: MOV DX, 21CH ask: IN AL, DX ;从状态端口读入状态信息 TEST AL, 0001 0000B ;检测D4位 JZ ask ;D4=0,继续查询MOV DX, 218H IN AL, DX ;从数据端口读入数据MOV DI, AL ;送缓冲区 INC DI ;修改缓冲区指针 LOOP n
15、ext ;传送下一个、查询方式输入程序段:CPU和外设之间的数据传送方式 第28页/共111页输出设备地址译码器&数据选通信号DBABIO/MRDCPU状态缓冲器(1位)&忙触发器DQR+5V数据锁存器查询式输出接口电路WRACKBUSY状态忙置1CPU和外设之间的数据传送方式 第29页/共111页1. 通过M/IO,WR信号将数据写入锁存器,并同时将状态触发器置1,进而使状态位BUSY置1,防止CPU再次传送数据;2. 外设读取数据;3. 外设向接口发ACK信号,将状态位BUSY清零。查询式输出的过程:CPU和外设之间的数据传送方式 第30页/共111页D7D08位数据端口(
16、8位) (输出)D7状态端口(1位) (输出)查询式输出时的数据和状态信息:“READY”(1位)数据信息状态信息CPU和外设之间的数据传送方式 第31页/共111页LOOP2:INAL,STATUS_PORT ;读状态信息TESTAL,80H ;检查BUSY位JNZLOOP2;BUSY=0?MOVAL,STORE ;为零,取数据OUTDATA_PORT,AL ;数据端口输出查询式输出的查询程序:问题:结合汇编语言,分析程序是如何实现查询输出功能的?CPU和外设之间的数据传送方式 第32页/共111页例2 查询方式输出假设 外设的状态端口为21C H, 其中D0 = 0时,表示外设准备好 外设
17、的数据端口为219 H。 编程将缓冲区buffer的80H个字节输出到外设。21CH端口状态端口219H端口数据端口地址译码数据缓冲控制电路输出外设CPU地址线数据线控制线CPU和外设之间的数据传送方式 第33页/共111页从21CH状态端口读入外设状态信息将一字节数据送至219H数据端口YND0=0, 外设准备好否?N80H个数据传送结束?Y编程将缓冲区buffer的80H个字节输出到外设CPU和外设之间的数据传送方式 第34页/共111页、 MOV AX, SEG buffer ;取缓冲区首地址 MOV DS, AX LEA SI, buffer MOV CX, 80H ;传送个数 nex
18、t: MOV DX, 21CH ask: IN AL, DX ;从状态端口读入状态信息 TEST AL, 0000 0001B ;检测D0位 JNZ ask ;D00,继续查询 MOV AL, SI ;从缓冲区取数 MOV DX, 219H OUT DX, AL ;从数据端口输出数据 INC SI ;修改缓冲区指针 LOOP next ;输出下一个 、查询方式输出程序段: CPU和外设之间的数据传送方式 第35页/共111页工作原理: 当外设准备好数据或可以接收数据时,就通过接口向CPU发出中断请求信号,CPU在执行完当前的一条指令后,检测是否有中断信号,如果有中断信号,则CPU转向执行中断服
19、务程序,执行完毕后CPU返回原来的程序继续执行。中断方式CPU和外设之间的数据传送方式 第36页/共111页三态缓冲器输入设备地址译码器1数据RDYDBABIO/MRDCPU&中断请求触发器数据锁存器+5V中断传送方式输入接口电路QDINT状态信号数据锁存器三态缓冲器1&CPU和外设之间的数据传送方式 第37页/共111页中断方式1. 输入设备准备就绪,发出就绪状态信号,数据暂存在锁存器中,同时中断请求触发器置“1”,向CPU发出中断请求信号;2. CPU响应中断,执行中断服务程序,从数据端口输入数据,同时将中断请求触发器置“0”,撤销中断请求;3. CPU返回被中断的程序。中
20、断传送方式的过程:CPU和外设之间的数据传送方式 第38页/共111页中断服务程序发申请中断服务程序发申请中断方式下CPU执行程序流程外设CPU和外设之间的数据传送方式 第39页/共111页 中断传送方式的特点:1. CPU和外设大部分时间处在并行工作状态, 只在CPU响应外设的中断申请后,进入数据传送的过程2. 中断传送方式提高了CPU的效率CPU和外设之间的数据传送方式 第40页/共111页三、查询传送方式VS中断传送方式查询方式中断方式 CPU不主动查询外设,只执行自己的程序,当外设准备好需要传送数据时,提出申请,若CPU准于请求,放下正在执行的程序,去传送外设的数据。CPU和外设之间的
21、数据传送方式 第41页/共111页DMA传送方式的提出 直接存储器存取(DMA)控制方式 DMA(Direct Memory Access)直接存储器存取控制方式下,I/O设备是和存储器直接交换信息,不需要CPU介入,外设与存储器间的数据传输是在硬件的作用下完成的。优点:传输速度大幅提高。CPU和外设之间的数据传送方式 第42页/共111页 DMA方式下,外设利用专门的接口电路直接和存贮器进行高速数据传送,而不经过CPU。数据的传输速度基本上决定于外设和存储器的速度。直接存储器存取(DMA)控制方式主存I/O设备CPU改进主存I/O设备总线 使用直接存储器传送方式(DMA),实现数据块操作。C
22、PU和外设之间的数据传送方式 第43页/共111页 实现方法: 1. 由专用接口芯片DMA控制器(称DMAC) 控制传送过程,2. 当外设需传送数据时,通过DMAC向CPU发出总线请求;3. CPU发出总线响应信号,释放总线;4. DMAC接管总线,控制外设、内存之间直接数据传送.DMA传送方式的特点 1. 外设和内存之间,直接进行数据传送,不通过CPU, 传送效率高。 适用于在内存与高速外设、 或两个高速外设之间进行大批量数据传送。 2. 电路结构复杂,硬件开销较大。CPU和外设之间的数据传送方式 第44页/共111页DMA 传送方式过程CPUDMAC内存外设总线响应总线请求CPU和外设之间
23、的数据传送方式 第45页/共111页 什么是中断 中断源 中断分类 中断类型号 中断优先权 中断服务程序 断点和中断现场 8086/8088 CPU响应中断的过程 8086/8088 CPU如何获取中断类型号中断系统中断系统第46页/共111页什么是中断什么是中断 在CPU正常运行程序时,由于内部或外部某个非预料事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。这个过程就是中断。中断系统第47页/共111页中断源中断源 引起中断的因素很多,将发出中断申请的外设或内部原因,称为中断源。例如:CPU指令执行产生的异常(如被零除)、停电等故
24、障等。中断系统第48页/共111页中断的分类中断的分类按中断源的不同,中断分为内部中断和外部中断。内中断(软中断)指CPU执行某些特殊操作或由INT指令引起的中断 被零除操作或OF=1时执行INTO指令引起 使用DEBUG中的单步或断点设置操作引起 执行INT n 指令引起中断系统第49页/共111页指外部芯片通过CPU的INTR引脚或NMI引脚发出中断申请引起的中断。当INTR上有高电平信号当NMI上有上升沿信号外中断(硬中断)8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A1
25、8/S5A19/S6(HIGH)(SSO)MN/MXRDRQ/GT0(HOLD)RQ/GT1(HLDA)LOCK(WR)S2(IO/M)S1(DT/R)S0(DEN)QS0(ALE)QS1(INTA)TESTREADYRESET中断系统第50页/共111页 可屏蔽中断 由INTR引脚引起的中断,称可屏蔽中断。 CPU是否响应INTR引脚上的中断请求取决于IF标志: IF=1,CPU响应INTR引脚上的中断请求 IF=0,CPU不响应INTR引脚上的中断请求(即当IF=0时,将INTR引脚上的中断申请屏蔽。 ) 非屏蔽中断 由NMI引脚引起的中断,称非屏蔽中断。 当NMI引脚上产生上升沿信号,C
26、PU必响应此中断请求,即NMI引脚上的中断请求不受IF标志的控制, IF不能屏蔽NMI引脚上的中断请求。 如电源掉电、存贮器读写出错、总线奇偶错中断系统第51页/共111页NMI(17号引脚)中 断 逻 辑非屏蔽中断请求INT 2硬件(外部)中断软件(内部)中断可屏蔽中断请求中断类型号32255INTR(18号引脚)中断指令INT nN32255溢出中断INTOINT 4断点中断INT 3单步中断(TF1)INT 1除法错误INT 0中断系统第52页/共111页中断优先权中断优先权 给每个中断源指定一个优先权,称为中断优先权。当多个中断源同时发出中断请求时,CPU按照中断优先权的高低顺序,依次
27、响应。中断系统第53页/共111页中断服务程序中断服务程序 处理中断源,完成其所要求功能的程序,称中断服务程序(中断例行程序、中断子程)。CPU执行流程中断服务程序1中断服务程序2非预料事件2非预料事件1中断系统第54页/共111页断点和中断现场断点和中断现场 断点:是指CPU执行的现行程序被中断时的下一条指令的地址,又称断点地址。 中断现场:是指CPU转去执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址等。中断系统第55页/共111页1000:150H 、 、MOV AX, 0ADD AX, DXMOV DI , AX、CPU在执行此指令时,某中断源发申请中断;CPU在执行完该
28、指令后,转去执行中断子程序,此时CPU的状态称为中断现场。地址1000:150H为断点断点概念:中断系统第56页/共111页1000:150H 、 、MOV AH, 01INT 21HCMP AL, 0Dh、用指令调用中断程序软件中断用指令调用中断程序中断系统第57页/共111页中断的好处1、CPU分时操作(与多个外设并行工作)2、实现实时处理3、故障处理温度压力断电CPU处理外设外设外设CPU如何实现中断?中断系统第58页/共111页中断系统的功能(1)响应中断及返回(2)能实现优先权排队(3)能实现中断嵌套中断请求中断请求RETIRETI主程序中断系统第59页/共111页CPU响应中断的条
29、件(1)有中断请求(2)中断请求没有被屏蔽(3)中断是开放的或者是允许的(4)在现行指令结束后才响应中断中断系统第60页/共111页中断系统中断系统中断响应及中断期间应做的工作(1)关中断(硬件自动实现)(2)保留断点(硬件自动实现)(3)保护现场(软件完成)(4)给出中断,入口转入相应的中断服务程序(硬件自动完成)(5)恢复现场(6)开中断与返回(由RETI指令实现) 第61页/共111页非预料事件是指事件发生的时间无法预知,即中断源何时产生中断不确定,是随机的。但事件的性质及处理方法则是已知的,确定的,即中断服务程序是事先编写好的,只是何时执行未知。中断源产生中断的随机性,使中断服务程序的
30、执行也具有随机性,即何时执行中断服务程序不是在程序中安排好的。中断系统中断和子程序调用的区别第62页/共111页RETI与RET的异同点相同:均执行恢复断点操作,即从堆栈中弹出断点给PC。不同:RETI将清“0”响应时所置的优先级触发器,RET没有该功能。中断系统第63页/共111页当中断源产生中断申请后,不论是内中断、非屏蔽中断,还是可屏蔽中断,只要满足响应条件,在执行完当前指令后,CPU内部硬件会自动完成下列响应中断的过程: 取中断类型号N 当前PSW的内容入栈 清IF、TF标志为0 当前CS的内容入栈 当前IP的内容入栈 取内存单元( 0 : N 4 )字内容送IP 取中断子程 取内存单
31、元( 0 : N 4 + 2 )字内容送CS 入口地址 此时CS:IP指向中断程序的入口,开始执行中断程序。保存现场中断系统中断系统中断响应过程 中断源提出申请 CPU决定是否响应 若响应转去中断处理 完成后返回原中断处。第64页/共111页当前指令执行完的含义vCPU正在执行一条指令,执行完本条指令,响应中断;v对于带重复前缀的串指令(如REP MOVSB),执行一次重复和串指令即可响应中断;v对MOV和POP指令,处理对象为段寄存器,以及STI和IRET指令执行完本条指令后,再执行一条指令才响应中断。中断系统第65页/共111页中断系统第66页/共111页中断系统第67页/共111页中断系
32、统第68页/共111页中断系统第69页/共111页 .中断系统第70页/共111页中断系统第71页/共111页内 存中断向量表0:0 3FFH1000:150h3000:0200h0: N40: N4+20: 0000、 0200h 3000h、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、类型N中断子程 某中断源发申请中断,申请执行类型号为N的中断子程响应中断前 SS:SP 响应中断后SS:SP 堆栈执行IRET后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h0:3FFH0:0
33、中断系统第72页/共111页从中断子程返回断点处,靠的是执行中断子程最后的指令IRET,从堆栈中取出断点地址给CS:IP,继续执行被中断的程序。故中断子程最后应安排 IRET 指令。1000:150h3000:200h0: N40: N4+20: 0000、 0200h 3000h、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、响应中断前 SS:SP 响应中断后SS:SP 堆栈执行IRET后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h中断系统第73页/共111页中断系统第74页
34、/共111页8086/8088 CPU如何获取中断类型号如何获取中断类型号 由前面介绍知,当中断源产生中断请求后,不论是内中断、非屏蔽中断,还是可屏蔽中断,只要满足响应条件,在执行完当前指令后,CPU内部硬件会自动完成响应中断的过程,共七个步骤,而第一步就是获取中断类型号。不同的中断源,8088CPU获取中断类型号的方法不同。中断系统第75页/共111页CPU 执行除零或 OF 为 1 执行 INTO 指令 除零 固定类型号 00H OF 为 1 执行 INTO 指令 固定类型号 04H使用 DEBUG 下的单步和断点操作 单步 固定类型号 01H 断点 固定类型号 03H内中断执行中断调用指
35、令INT N 由指令中给出 指令中指定类型号N非屏蔽中断 引脚 NMI 上有中断申请信号 (上升沿信号) 非屏蔽中断 固定类型号 02H外中断可屏蔽中断 (参看中断响应时序图) 当 IF=1, 引脚 INTR 上有中断申请信号 (高电平信号 ) CPU 按中断响应周期时序,从数据总线上获取中断类型号 可屏蔽中断 外部接口送上类型号中断系统第76页/共111页 中断系统第77页/共111页FLAGS 入栈NNN完成当前指令有内部中断吗?从指令中或内部获得中断类型号从外部得到中断类型号TEMP=1?令TEMPTF调中断处理程序YYY有NMI中断吗?有INTR中断吗?TF1?执行下一条指令NNNNY
36、中断类型号2YIF1?中断类型号1清IF、TFCS、IP入栈返回断点FLAGS出栈IP、CS出栈中断服务有NMI?(1)(1)(1)(1)(2)(3)(4)(5)YY8086/8088的中断处理过程 中断系统第78页/共111页可编程中断控制器可编程中断控制器8259A 8259A的引脚、编程结构和工作过程 8259A的编程 8259A在IBM PC/XT系统中的应用 8259A在 Pentium机中的应用第79页/共111页中断申请管理接口INT中断申请接口1网络接口2硬盘接口3软盘接口4打印机8088CPUINTRIF可编程中断控制器可编程中断控制器8259A第80页/共111页1. 向C
37、PU的引脚INTR发中断申请信号 当有多个外设同时发出中断请求时, 能按照一定的优先级顺序,向CPU发出中断申请, 使CPU能优先响应优先级最高的外部设备的中断申请。2. 送中断类型号 在CPU中断响应周期,针对不同外设的中断请求, 向CPU传送不同的中断类型号, 使CPU执行相应的中断子程。中断申请管理接口的主要功能:在IBM PC机由8259A可编程中断控制器(PIC)来完成。可编程中断控制器可编程中断控制器8259A第81页/共111页8259A的引脚 双列直插式芯片,28个引脚方 波键 盘保 留串 口2 硬 盘软 盘打印机IOW18.2HzA0CS8259A总线A0数 据 线 IORR
38、DWR片选译码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片8259A级连情况INTAINT INTA INTR串 口1 定时器可编程中断控制器可编程中断控制器8259A第82页/共111页编程结构SP/ENCA0CA1CA2IORIOW总线D0D7数 据 线D0D7INTAINTRA0片选译码A5A9CSA0RD INTAWRINT 1 I3 I4ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片连接关系 ICW4 方式控制0111A01 0 0 1 0 1 0 0OCW1 中断屏蔽寄存器 I
39、MR 0 0 OCW2 优先级设置、发EOI 0 1 OCW3特殊屏蔽,查询方式设置处理部分控制部分000 0 0 0 0 0 ISR当前中断服务寄存器PR优先级裁决器VCCGND100A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断申请寄存器000 0 0 0 0 0 可编程中断控制器可编程中断控制器8259A第83页/共111页4个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3个操作命令寄存器 OCW1(IMR) OCW2、OCW3当前中断服务寄存器 ISR中断申请寄存器 IRR 8259A内部有9个 可读写的寄存器8259A的编程结构 1 I3 I4ICW1
40、芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制处理部分控制部分000 0 0 0 0 0 ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器000 0 0 0 0 0 中断屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中断控制器可编程中断控制器8259A第84页/共111页(1) 初始化命令字(ICW1- ICW4) 决定8259A的工作方式 通常是在计算机系统启动时在初始程序设置, 一旦设定,一般在系统工作过程不再改变。(2) 操作命令字(OCW1,OCW2,OCW3) 在应用程序中设定,动态地控制C
41、PU处理中断的过程(3) ISR和IRR存放当前8259A的状态 通过读取 ISR 和 IRR 的内容,可了解当前8259A工作情况可编程中断控制器8259A第85页/共111页v分两步:v(1)处理外设中断申请,决定是否向CPU发中断申请信号。v(2)若发中断申请信号,且CPU响应,则在CPU中断响应周期送出中断类型号。8259A 的工作过程可编程中断控制器8259A第86页/共111页(1) 处理外设中断申请,决定是否向CPU发中断申请信号 中断屏蔽寄存器 IMR 决定 IRR 中的中断申请 是否进入优先级裁决器 PR。 IMR对应位为 0,允许中断申请进入优先级裁决器, 为 1,不允许进
42、入,中断申请被IMR屏蔽。 中断申请寄存器IRR 锁存外部的中断申请。 若 IR0IR7 引脚上有中断申请,则将 IRR 相应位置1可编程中断控制器8259A第87页/共111页(1) 处理外设中断申请,决定是否向CPU发中断申请信号 当前中断服务寄存器 ISR 记录CPU正在响应的中断。 ISR中的某位为1,表示CPU正在响应此级中断, ISR中的某位为0,表示CPU没有或已响应完此级中断, 优先级裁决器PR 据新进入的中断申请和 ISR的内容, 决定是否发中断申请信号。 如果进入的中断申请比 ISR 中记录的中断优先级高,则通过 8259A 的 INT 引脚向 CPU发出中断请求信号; 如
43、果进入的中断申请不比 ISR 中记录的中断优先级高,同级或低级,则不向 CPU 发中断请求信号。可编程中断控制器8259A第88页/共111页 中断申请寄存器IRR 锁存外部的中断申请。 若 IR0IR7 引脚上有中断申请,则将 IRR 相应位置1IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制000 0 0 0 0 0 ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发EO
44、I OCW3 特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器000 0 0 0 0 0 1 0 0 1 0 1 0 0INTR11可编程中断控制器8259A第89页/共111页 中断屏蔽寄存器 IMR 决定 IRR 中的中断申请是否进入优先级裁决器PR。 IMR对应位为0,允许中断申请进入优先级裁决器,为1,不允许进入,中断申请被IMR屏蔽。IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制000 0 0 0 0 0 ISR当前中断服务寄存器IR0IR1IR
45、2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发EOI OCW3 特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR可编程中断控制器8259A第90页/共111页 当前中断服务寄存器 ISR 记录CPU正在响应的中断。 ISR中的某位为1,表示CPU正在响应此级中断,即正在执行此中断源的中断子程序; ISR中的某位为 0,表示CPU没有或已响应完此级中断,即不在执行此中断源的中断子程序IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTAWRINTD0D7
46、 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制001 0 0 0 0 0 ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发EOI OCW3 特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR可编程中断控制器8259A第91页/共111页 优先级裁决器据新的中断申请和ISR的内容, 决定是否发中断申请信号。 如果进入的中断申请比ISR中记录的中断优先级高,则通过 8259A 的 INT 引脚向 CPU发出中断请
47、求信号; 如果进入的中断申请不比ISR中记录的中断优先级高,同级或低级,则不向 CPU 发中断请求信号。IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制001 0 0 0 0 0 ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发EOI OCW3 特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR可编程中断控制器
48、8259A第92页/共111页(2) 若发中断申请信号,且CPU响应,则在CPU中断响应周期送出中断类型号 CPU接收到 INTR上的中断申请信号后:l如果 IF 标志为0,则CPU不响应此中断申请信号,即中断申请被IF屏蔽。l如果 IF 标志为1, 则处理完当前的指令后, 进入中断响应周期 通过 INTA 引脚发出两个负脉冲信号, 从数据总线上获取中断类型号, 进入中断响应的过程。可编程中断控制器8259A第93页/共111页 将 ISR 中相应位置1,表示 CPU 响应此级中断,执行此中断源的中断子程。 把 IRR中对应的位清0,清除IRR中锁存的中断申请信号。8259A在接收到第一个IN
49、TA中断响应信号后:001 0 0 0 0 0 ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级裁决器IRR中断申请寄存器100 0 0 0 0 1 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发EOI OCW3 特殊屏蔽设置1 0 0 1 0 1 0 0IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RDWR INTAINTD0D7INTR01可编程中断控制器8259A第94页/共111页通过数据线,将被响应申请的中断类型号送给CPU。类型
50、号由ICW2提供,在初始化8259A时已设定好。 CPU获得中断类型号后,进入CPU响应中断的过程,执行中断子程,处理中断源申请的功能。8259A在接收到第二个INTA中断响应信号后:001 0 0 0 0 0 ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级裁决器IRR中断申请寄存器100 0 0 0 0 1 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发EOI OCW3 特殊屏蔽设置1 0 0 1 0 1 0 0IORIOW总线数 据 线D0D7INTAA0片
51、选译码A5A9CSA0RDWR INTAINTD0D7INTR01可编程中断控制器8259A第95页/共111页 取中断类型号N 当前PSW的内容入栈 清IF、TF标志为0当前CS的内容入栈 当前IP的内容入栈 取内存单元( 0 : N 4 )字内容送IP 取中断子程 取内存单元( 0 : N 4 + 2 )字内容送CS 入口地址 此时CS:IP指向中断程序的入口,开始执行中断程序。保存现场CPU响应中断过程:执行完中断子程中最后一条指令IRET后,返回被中断处,继续执行被中断的程序。可编程中断控制器8259A第96页/共111页4个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3
52、个操作命令寄存器 OCW1(IMR) OCW2、OCW3当前中断服务寄存器 ISR中断申请寄存器 IRR 8259A内部有9个 可读写的寄存器8259A的编程结构 1 I3 I4ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制处理部分控制部分000 0 0 0 0 0 ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器000 0 0 0 0 0 中断屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中断控制器可编程中断控制器8259A第97页/共111页8259A有两个I/O端口地址A0=0 偶地址
53、端口A0=1 奇地址端口对9个寄存器的读写均通过这两个端口实现根据(1)写入数据的特征位(2)写入的先后顺序 区分是对哪个寄存器进行操作 1 I3 I4ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制处理部分控制部分000 0 0 0 0 0 ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器000 0 0 0 0 0 中断屏蔽寄存器OCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中断控制器D0D7A0CSRDWR80111A0100A0可编程中断控制器8259A第98页/共111页(1)通过中断屏蔽寄存器IMR的
54、读写,设置中断屏蔽字(2) 通过OCW2操作命令寄存器,发中断结束EOI命令要求掌握如下编程:8259A的编程方法8259A有多种工作方式,这些工作方式均可编程选择,使用相当灵活。可编程中断控制器8259A第99页/共111页 通过往寄地址端口写入IMR内容实现 对应位为0,允许该级中断申请进入 对应位为1,禁止该级中断申请进入(1)设置中断屏蔽字IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制000 0 0 0 0 0 ISR当前中断服务寄存器IR0IR1
55、IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发EOI OCW3 特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR可编程中断控制器8259A第100页/共111页l 新增允许 IR2 的中断申请 IN AL, 21H ;读入原IMR的内容 AND AL, 1111 1011B ;D2=0,允许IR2的中断申请 OUT 21H, AL ;写入IMRl 禁止 IR4 的中断申请 IN AL, 21H ;读入原IMR的内容 OR AL, 0001 0000B ;D4=1,禁止IR4的中断申请 OUT 21H, AL ;写入IMR例 已知 IBM PC/XT系统中,8259A的奇地址端口地址为21H可编程中断控制器8259A第101页/共111页设置完成后的结果:IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋租赁合同的担保合同
- 商砼购销的合同
- 采购合同的主要类型
- 物流公司承运合同
- 网络营销执行作业指导书
- 平面设计软件应用作业指导书
- 公司给员工的劳动合同
- 2025年南京货运从业资格证500道题目答案大全
- 电力分配合同(2篇)
- 2024-2025学年高中英语课时分层作业3含解析新人教版选修9
- 2025年纪检办公室工作计划范文
- 2024年保险公司柜员年终工作总结
- 2025年南瑞集团招聘笔试参考题库含答案解析
- 七年级上学期历史期末考试模拟卷02(原卷版)
- 桥梁建设施工组织设计方案
- (新版)中国动态血压监测基层应用指南(2024年)
- GB/T 44892-2024保险业车型识别编码规则
- 四新技术培训
- 人教版一年级数学2024版上册期末测评(提优卷一)(含答案)
- 2024年同等学力申硕英语考试真题
- 浙江省杭州市2024年中考语文试卷(含答案)
评论
0/150
提交评论