x86架构中的外部中断结构

编程入门 行业动态 更新时间:2024-10-07 15:20:39

x86<a href=https://www.elefans.com/category/jswz/34/1771112.html style=架构中的外部中断结构"/>

x86架构中的外部中断结构

Python微信订餐小程序课程视频

Python实战量化交易理财系统


      本文主要讲解了x****86体系架构从外部设备接受中断的过程,本文是系列文章的第一部分,试图回答以下问题:

  • 什么是PIC以及它的用途是什么?
  • 什么是APIC以及它的用途是什么?LAPIC和I/O APIC的目的是什么?
  • APIC,xAPIC以及x2APIC之间的区别在哪儿?
  • 什么是MSI? MSI以及MSI-X之间的存在哪些区别?
  • $PIR, MPtable, 和 ACPI tables的用途是什么?

如果你想知道上述问题的答案,或者仅仅想简单了解一下中断控制器的发展过程,耐心看完本文,你一定会有收获。

原文地址:

本文是翻译的国外大佬的文章,根据自己的理解稍加修改了语序,由于自己也在学习阶段,翻译难免有纰漏,如果感觉有些地方读不懂,建议可以去看看原文,并向我提出翻译修改的建议,谢谢。

《External Interrupts in the x86 system. Part 1. Interrupt controller evolution》

Introduction

对于那些不了解中断(interrupt)是啥的同学,这里引用Wikipedia的内容进行简单的介绍:

在系统编程中,中断是由硬件或软件向CPU(处理器)发出的一种信号,提示CPU需要立即处理一些高优先级任务。 中断提醒CPU注意高优先级任务,同时停止CPU当前正在执行的代码。 随后CPU暂停当前运行的代码、保存程序状态、转而去执行一个中断处理程序(或中断服务程序,ISR)来响应中断事件。 中断是暂时的,在中断处理程序完成后,处理器恢复到之前运行的代码。

中断一般分为两类:硬件中断和软件中断。

  • 硬件中断:外设一般使用硬件中断向操作系统传递自身需要运行的信号,在计算机内部,外部设备通过向处理器发送电子警报信号实现硬件中断,例如磁盘控制器,或者外部设备,当按下键盘上的键或移动鼠标时会触发硬件中断,从而使处理器读取按键值或鼠标位置。启动硬件中断的行为被称为中断请求(IRQ)。
  • 软件中断:软件中断是由处理器本身的异常,或者是指令集中特殊指令在执行时引起的中断。 前者通常称为陷阱(trap)或异常(exception),用于处理程序执行期间发生的错误或事件,这些错误或事件无法在程序内处理。 例如,数字除以零,会引发除零异常,由此产生软件中断。

本文主要讲解的是硬件中断****IRQ。

中断的目的是什么? 举个例子,在网卡传输数据包的过程中,我们希望数据包到达后立即对来自网卡的传入数据包执行操作,而不是cpu连续询问网卡«我的数据包到达了吗?»,轮询方式会浪费cpu处理的时间,在这个案例之下可以使用外部硬件中断 IRQ,

更多推荐

x86架构中的外部中断结构

本文发布于:2024-02-07 09:47:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755934.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:架构   结构

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!