架構是一個計算機硬件的基本模型,它決定了計算機系統(tǒng)的運行方式。計算機架構的三個要素是:中央處理器、記憶單元(存儲器)和輸入輸出接口。
馮諾依曼架構和哈佛架構是計算機體系結構中的兩種重要架構,它們在存儲器組織方式和數(shù)據(jù)處理上存在顯著的差異。
馮諾依曼架構
馮諾依曼架構是最常見的計算機體系結構之一,最早由馮·諾依曼于1945年提出,又稱普林斯頓結構。這種架構中,指令和數(shù)據(jù)存儲在同一個存儲器中,使用同一條地址總線和數(shù)據(jù)總線來傳輸數(shù)據(jù)和指令。
它的主要特點如下:
指令和數(shù)據(jù)共享同一個存儲器。
一個CPU核心同時只能執(zhí)行一條指令。
我們的電腦所使用的Intel X86 CPU,就是馮諾依曼架構的。其指令與數(shù)據(jù)共用內(nèi)存總線,地址空間在一起。 指令和數(shù)據(jù)共享同一個存儲器,CPU只能執(zhí)行一條指令,因為它需要等待指令和數(shù)據(jù)都被讀取到CPU中。 我們可以將馮諾依曼架構理解為是單車道。作為單車道,它的缺點是明顯的。 同時傳輸數(shù)據(jù)和指令,導致存儲器和處理器之間的效率低下。存儲器中的指令和數(shù)據(jù)被混合存儲,指令可以被當作數(shù)據(jù)進行處理,因此程序可以動態(tài)地修改自身代碼,容易受到病毒、惡意程序等攻擊。指令和數(shù)據(jù)必須具有相同的位寬。 不過,馮諾依曼架構也有好處,就是簡單、易于實現(xiàn)和設計。 總體來說,馮諾依曼架構適用于大多數(shù)通用計算機,它能夠靈活地處理各種不同的計算任務,同時還可以使用緩存等技術來優(yōu)化性能。
哈佛架構
哈佛架構是一種分離式存儲器體系結構,它將指令和數(shù)據(jù)存儲在不同的內(nèi)存中。CPU 通過不同的總線從指令內(nèi)存和數(shù)據(jù)內(nèi)存中讀取指令和數(shù)據(jù)。這意味著 CPU 可以同時訪問指令和數(shù)據(jù)內(nèi)存,因此可以同時執(zhí)行多條指令。
它的主要特點如下:
指令和數(shù)據(jù)存儲在不同的內(nèi)存中。
一個CPU核心可以同時執(zhí)行多條指令。
哈佛架構多用于一些嵌入式系統(tǒng)或數(shù)字信號處理器等領域。
在哈佛架構中,指令和數(shù)據(jù)存儲在不同的內(nèi)存中,CPU可以同時訪問指令和數(shù)據(jù)內(nèi)存,因此可以同時執(zhí)行多條指令。
我們可以將哈佛架構理解為是多車道。它有兩個獨立的存儲器,就像多車道那樣,它的優(yōu)點也很明顯。
指令與數(shù)據(jù)傳輸同時運行,運行效率高。存儲器中的指令和數(shù)據(jù)分開存儲,因此程序無法直接修改自身代碼,這樣會更加安全可靠、固若金湯。指令和數(shù)據(jù)的位寬可以不同。
但是哈佛架構也有其缺點,就是實現(xiàn)和設計相對復雜的多。 總體來說,哈佛架構適用于一些特定的應用領域,例如需要高效地處理大量數(shù)據(jù)的嵌入式系統(tǒng),或數(shù)字信號處理器等領域。
-
嵌入式系統(tǒng)
+關注
關注
41文章
3702瀏覽量
132570 -
架構
+關注
關注
1文章
531瀏覽量
26362 -
中央處理器
+關注
關注
1文章
126瀏覽量
17019
原文標題:馮諾依曼架構和哈佛架構有何不同
文章出處:【微信號:嵌入式攻城獅,微信公眾號:嵌入式攻城獅】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
馮·諾依曼體系和哈佛總線體系的區(qū)別是什么
基于哈佛結構的Flash介紹
對微處理器的flash以及ram的內(nèi)存分配進行講解
簡單介紹哈佛結構和馮·諾依曼結構的區(qū)別

評論