当前位置: 首页 > news >正文

小白怎么做网站搬家教程软件外包行业

小白怎么做网站搬家教程,软件外包行业,做响应式网站,做婚庆网站文章目录概述中断与异常中断可屏蔽中断与不可屏蔽中断#xff08;NMI#xff09;异常异常分类中断与异常向量中断描述符表中断描述符中断与异常处理中断与异常处理过程堆栈切换错误码64位模式下的中断异常处理64位中断描述符64位处理器下的堆栈切换相关参考概述 中断是现代计… 文章目录概述中断与异常中断可屏蔽中断与不可屏蔽中断NMI异常异常分类中断与异常向量中断描述符表中断描述符中断与异常处理中断与异常处理过程堆栈切换错误码64位模式下的中断异常处理64位中断描述符64位处理器下的堆栈切换相关参考概述 中断是现代计算机普遍使用的一种机制主要用于通知系统中出现了某一个事件该事件需要处理器暂停当前的任务并进行处理。通常当收到中断时处理器会自动将当前正在执行的任务挂起并运行中断处理程序当处理器程序执行完毕后处理器恢复并继续执行之前被中断的任务。 中断与异常 Intel处理器提供了两种中断程序执行的机制分别称为中断和异常 中断中断发生在程序执行的任意时刻以响应硬件发出的信号。系统硬件使用中断来处理外部事件例如要求为外部设备提供服务异常异常发生在处理器执行一条指令时检测到一个出错条件例如被0除出错时发生。处理器能够检测到各种出错条件包括违反保护机制、页错误以及内存错误等。 由于中断是其它硬件信号按照处理器时钟信号随机产生的也称为异步中断而异常只有在一条指令终止执行后CPU才会发生中断也称为同步中断。 中断 Intel处理器接收的中断来自于以下两种方式 外部硬件产生中断外部中断通过处理器上的引脚INTR或NMI或本地APIC接收软件中断int n指令允许通过提供中断向量号作为指令操作数从软件内生成中断典型的用例就是linux的系统调用其通过指令int $0x80向用户程序提供访问系统服务的接口。 可屏蔽中断与不可屏蔽中断NMI 通过处理器INTR引脚或通过本地APIC传递给处理器的任何外部中断都称为可屏蔽硬件中断通过配置标志寄存器中IF标志可以实现对这类中断的屏蔽 当IF标志被设置时传送到INTR或通过本地APIC引脚的中断被处理为正常的外部中断当IF标志清除时处理器禁止传送到INTR引脚或通过本地APIC的中断产生内部中断请求。 而对于不可屏蔽中断NMI则不受标志寄存器中IF标志影响其通常来自于以下两种方式 外部硬件通过处理器NMI引脚发送的中断处理器通过系统总线或者APIC使用NMI模式传递的信息。 另外使用int n指令在软件中产生的中断也不能被EFLAGS寄存器中的IF标志屏蔽。 异常 Intel处理器接收的异常来自于以下三种方式 处理器检测到的程序错误异常处理器在操作系统或应用程序执行期间如果检测到程序错误就会生成一个或多个异常软件生成的异常INTO、INT 3和BOUND指令允许在软件中生成异常这些指令会检查指令执行过程中指定点的异常情况例如INT 3指令会导致生成断点异常机器检查异常当检测到机器检查错误时处理器会发出机器检查异常信号向量号18并返回错误码。 异常分类 根据异常被报告的方式以及触发异常的指令是否能够被重新执行而不会丢失任务的连续性异常可被细分成故障Fault、陷阱Trap和中止Abort FaultFault是通常可以被纠正的异常并且一旦被纠正程序就可以继续执行。当出现Fault时处理器将机器状态恢复到产生Fault的指令之前的状态而Fault处理程序的返回地址会指向产生Fault的指令而不是其后面一条指令因此返回后Fault指令会被重新执行TrapTrap是一种引起陷阱的指令被执行后会立即报告的异常。Trap允许继续执行任务或程序而不丢失连续性。Trap处理程序的返回地址指向产生Trap的指令后的下一条指令AbortAbort是一种不会总是报告导致Abort的指令确切位置的异常并且不允许导致异常的任务或程序重新继续执行。Abort用于报告严重错误例如硬件错误以及系统表中的不一致或非法值。 中断与异常向量 Intel处理器将每个需要被处理器进行特殊处理的异常和中断条件都赋予了一个标识号称为向量用于唯一索引中断描述符表IDT中的描述符表项。Intel处理器允许的向量号范围是0255其中031的向量号保留用作处理器定义的中断和异常32255的向量号用于用户定义的中断。下表给出了Intel处理器定义的中断和异常的向量分配 向量号助记符描述类型错误号触发源0#DE除法错误故障无DIV或IDIV指令1#DB调试异常故障/陷阱无指令、数据或IO断点单步调试等2–NMI中断中断无不可屏蔽外部中断3#BP断点陷阱无INT 3指令4#OF溢出陷阱无INTO指令5#BR越界故障无BOUND指令6#UD未定义操作码故障无UD2指令或保留的操作码7#NM设备不存在故障无浮点或WAIT/FWAIT指令8#DF双重错误异常终止有任何可产生异常、NMI或INTR的指令9–协处理器段越界保留故障无浮点指令10#TS无效的任务状态段TSS故障有任务切换或访问TSS11#NP不存在的段故障有加载段寄存器或访问系统段12#SS堆栈段错误故障有堆栈操作和SS寄存器加载13#GP一般保护错误故障有任何内存引用和其它保护检查14#PF页面错误故障有任何内存引用15–Intel保留NA无NA16#MFx87 FPU浮点错误故障无x87 FPU浮点或WAIT/FWAIT指令17#AC对齐检查故障有对内存中任何数据的引用18#MC机器检查异常终止无与CPU类型有关19#XFSIMD浮点异常故障无SSE和SSE2浮点指令20-31–Intel保留NANANA32-255–用户定义中断中断外部中断或者INT n指令 中断描述符表 中断描述符表IDT包含了一个中断描述符的数组每个中断描述符与特定的中断或异常向量对应并指定了相关的中断处理例程。IDT中最多可包含256个描述符处理器使用IDTR寄存器保存IDT表的位置。 中断描述符 中断描述符表包含3种类型的门描述符 任务门描述符任务门描述符格式与GDT和LDT中任务门的格式相同包含一个任务TSS段的选择符该任务用于处理中断和异常中断门描述符中断门描述符包含指向中断异常处理过程的指针中断触发时处理器跳转到对应的中断异常处理程序的入口并执行陷阱门描述符陷阱门描述符包含的信息与中断门相通唯一区别在于通过陷阱门执行中断异常处理程序不会操作标志寄存器中的IF标志。 Intel 32位处理器中定义的中断描述符格式如下 中断与异常处理 处理器对中断和异常处理过程的调用方法与使用Call指令调用程序过程的方法类似。当响应一个中断或异常时处理器使用中断或异常向量作为中断描述符表中的索引执行对应的中断异常处理程序或任务。 中断与异常处理过程 当处理器调用异常或中断处理程序时 如果处理程序程序将以低特权级执行则会发生堆栈切换。发生堆栈切换时 从当前执行任务的TSS中获取处理程序要使用的堆栈的段选择器和堆栈指针。在这个新堆栈上处理器推送中断过程的堆栈段选择器和堆栈指针。然后处理器将EFLAGS、CS和EIP寄存器的当前状态保存在新堆栈上见下图如果异常导致保存错误代码则将其推送到EIP值之后的新堆栈上。 如果处理程序程序将以与中断程序相同的权限级别执行 处理器将EFLAGS、CS和EIP寄存器的当前状态保存在当前堆栈上见下图如果异常导致保存错误代码则在EIP值之后将其推送到当前堆栈上。 堆栈切换 处理器在执行中断异常处理程序时在特权级不变和特权级发生改变的情况下堆栈切换过程如下 错误码 当异常条件与一个特定的段相关时处理器会把一个错误码压入到异常处理过程的堆栈上错误码的格式如下 错误码包含一个段选择符以及3个标志位其中3个标志位的作用如下 EXTExternal eventbit 0当设置时表示在程序外部事件的传递过程中发生异常IDTDescriptor locationbit 1当设置时表示错误码的索引部分引用IDT中一个门描述符当清除时表示索引指向GDT或LDT中的一个段描述符TIGDT/LDTbit 2仅在IT标志清除时有效。当设置时TI标志表示错误码的索引指向LDT中一个描述符当清除时则索引指向GDT中的描述符。 64位模式下的中断异常处理 64位模式下中断与异常处理过程和非64位模式类似差异点如下 IDT指向的所有中断处理程序入口地址使用64位中断堆栈推送的大小固定为64位处理器使用8字节零扩展存储。堆栈指针SS:RSP在中断时被无条件保存到新堆栈中。在传统模式中会基于当前特权级别CPL的变化处理过程不同如果CPL发生变化则新SS设置为NULLIRET行为变化有一种新的中断堆栈切换机制中断堆栈帧的对齐方式不同。 64位中断描述符 Intel 64位处理器下只定义了中断描述符和陷阱描述符对应格式描述如下 64位处理器下的堆栈切换 相关参考 《Linux内核完全注释》《Intel处理器手册》
http://www.w-s-a.com/news/595652/

