当前位置: 首页 > 知识库问答 >
问题:

cpu如何感知硬件中断?

公羊雅达
2023-03-14

维基百科,

中断是硬件或软件向处理器发出的信号,指示需要立即注意的事件。中断向处理器发出高优先级警报,要求中断处理器正在执行的当前代码。处理器通过暂停其当前活动、保存其状态并执行一个称为中断处理程序(或中断服务例程,ISR)的函数来响应,以处理事件。

上面写着硬件控制器通知cpu。我搞不清楚通知的过程。

cpu在哪里看到中断的存在?程序计数器指针是否被覆盖?cpu如何决定停止当前任务的执行?cpu处理当前任务时,中断信号存储在哪里?

共有1个答案

穆飞龙
2023-03-14

硬件中断通常在当前正在执行的CPU指令结束时起作用,并且通过实际的硬件信号向CPU发出信号-中断请求引脚/线在CPU上被拉高/拉低。执行中断确认硬件循环,而不是执行下一条指令,下一条指令的内部是特定于体系结构的,以便确定开始执行中断处理程序的哪个代码地址。中断的代码PC必须保存在某个地方,并且可能会触发内存保护环更改。它本质上是一个全硬件操作,但由软件预先配置。您应该查阅CPU和中断控制器用户手册,了解中断机制的全部细节,并查阅操作系统的初始化/配置。

 类似资料:
  • 1. 光线传感器(板载)光线强度 报告指定光线传感器检测到的光线强度。 示例: 按下空格键,板载光线传感器检测到的光线强度会显示在 mBot 的外接表情面板。 2. 超声波传感器(接口3)距离 cm 报告指定超声波传感器检测到的障碍物距离(cm)。 示例: 按下空格键,接口3连接的超声波传感器检测到的障碍物距离会显示在 mBot 的外接表情面板。 3. 巡线传感器(接口2)读数 报告指定巡线传感器

  • 该部分 API 将帮助您使用光环上的各类传感器的状态值,包含按钮、麦克风、加速度计、陀螺仪以及四个触摸点。 省略代码中的halocode 注意:该部分 API 省略了“halocode.”,本篇提及的所有 API 均省略了“halocode.” ,如 led_driver.off( )实际为halocode.led_driver.off()。mBuild 电子模块平台的所有功能均维护在haloco

  • 小程 小奔 – 颜色红外传感器 1. 按钮()被按下? 如果小程指定的按钮被按下,报告条件成立。按钮包含A、B、C三个选项,默认为按钮A。 示例: 小程启动后,如果按钮A被按下,屏幕显示“Yes”,否则显示“No”。 2. 小程接入小奔? 如果小程与小奔组合在一起,报告条件成立。 示例: 小程启动后,如果小程与小奔组合在一起,屏幕显示“Yes”,否则显示“No”。 3. 齿轮电位器读数 报告小程齿

  • 一个操作系统必须和作为它的基础的硬件系统紧密配合。操作系统需要使用一些只有硬件才能提供的功能。为了完整的了解 Linux ,你需要了解底层硬件的基础知识。本章对于现代 PC 的硬件进行了。 1975 年 1 月“ Popular Electronics ”杂志封面上印出了 Altair 8080 的图片,一场革命开始了。 Altair 8080 ,跟随早期的“ Star Trek epsode ”

  • 问题内容: 我正在尝试从的值中减去一个日期值,以计算某物是多久以前的。但它抱怨: 该值似乎不是“时区感知”的,而我的其他日期值是。我如何获得时区感知的值? 现在,这给了我当地时间,正好是PST,即UTC-8个小时。最坏的情况是,有没有一种方法可以手动将时区值输入返回的对象并将其设置为UTC-8? 当然,理想的解决方案是自动知道时区。 问题答案: 在标准库中,没有跨平台的方法来创建感知时区而不创建自

  • 我有一个在Android驱动的设备中使用的传感器列表。请帮我按“基于硬件的传感器”和“基于软件的传感器”对这个列表进行排序。 GPS传感器 环境温度传感器 未校准旋转矢量传感器 地磁旋转矢量传感器 重力传感器 陀螺仪传感器 未校准陀螺仪传感器 光传感器 线性加速度传感器 磁场传感器 未校准磁场传感器 压力传感器 接近传感器 相对湿度传感器 旋转矢量传感器 有效运动触发传感器 步进计数器传感器 步进