过去知道计算机的体系结构分为哈佛结构与冯.诺依曼结构,但并没有去总结他们有什么区别。今天来看看它们有什么区别。
冯.诺依曼结构,又称为普林斯顿结构。是一种经典的体系结构,有CPU,总线,外部存储器组成。这种体系结构采用程序代码存储器与数据存储器合并在同一存储器里,但程序代码存储器地址与数据存储器地址分别指向不同的物理地址。程序指令宽度与数据宽度一样。数据总线和地址总线共用。
但是随着CPU设计的发展,pipeline的增加,指令和数据的互斥读取很影响CPU指令执行的scale程度。后来,哈佛大学提出一种的新的结构,这种结构采用数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线。但这是需要CPU提供大量的数据线,因而很少使用哈佛结构作为CPU外部构架来使用。但是对于CPU内部,通过使用不同的数据和指令cache,可以有效的提高指令执行的效率,因而目前大部分计算机体系都是CPU内部的哈弗结构+CPU外部的风诺伊曼的结构
arm7系列的CPU有很多款,其中部分CPU没有内部cache的,比如arm7TDMI,就是纯粹的风诺伊曼结构,其他有内部cache且数据和指令的cache分离的cpu则使用了哈弗结构
冯.诺依曼结构,又称为普林斯顿结构。是一种经典的体系结构,有CPU,总线,外部存储器组成。这种体系结构采用程序代码存储器与数据存储器合并在同一存储器里,但程序代码存储器地址与数据存储器地址分别指向不同的物理地址。程序指令宽度与数据宽度一样。数据总线和地址总线共用。
但是随着CPU设计的发展,pipeline的增加,指令和数据的互斥读取很影响CPU指令执行的scale程度。后来,哈佛大学提出一种的新的结构,这种结构采用数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线。但这是需要CPU提供大量的数据线,因而很少使用哈佛结构作为CPU外部构架来使用。但是对于CPU内部,通过使用不同的数据和指令cache,可以有效的提高指令执行的效率,因而目前大部分计算机体系都是CPU内部的哈弗结构+CPU外部的风诺伊曼的结构
arm7系列的CPU有很多款,其中部分CPU没有内部cache的,比如arm7TDMI,就是纯粹的风诺伊曼结构,其他有内部cache且数据和指令的cache分离的cpu则使用了哈弗结构