计算机组成原理之存储结构体系一
冯诺依曼体系的计算机核心8个字来进行概括:存储程序和程序控制
存储系统层次结构由Cache 、主存、辅助存储器三级体系构成
为了实现存储程序,必须要有主存;为了实现程序控制,必须要有CPU;
有CPU和主存构成的一个基本的冯诺依曼体系结构体系的计算机系统。在程序执行操作过程中,会执行下列操作:
存储程序阶段:输入设备会将程序和数据写入到主存中去;
程序控制阶段:然后CPU从主存中会取出指令来进行执行,在CPU执行指令期间,会从主存中来读取得到数据,然后在CPU中进行计算,将得到的运算结果再写回到主存中,然后输出设备从主存中来获取得到计算后的结果进行显示。
上面只是一个简单的由CPU和主存组成的一个简单的计算机存储体系结构。
但是在技术发展过程中,会遇到很多问题。比如说:
1、主存速度够快吗?
2、主存容量够大吗?
3、存储器便宜吗?
逐步展开进行分析:
从上图中可以看到CPU和主存的发展速度。
根据摩尔定律,每隔18个月,CPU的晶体管数量会翻一翻,而且从图中可以看到比率是很高的。
从中可以看到,主存的发展速度却没有CPU快,所以最终造成主存速度没有CPU速度快
CPU和主存的增长速度不同步,这个是其中的一个原因之一。
从上面的冯诺依曼体系中的计算机体系中的存储系统层次结构中可以看到,存储程序和程序控制期间,CPU会去访问到内存,那么二者之间因为存在了速度上的偏差,那么将会高速运转的CPU的性能大大降低下来。
CPU和内存效率上的问题:
1、CPU的本身发展速度高于内存(DRAM)的发展;
2、CPU在运行期间,需要访问主存,比如:取出数据,写入结果,取出指令等;
也就是说主要存在着两个方面,第一个是CPU和内存增速不同;第二个是指令执行期间多次访问存储器。
从内存容量上来进行说明
从存在制约主存容量的技术因素上说明:
比如说CPU支持的地址线的数量,主板的因素,可能还有操作系统的原因。
总结起来就是:技术上的、应用上的和价格上的导致了主存容量不足
综合起来,解决内存上的两个问题(速度和容量),需要使用到存储系统层次结构来进行解决。
利用辅助存储器来解决容量上的问题,利用Cache来解决CPU和内存之间速度不匹配的问题。
上面这种是解决CPU和内存之间矛盾的一种初级版本,下面介绍一下,更接近于现代计算机的状态来看这个体系结构
从CPU往右侧看,将右边的看做是主存的一块。
那么就解决了上述内存存在的两大问题,利用辅存来解决容量上的问题,用Cache(高速缓存存储器)来解决CPU和主存之间效率上的问题。通过这种扩展的方式来解决。
容量上看利用的是辅存的容量;速度上看利用的是Cache的速度;
而且在加上方面上,辅存的容量还是比较便宜的。
随着工艺不断发展,存储体系也在发生着不断的演化。如:Cache也进行了分级
再来看下实现的基础:
在CPU进行访问的时候,会将访问的信息从主存中读取到高速缓冲存储器中来,然后利用局部性原来来解决刚刚存在的两个问题。
以此来达到现在计算机存储体系的理论支撑。
总结:
存储系统层次结构的描述中
A.存储系统层次结构由Cache 、主存、辅助存储器三级体系构成
B.存储系统层次结构缓解了主存容量不足和速度不快的问题
C.构建存储系统层次结构的的原理是局部性原理
D.构建存储系统层次结构还有利于降低存储系统的价格
加剧CPU和主存之间速度差异的原因:
A.由于技术与工作原理不同,CPU增速度明显高于主存增速率
B.指令执行过程中CPU需要多次访问主存
关于局部性的描述
A.局部性包括时间局部行和空间局部性
B.局部性是保证存储系统层次结构高效的基础
C.顺序程序结构具有空间局部性
D.循环程序结构具有时间局部性