junlon2006 / linux-c

computer system & Linux
Apache License 2.0
1 stars 1 forks source link

CPU Cache #89

Open junlon2006 opened 4 years ago

junlon2006 commented 4 years ago

SRAM 之所以被称为“静态”存储器,是因为只要处在通电状态,里面的数据就可以保持存在。而一旦断电,里面的数据就会丢失了。在 SRAM 里面,一个比特的数据,需要 6~8 个晶体管。所以 SRAM 的存储密度不高。同样的物理空间下,能够存储的数据有限。不过,因为 SRAM 的电路简单,所以访问速度非常快。

image

junlon2006 commented 4 years ago

image

junlon2006 commented 4 years ago

DRAM内存用的芯片和 Cache 有所不同,它用的是一种叫作 DRAM(Dynamic Random Access Memory,动态随机存取存储器)的芯片,比起 SRAM 来说,它的密度更高,有更大的容量,而且它也比 SRAM 芯片便宜不少。DRAM 被称为“动态”存储器,是因为 DRAM 需要靠不断地“刷新”,才能保持数据被存储起来。DRAM 的一个比特,只需要一个晶体管和一个电容就能存储。所以,DRAM 在同样的物理空间下,能够存储的数据也就更多,也就是存储的“密度”更大。但是,因为数据是存储在电容里的,电容会不断漏电,所以需要定时刷新充电,才能保持数据不丢失。DRAM 的数据访问电路和刷新电路都比 SRAM 更复杂,所以访问延时也就更长。

junlon2006 commented 4 years ago

CPU L1 ~ L3 Cache非常昂贵,约几十美元,与8G + 128T SSD价格相近

junlon2006 commented 3 years ago

L1/L2/L3/TLB: https://zhuanlan.zhihu.com/p/31875174