存储层次结构
CPU就像是计算机的大脑。我们思考的东西,就好比CPU中的寄存器(Register)。寄存器与其说是存储器,其实它更像是CPU本身的一部分,只能存放极其有限的信息,但是速度非常快,和CPU同步。
而我们大脑中的记忆,就好比CPU Cache(CPU高速缓存,我们常常称为”缓存“)。CPU Cache用的是一种叫做SRAM(Static Random-Access Memory,静态随机存取存储器)的芯片。
SRAM
SRAM之所以被称为”静态存储器“,是因为只要处在通电状态,里面的数据就可以保持存在。而一旦断电,里面的数据就会丢失了。在SRAM里面,一个比特的数据,需要6~8个晶体管。所以SRAM的存储密度不高。同样的物理空间下,能够存储的数据有限。不过,因为SRAM的电路简单,所以访问速度非常快。
在CPU中,通常有L1,L2,L3这样三层高速缓存。每个CPU核心都有一块属于自己的L1高速缓存,通常分成指令缓存和数据缓存,分开存放CPU使用的指令和数据。
L2的Cache同样是每个CPU核心都有的,不过它往往不在CPU核心的内部。所以,L2 Cache的访问速度会比L1稍微慢一些。而L3 Cache,则通常是多个CPU核心共用的,尺寸会更大些,访问速度自然也就更慢些。
数据从内存中加载到CPU的寄存器和Cache中,然后通过CPU,进行处理和运算。
DRAM
内存用的芯片和Cache有所不同,它用的是一种叫做DRAM(Dynamic Random Access Memory,动态随机存取存储器)的芯片,比起SRAM来说,它的密度更高,有更大的容量,而且它也比SRAM芯片便宜不少。
DRAM被称为”动态“存储器,是因为DRAM需要靠不断地刷新,才能保持数据被存储起来。DRAM的一个比特,只需要一个晶体管和一个电容就能存储。所以,DRAM在同样的物理空间下,能存储的数据也就更多,也就是存储的”密度“更大。但是,因为数据是存储在电容里的,电容会不断漏电,所以需要定时刷新充电,才能保持数据不丢失。DRAM的数据访问电路和刷新电路都比SRAM更复杂,所以访问延时也就更长。
存储层次结构

价格和性能

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了