计算机接口技术大作业

上传人:101****457 文档编号:89232992 上传时间:2019-05-21 格式:DOC 页数:31 大小:1.80MB
返回 下载 相关 举报
计算机接口技术大作业_第1页
第1页 / 共31页
计算机接口技术大作业_第2页
第2页 / 共31页
计算机接口技术大作业_第3页
第3页 / 共31页
计算机接口技术大作业_第4页
第4页 / 共31页
计算机接口技术大作业_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《计算机接口技术大作业》由会员分享,可在线阅读,更多相关《计算机接口技术大作业(31页珍藏版)》请在金锄头文库上搜索。

1、 计算机中断技术大作业计算机中断技术大作业 题 目 深入理解中断系统 哈尔滨哈飞集团汽车博物馆设计哈尔滨哈飞集团汽车博物馆设计 张张 三三 院 系:建筑学院 专 业:建筑学 学 号:0123456789 指导教师:王 五 张 三哈尔滨哈飞集团汽车博物馆设计 本科毕业设计(论 文) 年 月 哈尔滨工业大学本科毕业设计(论文) - 9 - 目目 录录 一:什么是中断?一:什么是中断?.2 1.1 中断的定义 2 1.2 中断技术差生的原因 3 1.3 中断技术差生的优点 5 1.4 中断技术差生的缺点 7 二:基本概念二:基本概念.8 2.1 中断源 8 我们把引起中断的原因,或者能够发出中断请求

2、信号的来源统称为中断源。在 上面看书的例子中,打断你看书的时间就是中断源(电话响了) 。.8 2.2 中断嵌套 8 2.3 中断级联 9 图 2.310 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”); / 一切

3、安定下来,终于可以看电视了,10 分钟的宝贵时间啊,逝者如斯 夫 watching_tv(); return; 可以看出,整个流程如同我们前面描述的一样,所有工作要顺序执行,没有 办法完成并发任务。 如果用“中断”,在开始烧水的时候设定一个 10 分钟的“闹铃”,然后让 CPU 去看电视(有点难度,具体实现不在我们关心的范围之内,留给读者自行解 决吧:)。等闹钟响的时候再去厨房关炉子。 #include #include #include #include #include / 闹钟到时会执行此程序 void sig_alarm(int signo) /关煤气炉 printf(“Close g

4、as 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; 其实,计算机系统

5、引入中断的原因不仅仅是为了适应 I/O 设备工作效率低的 问题。例如,当计算机正在运行中,若出现突然掉电的情况,将会导致 CPU 中 的全部信息丢失。倘若能在突然掉电的瞬间启动另一个备份电源,并迅速进行一 些必要的处理,例如,将有用的信息送至不受电源影响的存储系统中,待电源恢 复后接着使用,这种处理技术也要用终端技术来实现。又如,在实时控制领域中, 要求 CPU 能及时响应外来信号的请求,并能完成相应的操作,也都需要终端技 术实现。 总之有了中断系统计算机的整体效率有了提升,能够应对突发事件实现实时 控制 1.4 中断技术差生的缺点 举了上面的例子你也许就对中断有了一定的了解。同时在上面的例子

6、中当有 电话响了时候,你必须停下正在看的书去接电话,那么你就要记下现在看到哪里 了。要不你回来的时候就不知道从哪开始看了。这也就出现了一个问题你怎么记 住你现在看到的位置呢?当然你说可以凭借记忆,但是 CPU 是没有记忆功能的, 一当有新的数据进来前面的数据就会被覆盖,那么前面的程序执行到哪了你就不 知道了。 由此可见中断系统是一个复杂的系统。为了实现中断系统激素啊你系统必须 有相应的终端系统或终端机构。这样就造成了计算机系统的复杂性。同时不同公 司之间的中断系统有着不同的差别这就要求硬件也相应的不同。所以还要有统一 的中断标准。 哈尔滨工业大学本科毕业设计(论文) - 9 - 二:基本概念二

7、:基本概念 2.1 中断源 我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中 断源。在上面看书的例子中,打断你看书的时间就是中断源(电话响 了)。 通常中断源有以下几种: ()外部设备请求中断。一般的外部设备(如键盘、打印机和 A / D 转换器等)在 完成自身的操作后,向 CPU 发出中断请求,要求 CPU 为他服务。 由计算机硬件 异常或故障引起的中断,也称为内部异常中断。 ()故障强迫中断。计算机在一些关键部位都设有故障自动检测装置。如运算 溢出、存储器读出出错、外部设备故障、电源掉电以及其他报警信号等,这些装置 的报警信号都能使 CPU 中断,进行相应的中断处理。 ()实时

8、时钟请求中断。在控制中遇到定时检测和控制,为此常采用一个外部 时钟电路(可编程)控制其时间间隔。需要定时时,CPU 发出命令使时钟电路开始 工作,一旦到达规定时间,时钟电路发出中断请求,由 CPU 转去完成检测和控制 工作。 (4)数据通道中断。数据通道中断也称直接存储器存取()操作中断,如磁 盘、磁带机或等直接与存储器交换数据所要求的中断。 ()程序自愿中断。执行了特殊指令(自陷指令)或由硬件电路引起的中断 是程序自愿中断,是指当用户调试程序时,程序自愿中断检查中间结果或寻找错误 所在而采用的检查手段,如断点中断和单步中断等。 2.2 中断嵌套 哈尔滨工业大学本科毕业设计(论文) - 9 -

