加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

鸿蒙内核源码分析

发布时间:2021-04-20 15:09:37 所属栏目:评论 来源:互联网
导读:设可以在没有CPU介入的情况下完成一定的工作,但某些情况下也需要CPU为其执行一定的工作。通过中断机制,在外设不需要CPU介入时,CPU可以执行其它任务,而当外设需要CPU时,将通过产生中断信号使CPU立即中断当前任务来响应中断请求。这样可以使CPU避免把大量

设可以在没有CPU介入的情况下完成一定的工作,但某些情况下也需要CPU为其执行一定的工作。通过中断机制,在外设不需要CPU介入时,CPU可以执行其它任务,而当外设需要CPU时,将通过产生中断信号使CPU立即中断当前任务来响应中断请求。这样可以使CPU避免把大量时间耗费在等待、查询外设状态的操作上,大大提高系统实时性以及执行效率。

中断相关的硬件介绍

与中断相关的硬件可以划分为 发起中断的源,当设备需要请求CPU时,产生一个中断信号,该信号连接至中断控制器。

 中断控制器 中断控制器是CPU众多外设中的一个,管理外设的外设,外设要使用CPU得先经过它仲裁, 它一方面接收其它外设中断引脚的输入,另一方面它会发出中断信号给CPU。所以可以通过对中断控制器编程来打开和关闭中断源、设置中断源的优先级和触发方式。说的是海公公有权屏蔽大臣们的折子,降低娘娘们被临幸的等级,让你们见不到咱皇上. 常用的中断控制器有VIC(Vector Interrupt Controller)和GIC(General Interrupt Controller)。在ARM Cortex-M系列中使用的中断控制器是NVIC(Nested Vector Interrupt Controller)。在ARM Cortex-A7中使用的中断控制器是GIC。

 CPU 中断控制器分发的中断源的请求给各个CPU,CPU收到请求便中断当前正在执行的任务,转而执行中断处理程序。 用二张图说明下三者的关系,能看出咱海公公的权利有中断源,即引起中断的事件或原因,或发出中断申请的来源. 可分为外部中断源和内部中断源两大类。

◊ 外部中断源是指由CPU的外部事件引发的中断。主要包括:

◊ 一般中、慢速外设,如键盘、打印机、鼠标等;

◊ 数据通道,如磁盘、数据采集装置、网络等;

◊ 实时时钟,如定时器定时已到,发中断申请;

◊ 故障源,如电源掉电、外设故障、存储器读出出错以及越限报警等事件。

● 内部中断源是指由CPU的内部事件(异常)引发的中断,主要包括:

◊ 由CPU执行中断指令INT n引起的中断;

◊ 由CPU的某些运算错误引起的中断,如除数为0或商数超过了寄存器所能表达的范围、溢出等;

◊ 为调试程序设置的中断,如单步中断、断点中断;

◊ 由特殊操作引起的异常,如存储器越限、缺页等。

◊ 核间中断,比如cpu a 让 cpu b 停止工作,产生调度等等.

这些都是想找咱皇上办事的人.

中断类型

把中断源划分为三种中断类型

● PPI:私有外设中断(Private Peripheral Interrupt),是每个CPU私有的中断。最多支持16个PPI中断,硬件中断号从ID16~ID31。PPI通常会送达到指定的CPU上,应用场景有CPU本地时钟。 类似于皇上自己的一些私事,不方便说的,比如大明湖畔的夏雨荷来了.

● SGI:软件触发中断(Software Generated Interrupt)通常用于多核间通讯,最多支持16个SGI中断,硬件中断号从ID0~ID15。SGI通常在内核中被用作核间中断(inter-processor interrupts),信号会送达到系统指定的CPU上. 主要用于多个皇上(CPU)并存的情况,皇上们直接约一起玩.

● SPI:公用外设中断(Shared Peripheral Interrupt),最多可以支持988个外设中断,硬件中断号从ID32~ID1019。 属于外部公事,这种事比较多,比如无法预测的吴三桂同志突然造反了,黄河决堤了等等,所以排号也多,除了前面两种其他的都属于这类的.

中断请求

“紧急事件”需向CPU提出申请(发一个电脉冲信号),要求CPU暂停当前执行的任务,转而处理该“紧急事件”,这一申请过程称为中断请求,这个申请必须经过中断控制器仲裁.

找皇上办事的人先写报告走流程,要求都要经过咱海公公处过滤.

中断触发


(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读