历史上的今天
返回首页

历史上的今天

今天是:2024年11月03日(星期日)

2021年11月03日 | ARM64平台下WFE和SEV相关指令解析

2021-11-03 来源:eefocus

WFE

等待事件(Wait For Event)指令。


ARM架构下,有一个全局的事件寄存器(Event Register),系统中的每一个CPU核在这个寄存器上都有对应的位。


当当前CPU执行WFE指令的时候,如果事件寄存器对应当前CPU的位没有被设置(也就是0),则当前CPU核会进入低功耗模式,会被挂起,不会再执行其它操作;而如果事件寄存器对应当前CPU的位被设置了(也就是1),则会将事件寄存器对应当前CPU的位清空(设置成0),然后立即返回,继续执行下面的指令,不会进入低功耗模式。


如果当前CPU核通过WFE指令进入了低功耗模式,那么只有在如下情况下才可能被重新唤醒:


发生了IRQ中断(前提是没有被屏蔽);

发生了FIQ中断(前提是没有被屏蔽);

发生了SError中断(前提是没有被屏蔽);

事件寄存器对应当前CPU核的位被置位(设置成1),如果是通过这种方式唤醒的,唤醒后会立即将事件寄存器对应当前CPU核的位清0。

注意,WFE指令到底让CPU核干什么,其实是没有具体定义的,只要不让内存丢失数据就行。所以,其可以只是一条空(NOP)指令,或者像绝大多数Arm核心设计的那样,可以进入低功耗状态。但是,如果实现了WFE指令将当前CPU核切换到低功耗模式,那就一定要实现后面说的SEV指令,否则该CPU核有可能会一直不被唤醒。


在Arm架构下,Linux内核的自旋锁就使用到了WFE指令。


WFI

等待中断(Wait For Interrupt)指令。


和前面说的WFE指令不同,执行WFI指令后,当前CPU核会立即进入低功耗状态。


如果当前CPU核通过WFI指令进入了低功耗模式,那么只有在如下情况下才可能被重新唤醒:


发生了IRQ中断(不管有没有被屏蔽);

发生了FIQ中断(不管有没有被屏蔽);

发生了SError中断(不管有没有被屏蔽)。

SEV

发送事件(Send Event)指令。


这条指令将想系统中的所有CPU核发送事件。对应系统中的每个CPU核,设置事件寄存器(Event Register)相应的位。如果某个CPU核正在等待事件(WFE),那么该CPU核会被立即唤醒,并清除掉表示该CPU的事件寄存器相应的位。


SEVL

发送本地事件(Send Event Locally)指令。


不同于前面说的SEV指令,这条指令只会向当前CPU核心发送。如果是多核CPU那也只向当前核心,不会向CPU内的其它核心发送。


值得注意的是,这条指令只有在支持ARMv8指令集之后的处理器中才有效。


其它

从前面的分析可以看出来,可以通过SEVL指令来设置事件寄存器对应当前CPU核的位,可以通过SEV指令来设置事件寄存器对应所有CPU核的位,可以通过WFE指令来清空事件寄存器对应当前CPU核的位。


在ARMv8指令集中,还添加了一种情况,用来发送事件。当全局监视器标记的对某段内存的独占访问被清空后,将向所有标记了对该段内存独占访问的CPU核都发送事件。也就是说,当系统在多个CPU核上,通过LDREX或者LDXR指令读取某段内存后,系统全局监视器会将该段内存标记为独占(Exclusive),这之后又调用了WFE指令进入低功耗模式了。当系统中又有一个CPU,通过STREX或者STXR指令对该段内存进行了写入,这将清空全局监视器对该段内存的独占标记为,那么系统会自动给前面那些CPU核发送事件,将它们唤醒。

推荐阅读

史海拾趣

