首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >arm处理器中的外部中止

问arm处理器中的外部中止
EN

Stack Overflow用户
提问于 2015-10-23 14:23:09
回答 1查看 1.2K关注 0票数 3

什么是arm处理器上典型的外部中止?

它与正常的数据中止和预取中止有什么不同?

它如何通知应用程序外部中止?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-23 15:18:26

通常ARM处理器伴随着协处理器,它的协处理器之一是cp15,它充当一个MMU。

如果存在MMU无法找到任何页面或遇到翻译错误的虚拟地址,则称为数据或预取中止取决于各自的路径(I缓存或D缓存)。

http://infocenter.arm.com/help/index.jsptopic=/com.arm.doc.ddi0438d/BABFFDFD.html

假设您遇到这样一个虚拟地址,该虚拟地址在映射中具有有效的物理地址,但物理地址本身无效(或者该地址属于安全世界,即信任区域),在这种情况下,系统总线将生成一个中止,因为它将无法解码物理地址。

简单地说,所有不会被MMU检测到的中止都被称为外部中止,并且应用程序将被SIGBUS信号所通知。

什么是arm处理器上典型的外部中止?

典型的外部中止是与硬件相关的。用户进程通常不可能造成这种情况。典型的原因是不允许时钟到SOC模块和/或初始化依赖的SOC块(总线配置、引脚复用等)。在访问受保护的内存(即从正常世界获得安全内存)时,TrustZone也会发生这种情况。

它与正常的数据中止和预取中止有什么不同?

正常的数据中止和预取正在使用未由MMU映射的内存。将映射外部中止,但当CPU运行总线周期时,物理地址的外围设备不会响应(或将错误发送回CPU)。

它如何通知应用程序外部中止?

由于外部中止意味着一些外部(也称为硬件),通常情况下,应用程序将获得外部中止。应用程序不应直接处理硬件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33304717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档