4.1 存储系统的层次结构
一、基本存储体系
冯诺依曼体系工作原理有两大部分:存储程序 和 程序控制;
为了实现存储程序,必须要有主存;
为了实现程序控制,必须要有CPU;
由CPU和主存构成基本结构的冯诺依曼体系,在程序执行过程中,会执行下列操作:
- 输入设备将程序与数据写入主存;
- CPU取指令;
- CPU执行指令期间读数据;
- CPU写回运算结果;
- 输出设备输出结果;
在只基于CPU和主存的系统中,会遇到很多问题,如:
- 主存速度不够快
- 主存容量不够大
- 价格原因
二、问题原因
(1)主存速度慢的原因
- CPU速度的增长远超主存速度的增长,导致两者的差异越来越大;
- CPU在指令执行期间要多次访问存储器;
由于主存和CPU速度的不同步,慢速的主存的大大降低CPU的性能;
(2)主存容量不足的原因
- 存在制约主存容量的技术因素,如:CPU支持地址线的数量等。
- 应用对于主存的需求在不断扩大;
- 价格原因;
三、存储体系的层次化结构
层次化结构很好的解决了之前的矛盾;
Cache存储器,电脑中为高速缓冲存储器,规模较小,但速度很快;
基于层次化机构,CPU访问到的存储系统具有Cache的速度,辅存的容量和价格;
随着技术的发展,存储体系也在不断演化,Cache被分为两级;
第一级被集成在CPU内部,同时L1 Cache还被分为了指令Cache(D-Cache)和数据Cache(I-Cache);
L2 Cache早期实在主板上或与CPU集成在同一电路板上。但随着工艺提高,L2 Cache被集成在了CPU内核中,不分D-Cache和I-Cache。
四、存储体系层次化结构的理论基础
局部性原理(两个部分):
时间局部性:被访问过的信息很大概率在将来会被再次访问(循环结构);
空间局部性:被访问过信息的周围的信息很大概率会被再次访问(顺序结构);
基于程序局部性原理,将内存中的一整个数据块调入Cache,则数据块中的指令很大概率会被需要访问,这样CPU同内存之间的交互就变为了CPU同Cache之间交互,大大提高了CPU的性能;