版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、v 接口概念:v 输入/输出(I/O)接口是主机与外部设备(简称外设)之间所设置(shzh)的逻辑控制部件,通过它实现主机与I/O设备之间的信息交换。输入输出接口(ji ku)概述 思考问题: 微型(wixng)计算机和外设之间为什么需要接口?第1页/共111页第一页,共111页。一般情况下,存储器可以与总线直接相连,而外部设备却需要通过接口与CPU的总线相连,原因是由存储器和外设的特点决定:存储器:功能单一(dny) 传输方式单一(dny)(一次一个字或一个字节)操作方式单一(dny)(读和写) 制造工艺与CPU相似,速度与CPU相匹配输入输出接口(ji ku)概述 微型(wixng)计算机
2、和外设之间为什么需要接口?第2页/共111页第二页,共111页。接口:解决以上差异,协调、匹配外设与主机(zhj)正常工作的逻辑部件及相应控制软件。外设:种类繁多 (机械、机电、电子(dinz)信号种类不一 (A,D,开关量)信号格式不同 (串行,并行)同一个时刻CPU通常只和一个外设交换信息工作速度不同,且范围宽。如硬盘和打印机工作时序不匹配,无法和CPU时序取得统一输入输出接口(ji ku)概述 微型计算机和外设之间为什么需要接口?第3页/共111页第三页,共111页。v接口电路的任务:v对数据提供缓冲(时间和电气性能上):设置数据的寄存、缓冲逻辑;v信息格式相容性变换(binhun):如
3、串并行的转换;电平转换、数模或模数转换等;v协调时序差异:提供“准备好”“空”“满”等状态信号v提供地址译码或设备选择信号:v提供中断和DMA控制逻辑及管理:输入输出接口输入输出接口(ji ku)概述概述 第4页/共111页第四页,共111页。I/O端口的寻址方式CPU要操作接口,首先要能识别这个接口。解决方法:通过地址识别。(1)存储器映像寻址方式 若把系统中的每一个I/O端口都看作一个存储单元,并与存储单元一样统一编址,这样访问(fngwn)存储器的所有指令均可用来访问(fngwn)I/O端口,不用设置专门的I/O指令。优点:简化了指令集,对I/O设备的访问(fngwn)更加灵活方便,I/
4、O地址空间可大可小缺点:占用内存空间,访问(fngwn)速度慢。输入输出接口输入输出接口(ji ku)概述概述 第5页/共111页第五页,共111页。I/O端口的寻址方式(2)I/O单独编址方式 对系统中的输入输出端口地址单独编址,构成一个I/O空间,他们不占用存储空间,而是用专门的IN和OUT指令来访问这种具有独立(dl)地址空间的端口。优点:将输入输出指令和访问存储器的指令明显区分开,使程序清晰,可读性好;I/O指令长度短,执行速度快,不占用内存空间;I/O地址译码电路简单。缺点:指令系统中需专门的指令,且这些指令的功能没有访问存储器指令强;CPU需提供区分存储器读/写和I/O读写的控制信
5、号。输入输出接口输入输出接口(ji ku)概述概述 第6页/共111页第六页,共111页。CPU和I/O设备之间的接口(ji ku)信息1、数据信息数字量信息:离散的二进制形式数据,最小单位为“位(b)”,8位为一个字节(B)。模拟量信息:用模拟电压或模拟电流幅值大小表示(biosh)的物理量。开关量:只有两个状态,“开”和“关”,用一位二进制数即可表示(biosh)。输入输出接口(ji ku)概述 第7页/共111页第七页,共111页。2、状态信息 反映当前外设所处的工作状态,实际中通过状态端口信息表现。例如:输入时:“准备好”(Ready) 输出(shch)时:“空”(Empty)、“忙”
6、(Busy)3、控制信息 由CPU发出的用来控制外设工作的信号。例如:控制输入/输出(shch)装置的启动或停止、读或写 问题提出:数据信息、状态信息、控制信息是不同性质的信息,被分别传送,如何实现?CPU和I/O设备(shbi)之间的接口信息输入输出接口(ji ku)概述 第8页/共111页第八页,共111页。 问题解决:数据信息、状态信息、控制信息使用不同的端口地址。 问题结论:都通过数据总线传送,但放在接口的不同寄存器 (I/O端口)中,其中:输入(shr)输出的数据信息放在数据缓冲器输入(shr)的状态信息放在状态寄存器输出的控制信息放在控制寄存器CPU和I/O设备(shbi)之间的接
7、口信息输入输出接口(ji ku)概述 第9页/共111页第九页,共111页。接口数据输入寄存器数据输出寄存器控制输出寄存器状态输入寄存器CPU和I/O设备之间的接口(ji ku)信息外部输入或输出设备CPUDBABCB外设通过(tnggu)接口与CPU之间的连接数据(shj)控制状态ABCBDB输入输出接口概述 第10页/共111页第十页,共111页。访问接口的过程描述:CPU先将地址信息发送到地址总线,将确定的控制信息发送到控制总线(打开相应端口);CPU传输数据信息到数据总线上等待相应端口接收,或者CPU等待接口把指定端口的内容送到数据总线上(收发数据)。注意:地址是端口(寄存器)的地址,
8、而不是(b shi)接口部件的地址,一个接口部件包含多个端口,即多个地址。CPU和I/O设备之间的接口(ji ku)信息输入输出接口(ji ku)概述 第11页/共111页第十一页,共111页。几点说明(shumng): I/O端口即I/O接口的寄存器,接口中的每个寄存器都有一个端口地址,每个I/O接口都有一组寄存器。vCPU与外设的信息交流就是(jish)CPU与接口寄存器(端口)的交流。v数据输入和数据输出寄存器可以使用同一地址;控制输出和状态输入寄存器可以使用同一地址。CPU和I/O设备(shbi)之间的接口信息输入输出接口概述 第12页/共111页第十二页,共111页。v程序方式(fn
9、gsh)v无条件传送方式(fngsh)v查询传送方式(fngsh)v中断传送方式(fngsh)v直接存储器存取(DMA) 控制方式(fngsh)CPU和外设之间的数据传送(chun sn)方式 第13页/共111页第十三页,共111页。定义: 在数据传送过程中,输入或输出数据一方不查询、判断对方的状态,进行无条件的数据传送。 CPU能够确信外设准备就绪,就不用查询外设的状态而可以直接进行数据传输。驱动指示灯、继电器、启动电机等 例如:CPU要输出一个数据到显示器显示,由于(yuy)显示器是可以根据输入数据而随时改变显示内容的设备,因而CPU就可以直接向其发送数据,而无需查询。无条件传送(chu
10、n sn)方式CPU和外设之间的数据(shj)传送方式 第14页/共111页第十四页,共111页。无条件传送(chun sn)方式三态缓冲器输入设备地址(dzh)译码器&数据(shj)来自外设数据总线地址总线IO/MRDCPU无条件传送的输入方式CPU和外设之间的数据传送方式 第15页/共111页第十五页,共111页。无条件传送(chun sn)方式锁存器输出设备地址(dzh)译码器&数据(shj)到外设数据总线地址总线IO/MWRCPUCE无条件传送的输出方式CPU和外设之间的数据传送方式 第16页/共111页第十六页,共111页。 定义: CPU执行程序不断读取并测试外设的状态,如果外设处
11、于准备(zhnbi)好(输入)或空闲(输出)状态,则执行输入或输出指令,进行数据交换,否则等待。查询(chxn)传送方式CPU和外设之间的数据(shj)传送方式 第17页/共111页第十七页,共111页。 完成(wn chng)一次数据传送的过程: 1) CPU从状态端口读取外设的状态字; 2) CPU检测状态字对应位是否满足“就绪”条件; 3) 如不满足,则重复执行1)2)过程,直到条件 满足; 4) 如果条件满足,表明外设就绪,则传送数据, 同时I/O的状态复位。查询(chxn)传送方式CPU和外设之间的数据(shj)传送方式 第18页/共111页第十八页,共111页。实现流程: 在与外设
12、进行传送(chun sn)数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送(chun sn)特点:1. CPU通过不断查询外设状态,实现与外设的速度匹配2. CPU的工作效率低NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?CPU和外设之间的数据传送和外设之间的数据传送(chun sn)方式方式 第19页/共111页第十九页,共111页。 两种查询传送方式: 1. 查询式输入(shr) 2. 查询式输出查询传送(chun sn)方式查询式输入方式描述 查询式输入是程序控制下的查询式输入方式,在传送前,CPU必须去查询一下外设的状态(zhungti),当
13、外设准备好了才传送;若未准备好,CPU则等待。CPU和外设之间的数据传送方式 第20页/共111页第二十页,共111页。锁存器锁存器三态缓冲器(8位)输入设备地址译码器&数据(shj)选通信(tng xn)号DBABIO/MRDCPU三态缓冲器(1位)&准备就绪触发器DQR+5VDiREADY(状态(zhungti)信息)查询式输入接口电路三态缓冲器(8位)三态缓冲器(1位)CPU和外设之间的数据传送方式 第21页/共111页第二十一页,共111页。三态缓冲器(8位)三态缓冲器(8位)锁存器锁存器输入设备地址译码器&数据(shj)选通信(tng xn)号DBABIO/MRDCPU三态缓冲器(1
14、位)&准备就绪触发器DQR+5VDiREADY(状态(zhungti)信息)查询式输入接口电路CPU和外设之间的数据传送方式 第22页/共111页第二十二页,共111页。1. 输入设备准备好后,发选通信号(xnho);2. 数据进入锁存器锁存,并使D触发器置1,从而使三态缓冲器输出状态信号(xnho);3. CPU从状态端口读入状态字;4. CPU检测状态位,如果条件满足;5. CPU从数据端口读入数据;6. 清状态字。查询(chxn)式输入的过程:CPU和外设之间的数据传送(chun sn)方式 第23页/共111页第二十三页,共111页。D7D08位数据(shj)端口(8位) (输入)D7
15、状态(zhungti)端口(1位) (输入)查询式输入(shr)时的数据和状态信息:“READY”(1位)数据信息状态信息CPU和外设之间的数据传送方式 第24页/共111页第二十四页,共111页。LOOP1: IN AL,STATUS_PORT ;读入状态值 TESTAL,80H ;READY=1? JZLOOP1 ;未准备好?循环 INAL,DATA_PORT ;是,输入(shr)数据查询式输入(shr)的查询程序:讨论:分析查询程序,熟悉汇编语言(hu bin y yn)在接口电路中的应用。CPU和外设之间的数据传送方式 第25页/共111页第二十五页,共111页。例1 查询方式输入假设
16、 外设的状态端口为21C H, 其中D4=1时,表示外设数据准备好 外设的数据端口为218 H。 实现从外设读入50H个字节到内存缓冲区buffer中。21CH端口状态端口218H端口数据端口地址译码数据缓冲控制电路输入外备CPU地址线数据线控制线CPU和外设之间的数据传送(chun sn)方式 第26页/共111页第二十六页,共111页。从21CH状态端口读入外设状态信息从218H数据端口读入一个字节数据YND4=1, 外设准备好否?N50H个数据传送结束?Y编程从外设读入50H个字节到内存缓冲区buffer中CPU和外设之间的数据(shj)传送方式 第27页/共111页第二十七页,共111
17、页。 、 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 next ;传送下一个、查询方式输入程序段:CPU和外设之间的数据(shj)传送方式 第28页/共111页第二十八页,共1
18、11页。输出设备地址译码器&数据(shj)选通信(tng xn)号DBABIO/MRDCPU状态(zhungti)缓冲器(1位)&忙触发器DQR+5V数据锁存器查询式输出接口电路WRACKBUSY状态忙置1CPU和外设之间的数据传送方式 第29页/共111页第二十九页,共111页。1. 通过M/IO,WR信号将数据写入锁存器,并同时将状态触发器置1,进而使状态位BUSY置1,防止(fngzh)CPU再次传送数据;2. 外设读取数据;3. 外设向接口发ACK信号,将状态位BUSY清零。查询(chxn)式输出的过程:CPU和外设之间的数据(shj)传送方式 第30页/共111页第三十页,共111页
19、。D7D08位数据(shj)端口(8位) (输出)D7状态(zhungti)端口(1位) (输出)查询式输出时的数据(shj)和状态信息:“READY”(1位)数据信息状态信息CPU和外设之间的数据传送方式 第31页/共111页第三十一页,共111页。LOOP2:INAL,STATUS_PORT ;读状态信息TESTAL,80H ;检查(jinch)BUSY位JNZLOOP2;BUSY=0?MOVAL,STORE ;为零,取数据OUTDATA_PORT,AL ;数据端口输出查询(chxn)式输出的查询(chxn)程序:问题:结合汇编语言(hu bin y yn),分析程序是如何实现查询输出功能
20、的?CPU和外设之间的数据传送方式 第32页/共111页第三十二页,共111页。例2 查询方式输出假设 外设的状态端口为21C H, 其中D0 = 0时,表示外设准备好 外设的数据端口为219 H。 编程将缓冲区buffer的80H个字节输出到外设。21CH端口状态端口219H端口数据端口地址译码数据缓冲控制电路输出外设CPU地址线数据线控制线CPU和外设之间的数据传送(chun sn)方式 第33页/共111页第三十三页,共111页。从21CH状态端口读入外设状态信息将一字节数据送至219H数据端口YND0=0, 外设准备好否?N80H个数据传送结束?Y编程将缓冲区buffer的80H个字节
21、输出到外设CPU和外设之间的数据(shj)传送方式 第34页/共111页第三十四页,共111页。、 MOV AX, SEG buffer ;取缓冲区首地址 MOV DS, AX LEA SI, buffer MOV CX, 80H ;传送个数 next: 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 ;输出下一个
22、 、查询方式输出程序段: CPU和外设之间的数据(shj)传送方式 第35页/共111页第三十五页,共111页。工作原理: 当外设准备好数据或可以接收数据时,就通过接口向CPU发出中断请求信号,CPU在执行完当前(dngqin)的一条指令后,检测是否有中断信号,如果有中断信号,则CPU转向执行中断服务程序,执行完毕后CPU返回原来的程序继续执行。中断(zhngdun)方式CPU和外设之间的数据(shj)传送方式 第36页/共111页第三十六页,共111页。三态缓冲器输入设备地址(dzh)译码器1数据(shj)RDYDBABIO/MRDCPU&中断请求触发器数据(shj)锁存器+5V中断传送方式
23、输入接口电路QDINT状态信号数据锁存器三态缓冲器1&CPU和外设之间的数据传送方式 第37页/共111页第三十七页,共111页。中断(zhngdun)方式1. 输入设备准备就绪,发出就绪状态信号,数据暂存在锁存器中,同时中断请求触发器置“1”,向CPU发出中断请求信号;2. CPU响应中断,执行中断服务程序,从数据端口输入数据,同时将中断请求触发器置“0”,撤销(chxio)中断请求;3. CPU返回被中断的程序。中断传送方式(fngsh)的过程:CPU和外设之间的数据传送方式 第38页/共111页第三十八页,共111页。中断服务程序发申请中断服务程序发申请中断方式下CPU执行程序流程外设C
24、PU和外设之间的数据传送(chun sn)方式 第39页/共111页第三十九页,共111页。 中断传送方式的特点:CPU和外设大部分时间处在并行工作状态(zhungti), 只在CPU响应外设的中断申请后,进入数据传送的过程2. 中断传送方式提高了CPU的效率CPU和外设之间的数据传送(chun sn)方式 第40页/共111页第四十页,共111页。三、查询传送(chun sn)方式VS中断传送(chun sn)方式查询(chxn)方式中断(zhngdun)方式 CPU不主动查询外设,只执行自己的程序,当外设准备好需要传送数据时,提出申请,若CPU准于请求,放下正在执行的程序,去传送外设的数据
25、。CPU和外设之间的数据传送方式 第41页/共111页第四十一页,共111页。DMA传送方式(fngsh)的提出 直接存储器存取(DMA)控制(kngzh)方式 DMA(Direct Memory Access)直接存储器存取控制方式下,I/O设备(shbi)是和存储器直接交换信息,不需要CPU介入,外设与存储器间的数据传输是在硬件的作用下完成的。优点:传输速度大幅提高。CPU和外设之间的数据传送方式 第42页/共111页第四十二页,共111页。 DMA方式下,外设利用专门的接口电路直接和存贮器进行高速数据传送,而不经过(jnggu)CPU。数据的传输速度基本上决定于外设和存储器的速度。直接存
26、储器存取(DMA)控制(kngzh)方式主存I/O设备CPU改进主存I/O设备总线 使用直接(zhji)存储器传送方式(DMA),实现数据块操作。CPU和外设之间的数据传送方式 第43页/共111页第四十三页,共111页。 实现方法: 1. 由专用接口芯片DMA控制器(称DMAC) 控制传送过程,2. 当外设需传送数据时,通过DMAC向CPU发出总线请求;3. CPU发出总线响应信号,释放总线;4. DMAC接管总线,控制外设、内存之间直接数据传送.DMA传送方式的特点 1. 外设和内存之间,直接进行数据传送,不通过CPU, 传送效率高。 适用于在内存与高速外设、 或两个(lin )高速外设之
27、间进行大批量数据传送。 2. 电路结构复杂,硬件开销较大。CPU和外设之间的数据传送(chun sn)方式 第44页/共111页第四十四页,共111页。DMA 传送方式过程CPUDMAC内存外设总线响应总线请求CPU和外设之间的数据(shj)传送方式 第45页/共111页第四十五页,共111页。 什么是中断 中断源 中断分类 中断类型号 中断优先权 中断服务程序 断点和中断现场 8086/8088 CPU响应中断的过程 8086/8088 CPU如何(rh)获取中断类型号中断中断(zhngdun)系统系统第46页/共111页第四十六页,共111页。什么什么(shn me)(shn me)是中断
28、是中断 在CPU正常运行程序时,由于内部(nib)或外部某个非预料事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。这个过程就是中断。中断(zhngdun)系统第47页/共111页第四十七页,共111页。中断中断(zhngdun)(zhngdun)源源 引起中断的因素很多,将发出中断申请(shnqng)的外设或内部原因,称为中断源。例如:CPU指令执行产生的异常(如被零除)、停电等故障等。中断(zhngdun)系统第48页/共111页第四十八页,共111页。中断中断(zhngdun)(zhngdun)的分类的分类按中断(zhngdun
29、)源的不同,中断(zhngdun)分为内部中断(zhngdun)和外部中断(zhngdun)。内中断(软中断)指CPU执行某些(mu xi)特殊操作或由INT指令引起的中断 被零除操作或OF=1时执行INTO指令引起 使用DEBUG中的单步或断点设置操作引起 执行INT n 指令引起中断系统第49页/共111页第四十九页,共111页。指外部芯片通过CPU的INTR引脚或NMI引脚发出(fch)中断申请引起的中断。当INTR上有高电平信号当NMI上有上升沿信号外中断(zhngdun)(硬中断(zhngdun))8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD
30、2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/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中断(zhngdun)系统第50页/共111页第五十页,共111页。 可屏蔽(pngb)中断 由INTR引脚引起的中断,称可屏蔽(pngb)中断。 CPU是否响应INTR引脚上的中断请求取决于IF标志: IF=1,CPU响应INTR引脚上的中断请求 IF=0,CPU不响应INTR引脚上的中断
31、请求(即当IF=0时,将INTR引脚上的中断申请屏蔽(pngb)。 ) 非屏蔽中断 由NMI引脚引起的中断,称非屏蔽中断。 当NMI引脚上产生上升沿信号(xnho),CPU必响应此中断请求,即NMI引脚上的中断请求不受IF标志的控制, IF不能屏蔽NMI引脚上的中断请求。 如电源掉电、存贮器读写出错、总线奇偶错中断(zhngdun)系统第51页/共111页第五十一页,共111页。NMI(17号引脚)中 断 逻 辑非屏蔽中断请求INT 2硬件(外部)中断软件(内部)中断可屏蔽中断请求中断类型号32255INTR(18号引脚)中断指令INT nN32255溢出中断INTOINT 4断点中断INT
32、3单步中断(TF1)INT 1除法错误INT 0中断(zhngdun)系统第52页/共111页第五十二页,共111页。中断中断(zhngdun)优先权优先权 给每个中断源指定一个优先权,称为中断优先权。当多个中断源同时发出中断请求时,CPU按照中断优先权的高低顺序(shnx),依次响应。中断(zhngdun)系统第53页/共111页第五十三页,共111页。中断中断(zhngdun)服务程序服务程序 处理中断源,完成(wn chng)其所要求功能的程序,称中断服务程序(中断例行程序、中断子程)。CPU执行流程中断服务程序1中断服务程序2非预料事件2非预料事件1中断(zhngdun)系统第54页/
33、共111页第五十四页,共111页。断点和中断断点和中断(zhngdun)现场现场 断点:是指CPU执行的现行程序被中断时的下一条指令的地址,又称断点地址。 中断现场:是指CPU转去(zhun q)执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址等。中断(zhngdun)系统第55页/共111页第五十五页,共111页。1000:150H 、 、MOV AX, 0ADD AX, DXMOV DI , AX、CPU在执行此指令时,某中断源发申请中断;CPU在执行完该指令后,转去执行中断子程序,此时CPU的状态(zhungti)称为中断现场。地址(dzh)1000:150H为断点断点(d
34、un din)概念:中断系统第56页/共111页第五十六页,共111页。1000:150H 、 、MOV AH, 01INT 21HCMP AL, 0Dh、用指令调用(dioyng)中断程序软件(run jin)中断用指令调用中断程序中断(zhngdun)系统第57页/共111页第五十七页,共111页。中断(zhngdun)的好处1、CPU分时操作(与多个外设并行工作)2、实现实时处理3、故障处理温度压力断电CPU处理外设外设外设CPU如何(rh)实现中断?中断(zhngdun)系统第58页/共111页第五十八页,共111页。中断系统(xtng)的功能(1)响应中断及返回(2)能实现优先权排队
35、(3)能实现中断嵌套中断请求中断请求RETIRETI主程序中断(zhngdun)系统第59页/共111页第五十九页,共111页。CPU响应中断的条件(1)有中断请求(2)中断请求没有被屏蔽(3)中断是开放的或者是允许(ynx)的(4)在现行指令结束后才响应中断中断(zhngdun)系统第60页/共111页第六十页,共111页。中断中断(zhngdun)系统系统中断响应及中断期间应做的工作(1)关中断(硬件自动实现)(2)保留断点(硬件自动实现)(3)保护现场(xinchng)(软件完成)(4)给出中断,入口转入相应的中断服务程序(硬件自动完成)(5)恢复现场(xinchng)(6)开中断与返回
36、(由RETI指令实现) 第61页/共111页第六十一页,共111页。非预料事件是指事件发生的时间无法预知,即中断源何时(h sh)产生中断不确定,是随机的。但事件的性质及处理方法则是已知的,确定的,即中断服务程序是事先编写好的,只是何时(h sh)执行未知。中断源产生(chnshng)中断的随机性,使中断服务程序的执行也具有随机性,即何时执行中断服务程序不是在程序中安排好的。中断(zhngdun)系统中断和子程序调用的区别第62页/共111页第六十二页,共111页。RETI与RET的异同点相同:均执行(zhxng)恢复断点操作,即从堆栈中弹出断点给PC。不同:RETI将清“0”响应时所置的优先
37、级触发器,RET没有该功能。中断(zhngdun)系统第63页/共111页第六十三页,共111页。当中断源产生中断申请后,不论是内中断、非屏蔽中断,还是(hi shi)可屏蔽中断,只要满足响应条件,在执行完当前指令后,CPU内部硬件会自动完成下列响应中断的过程: 取中断类型号N 当前PSW的内容入栈 清IF、TF标志为0 当前CS的内容入栈 当前IP的内容入栈 取内存单元( 0 : N 4 )字内容送IP 取中断子程 取内存单元( 0 : N 4 + 2 )字内容送CS 入口地址 此时CS:IP指向中断程序的入口,开始执行中断程序。保存现场中断中断(zhngdun)系统系统中断响应(xingy
38、ng)过程 中断源提出申请 CPU决定是否响应(xingyng) 若响应(xingyng)转去中断处理 完成后返回原中断处。第64页/共111页第六十四页,共111页。当前指令(zhlng)执行完的含义v CPU正在执行一条指令,执行完本条指令,响应中断;v 对于带重复(chngf)前缀的串指令(如REP MOVSB),执行一次重复(chngf)和串指令即可响应中断;v 对MOV和POP指令,处理对象为段寄存器,以及STI和IRET指令执行完本条指令后,再执行一条指令才响应中断。中断(zhngdun)系统第65页/共111页第六十五页,共111页。中断系统第66页/共111页第六十六页,共11
39、1页。中断(zhngdun)系统第67页/共111页第六十七页,共111页。中断(zhngdun)系统第68页/共111页第六十八页,共111页。中断系统第69页/共111页第六十九页,共111页。 .中断系统第70页/共111页第七十页,共111页。中断系统第71页/共111页第七十一页,共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、类型(lixng)N中断子程 某中断源发申请(shnqng)
40、中断,申请(shnqng)执行类型号为N的中断子程响应中断前 SS:SP 响应中断后SS:SP 堆栈执行IRET后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h0:3FFH0:0中断(zhngdun)系统第72页/共111页第七十二页,共111页。从中断(zhngdun)子程返回断点处,靠的是执行中断(zhngdun)子程最后的指令IRET,从堆栈中取出断点地址给CS:IP,继续执行被中断(zhngdun)的程序。故中断(zhngdun)子程最后应安排 IRET 指令。1000:150h3000:200h0: N40: N4+20:
41、 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中断(zhngdun)系统第73页/共111页第七十三页,共111页。中断(zhngdun)系统第74页/共111页第七十四页,共111页。8086/8088 CPU如何如何(rh)获取中断类型号获取中断类型号 由前面介绍知,当中断源产生中断请求后,不论是内中断、非屏蔽中断,还是可屏蔽中断
42、,只要满足响应条件,在执行完当前指令(zhlng)后,CPU内部硬件会自动完成响应中断的过程,共七个步骤,而第一步就是获取中断类型号。不同的中断源,8088CPU获取中断类型(lixng)号的方法不同。中断系统第75页/共111页第七十五页,共111页。CPU 执行除零或 OF 为 1 执行 INTO 指令 除零 固定类型号 00H OF 为 1 执行 INTO 指令 固定类型号 04H使用 DEBUG 下的单步和断点操作 单步 固定类型号 01H 断点 固定类型号 03H内中断执行中断调用指令INT N 由指令中给出 指令中指定类型号N非屏蔽中断 引脚 NMI 上有中断申请信号 (上升沿信号
43、) 非屏蔽中断 固定类型号 02H外中断可屏蔽中断 (参看中断响应时序图) 当 IF=1, 引脚 INTR 上有中断申请信号 (高电平信号 ) CPU 按中断响应周期时序,从数据总线上获取中断类型号 可屏蔽中断 外部接口送上类型号中断(zhngdun)系统第76页/共111页第七十六页,共111页。中断系统第77页/共111页第七十七页,共111页。FLAGS 入栈NNN完成当前(dngqin)指令有内部(nib)中断(zhngdun)吗?从指令中或内部获得中断类型号从外部得到中断类型号TEMP=1?令TEMPTF调中断处理程序YYY有NMI中断吗?有INTR中断吗?TF1?执行下一条指令NN
44、NNY中断类型号2YIF1?中断类型号1清IF、TFCS、IP入栈返回断点FLAGS出栈IP、CS出栈中断服务有NMI?(1)(1)(1)(1)(2)(3)(4)(5)YY8086/8088的中断处理过程 中断系统第78页/共111页第七十八页,共111页。可编程中断可编程中断(zhngdun)控制器控制器8259A 8259A的引脚、编程结构和工作过程(guchng) 8259A的编程 8259A在IBM PC/XT系统中的应用 8259A在 Pentium机中的应用第79页/共111页第七十九页,共111页。中断申请管理接口INT中断申请接口1网络接口2硬盘接口3软盘接口4打印机8088C
45、PUINTRIF可编程中断可编程中断(zhngdun)控制器控制器8259A第80页/共111页第八十页,共111页。1. 向CPU的引脚INTR发中断申请信号当有多个外设同时(tngsh)发出中断请求时,能按照一定的优先级顺序,向CPU发出中断申请,使CPU能优先响应优先级最高的外部设备的中断申请。2. 送中断类型号 在CPU中断响应周期,针对不同外设的中断请求, 向CPU传送不同的中断类型号,使CPU执行相应的中断子程。中断(zhngdun)申请管理接口的主要功能:在IBM PC机由8259A可编程中断(zhngdun)控制器(PIC)来完成。可编程中断控制器可编程中断控制器8259A第8
46、1页/共111页第八十一页,共111页。8259A的引脚 双列直插式芯片,28个引脚方 波键 盘保 留串 口2 硬 盘软 盘打印机IOW18.2HzA0CS8259A总线A0数 据 线 IORRDWR片选译码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片8259A级连情况INTAINT INTA INTR串 口1 定时器可编程中断可编程中断(zhngdun)控制器控制器8259A第82页/共111页第八十二页,共111页。编程结构(jigu)SP/ENCA0CA1CA2IORIOW总线D0D7数 据 线
47、D0D7INTAINTRA0片选译码A5A9CSA0RD INTAWRINT 1 I3 I4ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片连接关系 ICW4 方式控制0111A01 0 0 1 0 1 0 0OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级设置、发EOI 0 1 OCW3特殊屏蔽,查询方式设置处理部分控制部分000 0 0 0 0 0 ISR当前中断服务寄存器PR优先级裁决器VCCGND100A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断申请寄存器000 0 0 0 0 0 可编程中断可编程中断(zhngdun)控制器控制器8259A第83
48、页/共111页第八十三页,共111页。4个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3个操作命令寄存器 OCW1(IMR) OCW2、OCW3当前中断(zhngdun)服务寄存器 ISR中断(zhngdun)申请寄存器 IRR 8259A内部(nib)有9个 可读写的寄存器8259A的编程结构(jigu) 1 I3I4ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制处理部分控制部分000 0 0 0 0 0 ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器000 0 0 0 0 0 中断屏蔽寄存器 IMROCW2 1 0010 10
49、0 00 0 1 OCW3OCW18259A中断控制器可编程中断控制器8259A第84页/共111页第八十四页,共111页。(1) 初始化命令字(ICW1- ICW4) 决定8259A的工作方式 通常是在计算机系统启动时在初始程序设置, 一旦设定,一般在系统工作过程不再改变。(2) 操作命令字(OCW1,OCW2,OCW3) 在应用程序中设定,动态地控制CPU处理中断的过程(3) ISR和IRR存放(cnfng)当前8259A的状态 通过读取 ISR 和 IRR 的内容,可了解当前8259A工作情况可编程中断(zhngdun)控制器8259A第85页/共111页第八十五页,共111页。v分两步
50、:v(1)处理外设中断申请,决定是否向CPU发中断申请信号。v(2)若发中断申请信号,且CPU响应,则在CPU中断响应周期送出中断类型号。8259A 的工作过程可编程中断(zhngdun)控制器8259A第86页/共111页第八十六页,共111页。(1) 处理(chl)外设中断申请,决定是否向CPU发中断申请信号 中断屏蔽寄存器 IMR 决定 IRR 中的中断申请 是否进入优先级裁决(ciju)器 PR。IMR对应位为 0,允许中断申请进入优先级裁决(ciju)器, 为 1,不允许进入,中断申请被IMR屏蔽。 中断申请寄存器IRR 锁存外部(wib)的中断申请。若 IR0IR7 引脚上有中断申
51、请,则将 IRR 相应位置1可编程中断控制器8259A第87页/共111页第八十七页,共111页。(1) 处理外设中断(zhngdun)申请,决定是否向CPU发中断(zhngdun)申请信号 当前(dngqin)中断服务寄存器 ISR 记录CPU正在响应的中断。 ISR中的某位为1,表示CPU正在响应此级中断, ISR中的某位为0,表示CPU没有或已响应完此级中断, 优先级裁决器PR 据新进入的中断申请(shnqng)和 ISR的内容, 决定是否发中断申请(shnqng)信号。 如果进入的中断申请(shnqng)比 ISR 中记录的中断优先级高,则通过 8259A 的 INT 引脚向 CPU发
52、出中断请求信号; 如果进入的中断申请(shnqng)不比 ISR 中记录的中断优先级高,同级或低级,则不向 CPU 发中断请求信号。可编程中断控制器8259A第88页/共111页第八十八页,共111页。 中断(zhngdun)申请寄存器IRR 锁存外部的中断(zhngdun)申请。 若 IR0IR7 引脚上有中断(zhngdun)申请,则将 IRR 相应位置1IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制000 0 0 0 0 0 ISR当前中断服务寄存器
53、IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发EOI OCW3 特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器000 0 0 0 0 0 1 0 0 1 0 1 0 0INTR11可编程中断(zhngdun)控制器8259A第89页/共111页第八十九页,共111页。 中断屏蔽寄存器 IMR 决定 IRR 中的中断申请是否(sh fu)进入优先级裁决器PR。 IMR对应位为0,允许中断申请进入优先级裁决器,为1,不允许进入,中断申请被IMR屏蔽。IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTA
54、WRINTD0D7 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制000 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可编程中断(zhngdun)控制器8259A第90页/共111页第九十页,共111页。 当前中断服务寄存器 ISR 记录CPU正在响应的中断。ISR中的某位为1,表示(biosh)CPU正在响应此级中断,
55、即正在执行此中断源的中断子程序;ISR中的某位为 0,表示(biosh)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
56、 0INTR可编程中断(zhngdun)控制器8259A第91页/共111页第九十一页,共111页。 优先级裁决器据新的中断申请和ISR的内容, 决定(judng)是否发中断申请信号。如果进入的中断申请比ISR中记录的中断优先级高,则通过 8259A 的 INT 引脚向 CPU发出中断请求信号;如果进入的中断申请不比ISR中记录的中断优先级高,同级或低级,则不向 CPU 发中断请求信号。IORIOW总线数 据 线D0D7INTAA0片选译码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制001 0 0 0 0
57、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可编程中断(zhngdun)控制器8259A第92页/共111页第九十二页,共111页。(2) 若发中断申请信号(xnho),且CPU响应,则在CPU中断响应周期送出中断类型号 CPU接收到 INTR上的中断申请信号后: 如果 IF 标志为0,则CPU不响应(xingyng)此中断申请信号,即中断申请被IF屏蔽。 如果 IF 标
58、志为1, 则处理完当前的指令后, 进入中断响应(xingyng)周期 通过 INTA 引脚发出两个负脉冲信号, 从数据总线上获取中断类型号, 进入中断响应(xingyng)的过程。可编程中断(zhngdun)控制器8259A第93页/共111页第九十三页,共111页。 将 ISR 中相应位置1,表示 CPU 响应此级中断,执行此中断源的中断子程。 把 IRR中对应的位清0,清除(qngch)IRR中锁存的中断申请信号。8259A在接收到第一个INTA中断(zhngdun)响应信号后:001 0 0 0 0 0 ISR当前(dngqin)中断服务寄存器IR0IR1IR2IR3IR4IR5IR6I
59、R7PR优先级裁决器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页第九十四页,共111页。通过数据线,将被响应申请的中断(zhngdun)类型号送给CPU。类型号由ICW2提供,在初始化8259A时已设定好。 CPU获得中断(zhng
60、dun)类型号后,进入CPU响应中断(zhngdun)的过程,执行中断(zhngdun)子程,处理中断(zhngdun)源申请的功能。8259A在接收到第二个INTA中断响应(xingyng)信号后: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总线数 据 线D0D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国宝安集团股份有限公司与广东深圳盐田港集团有限公司土地使用权转让合同纠纷上诉案
- 2025防火排烟阀购销合同
- 2025青岛市商品房买卖合同示范文本
- 工程竣工验收申请书
- 青岛客房销售合同
- 公司单位合作经营合同
- 医疗设备买卖合同
- 中央空调采购合同范例
- 上海个人购房合同范例
- 厨房工具供货合同范例
- 商铺交接清单
- 摊铺机使用说明rp953e-903e操作手册
- 高边坡监控量测方案
- 编写童话故事三年级400字
- 呼吸科拍背排痰流程图
- PEP英语四年级上册Unit 4 My home 教学反思
- 首都博物馆参观汇报参考课件
- 《中级微观经济学》考试复习题库(附答案)
- 国家开放大学《美学原理》形考作业1-5参考答案
- 混凝土强度检验评定记录
- 《生于华夏何其有幸》演讲稿
评论
0/150
提交评论