当前位置: 首页 > article >正文

计组-层次化存储结构

这里主要看存储的整体结构,cache,内存

这里看存储结构是按什么样的层次来划分存储结构,速度由慢到快,容量由大到小,这是基于性价比的考虑,所以分为多级多层次,可以做到提高速度的同时没有增加多少成本

在整个存储结构中,速度最快效率最高的,是CPU里面的运算器控制器里面相应的寄存器,但其容量极小,如果容量大则成本很高

下来是Cache,即高速缓存存储器

下面看这之中是怎么工作的,如从内存到CPU

这中间的Cache不是必须的步骤,拿掉Cache可以一样运行,因为CPU的相关数据可以直接跟内存做交换,但就是它比加上Cache的情况要慢上百倍

所以加上Cache,其里面的数据是以K(兆),M(千兆)等为单位

而内存里面的数据单位是G,现在我们常看到的都是8G,12G,16G等

首先Cache里面的所有内容都是来自内存的,所以Cache里面存的是主存的一部分(量很少)内容,从二者的数据单位差也可以看到

之所以加上Cache的速度能提高成百上千倍是因为有局部性原理的存在

局部性原理:就是指在程序运行过程中,如果是在执行某条指令,刚刚执行完这条指令后很可能要再次执行,即它会频繁不断的执行相同块里面的内容,这种刚刚用完立刻再用称为时间局部性

例如,循环结构就具有这种特性,比如循环体里面要执行100万次,而循环上面的语句和循环下面的语句,也就是初始化语句和输出结果的语句,往往都只执行一次

这时把中间循环体的语句放入到Cache中去,此时CPU和Cache就会频繁的交互,即不需要CPU和内存进行交互了,这样的话速度就极大的提升了

同理,内存与外存之间也有类似的情况,需要运行的东西也会先从外存转到内存

Cache还有一个显著特色是,按内容存取,指我们存信息时,会考虑这个信息的内容,不同的内容存到不同的区域,要读取某个信息出来时,通过信息的内容一算,就知道信息它在哪个块中

这种按内容存取的存储器又叫作相联存储器,其速度效率会远高于普通的按地址的存储方式


http://www.kler.cn/a/374885.html

相关文章:

  • 【云原生】云原生后端:网络架构详解
  • 每个开发人员都应该了解的 10 个基本前端工具
  • 使用 Git 命令将本地项目上传到 GitLab
  • 计算机毕业设计——ssm基于WEB的养老院数据信息管理系统设计与实现演示录像2021
  • LC:贪心题解
  • 【设计模式】如何用C++实现依赖倒置
  • uniapp+vite配置环境变量
  • Docker | 将本地项目发布到阿里云的实现流程
  • 第3关:命题逻辑推理
  • TQ15EG开发板教程:fmcomms8两片ADRV9009同步采集测试
  • SpringBoot后端开发常用工具详细介绍——flyway数据库版本控制工具
  • MyBatisPlus 中 LambdaQueryWrapper使用
  • ffmpeg+vue2
  • C++STL详解(九)map和set的使用
  • 探索高效办公新利器 ——ONLYOFFICE
  • TON 区块链开发的深入概述#TON链开发#DAPP开发#交易平台#NFT#Gamefi链游
  • django校园兼职系统-计算机毕业设计源码95561
  • 启明创投与七牛云坚定看好云计算发展前景
  • Java爬虫:如何优雅地从1688获取商品详情
  • 供应商图纸外发:如何做到既安全又高效?
  • 每日算法一练:剑指offer——数组篇(6)
  • 不适合的学习方法
  • SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式
  • 开源AI智能名片2+1链动模式S2B2C商城小程序领域的未来探索
  • Rust 力扣 - 238. 除自身以外数组的乘积
  • 支持向量机背后的数学奥秘