• 1.9 - Cache


    一、Cache-高速缓存

    1、Cache的位置

    • 在主存和CPU之间;

    2、Cache出现的原因

    • 为了突破 冯诺依曼体系的瓶颈;
    • CPU速度很快,而存储器主存的速度比CPU慢很多;如果用 冯诺依曼体系的话,CPU的性能很难得到充分的发挥;
    • 所以设计出了多级存储中的 高速缓存,放在主存和CPU之间;有利于CPU发挥其性能;

    二、Cache的组成

    1、控制部分+高速缓存=Cache
    2、 控制部分:负责控制信息;比如负责地址映射等相关的一些功能;
    3、 高速缓存:负责相关数据的一些存储;
    4、 Cache之所以可以突破冯诺依曼的瓶颈,主要是因为利用了计算机程序在运行时候的 一些局部性原理,有效的提高了CPU的性能;
    • 举例理解:
    • 例如一个for循环语句,循环运行1000次;在运行for循环的这段时间中,只会影响自身的程序,其他的程序是不受影响的,这就是执行时的局部性原理;利用计算机执行时的局部性原理,有效的提高了相关的执行效率;
    • 就是说计算机刚执行、访问过的地方的数据,接下来这个刚访问的数据的访问效率会比较高;刚访问过的空间,接下来再访问时的效率会比较高,这就是计算机的局部性原理;

    三、计算机执行指令的过程

    1、当CPU在运行的过程中需要数据的时候,会发出指令;这个指令会同时到Cache和主存;
    2、如果CPU需要的数据在高速缓存中有(这个过程称为命中),如果高速缓存被命中了,就会把数据返回给CPU;因为告诉缓存的效率比主存快很多,所以CPU就会很快的获得所需数据,接着执行下面的程序;
    3、如果CPU发出需要数据的指令后,高速缓存中没有所需数据,也就是没有命中,这是就只能是主存将数据返回给CPU了;
    4、主存在将数据返回给CPU的过程中,会同时将数据在高速缓存中保留一份;这样CPU在下一次有需要访问相同数据时,就能直接从高速缓存中拿到所需的数据,这就提高了CPU的执行效率;

    四、考法1:Cache的原理

  • 相关阅读:
    【华为机试真题 JAVA】执行时长-100
    HCIE Routing&Switching之MPLS静态LSP配置
    物联网-平台云服务安全设计
    机器学习期中考试
    uniapp - 电商优购项目
    vue输入框只限制输入小写字母以及数字正则
    1.12反向传播误差到更多层
    群辉NAS:ARPL引导黑群晖DSM 7.2详细教程
    数学建模Matlab之评价类方法
    20_ue4进阶末日生存游戏开发[AI基础框架搭建]
  • 原文地址:https://blog.csdn.net/qq_46071165/article/details/125513320