微机80X86中断系统
微机原理第六章习题2
关于I/O多选1、所谓I/O操作,是指对的操作。
A、I/O端口B、I/O设备C、A或B2、在I/O接口的各种寄存器中,必须具有三态输出功能。
A、控制寄存器B、状态寄存器C、数据缓冲寄存器3、全互锁异步总线协定相对于同步总线协定,具有的优点。
A、可靠性高,传输速度快B、可靠性高,适应性好C、传输速度快,适应性好4、在I/O端口的编址方式中,隔离I/O方式相对于存储器映象方式,具有的优点。
A、I/O端口地址译码简单、程序设计灵活B、I/O端口地址不占用存储地址空间、译码简单C、读写控制逻辑简单、程序设计灵活5、主机与设备传送数据时,采用,CPU的效率最高。
A、程序查询方式B、中断方式C、DMA方式6、在三一菊花链判决中,主控器Ci占用总线的条件之一是必须栓测到BGINi由无效烃有效的边沿,设置该条件的目的是A、保证先请求者先服务B、避免总线冲突C、保证物理上靠近判决器者先服务7、计算机使用总线结构便于增减外设,同时。
A、减少了信息的传输量B、提高了信息的传输量C、减少了信息传输线的条数8、有8086/8088中,一个最基本的总线周期由4个时钟周期(T状态)组成,在T1状态,CPU往总线发出信息。
A、数据B、地址C、状态9、当采用输入数据时,除非计算机等待,否则无法传送数据给计算机。
A、程序查询方式B、中断方式C、DMA方式10、微机读写控制信号的作用是。
A、决定数据总线上的数据流的方向B、控制存储器读写操作的类型C、控制流入、流出存储器信息的方向D、A、B和C11、IO接口中数据总线缓冲器的作用是A对错判断1、主机与设备传输数据时,采用程序查询控制方式,主机与设备是串行工作的。
2、总线冲突是指总线上同时有两个或两个以上的模块要传送相互矛盾的信息引起的冲突。
3、总线周期是微处理器中处理动作的最小时间单位。
4、DMA方式与程序控制方式的根本不同之处是可直接实现I/O设备与存储器之间、I/O 设备与I/O设备之间、存储器与存储器之间的信息交换。
不同CPU中断技术的比较
不同CPU中断技术的比较微机原理的研究型课题不同CPU中断技术的对比中断是指CPU在正常执行程序的过程中,由于某个外部或内部事件的作用,强迫CPU停止当前正在执行的程序,转去为该事件服务(称为中断服务),待服务结束后,又能自动返回到被中断的程序中继续执行。
对不同的CPU,中断技术略有不同,以下就不同的三种CPU 做了相关的研究对比。
x86的中断系统中断结构及类型中断源申请方式80x86共256种中断,中断号00H--0FFH。
内部中断:由CPU 运行程序错误或执行内部程序调用引起的一种中断。
80X86中断z不可屏蔽硬件中断(NMI):中断请求不可被屏蔽。
外部中断z可屏蔽硬件中断(INTR):受允许中断标志为IF 控制。
中断优先级管理方式多个中断请求同时发生,响应顺序按优先级排列。
高级中断可以打断低级中断,反之则不行。
80x86优先级从高到低排序是:内部中断和异常(单步除外)、软件中断、外部不可屏蔽中断、外部可屏蔽中断、单步中断。
中断处理过程中断处理过程通常由中断申请、中断响应、中断处理、中断返回四个过程完成。
(1)实模式下的中断处理流程如图所示:微机原理的研究型课题CPU工作在实地址模式下时,可以响应和处理外部中断NMI 和INTR,内部中断12种异常。
CPU在当前指令执行完毕后,按中断源的优先顺序去检测和查询是否有中断请求,当查询到有内部中断发生时,中断类型号n由CPU内部形成或由指令本身提供;当查询到有NMI请求时,自动转入中断类型2进行处理;当查询到有INTR请求时,响应的条件是IF=1,其中断类型号n 由请求设备在中断响应周期自动给出;当查询到单步请求TF=1时,并且在IF=1时自动转入中断类型1进行处理。
(2)保护模式下的中断调用过程如图所示:微机原理的研究型课题当CPU响应外部中断请求或执行某条指令产生异常时,根据中断或异常的类型号n,从中断描述符表IDT中找到相应的中断门,由中断描述符中的段选择符指向全局描述符表GDT或局部描述符表LDT中的目标段描述符,此目标段描述符内的段基址指向中断服务程序代码段的基地址,由该基地址与中断描述符中的偏移量之和形成中断服务程序的入口。
中断与查询的的特点
中断方式与轮询方式比较
中断的基本概念
程序中断通常简称中断,是指CPU在正常运行程序的过程中,由于预选安排或发生了各种随机的内部或外部事件,使CPU中断正在运行的程序,而转到为相应的服务程序去处理,这个过程称为程序中断。
二、80x86微处理器的中断 80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断。 CPU要从主程序转入中断服务程序,必须知道该中断服务程序的入口地址,即中断向量。80x86为CPU的PC机共有256个中断向量。
Байду номын сангаас
实际的中断过程还要复杂一些,下图示出了中断处理过程的详细流程图.当CPU执行完—条现行指令时,如果外设向CPU发出中断请求、那么CPU在满足响应条件的情况下,将发出中断响应信号,与此同时关闭中断(“中断屏蔽”触发器置“1”),表示CPU不再受理另外—个设备的中断。这时、CPU将寻找中断请求源是哪个设备。并保存CPU自己的程序计数器(Pc)的内容.然后,它将转移到处理该中断源的中断服务程序.CPU在保存现场信息,设备(如文换数据)以后.将恢复现场信息.在这些动作完成以后,开放中断(“中断屏蔽”触发器置‘o”),并返网到原来被中断的主程序的下一条指令。
中断的一般过程:
主程序只是在设备A,B,C数据准备就绪时,才去处理A,B ,C,进行数据交换。在速度较慢的外围设备准备自己的数据时,CPU照常执行自己的主程序 。在这个意义上说,CPU和外围设备的一些操作是并行地进行的,因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。如下图:
(1) 尽管外界中断请求是随机的,但CPU只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求,这样才不致于使当前指令的执行受到干扰。公操作是指一条指令执行结束后CPU所进行的操作,如中断处理、直接内存传送、取下条指令等 。外界中断请求信号通常存放在接口中的中断源锁存器里,并通过中断请求线连至CPU,每当一条指令执行到末尾,CPU便检查中断请求信号。若中断请求信号为“1”,则CPU转入“ 中断周期”,受理外界中断。(2) 为了在中断服务程序执行完毕以后正确地返回到原来主程序被中断的断点(PC内容)而继续执行主程序,必须把程序计数器PC的内容,以及当前指令执行结束后CPU的状态(包括寄存器的内容和一些状态标志位)都保存到堆栈中去。这些操作叫做保存现场。(3) 当CPU响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个中断屏蔽触发器,它可以在程序的控制下置“1”(设置屏蔽),或置“0”(取掉屏蔽)。只有在中断屏蔽标志为“0”时,CPU才可以受理中断。当一条指令执行完毕CPU接受中断请求并作出响应时,它一方面发出中断响应信号INTA,另一方面把中断屏蔽标志置“1”,即关闭中断。这样,CPU不能再受理另外的新的中断源发来的中断请求。只有在CPU把中断服务程序执行完毕以后,它才重新使中断屏蔽标志置“0”,即开放中断,并返回主程序。因此,中断服务程序的最后必须有两条指令,即开中断指令和返主指令,同时在硬件上要保证返主指令执行以后才受理新的中断请求。(4) 中断处理过程是由硬件和软件结合来完成的。如在前图中,中断周期由硬件实现,而中断服务程序由机器指令序列实现。后者除执行保存现场、恢复现场、开放中断并返回主程序任务外,对要求中断的设备进行服务,使其同CPU交换一个字的数据,或作其他服务。
微机原理第7章 8086中断系统和中断控制器
3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。
不同CPU中断技术对比
不同CPU中断技术对比摘要:本文大体论述了80x86,80c51,和ARM在中断源,中断申请方式、中断优先级管理方式、中断的处理过程、中断向量等方面比较。
关键词:CPU,80x86,80c51,,ARM,中断申请方式,中断优先级管理方式,中断的处理过程,中断向量。
正文:一、X86 CPU,80C51,ARM中断源:X86 CPU支持256个中断向量,中断号00H--0FFH 。
0~19是系统预定义的异常和NMI,20~31被Intel保留,如表1。
所以,外部中断从32开始。
CPU处理的流程都一样,在执行完当前指令后,根据中断源提供的中断向量,在IDT中找到并调用相应的服务例程。
X86 CPU中断分为内部中断和外部中断。
内部中断分为:软中断,内部中断和异常,异常分为3种:Fault:可以被更正的错误,异常处理程序的返回地址是产生fault的指令。
Trap:执行trap指令(例如INT 3)后被报告的异常,异常处理程序的返回地址是产生trap指令的后一条指令。
Abort:严重错误,无法继续执行。
外部中断分为:不可屏蔽硬件中断和可屏蔽硬件中断。
不可屏蔽硬件中断(02H):由NMI端引入的中断请求,中断请求不可被屏蔽;可屏蔽硬件中断请求:由INTR端引入,中断请求可由IF=0进行屏蔽,使中断请求不进入。
表180C51的中断系统包括中断源、中断允许寄存器IE、中断优先级寄存器IP、中断矢量等。
在80C51中,只有两级中断优先级。
图1是80C51的中断系统结构示意图。
80C51有5个中断源分别为:两个外部中断源INT0、INT1和三个内部中断源T0、T1定时/计数谥出中断源和串行口发送或接收中断源。
外部中断是由外部信号引起的,它们的中断请求信号分别从引脚INT0和INT1上引入图1ARM 7TDMI具有常规中断(IRQ)、快中断(FIQ)和软件中断(SoftWare Interrupt)三种中方式。
常规中断和快中断都是硬件中断。
6-中断
中断控制逻辑
专用中断
软件(内部) 软件(内部)中断
硬件(外部) 硬件(外部)中断
PC 微机中断类型号表
8086/8088的向量中断 的向量中断
中断类型号——8086/8088最多能管理 最多能管理256个中断,统一编 个中断, ◆中断类型号 最多能管理 个中断 号为0~255(00H~FFH)。 号为 ( ) 中断向量——中断服务程序的入口地址 , 即 段基址 : 中断服务程序的入口地址, 段基址CS: ◆ 中断向量 中断服务程序的入口地址 偏移址IP 偏移址 。 中断向量表——8086/8088系统规定在内存的最低 字节 系统规定在内存的最低1K字节 ◆中断向量表 系统规定在内存的最低 段的0000H~03FFH)建立了中断向量表,按中断类型 (0段的 段的 )建立了中断向量表, 号顺序存放256个中断向量。 个中断向量。 号顺序存放 个中断向量 中断向量表地址——中断向量在中断向量表中的地址。中 中断向量在中断向量表中的地址。 ◆中断向量表地址 中断向量在中断向量表中的地址 断向量表地址与中断类型号的关系为: 断向量表地址与中断类型号的关系为: 中断向量表地址= 中断类型号n× 中断向量表地址 中断类型号 ×4
软件中断响应过程
软件中断类型号 由系统分配(专用)或由中断( 类型号n由系统分配 ◆软件中断类型号 由系统分配(专用)或由中断(INT)指令指定, )指令指定, 自动获得中断类型号 所以软件中断能自动获得中断类型号n 所以软件中断能自动获得中断类型号 。 设置中断类型号 必须事先设置中断类型号n 中断向量表。 ◆ 必须事先设置中断类型号 的中断向量表。 ◆ 软件中断响应过程: 软件中断响应过程: 状态寄存器和中断断点(返回地址 : 压入堆栈; 状态寄存器和中断断点(返回地址CS:IP ) 压入堆栈; 中断类型号n× ,得到中断向量表地址; 中断类型号 ×4,得到中断向量表地址; 读取连续 个字节的内容 中断向量, 读取连续4个字节的内容 连续 个字节的内容——中断向量,送入 和CS; 中断向量 送入IP和 ; 根据当前的CS: ,转中断服务子程序执行 执行; 根据当前的 :IP,转中断服务子程序执行; 当执行到中断返回 中断返回( 当执行到 中断返回 ( IRET)指令时 , 弹出堆栈中的状态寄存器和 ) 指令时, 返回地址,回到中断断点继续执行主程序。 返回地址,回到中断断点继续执行主程序。
资料:经典的80x86指令系统(指令大全)
80x86指令系统80x86的指令系统可以分为以下6组:数据传送类指令算术指令逻辑指令串处理指令控制转移指令处理机控制指令1、数据传送指令数据传送类指令负责把数据、地址或立即数传送到寄存器或存储单元中。
它又可以分为五种:1.1、通用数据传送指令MOV 传送MOVSX 带符号扩展传送MOVZX 带零扩展传送PUSH 进栈POP 出栈PUSHA 所有寄存器进栈POPA 所有寄存器出栈XCHG 交换(1)MOV传送指令格式为:MOV DST,SRC执行操作:(DST)<——(SRC)MOV指令可以在CPU内或CPU和存储器之间传送字或字节,MOV指令不影响标志位(2)MOVSX带符号扩展传送指令格式为:MOVSX DST,SRC执行操作:(DST)<——符号扩展(SRC)该指令的源操作数可以是8位或16位的寄存器或存储单元的内容,而目的操作数则必须是16位或32位寄存器,传送时把源操作数扩展送入目的寄存器。
MOVSX不影响标志位(3)MOVZX带零扩展传送指令格式为:MOVZX DST,SRC执行操作:(DST)<——零扩展(SRC)MOVSX和MOVZX指令与一般双操作数指令的差别是:一般双操作数指令的源操作数和目的操作数的长度是一致的,但MOVSX和MOVZX的源操作数长度一定要小于目的操作数长度(4)PUSH进栈指令格式为:PUSH SRC执行操作:16位指令:(SP)<——(SP)-2((SP)+1),(SP))<——(SRC)32位指令:(ESP)<——(ESP)-4((ESP)+3),(ESP)+2),(ESP)+1)(ESP))<——(SRC)(5)POP出栈指令格式为:POP DST16位指令:(DST)<——((SP)+1),(SP))(SP)<——(SP)+232位指令:(DST)<——((ESP)+3),(ESP)+2),(ESP)+1)(ESP))(ESP)<——(ESP)+4堆栈是一种“后进先出”方式工作的一个存储区,它必须存在于堆栈段中,因而其段地址存放于SS寄存器中。
北京交通大学微机原理与接口技术考题及答案
北京交通大学微机原理与接口技术考题及答案(共7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--微机原理与接口技术2006—2007学年第1学期(A卷答案)一、填空题(每空1分,共15分)1.在实模式下,80486微处理器使用的地址线是20 条,存储器的最大寻址空间是 1MB ,存储器分段的最大容量是 64KB 。
2.计算机的数据表示的范围由字长n决定,若n=16,有符号数的表示范围是+32767~-32768 ,无符号数的表示范围是0~65535 。
3.在实模式下,设(CS)=1200H,(IP)=FF00H,指令的物理地址为21F00H 。
4.设(SP)=1000H,(AX)=2010H,执行指令PUSH AX后,(SP)= 0FFEH 。
的引脚信号NMI的功能是接受不可屏蔽中断请求。
6.在MOV 1100H[BX],AX 中,目标操作数的寻址方式是基址寻址。
7.在DMA传送中,8237A可提供的存储器的地址是 16 位。
8. 8259A中ISR是 8 位的寄存器,其作用是记录CPU正在服务的中断请求。
9.将中断允许标志IF置“1”的指令是 STI 。
10.ADC0809有 8 个模拟输入通道,可转换的模拟信号的范围是0~5V 。
二、选择题(选择正确答案,每题1分,共10分)1.在80x86中断系统中,中断向量表用于存放( C )(A)中断类型号(B)中断服务程序(C)中断服务程序的入口地址(D)中断源类型2.指令MOV AX,1000H ,源操作数存放在( A )(A)代码段中(B)堆栈段中(C)数据段中(D)附加段中3.串指令的源地址由( A )提供。
(A)DS:SI提供(B)CS:IP提供(C)ES:SI提供(D)SS:SP提供4.将寄存器AL的低4位屏蔽,应当用的指令是( B )(A)AND AL,0FH (B)AND AL,0F0H(C)XOR AL,0FH (D)XOR AL,0F0H5..执行JZ指令,转移的条件是( C )(A)ZF=0 (B)CF=0(C)ZF=1 (D)CF=126.EPROM芯片Intel 2764,片内寻址需要的地址线是( C )(A)11条(B)12条(C)13条(D)14条7.启动ADC 0809转换的命令是( A )(A)OUT 端口,AL (B)MOV 端口,AL(C)OUT AL,端口(D)MOV AL,端口8.若8250输入的基准时钟频率,除数寄存器装入60H时,则波特率为(C )(A)4800 (B)2400 (C)1200 (D)3009.CPU响应INTR中断请求的条件是(C )(A)TF=1 (B)DF=1 (C)IF=1 (D)CF=110.某中断的类型号为16,其对应向量表的地址是( C )(A)0020H (B)0030H (C)0040H (D)0050H三、改正下列语句的错误(每题1分,共4分)(1)MOV 20H, AL(2)POP CS(3)ADD [DI],[SI](4)INC AX,1四、回答下列问题(每题3分,共6分)1.当CPU响应INTR中断请求后,CPU是如何获取中断类型号?答:在第二个INTA中断响应周期,由8259 将中断类型号送上数据总线,送给CPU。
8086微处理器的功能与结构
8086微处理器的功能与结构四、80x86微处理器的结构和功能(一)80x86微处理器1.8086/8088主要特征(1)16位数据总线(8088外部数据总线为8位)。
(2)20位地址总线,其中低16位与数据总线复用。
可直接寻址1MB存储器空间。
(3)24位操作数寻址方式。
(4)16位端口地址线可寻址64K个I/O端口。
(5)7种基本寻址方式。
有99条基本指令。
具有对字节、字和字块进行操作的能力。
(6)可处理内部软件和外部硬件中断。
中断源多达256个。
(7)支持单处理器、多处理器系统工作。
2.8086微处理器内部结构8086微处理器的内部结构由两大部分组成,即执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)。
和一般的计算机中央处理器相比较,8086的EU相当于运算器,而BIU则类拟于控制器。
3.8086最小模式与最大模式及其系统配置最小模式在结构上的特点表现为:系统中的全部控制信号直接来自8086CPU。
与最小模式相比,最明显的不同是系统中的全部控制信息号不再由8086直接提供,而是由一个专用的总线控制器8288输出的。
4.8087与8089处理机简述(1)8087协处理机8087协处理机与8086组合在一起工作,以弥补8086在数值运算能力方面的不足,所以它又称为协处理机。
(2)8089I/O处理机8089是一个带智能的I/O接口电路,相当于大型机中的通道,它将CPU的处理能力与DMA控制器结合在一起。
它具有52条基本指令,1MB的寻址能力,包含两个DMA通道。
8089也可以与8086联合在一起工作,执行自己的指令,进行I/O 操作,只在必需时才与8086进行联系。
在8089的控制下,可以进行外设与存储器之间、存储器与存储器之间以及外设与外设之间的数据传输。
同时,8089还可以设定多种终止数据传输的方式。
5.总线时序一个基本的总线周期包括4个时钟周期,即4个时钟状态T 1 、T2 、T3 和T4 。
第5章8086的中断系统
在第二个INTA信号有效,8259A送中断类型码 (初始化时写入8259A)到数据总线,由CPU启 动中断过程,同时撤消中断请求信号.
二、不可屏蔽中断NMI
发生“灾难性”事件(如电源掉电、存储器读 写出错、总线奇偶出错或协处理器中断请求 等),NMI=1,无法禁止(不受IF影响), 优先级比INTR高,且是边沿触发(只要有效 宽度大于2T即可),中断类型号为2,CPU响 应NMI,不发INTA,不要求外设提供中断向 量,自动到08H单元取入口地址。
5.3.2 外部中断
一、可屏蔽中断INTR 处理过程: 1)接口发请求,若屏蔽位(可用命令写入)=0, 通常由可编程中断控制器8259A PIC驱动,INTR=1,
一直保持到收到响应信号或撤消请求为止. 若IF=0(关中断,可由CLI复位),CPU不响应,继
续处理下一条指令;
若IF=1(开中断,可由STI置位),CPU响应, 2)执行两个INTA总线周期,发两个INTA信号,时序
专用5个(内部中断):在某些特定情况下, 由CPU内硬件自动提供类型号0~4;
保留27个(软件中断):由内部软件的中断 指令产生,供系统开发用。
用户定义224个(外部中断):由外部设备 硬件启动。
可以利用保留的中断类型码扩充自己需要的 中断功能,只要在向量表中加入对应的中断 向量即可。
由系统提供或用户定义,CPU执行后,立即产生中 断,转向n规定的中断服务程序去,入口地址在初 始化时已预置在中断向量表中。
四、断点中断——类型3(单字节指令)
CPU执行INT 3 (简写INT)时,产生中断, 进行特殊处理,如显示寄存器、存储单元的内 容,以检查程序运行的结果是否正确。在调试 时把断点插入程序中的关键之处,命令如-G CS: nnnnH。
[管理]中断与查询的的特点
中断与查询的的特点中断方式与轮询方式比较中断的基本概念程序中断通常简称中断,是指CPU在正常运行程序的过程中,由于预选安排或发生了各种随机的内部或外部事件,使CPU中断正在运行的程序,而转到为相应的服务程序去处理,这个过程称为程序中断。
二、80x86微处理器的中断 80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断。
CPU要从主程序转入中断服务程序,必须知道该中断服务程序的入口地址,即中断向量。
80x86为CPU的PC机共有256个中断向量。
中断的一般过程:主程序只是在设备A,B,C数据准备就绪时,才去处理A,B ,C,进行数据交换。
在速度较慢的外围设备准备自己的数据时,CPU照常执行自己的主程序。
在这个意义上说,CPU和外围设备的一些操作是并行地进行的,因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。
如下图:实际的中断过程还要复杂一些,下图示出了中断处理过程的详细流程图.当CPU执行完—条现行指令时,如果外设向CPU发出中断请求、那么CPU在满足响应条件的情况下,将发出中断响应信号,与此同时关闭中断(“中断屏蔽”触发器置“1”),表示CPU不再受理另外—个设备的中断。
这时、CPU将寻找中断请求源是哪个设备。
并保存CPU自己的程序计数器(Pc)的内容.然后,它将转移到处理该中断源的中断服务程序.CPU在保存现场信息,设备(如文换数据)以后.将恢复现场信息.在这些动作完成以后,开放中断(“中断屏蔽”触发器置‘o”),并返网到原来被中断的主程序的下一条指令。
(1) 尽管外界中断请求是随机的,但CPU只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求,这样才不致于使当前指令的执行受到干扰。
公操作是指一条指令执行结束后CPU所进行的操作,如中断处理、直接内存传送、取下条指令等。
外界中断请求信号通常存放在接口中的中断源锁存器里,并通过中断请求线连至CPU,每当一条指令执行到末尾,CPU便检查中断请求信号。
《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理
80486的标志寄存器
31 0 ………. 17 16 15 14 13 12 1 10 9 8 7 6 5 4 3 IO A V R N P O D I T S Z 0 A 0 0 M F T L F F F F F F F C 2 P F 1 1 0 C F
AC 对准校验 VM:虚拟8086模式(X) RF RF:恢复标志(X) (X) NT:嵌套任务标志(X) IOPL: I/O特权级标志(X) OF: 溢出标志(S) DF: 方向标志(C) IF: 允许中断标志 (X) 自陷标志(X) TF: SF: 符号标志(S) ZF: 零标志(S) AF: 辅助进位标志(S) PF: 奇偶校验标志(S) CF: 进位标志(S) 9
15
图3.4示出80486微处理机CPU的逻辑框图。 图中的Cache部件、8K字节的统一Cache、 以及浮点部件FPU和EP寄存器组在以 80386为基础的系统内属于不同的独立芯 件,并不在80386 CPU芯片之内,而在 80486中这些部件变成了80486 CPU的一 个组成部分。 这两个新集成到80486 CPU内的部件,一 个是浮点部件FPU,它有效地提高了浮点 操作性能;另一个是指令和数据共用的高 速缓冲存储器Cache。
12
4.段寄存器
80486 配备有6个16位的段寄存器,段寄存器 也叫选择符 (Selector)。它们的名字和用途 与80386 的一样,其名称分别是: 代码段寄存器 CS 数据段寄存器 DS 堆栈段寄存器 SS 附加数据段寄存器 ES 附加数据段寄存器 FS 附加数据段寄存器 GS
13
3.1.2 80486 CPU系统原理
80486的通用寄存器
31 16 15 AX BX CX DX SI DI BP SP 0 EAX EBX ECX EDX ESI EDI EBI ESP 15 AH BH CH DH 8 7 AL BL CL DL 0 AX BX CX DX
8086中断系统
功能:如果(DL)=0FFH,则表示是从键盘输入单字 符送AL寄存器中 如果(DL)≠0FFH,则表示是将DL寄存器中内容送 屏幕显示输出
(6)返回操作系统
4CH号DOS系统功能调用 格式: MOV AH, 4CH INT 21H 功能: 结束当前正在执行的程序,并返回操作系统。屏幕显 示操作系统提示符(N>),N为当前使用的驱动器名
D7 D0
打 印 机 BUSY
INTR CPU
INT STB I/O 接口
4. DMA传送方式
无条件传送方式 CPU控制 条件传送方式 字符传送
中断传送方式
DMA控制 DMA传送方式
大批量数据传送
§6.2 中断
1. 中断的定义和作用
定义:指当CPU正在处理某件事情的时候,突然发生的某一 外部事件(如一个电平的变化,一个脉冲沿的发生或定时 器的计数溢出等)请求CPU迅速去处理,此时若条件允许, CPU暂时停止当前的工作,转去处理所发生的事情。处理 完该事件以后,再回到原来被终止的地方(断点),继续 原来的工作,这样一个完整的过程称为中断
来自外设
&
&
地址译码器
RD
M/IO
WR
地址译码器
CPU 地址总线
2. 条件传送方式
又称查询式传送,在不便使用无条件传送场合下,可 采用查询方式来解决CPU和外设的速度匹配问题
工作方式:CPU需要I/O接口提供状态和数据两个端口, CPU通过状态端口查询外设的状态,若数据“准备好” 就进行数据传送,否则继续查询 优点:通用性好,硬件接线和查询程序十分简单
77
0
3. 硬件中断(外部中断)
(1)非屏蔽中断 NMI
中断请求
x86中断系统
x86中断系统---- 以8086(88)系统为例8086(88)中断系统可以容纳最多256个中断源,所有中断源统一编码,每个中断源用一个字节型编码标识,该编码称为中断向量码,它是CPU识别中断源的标记。
1)中断源类型256个中断源分为两大类:(1)内部中断它由CPU内部事件及执行软中断指令产生。
已定义的内部中断有:①除法错中断。
②单步中断。
③断点中断。
④溢出中断。
⑤软件中断。
(2)外部中断它是由外部中断源产生对CPU的请求而引发的。
8086(88)中断系统将外部中断源又分为两种。
①非屏蔽中断。
②可屏蔽中断。
2) 中断响应过程在8086(88)系统中,中断控制是由CPU与中断控制器共同完成的,这使得中断过程简化:①中断请求;②中断响应;③中断处理:2. 80386(Pentium)中断系统Pentium及80386、80486,在程序运行过程中由于某种事件的发生而迫使处理器暂停该程序的运行,转去对事件进行处理,待事件处理完以后,再回到原程序接着原状态继续运行。
在80286以后的处理器中均将广义中断分为中断和异常两大类。
表1 中断及其向量码8259的工作过程如下:①中断请求输入端IR0~IR7接收外部中断源的请求信号;②外部中断源的请求状态锁存在中断请求寄存器IRR(8位)的相应位(即置1),并与中断屏蔽寄存器IMR(8位)相“与”,送给优先级判决电路;③优先级判决电路从提出请求的中断源(记录在IRR)中,检测出优先级最高的中断请求位,将其与在内部服务寄存器ISR(8位)中记录的正在被CPU服务的中断源进行优先级比较,只有当请求服务的中断源优先级高于正在服务的中断源优先级,判优电路才向控制电路发出中断请求有效信号。
2. 8259工作方式1) 中断结束方式(1)非自动结束方式①一般中断结束命令(EOI)。
②特殊中断结束命令(SEOI)。
(2) 自动结束方式2) 缓冲方式①非缓冲方式。
②缓冲方式。
3) 嵌套方式①一般嵌套方式。
x86中断处理机制
x86中断处理机制摘要:1.x86 中断处理机制概述2.x86 中断处理机制的工作原理3.x86 中断处理机制的主要组成部分4.x86 中断处理机制在实际应用中的作用正文:【x86 中断处理机制概述】x86 中断处理机制是一种处理器体系结构,主要用于实现操作系统和硬件设备之间的交互。
通过这一机制,操作系统可以响应硬件设备的请求,如键盘输入、鼠标点击、硬盘读写等,从而为用户提供便捷、高效的服务。
x86 架构是Intel 公司推出的一种处理器架构,广泛应用于个人计算机和服务器领域。
【x86 中断处理机制的工作原理】x86 中断处理机制的工作原理可以概括为以下几个步骤:1.设备产生中断请求:当硬件设备需要操作系统处理时,它会向处理器发出中断请求信号。
2.中断请求识别:处理器接收到中断请求信号后,会根据中断请求的类型,判断应该由哪个中断处理程序来处理这个中断。
3.中断处理程序的调用:处理器会根据中断请求类型,调用对应的中断处理程序。
这些中断处理程序通常是由操作系统编写的,用于处理特定类型的硬件设备请求。
4.中断处理:中断处理程序会处理硬件设备的请求,并在处理完成后,将处理结果返回给处理器。
5.中断处理结束:处理器收到中断处理程序返回的结果后,会恢复之前的执行状态,继续执行被中断的程序。
【x86 中断处理机制的主要组成部分】x86 中断处理机制的主要组成部分包括:1.中断请求线:设备通过中断请求线向处理器发出中断请求。
2.中断请求识别寄存器:处理器通过该寄存器识别中断请求的类型。
3.中断处理程序:操作系统编写的用于处理硬件设备请求的程序。
4.中断处理指令:处理器执行的中断处理指令,用于调用中断处理程序和恢复被中断程序的执行。
【x86 中断处理机制在实际应用中的作用】x86 中断处理机制在实际应用中的作用主要体现在以下几个方面:1.提高系统性能:通过中断处理机制,操作系统可以快速响应硬件设备的请求,减少处理器的等待时间,提高系统性能。
微机原理及应用(第7章)讲解
7.3 可编程中断控制器Intel 8259A
在PC/XT微机系统中使用了一片8259A,在 PC/AT微机系统中使用了两片8259A。目前的PC
系列微机,其外围接口芯片(如80C286)都集
成有与两片8259A相当的中断控制电路。
7.3.1 8259A的功能
⑴ 具有8级优先权控制,通过级联可扩展至64级 ⑵ 每一级均可通过编程实现屏蔽或开放。
器。
7.2
80x86中断系统
80x86的中断系统可处理256种个中断 源。这些中断源可分为两大类: 外部中断(硬件中断) 内部中断(软件中断)
7.2.1 外部中断(硬件中断)
1、可屏蔽中断INTR 受CPU中断允许标志位IF的控制,即IF=1时,CPU 才能响应INTR引脚上的中断请求。
2. 需要说明的引脚:
A0:地址线,输入,在使用中8259A占用相邻两个端口地址,A0与 配合,A0=1 CS 选中奇地址端口,A0=0选中偶地址端口。在80X86的PC系列机中,主片 8259A的 端口地址为20H和21H。 CAS2~CAS0:级联信号线,对主片8259A,它为输出;对从片8259A,它为输入。 主、从片8259A 的CAS2~CAS0对应相连,主片8259A在第一个响应周期内通过 CAS2~CAS0送出识别码,而和此识别码相符的从片8259A在接收到第二个信号后 ,将中断类型码发送到数据总线上。
中断向量设置(DOS功能调用 INT 21H) 功能号:AH=25H 入口参数:AL=中断类型号,
DS:DX=中断向量(段地址:偏移地址)
获取中断向量(DOS功能调用 INT 21H)
不同CPU中断之间的比较
不同CUP中断技术对比专题研究1.1、8086中断源类型:1、内部中断它由CPU内部事件及执行软中断指令产生。
通过在指令操作数中提供中断向量号,INT n 指令可用于从软件中产生中断。
例如,指令INT 0x80会执行Linux的系统中断调用中断0x80。
向量0~255中的任何一个都可以用作INT指令的中断号。
然而,如果使用了处理器预先定义的NMI向量,那么处理器对它的响应将与普通方式产生的该NMI中断不同。
如果NMI的向量号2用于该INT指令,就会调用NMI的中断处理器程序,但是此时并不会激活处理器的NMI处理硬件。
2、外部中断它是由外部中断源产生对CPU的请求而引发的。
8086(88)中断系统将外部中断源又分为两种。
①非屏蔽中断,②可屏蔽中断。
外部中断通过处理器芯片上两个引脚(INTR和NMI)接收。
当引脚INTR接收到外部发生的中断信号时,处理器就会从系统总线上读取外部中段控制器(如8259A)提供的中断向量号。
当引脚NMI接收到信号时,就产生一个非屏蔽中断。
它使用固定的中断向量号2。
任何通过处理器INTR引脚接收的外部中断都被称为可屏蔽硬件中断,包括中断向量号0~255。
标志寄存器EFLAGS中的IF标志可用来屏蔽所有这些硬件中断。
1.2、8086中断中断处理过程:一个完整的中断处理过程应该包括:中断请求、中断排队或中断判优、中断响应、中断处理和中断返回等环节,下面分别进行讨论。
1.中断请求中断请求是由中断源向CPU发出中断请求信号。
外部设备发出中断请求信号要具备以下两个条件:(1)外部设备的工作已经告一段落。
例如输入设备只有在启动后,将要输入的数据送到接口电路的数据寄存器(即准备好要输入的数据)之后,才可以向CPU发出中断请求。
(2)系统允许该外设发出中断请求。
如果系统不允许该外设发出中断请求,可以将这个外设的请求屏蔽。
当这个外设中断请求被屏蔽,虽然这个外设准备工作已经完成,也不能发出中断请求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⑴ 非屏蔽中断
通过非屏蔽中断请求信号向微处理器提出的中断请 求,微处理器无法禁止,将在当前指令执行结束予 以响应,这个中断被称为非屏蔽中断 8088的非屏蔽中断的向量号为2,非屏蔽中断请求 信号为NMI 非屏蔽中断主要用于处理系统的意外或故障。例如:
电源调电前的数据保护 存储器读写错误的处理
第6章
微型计算机的中断系统
6.1 中断系统 6.1.1 中断的基本概念 6.1.2 中断系统功能 6.1.3 中断处理过程 6.1.4 中断管理 6.2 80X86中断结构 6.2.1 中断分类 6.2.2 中断管理过程 6.2.3 中断向量和中断向量表 6.2.4 8086的中断 6.3 中断控制器8259A 6.3.1 8259A的功能 6.3.2 8259A的内部结构和引脚 6.3.3 8259A的工作方式 6.3.4 8259A的编程 6.3.5 8259A的级联
6.3.2 8259A的内部结构和引脚特性功能
8259A的内部结构
1. 中断控制
中断请求寄存器IRR
保存8条外界中断请求信号IR0~IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求 保存正在被8259A服务着的中断状态 Di位为1表示IRi中断正在服务中;为0表示没有被服务 保存对中断请求信号IR的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许
中断服务寄存器ISR
中断屏蔽寄存器IMR
2. 与处理器接口
A0 RD* WR* CS* 0 1 0 1 × × 1 1 0 0 1 × 0 0 1 1 1 × 0 0 0 0 0 1 功能 写入ICW1、OCW2和OCW3 写入ICW2~ICW4和OCW1 读出IRR、ISR和查询字 读出IMR 数据总线高阻状态 数据总线高阻状态
IR1
IR2 IR3
A.
假定IR3发生中 断,并获得服务
去CPU
IR3
INT IR4
IR5
INT IR4
IR5
IR6 IR7
IR6
IR7
E.
D. 特殊嵌套方式: IR4 的 中 断 被 服
务时,只封锁 IR5-IR7。
特殊嵌套方式: 因主片不封锁从片的 INT,故级别高的IR0IR2中断可以得到响应。 ( 但 IR3-IR7 仍 被 本 从 片封锁)
2. 结束中断处理方式
什么是8259A的中断结束? 8259A利用中断服务寄存器ISR判断: 某位为1,表示正在进行中断服务; 该位为0,就是该中断结束服务。 这里说明如何使ISR某位为0, 不反映CPU的工作状态。
2. 结束中断处理方式(续)
自动中断结束方式 普通中断结束方式
配合全嵌套优先权方式使用 当CPU用输出指令往8259A发出普通中断结束 EOI命令时,8259A就会把所有正在服务的中 断中优先权最高的ISR位复位 配合循环优先权方式使用 CPU在程序中向8259A发送一条特殊中断结束 命令,这个命令中指出了要清除哪个ISR位
6.2.2 中断管理过程
现行指令 软件中断 N Y Y Y Y
查询中断的顺序, 决定了各种中断源的优先权 软件中断 高 除法错中断
NMI N INTR N TF=1 N 下条指令
中断响应周期 IF=1 非屏蔽中断 读中断向量号
指令中断 溢出中断
Y N
可屏蔽中断 单步中断
低
8086的中断响应过程
外部中断
除法 单步 非屏蔽中断 错误 中断
INTA 控制器
INT N 指令
INTO 指令
可屏蔽中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
1. 内部中断
内部中断是由于8086内部执行程序出现异 常引起的程序中断 利用内部中断,微处理器为用户提供了发 现、调试并解决程序执行时异常情况的有 内部中断的中断向量号已定 效途径 例如,ROM-BIOS和DOS系统利用内部中 断为程序员提供了各种功能调用
8259A的中断过程
第一个周期 T1 T2 T3 T4 CLK ALE LOCK INTAБайду номын сангаас第二个周期 T1 T2 T3 T4
动画
CPU响应周期
D0~D7
SP/EN CAS0~CAS2 IR0~IR7 INT 第一个前保持为高电平 8259A工作波形
6.3.3 8259A的工作方式
普通全嵌套方式 优先权固定方式 特殊全嵌套方式 设置优先权方式 自动循环方式 优先权循环方式 特殊循环方式 自动中断结束方式 结束中断处理方式 普通中断结束方式 非自动中断结束方式 特殊中断结束方式 普通屏蔽方式 屏蔽中断源方式 特殊屏蔽方式 边沿触发方式 中断触发方式 电平触发方式 缓冲方式 数据线连接方式 非缓冲方式
SP*/EN*引脚为输入端 若8259A级连,由其确定是主片或从片
6.3.4 8259A的编程
初始化编程
8259A开始工作前,必须进行初始化编程 给8259A写入初始化命令字ICW 在8259A工作期间 可以写入操作命令字OCW将选定的操作传 送给8259A,使之按新的要求工作 还可以读取8259A的信息,以便了解他的 工作状态
特殊全嵌套方式 优先权自动循环方式 优先权特殊循环方式
一般全嵌套方式与特殊全嵌套方式的区别
B. 一 般 嵌 套 方 式 :
主8259A
IR0 IR1 IR2
IR4的中断被服务 时,这些中断将 被封锁。
C. 一般嵌套方式:
从8259A
IR0
从片的INT被主片封 锁,故更高级别的 IR0-IR2中断也无法 得到响应
例如:DEBUG.EXE调试程序的单步命令T就利 用单步中断实现对程序的单步调试
2. 外部中断
外部中断是由于8086外部提出中断请求引 起的程序中断 利用外部中断,微机系统可以实时响应外 部设备的数据传送请求,能够及时处理外 部意外或紧急事件 外部中断的原因是处理器外部随机产生的, 所以是真正的中断(Interrupt) 内部中断的原因是处理器执行程序出现异 常,所以经常被称为异常(Exception)
6.3 中断控制器8259A
6.3.1 8259A的功能 Intel 8259A是可编程中断控制器PIC 可用于管理Intel 8086、80286、80386的可 屏蔽中断 8259A的基本功能
一片8259A可以管理8级中断,可扩展至64级 每一级中断都可单独被屏蔽或允许 在中断响应周期,可提供相应的中断向量号 8259A设计有多种工作方式,可通过编程选择
3. 中断级连
示例
动画
一个系统中,8259A可以级连,有一个主8259A, 若干个(最多8个)从8259A 级连时,主8259A的三条级连线CAS0~CAS2作 为输出线,连至每个从8259A的CAS0~CAS2 每个从8259A的中断请求信号INT,连至主8259A 的一个中断请求输入端IR 主8259A的INT线连至CPU的中断请求输入端 SP*/EN*在非缓冲方式下,规定该8259A是主片 (SP*=1)还是从片(SP*=0)
6.2 80X86中断系统
8086的中断系统 能够处理256个中断 用中断向量号0~255区别 可屏蔽中断还需要借助专用中断控制 器Intel 8259A实现优先权管理
6.2.1 中断分类
非屏蔽中断源 内部中断
NMI
可屏蔽中断源
CPU
除法错中断 指令中断 INTR 8259A 溢出中断 中断逻辑 中断 单步中断
⑴ 除法错中断
在执行除法指令时,若除数为0或商超过 了寄存器所能表达的范围,则产生一个向 量号为0的内部中断,称为除法错中断 例如:mov bl,0
idiv bl
;除数BL=0,产生除法错中断
mov ax,200h mov bl,1 div bl ;商=200H,不能用AL表达 ;产生除法错中断
边沿触发方式
8259A将中断请求输入端出现的 上升沿作为中断请求信号 中断请求端出现的高电平是有 效的中断请求信号
电平触发方式
5. 数据线连接方式
缓冲方式
8259A的数据线需加缓冲器予以驱动 8259A把SP*/EN*引脚作为输出端,输出允 许信号,用以锁存或开启缓冲器
非缓冲方式
⑵ 可屏蔽中断
外部通过可屏蔽中断请求信号向微处理器提出的 中断,微处理器在允许可屏蔽中断的条件下,在 当前指令执行结束予以响应,同时输出可屏蔽中 断响应信号,这个中断就是可屏蔽中断 8086的可屏蔽中断请求和响应信号分别是INTR和 IF控制可屏蔽中断的响应 INTA*;由IF标志控制可屏蔽中断是否允许响应; 向量号来自外部中断控制器 8086通常需要配合中断控制器8259A共同处理可 屏蔽中断 可屏蔽中断主要用于主机与外设交换数据
特殊中断结束方式
3. 屏蔽中断源方式
普通屏蔽方式
将IMR的Di位置1,则对应的中断IRi被屏 蔽,该中断请求不能从8259A送到CPU 如果IMR的Di位置0,则允许IRi中断产生
特殊屏蔽方式
将IMR的Di位置1,对应的中断IRi被屏蔽 的同时,使ISR的Di位置0
4. 中断触发方式
⑵ 指令中断
在执行中断调用指令INT n时产生的一个 向量号为n(0 ~ 255)的内部中断,称为 指令中断 其中向量号为3的指令中断比较特别(生 成一个字节的指令代码:11001100),常 用于程序调试,被称为断点中断