公知及经验整理,原创保护,禁止转载。
专栏 《AutoSAR存储》
<<<< 返回总目录 <<<<
1 存储系统层次
先抛个问题, 为什么要划分存储器的层次?
速度越快,但成本越高,从经济的角度规划的存储空间越小。因此,必须采取逐级缓存的策略,将更重要的数据保存在速度更快的存储中,而离CPU核心越远的存储则更大。因为有分层,也就有不同的存储芯片。
存储层次是在计算机体系结构下存储系统层次结构的排列顺序。 每一层于下一层相比 都拥有 较高的速度 和 较低延迟性 ,以及 较小的容量 (也有少量例外,如AMD早期的Duron CPU)。大部分现今的中央处理器的速度都非常的快。大部分程序工作量需要存储器存取。由于高速缓存的效率和存储器传输位于层次结构中的不同等级,所以实际上会限制处理的速度,导致中央处理器花费大量的时间等待存储器I/O完成工作。
大部分汽车、电脑、芯片中的存储层次如下四层:
寄存器 :可能是最快的存取。在32位处理器,每个寄存器就是32位。x86处理器共有16个寄存器。
高速缓存 Cache (L1-L3:SRAM、L4:DRAM)
- 第一级高速缓存(L1)–通常存取只需要几个周期,通常是几十个KB。
- 第二级高速缓存(L2)–比L1约有2到10倍较高延迟性,通常是几百个KB或更多。
- 第三级高速缓存(L3)–比L2更高的延迟性,通常有数MB之大。
- 第四级高速缓存(L4)(不一定有)–CPU外部的DRAM,但速度较主存高。
主存(DRAM) : 存取需要几百个周期,可以大到数十GB。
磁盘存储 :Flash 闪存, 或是磁盘,需要成千上万个周期,容量非常大。
存储器有许多类型,可以根据其用途分为主存储器和辅助存储器。主存储器,也称为内存,以其快速的存取速度而著称,但其容量相对较小,价格也相对较高。辅助存储器,