中断处理与计时器详解.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中断处理与计时器 为了提高处理器的利用效率,计算机系统引入了中断。为了实现多道程序设计中的进程调度,操作系统必须控制计时器。 1 中断 中断的概念、用处、分类和处理等基本内容,在理论课的第一章中已经简介过,下面是一些简单的回顾。 中断(interrupt)是指对处理器正常处理过程的打断。中断与异常一样,都是在程序执行过程中的强制性转移,转移到相应的处理程序。 在计算机系统中使用中断,主要是为了提高处理器的利用效率。 中断分类: 硬中断(外部中断)——由外部(主要是外设[即I/O设备])的请求引起的中断 时钟中断(计时器产生,等间隔执行特定功能) I/O中断(I/O控制器产生,通知操作完成或错误条件) 硬件故障中断(故障产生,如掉电或内存奇偶校验错误) 软中断(内部中断)——由指令的执行引起的中断 异常/程序中断(指令执行结果产生,如溢出、除0、非法指令、越界) 中断指令(软中断int n、溢出中断into、中断返回iret、单步中断TF=1) 中断处理程序(interrupt handler)通常是操作系统的一部分,负责确定中断的性质并执行所需的操作。 1.1 PC中断系统 x86 PC机的中断系统的功能强大、结构简单、使用灵活。采用32位的中断向量(中断处理程序的映射地址),可处理256种不同类型的中断。 x86处理器有两条外部中断请求线:NMI(Non Maskable Interrupt,不可屏蔽中断)和INTR(Interrupt Request,中断请求[可屏蔽中断])。 CPU是否响应在INTR线上出现的中断请求,取决于标志寄存器FLAGS中的IF标志位的状态值是否为1。可用机器指令STI/CLI置IF标志位为1/0来开/关中断。 注意,在系统复位后,会置IF=0(中断响应被关闭)。在任意一中断被响应后,也会置IF=0(关中断)。若想允许中断嵌套,必须在中断处理程序中,用STI指令来打开中断。 在NMI线上的中断请求,不受标志位IF的影响。CPU在执行完当前指令后,会立即响应。不可屏蔽中断的优先级要高于可屏蔽中断的。 NMI和INTR两条中断线是远不能满足PC需求的,x86处理器用两个级联的8259A芯片作为外设向CPU申请中断的代理接口,使一条INTR线扩展成15条中断请求线。 x86计算机在启动时会自动进入实模式状态,并由系统的BIOS初始化8259A的各中断线的类型(参见下图),同时在内存的低位区(地址为0~1023[3FFH],1KB)创建含256个中断向量的表(每个向量[地址]占4个字节,格式为:16位段值:16位偏移值)。但是,当系统进入保护模式后,该IVT(Interrupt Vector Table,中断向量表)会失效,需改用IDT(Interrupt Descriptor Table,中断描述表),必须自己编程来定义8259A的各个中断类型号和对应的处理程序。 PC的中断处理硬件 主/从8259A的初始中断请求类型 主/从 中断请求 中断类型 主8259A IRQ0 Intel 8253/8254可编程间隔计时器,即系统计时器 IRQ1 Intel 8042键盘控制器 IRQ2 级联从8259A IRQ3 8250 UART串口COM2和COM4 IRQ4 8250 UART串口COM1和COM3 IRQ5 在PC/XT中为硬盘控制器 在PC/AT以后为Intel 8255并行端口LPT2 IRQ6 Intel 8272A软盘控制器 IRQ7 Intel 8255并行端口LPT1/伪中断 从8259A IRQ8 RTC(Real-Time Clock,实时时钟) IRQ9 无公共的指派(IRQ2的重定向?) IRQ10 无公共的指派 IRQ11 无公共的指派 IRQ12 Intel 8042 PS/2鼠标控制器? IRQ13 数学协处理器 IRQ14 硬盘控制器1 IRQ15 硬盘控制器2 其中,UART=Universal Asynchronous Receiver/Transmitter,通用异步接收器/发送器。IRQ7曾被用于声卡,后来改用IRQ5。串口IRQ3/4常被屏蔽,用于其他设备。IRQ2/9是MPU-401 MIDI的传统中断线,但在2000年末Intel公司为SMP/多核处理器引进的新中断控制器规范Intel APIC(Advanced Programmable Interrupt Controller,先进可编程中断控制器)架构中,IRQ9被用于SCI(Serial Communication Interface,串行通信接口?)。 1.2 中断控制器8259A 8259A是一种PIC(Programmable I

文档评论(0)

麻将 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档