Dskpimc? · 2023年03月02日 · 北京市

ARMv8 architecture里的Memory aborts

在AArch64 Virtual Memory System Architecture中,有以下几种机制会导致PE在访问memory失败时产生exceptions。

  • Debug exception: An exception caused by the debug configuration.
  • Alignment fault: An Alignment fault is generated if the address used for a memory access does not have the required alignment for the operation.
  • MMU fault: An MMU fault is a fault generated by the fault checking sequence for the current translation regime.
  • External abort: Any memory system fault other than a Debug exception, an Alignment fault, or an MMU fault.

这些机制统称为aborts。

当1笔access产生abort时,会使用Fault Address Registers (FARs)和Exception Syndrome Registers (ESRs)去记录context information,方便software debug。

以下列出了这些aborts的特点。
image.png
 对于exception有synchronous和asynchronous两种,它们的区分如下:
image.png
Synchronous exception types有: 
image.png

image.png
Instruction alignment fault应该报PC alignment fault exception。Data access alignment fault应该报Data Abort exception。SP misaligned fault报SP alignment fault exception。instruction fetch的aborts报instruction abort exceptions。

Asynchronous exception types有:
image.png
 其中physical SError interrupt经常用于memory system里external aborts的asynchronous错误。

文章来源:谷公子

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。
迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
19636
内容数
1303
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息