《Armv8/armv9架构入门指南》-【第十一章】缓存cache

本文详细介绍了ARM架构中的缓存机制,包括缓存术语、缓存控制器、缓存策略、一致性和统一点,以及缓存维护。讨论了缓存的关联性、标签和物理地址、缓存行的有效性和脏位,以及缓存的读写策略。同时,解释了在多核系统中如何处理一致性问题,以及如何通过缓存维护指令来保持缓存与内存的一致性。
摘要由CSDN通过智能技术生成

11. 缓存cache

ARM架构最初开发时,处理器的时钟速度和内存的访问速度大致相似。今天的处理器内核要复杂得多,并且时钟频率可以提高几个数量级。然而,外部总线和存储设备的频率并没有达到同样的程度。可以实现能够以与内核相同的速度运行的片上 SRAM 小块,但与容量可以增加数千倍的标准 DRAM块相比,这种 RAM 非常昂贵。在许多基于 ARM 处理器的系统中,访问外部存储器需要数十甚至数百个内核周期。

高速缓存是位于核心内存和主内存之间的小而快的内存块。它在主存储器中保存项目的副本。对高速缓冲存储器的访问比对主存储器的访问要快得多。每当核心读取或写入特定地址时,它首先在缓存中查找它。如果它在缓存中找到地址,它会使用缓存中的数据,而不是执行对主存储器的访问。通过减少缓慢的外部存储器访问时间的影响,这显着提高了系统的潜在性能。通过避免驱动外部信号,它还降低了系统的功耗。

在这里插入图片描述

实现 ARMv8‑A 架构的处理器通常使用两级或多级缓存来实现。这通常意味着处理器的每个内核都有小型 L1 指令和数据缓存。 Cortex‑A53 和 Cortex‑A57 处理器通常使用两级或多级缓存实现,即小型 L1指令和数据缓存和更大的统一 L2 缓存,在集群中的多个内核之间共享。此外,可以有一个外部 L3 缓存作为外部硬件块,在集群之间共享。

将数据提供给缓存的初始访问并不比正常速度快。对缓存值的任何后续访问都会更快,而性能提升正是由此而来。核心硬件检查缓存中的所有指令获取和数据读取或写入,但您必须将内存的某些部分(例如包含外围设备的部分)标记为不可缓存。因为缓存只保存主内存的一个子集&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新程序圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值