一、什么是缓存

一台电脑有两种内存
一种是动态随机存储器,它是在RAM( ram是芯片的运行内存)模块中使用的DRAM(Dynamic RAM),使用电容器来存储数据的内存需要动态地被电流刷新才能存储数据
另一种是CPU中使用叫做SRAM(Static RAM) 静态随机存储器

二、CPU缓存

2.1 什么是CPU缓存

CPU缓存:CPU缓存是位于CPU与内存之间的临时数据交换器,它的容量比内存小的多但是交换速度却比内存要快得多。

2.2 CPU缓存出现的原因

缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。

综上所述,CPU缓存出现的原因大概分为以下几点:

1.CPU速度比主存快很多倍,CPU瓶颈在存取数据;

2.SRAM比DRAM速度快,但太贵;

3.少量SRAM做Cache就能大幅提升性能;

2.3 CPU的缓存大小是什么

缓存大小是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是从CPU芯片面积和成本的因素来考虑,缓存都很小。

按照数据读取顺序和与CPU结合的紧密程度,CPU缓存可以分为一级缓存,二级缓存,部分高端CPU还具有三级缓存,每一级缓存中所储存的全部数据都是下一级缓存的一部分,这三种缓存的技术难度和制造成本是相对递减的,所以其容量也是相对递增的。当CPU要读取一个数据时,首先从一级缓存中查找,如果没有找到再从二级缓存中查找,如果还是没有就从三级缓存或内存中查找。一般来说,每级缓存的命中率大概都在80%左右,也就是说全部数据量的80%都可以在一级缓存中找到,只剩下20%的总数据量才需要从二级缓存、三级缓存或内存中读取,由此可见一级缓存是整个CPU缓存架构中最为重要的部分。

2.4 一级缓存、二级缓存、三级缓存

2.4.1 什么是一级缓存

一级缓存(Level 1 Cache)简称L1 Cache,位于CPU内核的旁边,是与CPU结合最为紧密的CPU缓存,也是历史上最早出现的CPU缓存。由于一级缓存的技术难度和制造成本最高,提高容量所带来的技术难度增加和成本增加非常大,所带来的性能提升却不明显,性价比很低,而且现有的一级缓存的命中率已经很高,所以一级缓存是所有缓存中容量最小的,比二级缓存要小得多。

一般来说,一级缓存可以分为一级数据缓存(Data Cache,D-Cache)和一级指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据以及对执行这些数据的指令进行即时解码。大多数CPU的一级数据缓存和一级指令缓存具有相同的容量,例如AMD的Athlon XP就具有64KB的一级数据缓存和64KB的一级指令缓存,其一级缓存就以64KB 64KB来表示,其余的CPU的一级缓存表示方法以此类推。

2.4.2 什么是二级缓存

L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是4MB,而服务器和工作站上用CPU的L2高速缓存普遍大于4MB,有的高达8MB或者19MB。

2.4.3 什么是三级缓存

三级缓存是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。

2.5 各种缓存在CPU中的位置

一级缓存与二级缓存属于他们自己的CPU内核,
三级缓存也叫共享缓存,因为它的内存在所有CPU核心间共享

