码迷,mamicode.com
首页 > 其他好文 > 详细

常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 1

时间:2014-06-08 15:26:04      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:c   style   blog   a   http   ext   

当CPU访问某个地址,会首先将访问请求发给L1D内存控制器,如果在L1D cache或L1D SRAM(CPU直接访问L1D内存)中命中,则L1D内存控制器就向CPU直接返回访问内存,如果没有命中则需要L2内存控制器请求…

这样当CPU访问的地址是空地址(NULL)或者是DSP中reserved(DSP没有开放使用的内存地址)的地址,在L1D内存控制器中就会检测到CPU非法地址访问,就会通过L1D的内存保护event 122(0x7A)上报非法访问。

L1D内存控制器是最接近CPU的,所以一旦CPU请求的地址是0或者reserved地址,就在第一时间被L1D内存控制器发现,所以就不再需要进入L2内存控制器检查了,也没必要了。

CPU内存访问路径:CPU<---->L1D内存控制器<--->L2内存控制器<--->EMC/XMC(corePac模块)<--->MSMC

而event 122(L1D_CMPA)就是L1D内存控制器检测到CPU非法访问时,上报exception的event(event 123,即 L1D_DMPA是L1D内存控制器检测到外设的非法访问)

bubuko.com,布布扣

那么L1D内存控制器是怎么检测到CPU访问空指针或reserved地址的呢? 见"常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 2"

常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 1,布布扣,bubuko.com

常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 1

标签:c   style   blog   a   http   ext   

原文地址:http://blog.csdn.net/yiyeguzhou100/article/details/28685367

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!