存储器层次结构 Memory Hierarchy

 

存储器层次结构可以从图片中清晰的看出来,图片中共分为六级,越向上的层次,存储器速度越快,容量更小,造价越高。

L0层为寄存器,寄存器从硬件的角度来说即触发器( flip-flop ), 通常一个触发器可以由两个锁存器( latcher )和逻辑块组成,触发器为边沿有效,锁存器为电平有效。寄存器集成在CPU内部,制作在CPU内的寄存器不可能容量太大,另一方面实际上CPU并不需要太多的寄存器,寄存器太多反而可能会减慢运行速度。目前的主流的片内寄存器数量为32个(或者64个?)。汇编语言中操作的寄存器也就是指的这些。寄存器由于在片内,避免了线延迟。

L1-L2为两级高速缓存( cache ),这两级存储为SRAM,s即static,指静态,最常见的SRAM为6T结构。高速缓存主要解决CPU计算速度和主存读写速度不匹配的问题,如果没有这两级,有关于内存的读写指令(如load和store)将会严重影响整体速度。高速缓存也一般集成在CPU上。目前主流CPU已经存在3级高速缓存。

L3为主存,即我们电脑中所谓的内存,为DRAM,d即dynamic,即动态,DRAM常见的有1T和3T结构,通过电容存储信号,需要经常刷新不然电荷会漏光。DRAM速度要低于SRAM,但可以明显看出1T只用了6T六分之一的晶体管,节省了六分之一的面积。

L4为磁盘内存,也就是我们所说的硬盘。以上的RAM都是掉电失去信息的,而硬盘中的内容掉电不会失去。目前机械硬盘主流的存储技术为闪存flash,基于EEPROM。

L5层为远端内存,比如网络服务器,这些的读写速度主要取决于网络延时。

 

那么为什么要采用这样的分层结构呢?

我们希望CPU能够最快的进行计算,通过把经常用到的数据将下一级缓存到本级,能够减少在使用数据过程中的读写延时。这样解决了速度快的容量小,容量大的速度慢这个问题。

 

posted @ 2017-11-02 22:29  Nival  阅读(517)  评论(0编辑  收藏  举报