计算机硬件基础-----CPU缓存相关推荐

  1. 计算机硬件基础-CPU

    计算机硬件基础-CPU 提示:计算机硬件基础入门必知-CPU 文章目录 计算机硬件基础-CPU 前言 一.基础内容? 1.CPU制作过程 2.CPU原理 3.CPU基本组成 3.1CPU基本组成元素 ...

  2. 计算机硬件基础-----CPU超线程

    一.超线程 1.1 什么是线程 首先举个例子:CPU中渲染流水线相似,流水线都会处理大量的图形渲染,每一条流水线可以同时并行处理任务.cpu线程就相似于CPU的流水线,每一线程处理多个程序. cpu的 ...

  3. 计算机硬件基础-笔记

    1.python是什么? Python是一门编程语言 2.什么是编程语言?(*****) 只要是语言,那语言的本质都一样:语言是一种事物与另外一种事物沟通的介质 编程语言是程序员与计算机沟通的介质 3 ...

  4. 计算机硬件知识哪里学,计算机硬件基础知识 计算机硬件是由哪几部分组成的...

    在学习计算机的时候,自然就要对计算机的软硬件要了解,今天小编想要说的就是计算机硬件的相关知识,而重点所要说的就是计算机硬件的组成部分以及工作原理,有兴趣的朋友快来看一看吧. 计算机硬件基础知识--计算 ...

  5. 并发编程-02并发基础CPU多级缓存和Java内存模型JMM

    文章目录 CPU多级缓存 CPU多级缓存概述 CPU 多级缓存-缓存一致性协议MESI CPU 多级缓存-乱序执行优化-重排序 JAVA内存模型 (JMM) 计算机硬件架构简易图示 JAVA内存模型与 ...

  6. BUAA(2021秋)计算机硬件基础(软件学院计组)P4——用Logisim实现流水线CPU(含测试数据供自测)

    计算机硬件基础(软件学院计组)P4--用Logisim实现流水线CPU 目录 计算机硬件基础(软件学院计组)P4--用Logisim实现流水线CPU 实验内容 实验要求 提交要求 题解 前言及其预备知 ...

  7. 计算机中央处理器相关知识,软考程序员考点计算机硬件基础知识之中央处理器CPU...

    下面希赛小编为大家整理的软考程序员考点计算机硬件基础知识之中央处理器CPU,希望能帮助学友们.具体内容如下: 中央处理器 中央处理器(CPU,Central Processing Unit)是一块超大 ...

  8. 基于JVM原理、JMM模型和CPU缓存模型深入理解Java并发编程

    许多以Java多线程开发为主题的技术书籍,都会把对Java虚拟机和Java内存模型的讲解,作为讲授Java并发编程开发的主要内容,有的还深入到计算机系统的内存.CPU.缓存等予以说明.实际上,在实际的 ...

  9. 软考网络管理员学习笔记1之第一章计算机硬件基础

    第一章.计算机硬件基础 1.进制间的转换 [考法分析] 本考点的基本考法是求二进制数.十进制数.八进制数及十六进制数之间的互转 [要点分析] 进制间互转一般是无符号的数 三位二进制的数可以转换成一个八 ...

最新文章

  1. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传
  2. LINUX进程调度分析源码,Linux 实时调度(源码分析)
  3. pycharm 导入或复制项目后run按钮灰色问题(显示pycharm add configuration)
  4. 南通大学16级软嵌班软件工程课程成绩汇总
  5. Java线程:线程的调度-优先级
  6. CodeForces - 817D Imbalanced Array(单调栈)
  7. 推荐30个新鲜出炉的精美 jQuery 效果
  8. 【记录】CentOS 安装 gitlab社区版
  9. 硬币最小数量java
  10. TensorFlow下载与安装
  11. 如何才能不改变图片的像素大小,只改变图片的文件大小
  12. 评价神经网络性能的指标,神经网络是参数模型吗
  13. 资讯类App主流框架(一)
  14. 线程池大小如何确定?
  15. diy机器人图片 手绘纸箱_环保手工制作大全:手绘纸箱机器人
  16. 前端 HTML5 Svg 画板(支持视频、图片上涂鸦,支持缩放、修改、颜色、复选...)
  17. 5个没有提到过的网络游戏植入案例
  18. 企业网站搭建的流程及方法
  19. 加 xjjdog0 好友,朋友圈送大红包!
  20. 什么是shell?怎么编写脚本?怎么调用脚本?

热门文章

  1. webpack4打包实战
  2. iphone获取当前系统的语言
  3. 快速实现Spring定时任务
  4. INTER CPU I7 就一定比 i5好吗?(记录)
  5. Golang的GUI探讨:不要在一棵树上吊死,要在多棵树上
  6. python多线程效率低_Python 多进程、多线程效率比较
  7. 如何对wps流程图进行重命名,如何对wps流程图进行重命名,wps进入修订模式,wps怎么在尾部加公式标号英文论文格式要求及字体大小
  8. 互联网晚报 | 06月16日 星期四 | ​优酷会员涨价;微信朋友圈广告可直达天猫店;爱奇艺否认百度出售其股份...
  9. lesson5-基础IO
  10. 被商家追捧的砍价活动,对商家真的有好处吗?