系列文章目录
第一章 ARM Cache学习与解读(一)
前言
cache缓存作为提升cpu与主存数据交互速度的桥梁,一直是一个特别重要的硬件。ARM官网中对Cache的介绍一直是我想学习的内容。
下述内容是查看的armv8-A的cache介绍,来源于arm官网的基础介绍
一、armv8处理器上的cache
- 应用armv8-A架构的处理器通常使用两级或两级以上的缓存。这意味着每个PE都有一个小的L1指令和数据缓存。Cortex-A53和Cortex-A57处理器通常使用两级或以上的缓存,即包含每个PE使用的小型的L1指令和数据缓存,集群中多个PE共享的大一些的统一L2缓存。此外,可以有一个L3缓存作为外部硬件块,在集群间共享。
- 向cache提供数据的初始访问速度并不比正常速度快。而后续对缓存值的访问则会更快,性能的提高正是由此产生的。
- 虽然核心硬件会检查cache中所有指令的获取和数据的读取或写入,但是必须将内存的某些部分(例如,包含外围设备的部分)标记为不可缓存。因为cache只保存主内存的一个子集,所以需要一种快速确定要查找的地址是否在cache中的方法。
- 有时,cache中的数据和指令与内存中的数据可能不相同&