首页 > 其他分享 >Cache(高速缓冲存储器)的基本概念和原理

Cache(高速缓冲存储器)的基本概念和原理

时间:2024-09-24 18:47:57浏览次数:9  
标签:主存 Cache 基本概念 访问 原理 局部性 CPU 高速缓冲存储器

目录

一、Cache基本概述

1.Cache :

2.局部性原理

二、Cache性能分析:


一、Cache基本概述

CPU的读取指令速度很快,主存的速度很慢,如果快速的CPU每一次都从主存读取数据,会被主存拖累,降低执行效率。

Cache:解决主存和CPU速度不匹配问题 

1.Cache :

      Cache会将CPU经常访问的数据复制一份,由于Cache的读写速度更快,CPU可以直接从Cache当中直接读取相应的数据指令。现在的计算机Cache通常被集成到CPU的内部,使用SRAM实现,提升速度的同时增加了成本。正因为SRAM的集成度很低,在芯片的大小做的不能太大的情况下,导致在一定大小上我们的Cache存储容量不会很大,会远小于主存。那怎样使CPU能从存储容量如此小的Cache中读到相应的数据呢?

2.局部性原理

Cache(高速缓存)的工作原理正是基于局部性原理。Cache位于CPU和主存之间,容量小但速度快,用于存储当前最活跃的程序和数据。当CPU需要访问数据时,会首先检查Cache中是否存在该数据。如果Cache中命中(即数据存在),则CPU可以直接从Cache中读取数据,从而大大缩短访问时间;如果Cache中未命中(即数据不存在),则CPU需要从主存中读取数据,并将其加载到Cache中。

Cache的局部性原理主要包括时间局部性原理和空间局部性原理两个方面。

① 时间局部性原理

时间局部性原理指的是,如果一个数据项正在被访问,那么在近期它很可能会被再次访问。这意味着在相邻的时间里,CPU很可能会重复访问同一个数据项。这种原理是基于程序执行的连续性,即程序在执行过程中,会多次访问同一数据或执行同一段代码。(参考for循环)

② 空间局部性原理

空间局部性原理则是指,在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的。换句话说,CPU在访问某个存储单元时,其附近的存储单元也很可能会被访问。这种原理是基于程序和数据在存储空间上的布局特点,即程序和数据往往以连续或接近连续的方式存储在内存中。

二、Cache性能分析:

tc:为访问一次Cache所需时间 

tm:访问一次主存所需要时间

命中率H:CPU欲访问的信息已在Cache中的比率
缺失(未命中)率M=1-H
Cache-主存系统的平均访问时间t为

t1 = Htc+(1-H)(tc+ tm) (先访问cache,未命中后再访问主存)或者

t2 = Htc+(1-H)tm(同时访问Cache和主存,若Cache存在立刻停止访问主存)

由此可见使用t2这种方式访问效率更高

标签:主存,Cache,基本概念,访问,原理,局部性,CPU,高速缓冲存储器
From: https://blog.csdn.net/2202_76092587/article/details/142489769

相关文章

  • AI大模型推理性能优化之KV Cache
    前言本篇介绍KVCache。KVCache(键-值缓存)是一种在大模型推理中广泛应用的优化技术,其核心思想是利用缓存key和value来避免重复计算,从而提高推理效率。代价是显存占用会增加。核心思想在自注意力层的计算中,对于给定的输入序列,模型会计算每个token的key和value向量。这些向量的值......
  • 2025秋招NLP算法面试真题(二十)-有监督微调基本概念
    1.基本概念1.微调方法是啥?如何微调?微调(Fine-tuning)是一种迁移学习的方法,用于在一个预训练模型的基础上,通过在特定任务的数据上进行有监督训练,来适应该任务的要求并提高模型性能。微调利用了预训练模型在大规模通用数据上学习到的语言知识和表示能力,将其迁移到特定任务上。......
  • RocketMQ 基本概念
    RocketMQ的由来随着使⽤中队列和虚拟主题的增加,阿⾥巴巴团队使⽤的ActiveMQIO模块达到了瓶颈。为了尽⼒通过节流、断路器或降级来解决这个问题,但效果不佳。所以开始关注当时流⾏的消息传递解决⽅案Kafka。不幸的是,Kafka⽆法满⾜要求(在这么多消息队列中间,kafka......
  • 第三章-(六)高速缓冲存储器(Cache)
    1.Cache基本原理基本概念1.1程序访问的局部性原理空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息基于局部性原理,不难想到,可以把CPU目前访问的地址“周围”......
  • [20240920]跟踪library cache lock library cache pin使用gdb.txt
    [20240920]跟踪librarycachelocklibrarycachepin使用gdb.txt--//前一阵子,写的使用gdb跟踪librarycachelocklibrarycachepin的脚本有一个小问题,无法获得lockaddress以及pinaddress--//地址,有一点点小缺陷,尝试修改完善看看。--//按照https://nenadnoveljic.com/blog/tr......
  • 【车载开发系列】APQP基本概念
    【车载开发系列】APQP基本概念【车载开发系列】APQP基本概念【车载开发系列】APQP基本概念一.APQP基本概念二.APQP的特点三.APQP的要点四.APQP背后的哲学1)1-10-100法则—事前控制优于事后控制2)PDCA—持续改善五.APQP成功的关键1)第一类2)第二类3)第三类六.与PPAP的......
  • 了解 React Cache 功能
    随着react生态系统的不断扩大,优化数据获取的更强大的工具之一就是缓存功能。此内置功能允许您执行许多操作,例如有效管理和存储服务器数据、减少冗余网络请求以及提高整体应用程序性能。在本文中,我们将了解react中的缓存功能、它的好处以及如何使用它。什么是react缓存功......
  • Spring Cache的使用
    一、简介1.SpringCache是Spring提供的一个缓存框架,在Spring3.1版本开始支持将缓存添加到现有的spring应用程序中,在4.1开始,缓存已支持JSR-107注释和更多自定义的选项。1.SpringCache利用了**AOP**,实现了基于注解的缓存功能,并且进行了合理的抽象,业务代码不用关心底层是使用......
  • 【理论篇】数据挖掘 第六章 挖掘频繁模式、关联和相关性:基本概念和方法(上)
    说明:文章为《数据挖掘:概念与技术原书第03版》的学习笔记,该书是数据挖掘领域的经典之作,想了解更多内容请参阅原著。一、频繁模式基本概念        模式:通常指的是数据中的一种规律、趋势或特征,可以是单一的特征、属性,也可以是多个特征之间的关系或组合;      ......
  • php8:开启opcache和JIT(php 8.3.9)
    一,配置文件中的项:opcache.enable=1opcache.enable_cli=0opcache.memory_consumption=128opcache.max_accelerated_files=10000opcache.revalidate_freq=240opcache.save_comments=0opcache.error_log=/data/logs/phplogs/opache_error.logopcache.enable=1    #......