Alcatel-Lucent公司的发展小趣事
  1. Alcatel-Lucent 的起源可以追溯到 19 世纪末的法国。1880 年,一家名为 Compagnie Générale d'Électricité (CGE) 的公司在法国成立,主要从事电信和电气设备的制造和销售。这家公司后来成为了 Alcatel-Lucent 的前身之一。

  2. 20 世纪初,CGE 开始涉足电信领域,并开始在法国和国际市场上发展。该公司逐渐成为了一家领先的电信设备制造商,并参与了许多重要的电信基础设施项目。

  3. 2006 年,法国的 Alcatel 和美国的 Lucent Technologies 公司宣布合并,成立了 Alcatel-Lucent 公司。这次合并创造了一个综合性的电信设备制造商,覆盖了通信网络、软件和服务等多个领域。

  4. 合并后,Alcatel-Lucent 成为了全球领先的电信设备供应商之一,为全球各地的电信运营商提供了广泛的产品和解决方案,包括固定和移动网络、光纤通信、宽带接入和数据中心等领域。

  5. 在成立后的几年里,Alcatel-Lucent 继续推出创新的产品和技术,包括下一代移动通信技术 LTE、IP/MPLS 网络和云计算解决方案等,为数字化时代的通信基础设施发展做出了重要贡献。

Ampex Data Systems Group公司的发展小趣事

Ampex Data Systems Group 是一家在电子行业中知名的公司,专注于提供数据存储和处理解决方案。以下是关于Ampex Data Systems Group 公司发展的五个相关故事:

  1. 创立与早期发展:Ampex Data Systems Group 公司成立于20世纪50年代,总部位于美国加利福尼亚州的雷迪伍德城。公司最初致力于开发和制造磁带录音机和磁带存储设备,为音频和视频录制领域提供解决方案。在成立初期,Ampex Data Systems Group 通过技术创新和产品质量赢得了客户的信任和市场认可。

  2. 技术创新与产品多样化:随着数据存储和处理技术的发展,Ampex Data Systems Group 不断进行技术创新,扩展产品线。公司推出了一系列新型数据存储和处理设备,包括磁带驱动器、磁盘阵列、数据记录器等。这些产品具有高性能、高可靠性和大容量的特点,适用于航空航天、国防、能源和科学研究等领域。

  3. 政府合同与军事应用:Ampex Data Systems Group 与政府机构和军事部门建立了紧密的合作关系,为其提供定制化的数据存储和处理解决方案。公司参与了许多重要的国防项目,如雷达系统、导航系统、侦察系统等。Ampex Data Systems Group 的产品被广泛应用于军事通信、情报收集和战术分析等领域,为国家安全和国防事业做出了贡献。

  4. 国际市场拓展与合作伙伴关系:除了在美国市场的成功,Ampex Data Systems Group 还积极拓展国际市场,并与全球各种行业领先企业建立了合作伙伴关系。公司在欧洲、亚洲和其他地区设立了销售办事处和合作伙伴网络,扩大了产品的市场份额和影响力。Ampex Data Systems Group 通过与国际合作伙伴的合作,共同推动了技术创新和产品发展。

  5. 持续发展与市场竞争力:Ampex Data Systems Group 持续致力于技术创新和产品研发,以保持在电子行业的竞争力。公司不断投入资金和人力资源,加强研发能力,提升产品性能和品质。同时,Ampex Data Systems Group 还注重市场营销和客户服务,与客户保持密切沟通,满足其需求,并持续改进产品和服务,以适应市场变化和客户需求。

这些故事展示了Ampex Data Systems Group 从成立初期到如今在技术创新、产品多样化、政府合同与军事应用、国际市场拓展与合作伙伴关系以及持续发展与市场竞争力等方面取得的重要进展。

ETA Electric Industry Co Ltd公司的发展小趣事

在二十世纪末,ETA Electric Industry Co Ltd还只是一个小型的电子设备制造商,专注于生产简单的电子元器件。当时,公司的创始人李先生看到了电子行业快速发展的潜力,并决定投身于这一行业。最初,公司面临着资金紧张、技术落后、市场竞争加剧等诸多挑战。然而,李先生凭借其敏锐的市场洞察力和不懈的努力,逐渐打开了市场局面。他们通过与小型科技企业合作,为其提供定制化的电子元器件,逐渐在市场上站稳了脚跟。

