存储器的层次结构

本文介绍了计算机存储的层次结构,从最快的寄存器和CPUCache(包括L1、L2、L3缓存)到内存(DRAM)和慢速存储如SSD及HDD硬盘。不同层级的存储器速度和容量各异,L1Cache通常分为数据和指令缓存,而L3Cache是多核心共享。DRAM需要定时刷新以保持数据,硬盘(HDD)的访问速度远低于内存(SSD)。
摘要由CSDN通过智能技术生成

硬件结构

2.2 磁盘

存储器的层次结构

CPU Cache 通常会分为=== L1、L2、L3== 三层,其中 L1 Cache 通常分成「数据缓存」和「指令缓存」

  • 寄存器;
  • CPU Cache;
    • L1-Cache;
    • L2-Cache;
    • L3-Cahce;
  • 内存;
  • SSD/HDD 硬盘
寄存器

寄存器的数量通常在几十到几百之间,每个寄存器可以用来存储一定的字节(byte)的数据。比如:

  • 32 位 CPU 中大多数寄存器可以存储 4 个字节;
  • 64 位 CPU 中大多数寄存器可以存储 8 个字节。
CPU Cache

CPU Cache 用的是一种叫 SRAM(Static Random-Access Memory,静态随机存储器) 的芯片,只要有电,数据就可以保持存在,而一旦断电,数据就会丢失了。

在 SRAM 里面,一个 bit 的数据,通常需要 6 个晶体管,所以 SRAM 的存储密度不高。
在这里插入图片描述
L1 高速缓存

每个 CPU 核心都有一块属于自己的 L1 高速缓存,指令和数据在 L1 是分开存放的,所以 L1 高速缓存通常分成指令缓存和数据缓存。

查看 CPU 里的 L1 Cache 「数据」缓存的容量大小:

$ cat /sys/devices/system/cpu/cpu0/cache/index0/size
32K

而查看 L1 Cache 「指令」缓存的容量大小,则是:

$ cat /sys/devices/system/cpu/cpu0/cache/index1/size
32K

L2 高速缓存
通常大小在几百 KB 到几 MB 不等,访问速度则更慢,速度在 10~20 个时钟周期。

在 Linux 系统,我们可以通过这条命令,查看 CPU 里的 L2 Cache 的容量大小:

$ cat /sys/devices/system/cpu/cpu0/cache/index2/size
256K

L3 高速缓存
L3 高速缓存通常是多个 CPU 核心共用的,通常大小在几 MB 到几十 MB 不等,访问速度相对也比较慢一些,访问速度在 20~60个时钟周期。

$ cat /sys/devices/system/cpu/cpu0/cache/index3/size 
3072K
内存

使用的是一种叫作DRAM (Dynamic Random Access Memory,动态随机存取存储器) 的芯片。

DRAM 存储一个 bit 数据,只需要一个晶体管和一个电容就能存储,但是因为数据会被存储在电容里,电容会不断漏电,所以需要「定时刷新」电容,才能保证数据不会被丢失。内存速度大概在 200~300 个 时钟周期之间。

SSD/HDD 硬盘

SSD(Solid-state disk) 就是我们常说的固体硬盘,结构和内存类似。

机械硬盘(Hard Disk Drive, HDD),它是通过物理读写的方式来访问数据的,因此它访问速度是非常慢的,它的速度比内存慢 10W 倍左右。

存储器的层次关系

在这里插入图片描述
在这里插入图片描述

存储器之间的实际价格和性能差距

在这里插入图片描述

总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值