冯·诺伊曼与哈佛建筑

时间:2014-11-09 07:59:10

标签: hardware cpu-architecture von-neumann harvard-architecture

为什么在设计个人计算机时,基于冯·诺依曼架构的计算机体系结构优于哈佛体系结构;哈佛架构用于设计基于微机的计算机系统和基于DSP的计算机系统?

2 个答案:

答案 0 :(得分:10)

当前用于PC的CPU设计同时具有Harvard和Von Neumann元素(更多Von Neumann虽然)。

如果你看看L1缓存,你会发现在AMD,ARM和Intel系统中你有指令L1缓存和数据L1缓存,可以独立和并行访问。这是哈佛部分。但是,在L2,L3或DRAM中,数据和代码是混合的。那就是 Von Neumann部分

那么为什么PC不采用纯粹的哈佛架构呢?我的意见是它没有意义。如果您对大多数应用程序进行概要分析,您会发现 L1指令高速缓存未命中率非常小。这意味着通常代码大小不是问题。因此,为代码设计完全独立的路径是没有意义的。数据可能会变得非常大,但代码却无法实现。

在DSP中,使用单独的代码和数据路径是有意义的。这是因为DSP的主要工作是“流数据”,这意味着对缓存的需求相当小。此外,DSP代码可以包含增加代码大小的预先计算的系数。因此,数据大小和代码大小之间存在平衡,这意味着使用哈佛架构是有意义的。

答案 1 :(得分:6)

Von Neumann架构与哈佛架构的根本区别在于,在哈佛架构中,指令存储器与数据存储器不同,在Von Neumann中它们是相同的。这反映了PC的实际现实(其中程序存储和读取与数据相同的介质,通常是磁盘和RAM)和微控制器(其中程序存储在非易失性存储器中,数据存储在易失性存储器中) )。