微机原理及应用(第五版)范例.ppt

  1. 1、本文档共478页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断处理程序由4部分组成: 执行指令 中断响应 保护现场 恢复现场 中断服务程序 返回 执行下条指令 中断请求? Y N 中断处理 流程图 可屏蔽中断处理程序通常可由用户编写为一个过程. 8.7 保护方式下的中断和异常 保护方式下,CPU采用中断描述符表(IDT).起始地址和长度限量取决于IDTR的不可见的48位.IDT由256个8字节的中断描述符(项、门)组成. … 中断0的门 中断1的门 中断2的门 中断N-1的门 中断N的门 0 8 10H 8N-1 8N 基地址=0 限量=3FF IDTR …. 中断描述符表 8.7.1 通过中断门及陷阱门转移 selector attributes offset base limit attributes 入口点 中断描述符表 全局或局部描述符表 线性地址空间 在执行INT n及INTO检查DPL.要求CPL大于DPL. 在发生异常或外部中断时,DPL不检查. 如门中选择子指向可执行存储段是一个一致的代码段,并且该段DPL与CPL同级或更内层级.或门中选择子指向的是一个非一致代码段,并且DPL与CPL同级.均属同一特权级的转移. 如门中选择子指向的是一个非一致代码段,并且DPL相对于CPL更内一层.通过中断门或陷阱门向内层转移,栈段也要切换到内层. 通过中断门或陷阱门进行的是同一任务的转移. 通过中断门或陷阱门向内层转移 Outer SS Outer ESP EFLAGS Outer CS Outer EIP Error Code 向内中断 向外返回 limit limit 返回前ESP 中断后ESP SS SS 内层栈 外层栈 中断前及IRET后ESP 8.7.2 NT=0时的中断(或异常)返回 NT=0时,同一任务返回,返回可以是同级或向外层. 当从内向外返回时,在执行IRET之前,错误码先弹 出.执行IRET时弹出EIP;CS;EFLAGS,同时检查RPL. 接着弹出ESP;SS.全部恢复. 8.7.3 通过任务门的转换 中断或异常的矢量号*8指向IDT中的一个任务门.实现不同任务间的转换.任务门16位选择子指向处理程序的TSS段. 通过任务门转入中断服务程序的过程与CAALL指令一样.不同的是任务切换和程序转移提供出错码.转入过程中使EFLAGS的NT=1返回时返回一个嵌套的任务. 8.7.4 小结 中断或异常 中断门(中断) 陷阱门(陷阱) 任务门 不同任务转移. 产生TSS无效:由任务门来处理. 其它异常:陷阱门指向任务共享的过程. 外部中断:要以用任务门也可以用中断门. 同一任务内转移 8.8 中断优先级管理器8259A PIC 8.8.1 8259A的内部结构及引脚信号 控制电路 中断 服务 寄存器 (ISR) 优先权 判别器 (PR) 中断 请求 寄存器 (IRR) 中断屏蔽寄存器 (IMR) 数据总线 缓冲器 读/写 控制电路 级联缓冲 器/比较器 D7—D0 RD WR A0 CS CAS0 CAS2 CAS1 SP/EN INTA INT IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 内部总线 IRR:中断请求寄存器 用于寄存外设来的各级中断请求信号IR0—IR7.有中断请求置“1”. IMR:8位屏蔽寄存器 用来存放CPU发出的按位屏蔽信号,置“1”位对应的中断级被屏蔽. ISR:8位中断服务寄存器 用来存放当前正在服务的所有中断级.“1”表示该级正在被响应.“1”的个数表示多重中断的数量. PR:优先级判别器 1)根据CPU发来的命令字定义和修改IRR中各中断源的优先级别.通常IR0最高. 2)多个中断源同时请求中断时,判别优先级最高 的是否高于正在处理的中断优先级.即判能否进入多重中断. 3)进入多重中断的过程:8259A通过INT向CPU的INTR发高电平信号.CPU响应发回INTA信号,接下来ISR相应位置“1”.向D0—D7送中断类型码.同时清除INT. 数据总线缓冲器 读写控制电路 CS.WR低:CPU对8259A进行写命令字.置工作状态和方式. CS.RD低:CPU对8259A进行读操作.读IRR.ISR.IMR. CS高:8259A未选中状态.没有任何操作. 8259A与CPU间信息交换 A0:为地址最低位.8259A编程地址分奇偶. 级联缓冲器/比较器: 用来实现多个8259A的级联连接. CAS0—CAS2为级联信号:与所有从片的CAS0—CAS2相连.主片是输出,从片是输入. SP/EN:当8259A工作于缓冲器方式时,用于控制缓冲器的传送方向.当8259A工作于非缓冲器方式时,规定8

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档