1、高速缓存至关重要 

刚开始,我们编译好的可执行程序是存放在磁盘上的,当程序加载时,它们被复制到主存,当处理器(CPU)运行程序时,指令又从主存复制到处理器。从程序员的角度来看,这些复制就是开销,减慢了程序“真正”的工作。因此,系统设计者的一个主要目标就是使这些复制操作尽可能快地完成。

根据机械原理,较大的存储设备要比较小的存储设备运行得慢,而快速设备的造价远高于同类的低速设备。比如说,一个典型系统上的磁盘驱动器可能比主存大1000 倍,但是对处理器而言,从磁盘驱动器上读取一个字的时间开销要比从主存中读取的开销大1000 万倍。类似地,一个典型的寄存器文件(指CPU里面的寄存器)只存储几百字节的信息,而主存里可存放几十亿字节。然而,处理器从寄存器文件中读数据比从主存中读取几乎要快100 倍。更麻烦的是,随着这些年半导体技术的进步,这种处理器与主存之间的差距还在持续增大。加快处理器的运行速度比加快主存的运行速度要容易和便宜得多。

针对这种处理器与主存之间的差异,系统设计者采用了更小更快的存储设备,称为高速缓存存储器(cache memory, 简称为cache 或高速缓存),作为暂时的集结区域,存放处理器近期可能会需要的信息。

如下图展示了一个典型系统中的高速缓存存储器。位于处理器芯片上的Ll 高速缓存的容量可以达到数万字节,访问速度几乎和访问寄存器文件一样快。一个容量为数十万到数百万字节的更大的L2 高速缓存通过一条特殊的总线连接到处理器。进程访问L2 高速缓存的时间要比访问Ll 高速缓存的时间长5 倍,但是这仍然比访问主存的时间快5~10 倍。Ll 和L2 高速缓存是用一种叫做静态随机访问存储器(SRAM)的硬件技术实现的。比较新的、处理能力更强大的系统甚至有三级高速缓存: Ll 、L2 和L3 。系统可以获得一个很大的存储器,同时访问速度也很快,原因是利用了高速缓存的局部性原理,即程序具有访问局部区域里的数据和代码的趋势。通过让高速缓存里存放可能经常访问的数据,大部分的内存操作都能在快速的高速缓存中完成。

2、存储设备层次结构

在处理器和一个较大较慢的设备(例如主存)之间插入一个更小更快的存储设备(例如高速缓存)的想法已经成为一个普遍的观念。每个计算机系统中的存储设备都被组织成了一个存储器层次结构,在这个层次结构中,从上至下,设备的访问速度越来越慢、容最越来越大,并且每字节的造价也越来越便宜,寄存器文件在层次结构中位于最顶部,也就是第0 级或记为L0。

存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。因此,寄存器文件就是Ll 的高速缓存, Ll 是L2 的高速缓存, L2 是L3 的高速缓存, L3 是主存的高速缓存,而主存又是磁盘的高速缓存。在某些具有分布式文件系统的网络系统中,本地磁盘就是存储在其他系统中磁盘上的数据的高速缓存。

高速缓存(L1、L2、L3三级缓存)相关推荐

  1. L1,L2,L3三级缓存

  2. CUP 三级缓存L1 L2 L3 cahe详解

    一   三级缓存(L1.L2.L3)是什么? 以近代CPU的视角来说,三级缓存(包括L1一级缓存.L2二级缓存.L3三级缓存)都是集成在CPU内的缓存,它们的作用都是作为CPU与主内存之间的高速数据缓 ...

  3. 什么是L1/L2/L3 Cache?

    什么是L1/L2/L3 Cache? Cache Memory也被称为Cache,是存储器子系统的组成部分,存放着程序经常使用的指令和数据,这就是Cache的传统定义.从广义的角度上看,Cache是快 ...

  4. CPU缓存L1/L2/L3工作原理

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 小麦大叔 来源 | 公众号「朱小厮的博客」 一 ...

  5. cache 是什么意思 它包括的L1,L2,L3分别是什么东西

    CPU缓存 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘.实际工作时,CPU往往需 ...

  6. cache 是什么意思 它包括的L1,L2,L3分别是什么东西?

    CPU缓存 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘.实际工作时,CPU往往需 ...

  7. CCCC 天梯赛 PTA ZOJ 题目 L1 L2 L3

    PTA 天梯赛题目整理 L2 难点 **L2-001 紧急救援** **L2-002 链表去重** **L2-003 月饼** **L2-004 这是二叉搜索树吗** **L2-005 集合相似度** ...

  8. CPU缓存L1,L2和L3是什么?如何工作?

    本文介绍了CPU的L1,L2,L3缓存以及工作原理: 文章目录 1 前言 2 什么是CPU缓存? 3 CPU缓存如何工作? 4 缓存级别:`L1`,`L2`和`L3` 5 缓存命中或未命中以及延迟 6 ...

  9. 深入理解操作系统(16)第六章:存储器层次结构(2)高速缓存存储器+对程序性能的影响(包括:L1/L2高速缓存历史/缓存写:直写和写回/暂无L4级缓存/缓存命中率/存储器山/高速缓存友好的代码/)

    深入理解操作系统(16)第六章:存储器层次结构(2)高速缓存存储器+对程序性能的影响(包括:L1/L2高速缓存历史/缓存写:直写和写回/暂无L4级缓存/缓存命中率/存储器山/高速缓存友好的代码/) 1 ...

最新文章

  1. Android分辨率适配layout布局的问题
  2. 使用Sysmon和Splunk探测网络环境中横向渗透
  3. Delphi组件开发-在窗体标题栏添加按钮
  4. Linux下进程间通信概述
  5. 一步步教你轻松学K-means聚类算法
  6. 你真的了解 CDC 吗?
  7. C语言中数组越界访问造成死循环现象
  8. 服务器端性能优化之CDN
  9. AIR:使用 HTML + Javascript 开发桌面应用
  10. mysql repair 索引_MySQ索引操作命令总结(创建、重建、查询和删除索引命令详解)...
  11. IE, FF, Safari前端开发常用调试工具(转载)
  12. Yii Framework2.0开发教程(8)输入验证
  13. KiB、MiB与KB、MB的区别
  14. 适合于图像处理方向的SCI期刊杂志列表【部分转载】
  15. 基于Html+Css+javascript的体育网站
  16. 【实战练习】汽油辛烷值优化建模(二)(问题一的详细讲解)
  17. 如何查看自己的数据库
  18. Redis系列教材 (四)- Jedis 教程
  19. Angular4 - 共享模块
  20. python学习教程2

热门文章

  1. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之汽车驾驶乘客自动报警
  2. 计算机网络必备基础知识
  3. Explainable deep learning models in medical image analysis【谷歌翻译】
  4. linux查看磁盘的inquery data
  5. SpringBoot整合支付宝之电脑网站支付
  6. Centos7安装部署zabbix监控软件
  7. 迷你钻石迷情for Smartphone
  8. C++进阶(应用篇)——第一章 多线程编程
  9. 二次元播放器php源码,Miko动漫视频网站整站源码+二次元动漫网源码+视频弹幕网+自带播放器数据下载...
  10. 基坑 matlab,基于目标函数MATLAB优化基坑降水的井群设计