在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的特点。
对于exception有synchronous和asynchronous两种,它们的区分如下:
Synchronous exception types有:
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有:
其中physical SError interrupt经常用于memory system里external aborts的asynchronous错误。
文章来源:谷公子
推荐阅读
- Systemverilog覆盖率的合并和计算方式
- PCIe 6.0:在有损HVM通道中使用PAM4实现64GT/s的挑战
- Wi-R 一种全新的通信方式,让你的身体充当媒介!芯片已推出!
- 科普:DDR
- 用于探测中微子的超低温(液氩)ADC设计
更多IC设计技术干货请关注IC设计技术专栏。
迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。