-2

根据维基百科,计算的RASP模型对应于冯诺依曼体系结构,而计算的RAM模型对应于哈佛体系结构,而冯诺依曼体系结构离计算机最近,因为我们的计算机中存储有内存数据以及指令,而RAM模型具有不同的程序存储器和不同的数据存储器,那么为什么我们使用RAM模型进行算法分析?为什么我们使用RAM计算模型进行算法分析,当它对应于哈佛架构?

https://en.wikipedia.org/wiki/Random-access_stored-program_machine

+0

当分析一个算法时,我们会计算它所需的*步数*数,而不是运行多长时间。如果一个步骤需要更长的周期,因为必须延迟存储器访问,直到CPU中的加载/存储端口可用,它不会更改总步骤数。我们也关注渐近行为,所以我们可以忽略这些不重要的差异。简单地说:在大事件中,这并不重要! –

+0

那么为什么我们说RASP模型对应于冯诺依曼体系结构,而RAM模型对应于哈佛体系结构时,我们只需做渐近分析,那么为什么会有不同的计算模型定义? – radhika

+0

计算模型来自实际应用(计算复杂性理论的一个目的是找出哪些是等价的)。从复杂性角度来看,模型是隐含定义和固定的。某些模型在分析特定类型的问题时更易于使用,因此具有不同的模型是很好的。 –

回答

1

除非您的算法采用自修改代码,区别并不重要,理由玛格丽特指出。另外,就真正的硬件而言,(几乎所有)具有高速缓存的现代CPU都具有分离的指令/数据L1高速缓存,因此实​​际CPU内核比冯诺依曼更像哈佛式。指令获取很少与数据访问竞争。

维基百科的Modified Harvard Architecture文章更详细地提到了其他方式,大多数哈佛架构仍然可以通过程序进行编程。

相关问题