冯诺依曼体系结构VS哈佛体系结构

冯诺依曼体系结构

存储程序原理

程序(指令)和数据同时存放在一个存储器上,控制流由指令流产生,且指令在存储器中按执行
顺序存放,存储程序计算机最早是由著名数学家冯·诺依曼等人在1946年总结并明确提出来的,
因此又被称为冯·诺依曼计算机(又称为普林斯顿体系结构)。

基本点是指令驱动

程序预先存放在计算机存储器中,计算机一旦启动,
就按照程序指定的逻辑顺序执行这些程序

冯诺依曼体系结构的主要特点
  1. 计算机以运算器为处理中心
  2. 在存储器中指令和数据同等对待(可以进行运算);
  3. 存储器是按地址访问的,按地址线性编址的一维结构,每个单元格的位数是一定的;
  4. 指令的执行是顺序的;
  5. 指令由操作码和地址码组成。操作码指明指令的类型,
    地址码指明操作数地址和存放运算结果的地址。操作数的类型由操作码决定,
    操作数本身不能判断是何种数据类型;
  6. 指令和数据均以二进制编码表示,采用二进制运算;  
    缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈
    后来的计算机对上述不足之处做的改进:
  7. 对输入输出方式的改进:
  8. 采用并行处理技术:
  9. 存储器组织结构的发展:
  10. 指令集的发展

哈佛结构

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是
将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,、
每个存储器独立编址、独立访问,目的是为了减轻程序运行时的访存瓶颈。

总结

随着CPU设计的发展,流水线的增加,指令和数据的互斥读取影响CPU指令执行的scale程度。
哈佛结构中数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线,取操作数与取指令能同时进行。
但这是需要CPU提供大量的数据线,因而很少使用哈佛结构;构作为CPU外部构架来使用。
对于CPU内部,通过使用不同的数据和指令cache,可以有效的提高指令执行的效率,
因而目前大部分计算机体系都是在CPU内部的使用哈佛结构,在CPU外部使用冯·诺依曼结构。

你可能感兴趣的:(冯诺依曼体系结构VS哈佛体系结构)