计算器基础:计算机存储的层次结构

计算机存储的层次结构

由于不同介质的存储器读写效率、造价差异大,因此通常计算机会同时采用多种存储器。

一般来说,越是靠近CPU的存储器,所采用的的存储介质成本也越贵,对应的读写效率也越快,以至于存储容量也越小。这是效率和造价权衡的结果。

因此,计算机的存储结构最终达到了一个层次分化的结构。

计算机有哪些存储器?

计算机存储器通常包括:

  • 寄存器
    作为最靠近CPU的存储器,寄存器所采用材料的读写速度是最快的,对应的它的数量不可能会很多。

    • CPU中寄存器的数量通常在 几十到几百之间,每个寄存器可以用来存储一定字节的数据(32位CPU=4字节,64位CPU=8字节)

    • 寄存器的访问速度非常快,一般要求在 0.5 个CPU时钟周期内完成读写。

  • CPU Cache
    在CPU里,CPU-Cache分为3层:L1,L2,L3。其中,L1L2 每个CPU核心都有,L3 则为多个CPU核心共用。

    CPU Cache 用的是一种叫 SRAM(Static Random-Access Memory,静态随机存储器) 的芯片。

    • L1 高速缓存的访问速度几乎和寄存器一样快,通常只需要 2~4 个时钟周期,而大小在几十KB到几百KB不等。

    • L2 高速缓存位置比 L1 高速缓存距离CPU核心更远,大小也会更大些,通常大小在几百KB到几MB不等,访问速度则更慢,速度在 10~20 个时钟周期。

    • L3 位置比 L2 高速缓存距离CPU核心更远,大小也会更大些,通常大小在几MB到几十MB不等,速度相对也比较慢一些,访问速度在 20~60 个时钟周期。

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

    • 相比 SRAMDRAM 的密度更高,功耗更低,有更大的容量,而且造价比 SRAM 芯片便宜很多。

    • DRAM 的数据访问电路和刷新电路都比 SRAM 更复杂,所以访问的速度会更慢,内存速度大概在 200~300 个 时钟周期之间。

  • 硬盘
    硬盘 是持久化存储设备,同时也是一个 I/O 设备,断电后也不会丢失数据。通常硬盘有两种:SSD、HDD。

    • SSD:固体硬盘,内存的读写速度比 SSD 大概快 10~1000 倍。
    • HDD:机械硬盘,内存的速度比内存慢 10W 倍左右
CPU会从硬盘直接加载数据吗?

不会!每一种存储器设备只和它相邻的存储器设备打交道。
硬盘 中的数据会先加载到 内存,再从 内存 加载到 CPU Cache
同理,CPU写回数据时,也是先从 CPU Cache -> 内存 -> 硬盘

如何查看CPU Cache的大小?
# 查看 L1 Cache 「数据」缓存的容量大小
cat /sys/devices/system/cpu/cpu0/cache/index0/size

# 查看 L1 Cache 「指令」缓存的容量大小
cat /sys/devices/system/cpu/cpu0/cache/index1/size

# 查看 L2 Cache 的容量大小
cat /sys/devices/system/cpu/cpu0/cache/index1/size

# 查看 L3 Cache 的容量大小
cat /sys/devices/system/cpu/cpu0/cache/index1/size

参考:存储器的层次结构

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。