CPU的哈佛結構和馮諾依曼結構

2021-06-22 11:58:33 字數 715 閱讀 2875

在現實世界中很少有非常純粹的概念,特別是在實際的應用裡。教科書裡的大多是理想化的模型,便於掌握某個概念的重點和本質,但實際中很難達到這種理想化的狀態。

哈佛結構和馮諾依曼結構主要區別在是否區分指令與資料。在教科書裡這是兩種截然不同的做法。

實際上在記憶體裡,指令和資料是在一起的。而在cpu內的快取中,還是會區分指令快取和資料快取,最終執行的時候,指令和資料是從兩個不同的地方出來的。你可以理解為在cpu外部,採用的是馮諾依曼模型,而在cpu內部用的是哈佛結構。

大部分的dsp都沒有快取,因而直接就是哈佛結構。

哈佛結構設計複雜,但效率高。馮諾依曼結構則比較簡單,但也比較慢。cpu廠商為了提高處理速度,在cpu內增加了快取記憶體。也基於同樣的目的,區分了指令快取和資料快取。有時為了解決現實問題,究竟是什麼主義真的沒那麼重要。因而個人認為爭論到底是哪種結構意義不大。

【加菲貓的回答(7票)】:

因為 pc 市場已經被 微軟 和 ibm-pc 架構壟斷了。

但是,實際上 哈佛結構只不過是「程式」和「儲存」分離,然而記憶體就那個樣子,好比你就插了一條記憶體條,怎麼實現指令和資料分開「同時」讀取呢?cache。現在 intel 的處理器雖說是「cisc」但是也應用了大量的risc思想。當今的處理器速度已經如此高,intel有很長的流水線,如果指令和資料還不分開同時讀取這會極大的影響流水線的效率。所以在流水線設計中有多個cache,而資料和指令一般會同時快取進cache,這樣在處理器流水線作業時其實也有哈佛結構的影子。

馮諾依曼結構和哈佛結構

哈佛結構是,資料和 分開存在。馮諾依曼結構是在哈佛結構之後提出的,馮諾依曼提出 本身也是一種資料 解決了哈佛結構的乙個問題 匯流排暫用資源太多。馮諾依曼結構是,資料和 放在一起。首先,通過bios uboot 將硬碟 flash 中的程式 資料和 全部拷貝到ram。所以此時 ram內部會分為多個段 ...

馮諾依曼結構和哈佛結構

為什麼要提程式與資料呢,因為兩大架構的主要區別就是在cpu對程式與資料的訪問和儲存方面。程式和資料存放在外存中,當被用到時,被載入到記憶體中,程式和資料共用乙個儲存空間,程式指令儲存位址和資料儲存位址指向同乙個儲存器的不同物理位置。處理器cpu在執行任何指令時,都要先從儲存器中取出指令解碼,再取出資...

馮諾依曼結構和哈佛結構

哈佛結構是,資料和 分開存在。馮諾依曼結構是在哈佛結構之後提出的,馮諾依曼提出 本身也是一種資料 解決了哈佛結構的乙個問題 匯流排暫用資源太多。馮諾依曼結構是,資料和 放在一起。首先,通過bios uboot 將硬碟 flash 中的程式 資料和 全部拷貝到ram。所以此時 ram內部會分為多個段 ...