




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机中断技术大作业计算机中断技术大作业 题 目 深入理解中断系统 哈尔滨哈飞集团汽车博物馆设计哈尔滨哈飞集团汽车博物馆设计 张张 三三 院 系 建筑学院 专 业 建筑学 学 号 0123456789 指导教师 王 五 张 三哈尔滨哈飞集团汽车博物馆设计 本科毕业设计 论 文 年 月 哈尔滨工业大学本科毕业设计 论文 9 目目 录录 一 什么是中断 一 什么是中断 2 1 1 中断的定义 2 1 2 中断技术差生的原因 3 1 3 中断技术差生的优点 5 1 4 中断技术差生的缺点 7 二 基本概念二 基本概念 8 2 1 中断源 8 我们把引起中断的原因 或者能够发出中断请求信号的来源统称为中断源 在 上面看书的例子中 打断你看书的时间就是中断源 电话响了 8 2 2 中断嵌套 8 2 3 中断级联 9 图 2 3 10 2 4 软中断 硬中断 10 2 5 NMI 不可屏蔽中断 while WaterIsBoiled true bool VaporGavenOff false if VaporGavenOff WaterIsBoiled true else WaterIsBoiled false 哈尔滨工业大学本科毕业设计 论文 9 关煤气炉 printf Close gas oven n 一切安定下来 终于可以看电视了 10 分钟的宝贵时间啊 逝者如斯 夫 watching tv return 可以看出 整个流程如同我们前面描述的一样 所有工作要顺序执行 没有 办法完成并发任务 如果用 中断 在开始烧水的时候设定一个 10 分钟的 闹铃 然后让 CPU 去看电视 有点难度 具体实现不在我们关心的范围之内 留给读者自行解 决吧 等闹钟响的时候再去厨房关炉子 include include include include include 闹钟到时会执行此程序 void sig alarm int signo 关煤气炉 printf Close gas oven n void watching tv while 1 呵呵 悠哉悠哉 int main 点火后设置定时中断 printf Start to boil water set Alarm if signal SIGALRM sig alrm SIG ERR perror signal SIGALRM error return 1 然后就可以欣赏电视节目了 printf Watching TV n 哈尔滨工业大学本科毕业设计 论文 9 watching tv return 0 其实 计算机系统引入中断的原因不仅仅是为了适应 I O 设备工作效率低的 问题 例如 当计算机正在运行中 若出现突然掉电的情况 将会导致 CPU 中 的全部信息丢失 倘若能在突然掉电的瞬间启动另一个备份电源 并迅速进行一 些必要的处理 例如 将有用的信息送至不受电源影响的存储系统中 待电源恢 复后接着使用 这种处理技术也要用终端技术来实现 又如 在实时控制领域中 要求 CPU 能及时响应外来信号的请求 并能完成相应的操作 也都需要终端技 术实现 总之有了中断系统计算机的整体效率有了提升 能够应对突发事件实现实时 控制 1 4 中断技术差生的缺点 举了上面的例子你也许就对中断有了一定的了解 同时在上面的例子中当有 电话响了时候 你必须停下正在看的书去接电话 那么你就要记下现在看到哪里 了 要不你回来的时候就不知道从哪开始看了 这也就出现了一个问题你怎么记 住你现在看到的位置呢 当然你说可以凭借记忆 但是 CPU 是没有记忆功能的 一当有新的数据进来前面的数据就会被覆盖 那么前面的程序执行到哪了你就不 知道了 由此可见中断系统是一个复杂的系统 为了实现中断系统激素啊你系统必须 有相应的终端系统或终端机构 这样就造成了计算机系统的复杂性 同时不同公 司之间的中断系统有着不同的差别这就要求硬件也相应的不同 所以还要有统一 的中断标准 哈尔滨工业大学本科毕业设计 论文 9 二 基本概念二 基本概念 2 1 中断源 我们把引起中断的原因 或者能够发出中断请求信号的来源统称为中 断源 在上面看书的例子中 打断你看书的时间就是中断源 电话响 了 通常中断源有以下几种 外部设备请求中断 一般的外部设备 如键盘 打印机和 A D 转换器等 在 完成自身的操作后 向 CPU 发出中断请求 要求 CPU 为他服务 由计算机硬件 异常或故障引起的中断 也称为内部异常中断 故障强迫中断 计算机在一些关键部位都设有故障自动检测装置 如运算 溢出 存储器读出出错 外部设备故障 电源掉电以及其他报警信号等 这些装置 的报警信号都能使 CPU 中断 进行相应的中断处理 实时时钟请求中断 在控制中遇到定时检测和控制 为此常采用一个外部 时钟电路 可编程 控制其时间间隔 需要定时时 CPU 发出命令使时钟电路开始 工作 一旦到达规定时间 时钟电路发出中断请求 由 CPU 转去完成检测和控制 工作 4 数据通道中断 数据通道中断也称直接存储器存取 操作中断 如磁 盘 磁带机或 等直接与存储器交换数据所要求的中断 程序自愿中断 执行了特殊指令 自陷指令 或由硬件电路引起的中断 是程序自愿中断 是指当用户调试程序时 程序自愿中断检查中间结果或寻找错误 所在而采用的检查手段 如断点中断和单步中断等 2 2 中断嵌套 哈尔滨工业大学本科毕业设计 论文 9 中断嵌套指中断系统正在执行一个中断服务时 有另一个优先级更高的中断 提出中断请求 这时会暂时终止当前正在执行的级别较低的中断源的服务程序 去处理级别更高的中断源 待处理完毕 再返回到被中断了中断服务程序继续执 行 这个过程就是中断嵌套 关于中断嵌套 可以这样说 当一个中断正在执行的时候 如果事先设置了中 断优先级寄存器 IP 那么当一个更高优先级的中断到来的时候会发生中断嵌套 如果没有设置则不会发生任何嵌套 如果有同一个优先级的中断触发 它并不是在 不断的申请 而是将它相应的中断标志位置即 IE 寄存器的某位置位 当 CPU 执 行完当前中断之后 按照查询优先级重新去查询各个中断标志位 进入相应中断 2 3 中断级联 一个外部中断请求信号通过中断请求线 IRQ 传输到 IMR 中断屏蔽寄存器 IMR 根据所设定的中断屏蔽字 OCW1 决定是将其丢弃还是接受 如果可以接受 则 8259A 将 IRR 中断请求暂存寄存器 中代表此 IRQ 的位置位 以表示此 IRQ 有中断请求信号 并同时向 CPU 的 INTR 中断请求 管脚发送一个信号 但 CPU 这时可能正在执行一条指令 因此 CPU 不会立即响应 而当这 CPU 正忙着执行某 条指令时 还有可能有其余的 IRQ 线送来中断请求 这些请求都会接受 IMR 的挑 选 如果没有被屏蔽 那么这些请求也会被放到 IRR 中 也即 IRR 中代表它们的 IRQ 的相应位会被置 1 当 CPU 执行完一条指令时后 会检查一下 INTR 管脚是否有信号 如果发现 有信号 就会转到中断服务 此时 CPU 会立即向 8259A 芯片的 INTA 中断应答 管脚发送一个信号 当芯片收到此信号后 判优部件开始工作 它在 IRR 中 挑 哈尔滨工业大学本科毕业设计 论文 9 选优先级最高的中断 将中断请求送到 ISR 中断服务寄存器 也即将 ISR 中代 表此 IRQ 的位置位 并将 IRR 中相应位置零 表明此中断正在接受 CPU 的处理 同时 将它的编号写入中断向量寄存器 IVR 的低三位 IVR 正是由 ICW2 所指定的 不知你是否还记得 ICW2 的最低三位在指定时都是 0 而在这里 它们被利用了 这时 CPU 还会送来第二个 INTA 信号 当收到此信号后 芯片将 IVR 中的内容 也就是此中断的中断号送上通向 CPU 的数据线 图 2 3 2 4 软中断 硬中断 软中断软中断 1 编程异常通常叫做软中断 2 软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式 3 中断源发中断请求或软中断信号后 CPU 或接收进程在适当的时机自动进行中 断处理或完成软中断信号对应的功能 4 软中断是软件实现的中断 也就是程序运行时其他程序对它的中断 而硬中断 是硬件实现的中断 是程序运行时设备对它的中断 硬中断硬中断 1 硬中断是由外部事件引起的因此具有随机性和突发性 软中断是执行中断指 令产生的 无面外部施加中断请求信号 因此中断的发生不是随机的而是由程序 哈尔滨工业大学本科毕业设计 论文 9 安排好的 2 硬中断的中断响应周期 CPU 需要发中断回合信号 NMI 不需要 软中断 的中断响应周期 CPU 不需发中断回合信号 3 硬中断的中断号是由中断控制器提供的 NMI 硬中断中断号系统指定为 02H 软中断的中断号由指令直接给出 无需使用中断控制器 4 硬中断是可屏蔽的 NMI 硬中断不可屏蔽 软中断不可屏蔽 区别区别 1 软中断发生的时间是由程序控制的 而硬中断发生的时间是随机的 2 软中断是由程序调用发生的 而硬中断是由外设引发的 3 硬件中断处理程序要确保它能快速地完成它的任务 这样程序执行时才不会 等待较长时间 2 5 NMI 不可屏蔽中断 当 CPU 响应中断并进入中断子程序的处理过程后 中断控制器仍负责外部的 中断请求的管理 比如当某个外部中断的请求的优先级高于当前正在处理的中断 优先级时 中断控制器会让此中断通过而到达 CPU 的 INTR 端 从而实现中断的 嵌套 反之 对其它的级别较底的中断则给予禁止 APIC 高级可编程中断控制器 APIC 是装置的扩充组合用来驱动 Interrupt 控制器 在目前的建置中 系统的 每一个部份都是经由 APIC Bus 连接的 本机 APIC 为系统的一部份 负责传 递 Interrupt 至指定的处理器 举例来说 当一台机器上有三个处理器则它必 须相对的要有三个本机 APIC 自 1994 年的 Pentium P54c 开始 Intel 已经将 本机 APIC 建置在它们的处理器中 实际建置了 Intel 处理器的电脑就已经包 含了 APIC 系统的部份 2 11 中断共享 中断冲突 中断共享就是某些端口公用一个中断请求 以前主板有很多 PCI 第一和第 五个常常共享 但只能使用其中一个 都是用会造成硬件冲突 中断冲突终端之间共用资源发生冲突 哈尔滨工业大学本科毕业设计 论文 9 2 12 MSI X 中断 PCIe 中断处理子程序 MSI X 中断是 MSI 中断的增强版本 与 MSI 中断有相同功能 具有以下关键区 别 每个设备最多支持 2048 个 MSI X 中断向量 每个中断向量的地址和数据项都是唯一的 MSI X 支持按函数屏蔽和按向量屏蔽 中断处理子程序 处理中断请求的程序 2 13 0 号中断 1 号中断 0 号中断 号中断处理程序用于处理除法运算溢出 称为 除数为 0 中断 当 CPU 检测到除法运算溢出 自动调用 0 号中断处理程序 无 INT 0 指令 1 号中断 当 CPU 的 TF 标志置 1 时 CPU 每执行一条指令 就调用 1 号中断 处理程序 因此 它称为 单步中断 当 CPU 检测到 TF 1 时 自动进入单 步方式 无 INT 1 指令 该中断处理程序用于调试程序 2 14 中断描述符 中断描述符表 中断描述符 描述中断的一组数据 包括中断号等 中断描述表 将每个异常或中断向量分别与它们的处理过程联系起来 与 GDT 和 LDT 表类似 IDT 也是由 8 字节长描述符组成的一个数组 2 15 异常 中断通常分为同步中断和异步中断 同步中断 当指令执行时由 CPU 控制单元产生的 称为同步 是因为只有当一条 指令终止执行后 CPU 才会发出中断 异步中断 由其他硬件设备依照 CPU 时钟信号随机产生的 哈尔滨工业大学本科毕业设计 论文 9 2 16 中断门 OS 的事件 消息 通过中断门的转移和通过陷阱门的转移之间的差别只是对 IF 标志的处理 对 于中断门 在转移过程中把 IF 置为 0 使得在处理程序执行期间屏蔽掉 INTR 中 断 当然 在中断处理程序中可以人为设置 IF 标志打开中断 以使得在处理程序 执行期间允许响应可屏蔽中断 对于陷阱门 在转移过程中保持 IF 位不变 即 如果 IF 位原来是 1 那么通过陷阱门转移到处理程序之后仍允许 INTR 中断 因 此 中断门最适宜于处理中断 而陷阱门适宜于处理异常 OS 的事件就是操作系 统事件 消息 消息 软件对象之间进行交互作用和通讯是利用消息的 三 中断资源相关三 中断资源相关 3 1 我的电脑中断相关资源占用情况 哈尔滨工业大学本科毕业设计 论文 9 哈尔滨工业大学本科毕业设计 论文 9 哈尔滨工业大学本科毕业设计 论文 9 哈尔滨工业大学本科毕业设计 论文 9 3 2 ISA 中断 哈尔滨工业大学本科毕业设计 论文 9 哈尔滨工业大学本科毕业设计 论文 9 哈尔滨工业大学本科毕业设计 论文 9 哈尔滨工业大学本科毕业设计 论文 9 3 3 PCI 中断 3 4 IRQ 0 15 中断请求外的 其他是 microsoft acpi compliant system 的 微软 ACPI Compliant 系统 全名 Advanced Configuration and Power Management Interface ACPI 表示高级配置和电源管理接口 Advanced Configuration and Power Management Interface 对于 Windows2000 ACPI 定义了 Windows 2000 BIOS 和系统硬件之间的新型工作接口 这些新接口包括允许 Windows 2000 控制电源 管理和设备配置的机制 ACPI 意图是让系统而不是 BIOS 来全面控制电源管理 使系统更加省电 其特点主要有 提供立刻开机功能 即开机后可立即恢复到 上次关机时的状态 光驱 软驱和硬盘在未使用时会自动关掉电源 使用时再打 开 支持在开电状态下既插即拔 随时更换功能 四 中断系统四 中断系统 哈尔滨工业大学本科毕业设计 论文 9 4 1 中断系统怎样协调完成中断过程 中断过程 中断请求 中断判优 中断响应 中断处理 中断返回 图 4 1 中断过程 CPU 执行完一条指令后 下一条指令的逻辑地址存放在 cs 和 eip 这对寄存器 中 在执行新指令前 控制单元会检查在执行前一条指令的过程中是否有中断或 异常发生 如果有 控制单元就会抛下指令 进入下面的流程 1 确定与中断或异常关联的向量 i 0 255 2 寻找向量对应的处理程序 3 保存当前的 工作现场 执行中断或异常的处理程序 4 处理程序执行完毕后 把控制权交还给控制单元 5 控制单元恢复现场 返回继续执行原程序 哈尔滨工业大学本科毕业设计 论文 9 中断控制器执行下列动作 中断控制器执行下列动作 1 监视 IRQ 线 对引发信号检查 2 如果一个引发信号出现在 IRQ 线上 a 把此信号转换成对应的中断向量 b 把这个向量存放在中断控制器的一个 I O 端口 从而允许 CPU 通过数据总线 读这个向量 c 把引发信号发送到处理器的 INTR 引脚 即产生一个中断 d 等待 直到 CPU 应答这个信号 收到应答后 清 INTR 引脚 3 返回到第一步 Windows 2000 在系统启动时填写 IDT 表 当中断发生时 处理器将会根据 IDT 将控制转移给适当的中断 异常 处理 五 多处理器系统的中断五 多处理器系统的中断 5 1 怎么连接 Transferring Transfer done I O request User process executing I O interrupt processing CPU I O device idle I O request Transfer done 哈尔滨工业大学本科毕业设计 论文 9 对于多核 CPU 优化操作系统任务调度算法是保证效率的关键 一般任务调度算 法有全局队列调度和局部队列调度 前者是指操作系统维护一个全局的任务等待 队列 当系统中有一个 CPU 核心空闲时 操作系统就从全局任务等待队列中选取 就绪任务开始在此核心上执行 这种方法的优点是 CPU 核心利用率较高 后者是指操作系统为每个 CPU 内核 维护一个局部的任务等待队列 当系统中有一个 CPU 内核空闲时 便从该核心的 任务等待队列中选取恰当的任务执行 这种方法的优点是任务基本上无需在多个 CPU 核心间切换 有利于提高 CPU 核心局部 Cache 命中率 目前多数多核 CPU 操 作系统采用的是基于全局队列的任务调度算法 多核的中断处理和单核有很大不同 多核的各处理器之间需要通过中断方式 进行通信 所以多个处理器之间的本地中断控制器和负责仲裁各核之间中断分配 的全局中断控制器也需要封装在芯片内部 另外 多核 CPU 是一个多任务系统 由于不同任务会竞争共享资源 因此需 要系统提供同步与互斥机制 而传统的用于单核的解决机制并不能满足多核 需 要利用硬件提供的 读 修改 写 的原子操作或其他同步互斥机制来保证 5 1 如何处理 采用轮询的方式 基本上每个 CPU 平均分担 但是为什么查看自己的机器 如果不设置 CPU 亲和 不设置 irqbalance 的话 所有的中断都是在 CPU0 上响应 的 六 硬件 软件是怎么配合完成中断处理的六 硬件 软件是怎么配合完成中断处理的 哈尔滨工业大学本科毕业设计 论文 9 当用户按键时 键盘接口会得到一个代表该按键的键盘扫描码 同时产 生一个中断请求 键盘中断服务程序先从键盘接口取得按键的扫描码 然后 根据其扫描码判断用户所按的键并作相应的处理 最后通知中断控制器本次 中断结束并实现中断返回 若用户按下双态键 如 Caps Lock Num Lock 和 Scroll Lock 等 则在键盘上相应 LED 指示灯的状态将发生改变 若用户按下控制键 如 Ctrl Alt 和 Shift 等 则在键盘标志字中设置 其标志位 若用户按下功能键 如 F1 F2 等 再根据当前是否又按下控制 键来确定其系统扫描码 并把其系统扫描码和一个值为0 的字节存入键盘 缓冲区 若用户按下字符键 如 A 1 等 此时 再根据当前是否又按 下控制键来确定其系统扫描码 并得到该按键所对应的ASCII 码 然后 把其系统扫描码和ASCII 码一起存入键盘缓冲区 若用户按下功能请求键 如 Print Screen 等 则系统直接产生一个具体 哈尔滨工业大学本科毕业设计 论文 9 的动作 4 DOS 功能中的键盘输入 键盘输入是一种最常用的输入方式 所以 在DOS 操作系统中 提供了能 实现各种键盘输入的功能 Windows 操作系统中仍然能用 INT 21H 中的 相关功能如下 01H 带回显的键盘输入06H 控制台的输入 输出 当 DL 0FFH 表 示键盘输入 07H 不回显 不过滤的键盘输入08H 不回显的键盘输入 0AH 键盘输入字符串 0BH 检查键盘输入状态 0CH 清除输入缓冲区的输入功能 有关中断功能的详细描述和调用参数在此从略 需要查阅者可参阅附录 3 之字符功能调用类 5 BIOS 中的键盘输入 在 BIOS 系统中 提供了中断16H 来实现键盘输入功能 其具体的功能 如下 00H 10H 从键盘读一个字符 输入字符不回显 01H 11H 判断键盘缓冲区内是否有字符可读 02H 读取当前键盘状态字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁道机车专业试题及答案
- 审计专业考研试题及答案
- 通信专业试题及答案软件
- 企业店庆庆祝致辞模板
- 互联网内容服务协议的法律效力
- 2025年五年级第二学期期末质量检测试卷
- 井下电缆防腐施工方案
- 公司综合组组长工作总结
- 2024-2025学年江西省吉安市永新县七年级(上)期末数学试卷(含答案)
- 江西省南昌市新民外语学校2024-2025学年七年级上学期第一次月考道德与法治试卷(无答案)
- 大学英语四级写作技巧及模板
- 成都燃气公司招聘笔试题
- T-SZTIA 003-2020 抗菌口罩标准规范
- 某铁路站房钢筋工程技术交底
- SMM英国建筑工程标准计量规则中文版全套
- 颈动脉保护装选择
- 水泥熟料生产工艺及设备课件
- 学前卫生学第二章课件
- 2023年东台市城市建设投资发展集团有限公司招聘笔试题库及答案解析
- 浙美版美术三年级上册全册教案
- 品蟹宴活动方案pptx
评论
0/150
提交评论