lic*_*nbo 3 operating-system exception interrupt segmentation-fault
我们知道内存中的页面缺失会带来页面错误,页面处理程序必须将页面加载到物理内存中。这里我想知道缓存未命中是否也是系统故障?如果不是,内存故障和缓存故障有什么区别?多谢。
“缓存故障”是指处理器的 L1/L2/L3 缓存中的缓存未命中吗?如果是这样,那么不会,它不会产生故障,至少在我听说过的每个处理器架构上是这样。
原因是页面错误需要软件干预来决定访问是否无效、访问是否是换出到磁盘的页面等。相反,根据定义,高速缓存未命中可以由处理器处理本身 - 因为它没有导致页面错误,所以数据必须已经存储在主内存或较低级别的缓存中,处理器可以直接访问它们。处理器会机械地将正在访问的内存地址从虚拟地址转换为物理地址,然后向较低级别的缓存或主内存请求数据。
同样的想法也适用于同时多处理器,其中一个高速缓存行可能会被一个对其进行写入的核心无效,即使另一个核心将其存储在高速缓存中。处理器定义自己的一致性协议,以确保不会读取过时的副本,通常是通过强制具有无效缓存线的核心从较低级别的缓存中刷新它,或者要求它监视共享写入总线,其中所有处理器都可以看到正在写入的值。
| 归档时间: |
|
| 查看次数: |
2367 次 |
| 最近记录: |