内存保护单元(MPU)的深入解析与配置
1. 缓存单元与共享性分组
在系统中,缓存单元能够依据内存保护单元(MPU)中定义的内存属性,正确处理数据传输。在具有多个总线主控器的系统里,总线主控器会被划分为不同的共享性组。总线事务中的共享性属性会被用于判断缓存单元是否需要处理数据传输的一致性管理。
1.1 共享性管理方案
- 非共享性(Non - shareable) :当CPU #1更新非共享区域的数据时,系统中的其他总线主控器并不一定能观察到这些更新。这种方式的好处是能实现更高的性能,但如果在某个阶段其他总线主控器需要访问这些数据,就需要进行软件操作,比如清理缓存。
- 内部共享性(Inner - shareable) :当CPU #1更新内部共享区域的数据时,只有同一内部共享性组中的其他总线主控器才能观察到这些更新。不在同一组的总线主控器可能无法看到更新后的数据。例如,一些Arm Cortex - A处理器支持集群配置和多核处理器之间的缓存一致性,这使得处理器之间共享数据更加容易。不过,为了处理一致性,缓存硬件中的窥探控制单元(SCU)可能会在某些总线事务中引入小的延迟。
- 外部共享性(Outer - shareable) :部分系统包含其他总线主控器,并且可能有一个共享的二级缓存,以允许处理器和其他总线主控器在某些内存区域具有一致的视图。通过这种设置,上述处理器和总线主控器可以轻松使用这些区域共享数据。当一个内存区域被定义为外部共享时,它同时也是内部共享的。
超级会员免费看
订阅专栏 解锁全文
1937

被折叠的 条评论
为什么被折叠?



