永发信息网

什么是异常和中断

答案:2  悬赏:20  手机版
解决时间 2022-01-01 08:16
什么是异常和中断
最佳答案
先简单描述一下中断和异常相关的基本概念:中断是一种机制,这种机制使I/O设备能够打断cpu当前正在进行的计算,这种机制使cpu能够同时进行计算和I/O操作。异常,当cpu在执行指令的时候探测到一个错误条件,就会产生一个异常,比如被零除,访问的数据当前不在内存中等。不管是中断还是异常,内核是通过中断向量号来识别的,cpu将中断向量号做为中断描述表的索引,相应的表项中包含了中断处理程序或者异常处理程序的地址。这里将不讨论I/O设备产生的中断,因为其牵扯的内容多且有点复杂,留作以后分析。因为异常是cpu内部识别的,所以其对应的中断向量号是固定的,处理期间中断对应的中断向量号也是固定的,将从这些中断和异常里面摘取几个典型简要分析一下,看看在能处理异常和中断前,freebsd9.2所完成的初始化工作以及IA32提供的中断处理机制。[IA32:高级可编程中断控制器(APIC)]-对于APIC,下面简单介绍一下相关概念以及用来发送处理器间中断的寄存器,详细信息可以参考Intel 64 and IA-32 ArchitecturesSoftware Developer’s Manual Volume 3A第十章,将处理器间中断简称为IPI。在IA32中,APIC分为local APIC和I/O APIC两种:local APIC,主要用来完成:1:从cpu的处理器引脚,或者外部中断源,或者外部的I/O APIC接收中断,并将中断发送给处理器核心进行处理。2:在SMP系统中,local APIC从系统总线上接收其它cpu发送的IPI消息或者将IPI消息通过系统总线发送给其它cpu,IPI消息 也可以用来在系统中的cpu间分发中断。I/O APIC:主要用来接收I/O设备产生的中断,并且将中断转换为中断消息发送给local APIC,关于I/O 1PIC将不会去深入分析, 知道其作用就行;作为一个实例,大家可以参考82093AA I/O APIC这个中断控制器芯片的详细说明。local APIC和I/O APIC的关系图如下所示:   local APIC包含了一组寄存器,在local APIC能正确工作之前,要初始化这些寄存器,其中有些寄存器是只读的,在SMP系统的配置中,这组寄存器被映射到一个大小为4KB的连续物理地址空间中,起始物理地址为FEE00000H,当然也可以通过修改IA32_APIC_BASE MSR这个寄存器来更改起始物理地址。下面简单描述一下两个local APIC寄存器:Local APIC ID Register和Interrupt Command Register。[Local APIC ID Register]:在加电时,系统硬件会给每个local APIC分配一个唯一的APIC ID,系统硬件基于系统拓扑以及编码插槽位置信息等获取一个APIC ID。在SMP系统中,BIOS和操作系统使用local APIC ID 作为cpu的id,和前面描述的logical cpu id不同,该寄存器如下图所示。 [Interrupt Command Register]-该寄存器是64bit,主要用来发送IPI,为了发送一个IPI,必须要正确的构造这个寄存器,向低32位执行一个写操作,将导致一个IPI被发送,寄存器详细格式如下图所示,正确构造这个寄存器就是用正确的值来初始化其中的字段:   只关......余下全文>>
全部回答
谢谢回答!!!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么延什么喘的成语
有哪些领域能像字幕组一样维持高效率的众包?
希望小学共有750人,女生人数比男生人数的1.5
怎么做亲子盖浇饭?
望字的五笔怎么打?
在哪买特殊波长LED,做实验用
单选题【诸】选出不是合音词的一项A.顾安所得
全民k歌手机电音怎么弄
“神舟八号”与“天宫一号”成功对接时,两个
《奥林匹克宪章》原文哪里有?
还来就菊花阅读答案
视频如何旋转90度后,保存其设置?用暴风影音
烟台南山学院东海校区的宿舍情况、设施、费用
怀孕能吃兔子肉吗
想找一些驾驶潜艇或飞船探险的小说,像海底两
推荐资讯
昨天昨天1元人民币兑现多少泰铢
华为荣耀9套餐2是什么
单选题战争伴随了人类历史几千年,在20世纪,
去文莱旅游一次最低要多少钱?
公明客运有车到东莞石龙客运站
—Would you take this along to the office
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?