常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 1
2014-06-05 21:22
441 查看
当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内存控制器检测到外设的非法访问)
那么L1D内存控制器是怎么检测到CPU访问空指针或reserved地址的呢? 见"常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 2"
这样当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内存控制器检测到外设的非法访问)
那么L1D内存控制器是怎么检测到CPU访问空指针或reserved地址的呢? 见"常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 2"
相关文章推荐
- 常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 2
- 常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 举例2
- 常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 举例1
- 常见的CPU訪问引起的内存保护问题为什么仅仅用event_122上报 - 举例2
- TI C66x DSP 四种内存保护问题 -之- 针对CPU访问外存(DDR3 or MSM)时的内存保护问题 - 举例
- TI C66x DSP 四种内存保护问题 -之- 针对CPU访问外存(DDR3 or MSM)时的内存保护问题
- TI C66x DSP 四种内存保护问题 -之- CPU访问corePac内部资源时的内存保护问题
- TI C66x DSP 四种内存保护问题 -之- 针对CPU訪问外存(DDR3 or MSM)时的内存保护问题 - 举例
- iOS下CLLocationManager多次定位引起内存访问错误的问题解决
- 内存问题引起的常见故障
- TI C66x DSP 四种内存保护问题 -之- 外设访问corePac内部资源时的内存保护问题
- TI C66x DSP 四种内存保护问题 -之- CPU訪问corePac内部资源时的内存保护问题
- 为什么在保护模式下IA-32处理器最高可访问4GB的内存
- 内存混插常见问题和解决方法
- 解决w3wp.exe占用内存和CPU的问题(2003系统)
- 主板前端总线与CPU总线/内存频率问题 3者的关系
- Windows中svchost.exe的CPU及内存占用率超高的问题另解
- 解决w3wp.exe CPU 内存占用问题
- 常见的Windows网上邻居访问问题汇集
- 内存混插常见问题和解决方法