C++_计算机的存储系统,SRAM,DRAM,Cache缓存

本文介绍了计算机的存储系统,包括寄存器、SRAM、DRAM、Cache缓存和磁盘存储。重点讨论了SRAM和DRAM的区别,以及Cache的工作原理、局部性原理和不同级别的存储层次。缓存命中和未命中的处理方式以及CPU的读写操作也进行了详细阐述。最后提到了Intel i7处理器的存储层次结构。
摘要由CSDN通过智能技术生成

存储器

  • L0: register寄存器
    如果程序需要的数据, 存储在寄存器中, 那么执行就可以直接访问到数据
  • L1-3: cache缓存 sram: static random access memory 需要(4 - 75)个时钟周期
    cache缓存, 位于: cpu处理器的内部
  • L4: 内存 dram: dynamic ram 需要 几百个 时钟周期
  • L5: 本地磁盘 local secondary storage
  • L6: 远程(分布式文件系统, 网络服务器)

RAM

random access memory 随机访问存储器, 分为2种: (sram静态) (dram动态)

无论是 SRAM, 还是 DRAM, 都需要在 有电的前提下, 才可以存储数据; (只不过, SRAM存储数据稳定, DRAM不稳定)

SRAM

s: static, 就通俗理解为: 稳定的

sram将每个bit位的信息, 存储在 一个 (双稳态的) 存储单元里 (所谓: 双稳态, 可以理解为, 他很稳定)
一个存储单位, 由 6个 晶体管组成

只要有电, sram就可以 (稳定的) (持久的) 存储着数据

SRAM的速度要比DRAM快, 价格也更贵; CPU里的cache, 就是使用的SRAM

Cache

CPU芯片里, 使用了 大量的 基于SRAM的 高速缓存存储器Cache

Cache的产生, 是源于: 程序的局部性特点

程序的局部性

  • (时间局部性): 访问某一内存单元后, 在不久未来, 还会继续访问他
  • (空间局部性): 访问某一内存单元后,在不久未来, 还会继续访问 他附近的内存单元

DRAM

d: dynamic, 就通俗理解为: 不稳定的, 易变的

DRAM存储数据的原理是: 电容充电; 一个存储单元, 由 (一个电容) 和 (一个晶体管) 组成

与SRAM不同, DRAM对干扰 非常敏感, 当电容的电压 被影响后, 就无法恢复到正常的状态

DRAM会 不停的(100ms内) 漏电, 因此, 内存系统 需要不断的 读出内存的数据, 然后, 重新写入, 来刷新内存的每一个bit位
只有通过 不断的刷新(数据读出, 再写入), 才能保持数据
不过, 因为CPU的时钟周期, 是以 ns纳秒为单位的; 所以, 相对于ms, 时间还是很充分的

内存, 使用的是: DRAM


物理结构

DRAM是一个 二维阵列, 比如他有16个单元, 即一个4 * 4的阵列;
然后, 每一个单元, 有y个bit位; 即这是一个(16 * y)的 DRAM;
然后, DRAM还有 一个长度为4的 一维数组cache (即4个单元), 一会说他的作用.

内存控制器memory controller, 有x个地址引脚 指向DRAM; (x = log2( 4) 即x个bit, 可以表示 4(行=列数))
DRAM有y个 数据引脚 指向了 内存控制器;
一个引脚, 即一个bit位

当内存控制器, 要取 (2行, 1列)的单元:

  • x个地址引脚, 值设置为2; 然后 DRAM的第2行的 4个单元, 就放到了 (上面讲的 cache一维数组里)
  • 然后x个地址引脚, 值设置为1; 然后 cache里的 第1列的 1个单元, 就输出y个 数据引脚里.

比如, 一个(16 * 8)的DRAM, 为什么设置为 二维, 而不是1维呢?

  • 二维: (4 * 4)的阵列; 则, 地址引脚 使用2log2( 4)个, 就可以了;
    但, 由于需要cache, 时间确实有损耗
  • 一维: (16)的数组, 则, 地址引脚 需要使用 4log2( 16)

Disk

磁盘, 有2种: (机械磁盘) 和 (固态硬盘)

机械磁盘

他是依靠 盘片来存储数据的, 盘片的表面 涂有 磁性的 可以存储信息的材料

盘片的上下两层都可以存储数据, 轴会带着 所有的盘片, 高速的旋转; 就和以前的光盘一样;

所以, 他命名为:

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值