相关文章:

  • 自适应网站做mip改造浏览器广告投放
  • 网站meta网页描述网站的推广费用
  • 偃师市住房和城乡建设局网站网站个人主页怎么做
  • 做网站要实名认证吗wordpress去掉仪表盘
  • 在哪做网站好Python建网站的步骤
  • 卢松松的网站办公室设计布局
  • 住房城乡建设干部学院网站织梦网站0day漏洞
  • 企业网站seo优帮云手机桌面布局设计软件
  • 无证做音频网站违法吗智能建站加盟电话
  • 鹿泉专业网站建设做网站为什么要建站点
  • 加强网站建设和维护工作新闻大全
  • 红鱼洞水库建设管理局网站左右左布局网站建设
  • 手机网站建设地址做网站公
  • 贵州建设厅网站首页网络公司除了做网站
  • 运动鞋建设网站前的市场分析wordpress 搜索框代码
  • app开发网站开发教程平台网站开发的税率
  • 百度网站优化排名加强服务保障满足群众急需i
  • 宁夏建设职业技术学院网站安徽网站优化建设
  • 四川关于工程建设网站硬盘做网站空间
  • 桂林网站制作培训学校外包seo公司
  • 莱州网站建设方案北京装修公司口碑
  • 大型网站建设济南兴田德润团队怎么样韩国女足出线了吗
  • 南通做网站找谁重庆网络推广网站推广
  • ps网站主页按钮怎么做怎样做网站的用户分析
  • 哪个网站做黑色星期五订酒店活动公司网络营销推广软件
  • 岳阳新网网站建设有限公司网页设计基础考试题目
  • 辽宁响应式网站费用海外平台有哪些
  • 杨凌规划建设局网站网站后台建设怎么进入
  • 有赞商城网站建设企业管理咨询是做什么的
  • 提供衡水网站建设中国石化工程建设有限公司邮政编码