华东理工大学微机原理历年真题分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CS IP
六、8086中断响应过程
CPU响应中断,取得中断类型码(中断号)n。 (1) n × 4 ,作为中断向量表指针。 (2) SP-2,标志寄存器Flags入栈。 (3) 清除中断标志IF=0,单步标志TF=0。 (4) SP-2,断点CS入栈。 SP-2,断点IP入栈。 (5) n × 4 的后2个字节→CS n × 4 的前2个字节→IP (6) CS:IP,CPU转向执行该中断服务程序。
38
第四节 中断控制器8259A
一、功能
1.管理八级向量中断,可级联,最 多管理64级。 2.每级都可屏蔽或允许。 3.响应周期提供中断向量。 4.可编程选择几种工作方式。
二 、结构
D0~D7 RD WR A0 CS CAS0 CAS1 CAS2 SP/EN 内部总线 INTA INTR
3.中断优先级排队
有多个中断源,根据轻重缓急,事先安排一个 中断优先级顺序,称中断排队。
4.CPU检测中断请求信号
CPU在现行指令的最后一个总线周期的最后一 个T状态时,检测中断请求INTR,若有,则下一 周期进入中断响应周期。
5.CPU响应中断
中断响应周期。 (1)发中断响应信息INTA,关闭中断。 (2)保留断点,将IP,CS入栈。 (3)给出中断入口,转入相应的中断服务程序。
一进入中断服务程序就是一段 软件查询程序。 7 1.屏蔽法 2.移位法 IN AL,20H IN AL,20H TEST AL,80H RCL AL,1 INTR
0
20H
JNE PWF JC PWF TEST AL,40H RCL AL,1 JNE DISS JC DISS …… …… 特点:(1)询问次序即中断优先权的次序。 (2)不需要判断与确定优先权的硬件排队电路。 (3)中断响应慢,尤其是中断源多时,查询时间长。
数据总线 缓冲器 读/写 逻辑 级连 缓冲/ 比较器 中断 服务
寄存器
控制逻辑
IR0 IR1 ... IR7
ISR
优先 权判 决器
中断 请求
寄存器
IRR
中断屏蔽寄存器IMR
主片: INTA CAS0~CAS2输出线 INTA INTA IR0 CAS0 CAS0 IR1 SP/EN接高电平,利用 INTR CAS1 CAS1 CAS2 CAS2 CAS0 ~ CAS2寻址从 主 从1 ... IR4 INTR IR6 控制器。 SP/EN SP/EN IR7 从片: +5V CAS0~CAS2输入线 IR0 INTA IR1 CAS0 SP/EN接地,从CAS0~ CAS1 CAS2 CAS2接收主片发的从片 从2 ... 识别码。 INTR SP/EN IR7 过程: (1) 主片从CAS0~CAS2送出该次中断响应所属的从控制器 编码。 (2)各从控制器将接收到的编码与自身的编码比较,相同 说明本控制器的请求被响应,将中断类型码送DB,若不 相同的从控制器不动作。
1:8086/8088 0:8080/8085 1:自动结束中断 0:正常方式 1:缓冲方式主片 0:缓冲方式从片 1:缓冲方式 0:非缓冲方式 1:特殊全嵌套方式 0:一般嵌套方式
2.操作命令字
(1) OCW1 屏蔽字直接写入IMR
A0
1 M 7 M6 M5 M4 M 3 M2 M1 M0
IR7
6.中断服务
首先保护现场,中断服务,恢复现场。
7.中断返回 开中断,IRET中断返回,CPU恢复主程 序执行。 8.关于多重中断 多中断源,CPU执行一中断服务程序, 又有优先级别更高的中断请求产生。 中断服务程序中STI(开中)指令安排在不 同地方,效果不同。
第二节 中断优先权
一、软件排队
第八章 中断
中断 中断优先权 8088中断方式 中断控制器8259A
第一节 引言
一、中断系统及功能
CPU和外设接口的硬件:中断控制逻辑 指令系统:管理中断的指令
中断功能: 1.分时操作 2.实现实时处理 3.故障处理
二、中断源
引起中断或发出中断请求的来源称中断 源。
1.外部设备请求中断
(1) ICW1
A0 0 0 0 0 1 LTIM ADI SNGL IC4 1:需要ICW4 0:不需要ICW4 1:单片8259 0:多片级连 对8086/8088系统不起作用 1:电平触发 0:边沿触发
(2) ICW2
A0 1 T7 T6 T5 T4 T3 0 0 0
设置中断向量的高五位,低三位由IRi自动填入。 例:T7~T3=00001 则IR0~IR7的中断号依次为08H~0FH。 39 (3) ICW3
2.链式优先权排队电路
排队: 中断响应(来自CPU) (1)中断输入1有中断请求 F/F A S 1)F/FA输出为高,中断 中断输入1 A1 A2 响应为高,门A1输出 中断 为高,控制转向中断1 输出1 F/F B S 中断输入2 B1 B2 的服务程序。 中断 输出2 2)门A2输出为低→B2低 中断输入3 F/F C S →C2低→D2低→ C1 C2 屏蔽了所有低级中断 中断输入4 中断 F/F D S (2)中断输入1没有中断请 输出3 D1 D2 求F/FA输出为0,门A2 中断 输出1,中断响应传至中 输出4 断2;若F/FB输出为0(没有中断2), 门B2输出1,中断响应 传至中断3。
CPU支持256个中断,0~255,中断类型码 (中断号) 硬中断:外设引起的外中断 08H~0FH 70H~77H 内中断:内部硬件,CPU引起的 0H~07H 软中断:中断指令引起的 10H~FFH
一、内中断
内部硬件出错引发NMI中断 CPU遇到某些特殊事件,引发CPU中断
1.微处理器中断
三、编程
(1)初始化编程 写入初始化命令字ICW1~ICW4,建立 8259A基本工作条件。 ICW1,ICW2必须送,ICW3,ICW4由工作方 式选择。 (2)操作编程 写入操作命令字OCW1 ~ OCW3,用于对中 断处理过程实现动态控制,如嵌套方式,优先 权循环方式,查询等。
1.初始化命令字
S7 S6 S5 S4 S3 S2 S1 S0 主片 1:IRi上有从片 0:IRi上没有从片 0 0 0 0 0 ID2 ID1 ID0 从片 ID2~ID0是从片识别码,表示从片的INTR接至主片的哪端IRi, 例:接至IR2,则识别码为010。 A0 1
(4) ICW4
A0 1
0 0 1 SFNM BUF M/S AEOI μPM
(3) OCW3
读取ISR或IRR寄存器内容,发查询命令,设置特殊屏蔽方式
A0 0
0 ESMM SMM 0 1 P RR RIS 1:读ISR 0:读IRR 1:允许读ISR或IRR 0:禁止读ISR或IRR 1:设查询方式 1:特殊屏蔽 0:复位成一般屏蔽 1:允许SMM起作用 0:SMM无意义
总结:
(1)若上级的输出信号为0,则屏蔽了本 级和所有低级中断。 (2)若上级的输出信号为1,本级有中断 请求,转去执行本级的中断服务程序,本 级至下级的输出为0,屏蔽所有低级中断。 (3)若上级的输出信号为1,本级无中断 请求,则本级至下级的输出为1,允许下一 级中断。
第三节 8088中断方式
三、软中断
INT n n=10H~FFH