9、 中断嵌套指中断系统正在执行一个中断服务时,有另一个优先级更高的中断 提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序, 去处理级别更高的中断源,待处理完毕,再返回到被中断了中断服务程序继续执 行,这个过程就是中断嵌套。 关于中断嵌套。可以这样说,当一个中断正在执行的时候,如果事先设置了中 断优先级寄存器 IP,那么当一个更高优先级的中断到来的时候会发生中断嵌套, 如果没有设置则不会发生任何嵌套;如果有同一个优先级的中断触发,它并不是在 “不断的申请”,而是将它相应的中断标志位置即 IE 寄存器的某位置位,当 CPU 执 行完当前中断之后,按照查询优先级重新去查询各个中断标

10、志位,进入相应中断。 2.3 中断级联 一个外部中断请求信号通过中断请求线 IRQ,传输到 IMR(中断屏蔽寄存器) , IMR 根据所设定的中断屏蔽字(OCW1) ,决定是将其丢弃还是接受。如果可以接受, 则 8259A 将 IRR(中断请求暂存寄存器)中代表此 IRQ 的位置位,以表示此 IRQ 有中断请求信号,并同时向 CPU 的 INTR(中断请求)管脚发送一个信号。但 CPU 这时可能正在执行一条指令,因此 CPU 不会立即响应。而当这 CPU 正忙着执行某 条指令时,还有可能有其余的 IRQ 线送来中断请求,这些请求都会接受 IMR 的挑 选。如果没有被屏蔽,那么这些请求也会被放到

11、 IRR 中,也即 IRR 中代表它们的 IRQ 的相应位会被置 1。 当 CPU 执行完一条指令时后,会检查一下 INTR 管脚是否有信号。如果发现 有信号,就会转到中断服务,此时,CPU 会立即向 8259A 芯片的 INTA(中断应答) 管脚发送一个信号。当芯片收到此信号后,判优部件开始工作,它在 IRR 中,挑 哈尔滨工业大学本科毕业设计(论文) - 9 - 选优先级最高的中断,将中断请求送到 ISR(中断服务寄存器) ,也即将 ISR 中代 表此 IRQ 的位置位,并将 IRR 中相应位置零,表明此中断正在接受 CPU 的处理。 同时,将它的编号写入中断向量寄存器 IVR 的低三位(

12、IVR 正是由 ICW2 所指定的, 不知你是否还记得 ICW2 的最低三位在指定时都是 0,而在这里,它们被利用了! )这时,CPU 还会送来第二个 INTA 信号,当收到此信号后,芯片将 IVR 中的内容, 也就是此中断的中断号送上通向 CPU 的数据线。 图 2.3 2.4 软中断,硬中断 软中断软中断: : 1. 编程异常通常叫做软中断 2. 软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式。 3. 中断源发中断请求或软中断信号后,CPU 或接收进程在适当的时机自动进行中 断处理或完成软中断信号对应的功能 4. 软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断

13、 是硬件实现的中断,是程序运行时设备对它的中断。 硬中断硬中断: : 1. 硬中断是由外部事件引起的因此具有随机性和突发性;软中断是执行中断指 令产生的,无面外部施加中断请求信号,因此中断的发生不是随机的而是由程序 哈尔滨工业大学本科毕业设计(论文) - 9 - 安排好的。 2. 硬中断的中断响应周期,CPU 需要发中断回合信号(NMI 不需要),软中断 的中断响应周期,CPU 不需发中断回合信号。 3. 硬中断的中断号是由中断控制器提供的(NMI 硬中断中断号系统指定为 02H);软中断的中断号由指令直接给出,无需使用中断控制器。 4. 硬中断是可屏蔽的(NMI 硬中断不可屏蔽),软中断不可

14、屏蔽。 区别区别: : 1. 软中断发生的时间是由程序控制的,而硬中断发生的时间是随机的 2. 软中断是由程序调用发生的,而硬中断是由外设引发的 3. 硬件中断处理程序要确保它能快速地完成它的任务,这样程序执行时才不会 等待较长时间 2.5 NMI(不可屏蔽中断)当 CPU 响应中断并进入中断子程序的处理过程后,中断控制器仍负责外部的 中断请求的管理。比如当某个外部中断的请求的优先级高于当前正在处理的中断 优先级时,中断控制器会让此中断通过而到达 CPU 的 INTR 端,从而实现中断的 嵌套,反之,对其它的级别较底的中断则给予禁止。 APIC:高级可编程中断控制器 APIC 是装置的扩充组合

15、用来驱动 Interrupt 控制器。在目前的建置中,系统的 每一个部份都是经由 APIC Bus 连接的。“本机 APIC“ 为系统的一部份,负责传 递 Interrupt 至指定的处理器;举例来说,当一台机器上有三个处理器则它必 须相对的要有三个本机 APIC。自 1994 年的 Pentium P54c 开始 Intel 已经将 本机 APIC 建置在它们的处理器中。实际建置了 Intel 处理器的电脑就已经包 含了 APIC 系统的部份。 2.11 中断共享 & 中断冲突 中断共享就是某些端口公用一个中断请求,以前主板有很多 PCI,第一和第 五个常常共享,但只能使用其中一个,都是用会

16、造成硬件冲突 中断冲突终端之间共用资源发生冲突。 哈尔滨工业大学本科毕业设计(论文) - 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 中断描述符、

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号