问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

计算机存储器层次结构详解:从寄存器到硬盘

创作时间:
作者:
@小白创作中心

计算机存储器层次结构详解:从寄存器到硬盘

引用
CSDN
1.
https://blog.csdn.net/wang1664178416/article/details/140275662

计算机存储器的层次结构是一个复杂而精妙的系统,从最接近CPU的寄存器到最远离CPU的硬盘,每种存储设备都有其独特的性能特点和应用场景。本文将为您详细解析这一层次结构,帮助您理解不同存储设备的工作原理和相互关系。

在计算机系统中,存储器的层次结构可以比喻为一个图书馆。CPU就像是大脑,需要快速访问和处理数据。寄存器就像是大脑中正在思考的内容,处理速度最快但存储空间最小;CPU Cache就像是短期记忆,存储空间稍大但速度略慢;内存就像是书桌上的书籍,可以快速访问但存储空间有限;而硬盘就像是图书馆的书架,存储空间巨大但访问速度较慢。

寄存器

寄存器是最靠近CPU的存储器,使用最快的材料,因此价格也最贵。数量通常在几十到几百之间,每个寄存器可以存储一定字节的数据。例如,32位CPU中大多数寄存器可以存储4个字节,而64位CPU中大多数寄存器可以存储8个字节。寄存器的访问速度非常快,一般要求在半个CPU时钟周期内完成读写。

CPU Cache

CPU Cache使用的是SRAM(静态随机存储器)芯片。SRAM之所以叫“静态”存储器,是因为只要有电,数据就可以保持存在,一旦断电,数据就会丢失。在SRAM中,一个bit的数据通常需要6个晶体管,因此存储密度不高,但访问速度非常快。

CPU的高速缓存通常分为L1、L2、L3三层:

  • L1高速缓存:访问速度几乎和寄存器一样快,通常只需要2~4个时钟周期,大小在几十KB到几百KB不等。每个CPU核心都有一块属于自己的L1高速缓存,指令和数据在L1是分开存放的。

  • L2高速缓存:同样每个CPU核心都有,位置比L1高速缓存距离CPU核心更远,大小在几百KB到几MB不等,访问速度在10~20个时钟周期。

  • L3高速缓存:通常是多个CPU核心共用的,位置比L2高速缓存距离CPU核心更远,大小在几MB到几十MB不等,访问速度在20~60个时钟周期。

存储器的层次关系

现代计算机都用上了CPU Cache、内存、SSD或HDD硬盘等存储器设备。存储空间越大的存储器设备,其访问速度越慢,所需成本也相对越少。CPU并不会直接和每一种存储器设备直接打交道,而是每一种存储器设备只和它相邻的存储器设备打交道。

当CPU需要访问内存中某个数据的时候,会按照寄存器→L1→L2→L3→内存的顺序查找。如果在某一层级找到数据,就会直接使用,避免了更慢的存储设备的访问。

下面这张表格是不同层级的存储器之间的成本对比图:

存储器类型
访问延时
每MB成本
L1 Cache
1 纳秒
$100
内存
100 纳秒
$0.215
机械硬盘
10 毫秒
$0.00057

从表中可以看出,L1 Cache的访问延时是1纳秒,而内存已经是100纳秒了,相比L1 Cache速度慢了100倍。机械硬盘的访问延时更是高达10毫秒,相比L1 Cache速度慢了10000000倍,差了好几个数量级别。在价格上,每生成MB大小的L1 Cache相比内存贵了466倍,相比机械硬盘那更是贵了175000倍。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号