存储器的金字塔结构

咱们来聊聊存储器这个金字塔的结构,就是从CPU到RAM这一系列东西,这每一层速度不一样,成本也不一样。顶端的那个东西速度最快,但是容量很小,价格贵得离谱。底层就反过来,速度慢但容量大,成本也便宜很多。这个设计的逻辑就是用速度来换容量,或者用成本去换时间。 然后呢,顶端是寄存器,就像CPU里面的贴身保镖一样。因为它跟CPU是用同一种材料做出来的,所以访问速度特别快。就是有点遗憾,空间特别小,几十到几百字节这样吧。程序员用起来得手动分配这个那个,灵活性是有了但也容易出错。 再往下就是高速缓存了。这东西会自动给CPU干活儿,把最常用的数据存到自己的家门口。主存呢就被切成了64字节一段的块,每一块对应一个地址段。比如地址0到63对应第一块。 CPU内部或者它旁边的高速缓存专门留着最常访问的这一块儿数据。如果程序下次还来读同一个地址,硬件很快就能搞定,几乎不用等;要是没碰到(也就是缺失),就得通过总线从主存取数据了。这个过程就比较慢。 因为 Cache 块的数量有限而且造价高,所以大多数系统都搞两级甚至三级缓存。每一级都比上一级慢一些,但容量更大。 最后就是随机存储器(RAM)了。这可是内存里的主力部队,既能读也能写,价格也不算太贵、容量也挺灵活的。不过有个缺点就是断电了数据就没了。要是想把数据存得更久,就得靠更慢更贵的辅助存储了。现在多任务和多媒体这么流行,RAM的大小跟速度直接决定了系统响不响应得过来。