四、优先权
高 除数零 INT n 断点 溢出
不可屏蔽中断NMI 可屏蔽中断INTR 低 单步执行
五、中断向量表
256个中断号,256个中断服务程序入口地址,每 个地址CS:IP 4个字节,256×4=1024
中断向量表
内存的0000:0000 开始的1K空间建立的表。 0000:0008 存放256个中断向量 (中断号)的中断服务程序 0000:0004 入口地址,前2个字节为 IP,后2个字节为CS。 0000:0000 中断向量 n 中断向量表地址=0000:n×4
IR0
0:允许中断 1:屏蔽中断
(2) OCW2 设置优先权是否循环,循环 方式及中断结束方式
A0
0 R SL EOI 0 0 L2 L1 L0
EOI:中断结束命令位 1:正常EOI方式时,该位使ISR复位。 R: 中断排队是否循环 1:循环,如优先级IR0最高,IR7最低,当有一 个IR4服务完,则IR5变为最高级,IR6次之,依此类 推。 L2L1L0:最低优先级的编码。 SL 1:L2L1L0 选择有效
40
思考题:
1.什么叫中断? 2.什么叫中断矢量? 3.什么叫中断优先级?如何确定? 4.CPU响应中断的条件是什么?简述中断处 理过程。
(1)0号中断—除数零 DIV(无符号) IDIV(有符号)
(2)1号中断—单步执行
TF=1(单步标志) (3)3号中断—断点处理
(4)4号中断—运算溢出 OF=1
2.不可屏蔽中断NMI
NMI输入端上跳边沿触发,引起2号中断NMI。
二、外中断源
INTR可屏蔽中断请求信号线,IF=1,CPU 才响应,STI/CLI管理。
2.故障强迫中断
3.实时时钟
4.程序自愿中断
三、中断处理过程
中断请求-中断排队-中断响应-中断处理-中断返回
1.中断请求
中断源提出中断请求的条件: (1)外设工作已告一段落 (2)CPU允许该设备发出中断请求
2.CPU允许中断
开中断指令:STI 允许CPU响应可屏蔽中断 关中断指令:CLI 禁止CPU响应可屏蔽中断
二、硬件优先权排队电路
1.中断优先权编码电路
CPU INቤተ መጻሕፍቲ ባይዱR 1 2
A2 A>B A1 A0 比较器 B2 B1 B0 8到3 优先权
编码电路
中断 输入 CPU DB
优先权 寄存器
优先权失效信号
CPU DB INTA
三态 缓冲器
中断矢量
排队过程 (1)没有中断产生,CPU执行主程序,优先权失 效信号=1,开放门2,当任一中断请求产生,编 码A2A1A0,中断请求通过门2,使INTR为高,向 CPU发出中断请求,CPU响应,发出INTA,取得 中断矢量。 (2)有中断正在处理,此时,优先权失效信号=0, 封锁门2,编码B2B1B0输出至比较器。 1)A≤B,即新产生的中断请求的级别比正在处 理的低,比较器输出‘A>B’=0,封锁门1,不能 发INTR。 2)A>B,即新产生的中断请求的级别比正在处 理的高,比较器输出‘A>B’=1,打开门1,发出 INTR。 37
相关文档
最新文档