G24 Innovations公司的发展小趣事

进入21世纪第二个十年,电子行业迎来了前所未有的变革。新技术、新产品的不断涌现,给传统企业带来了巨大挑战。远阳公司敏锐地意识到这一点,迅速启动了转型升级战略。公司加大了对新技术、新工艺的研发投入,不断提升产品的技术含量和附加值。同时,远阳还积极探索智能制造、绿色生产等新模式,推动企业向高质量发展迈进。这一系列的举措,使远阳在激烈的市场竞争中保持了领先地位。

C-TON Industries公司的发展小趣事

在电子行业中,产品质量的稳定性是企业生存的关键。C-TON深知这一点,因此从公司成立之初就高度重视品质管理。公司建立了一套严格的质量检测体系,确保每一件产品都符合高标准的质量要求。此外,C-TON还不断引进先进的生产设备和技术,提升生产效率和产品质量。这些努力使得C-TON的产品在市场上获得了良好的口碑,也为其赢得了众多忠实客户。

Capital Advanced Technologies公司的发展小趣事

面对未来电子行业的发展趋势和市场变化,CAT制定了明确的发展战略和布局。公司将继续加大研发投入,推动技术创新和产业升级;同时,积极拓展新的应用领域和市场空间,寻求与更多合作伙伴的共赢发展。此外,CAT还将注重人才培养和团队建设,为公司的长远发展提供坚实的人才保障。

通过以上五个故事,我们可以看到Capital Advanced Technologies公司在电子行业里发展起来的艰辛与辉煌。他们凭借技术创新、市场拓展、品质管理和战略布局等方面的不断努力,逐渐成为了电子行业的领军企业。

问答坊 | AI 解惑

EPM7128SLC84-15

本帖最后由 paulhyde 于 2014-9-15 09:14 编辑 EPM7128SLC84-15  …

查看全部问答>

at+cipstart="tcp","210.153.49.2","80" ERROR 请问是怎么回事?

AT+CGATT=1 OK AT+CGDCONT=1,\"IP\",\"CMWAP\" OK AT+CGACT=1,1 OK AT+CGPADDR=1 +CGPADDR: 1,\"10.177.14.204\" OK AT+CGDATA=1 CONNECT 115200 ~ }#?}!}!} }6}!}$}%軁\"}&} } } } }\'}\"}(}\"}#}$?&磣~ }#?}!}!} }6}!}$}%軁\"}&} } } ...…

查看全部问答>

求教:Wince如何创建透明窗口?

RT~~~~~请问透明窗口如何创建?…

查看全部问答>

是否有命令解码的芯片,请教?

在做一个MP3时,音频解码芯片可以解码存放在闪存上的mp3音频文件并播放,我想请教一下,是否可以不将命令程序烧录到单片机上,而是向这个mp3一样,将控制硬件的命令程序,做成一个文本文件或是16进制文件,像放到u盘上一样,将程序通过usb接口放到 ...…

查看全部问答>

mc39i 连线问题

我用 mc39i modem 其中31管脚 /pd 发现总是在0.24v--2.24v波动,该管脚为 0v是给modem断电。 我把这个管脚的控制端用6n137 隔离,输入1 断电,输入0 不断电。总是出现  rascs_disconnected ecode 633,上网查为 拨号网络网络由于设备 ...…

查看全部问答>

买ARM9,送单片机开发板!

飞凌嵌入式’全新ARM9学习套件,功能强大的OK2440-IV开发板仅售598元!另加36元获赠一块单片机学习板,希望能帮助大家从零开始学习嵌入式高端技术! http://www.helloarm.com/Samsung/48.htm…

查看全部问答>

有没有研究SIP/G729语音通信的,一起交流一下

有没有研究SIP/G729语音通信的,一起交流一下…

查看全部问答>