-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文章更詳細地提到了其他方式,大多數哈佛架構仍然可以通過程序進行編程。

相關問題