0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

馮諾依曼架構(gòu)和哈佛架構(gòu)有何不同

嵌入式攻城獅 ? 來源:嵌入式攻城獅 ? 2023-12-10 14:10 ? 次閱讀

架構(gòu)是一個(gè)計(jì)算機(jī)硬件的基本模型,它決定了計(jì)算機(jī)系統(tǒng)的運(yùn)行方式。計(jì)算機(jī)架構(gòu)的三個(gè)要素是:中央處理器、記憶單元(存儲器)和輸入輸出接口

馮諾依曼架構(gòu)和哈佛架構(gòu)是計(jì)算機(jī)體系結(jié)構(gòu)中的兩種重要架構(gòu),它們在存儲器組織方式和數(shù)據(jù)處理上存在顯著的差異。

fd6f6b5e-970a-11ee-8b88-92fbcf53809c.png

馮諾依曼架構(gòu)

馮諾依曼架構(gòu)是最常見的計(jì)算機(jī)體系結(jié)構(gòu)之一,最早由馮·諾依曼于1945年提出,又稱普林斯頓結(jié)構(gòu)。這種架構(gòu)中,指令和數(shù)據(jù)存儲在同一個(gè)存儲器中,使用同一條地址總線和數(shù)據(jù)總線來傳輸數(shù)據(jù)和指令。

它的主要特點(diǎn)如下:

指令和數(shù)據(jù)共享同一個(gè)存儲器。

一個(gè)CPU核心同時(shí)只能執(zhí)行一條指令。

fd84427c-970a-11ee-8b88-92fbcf53809c.png

我們的電腦所使用的Intel X86 CPU,就是馮諾依曼架構(gòu)的。其指令與數(shù)據(jù)共用內(nèi)存總線,地址空間在一起。 指令和數(shù)據(jù)共享同一個(gè)存儲器,CPU只能執(zhí)行一條指令,因?yàn)樗枰却噶詈蛿?shù)據(jù)都被讀取到CPU中。 我們可以將馮諾依曼架構(gòu)理解為是單車道。作為單車道,它的缺點(diǎn)是明顯的。 同時(shí)傳輸數(shù)據(jù)和指令,導(dǎo)致存儲器和處理器之間的效率低下。存儲器中的指令和數(shù)據(jù)被混合存儲,指令可以被當(dāng)作數(shù)據(jù)進(jìn)行處理,因此程序可以動態(tài)地修改自身代碼,容易受到病毒、惡意程序等攻擊。指令和數(shù)據(jù)必須具有相同的位寬。 不過,馮諾依曼架構(gòu)也有好處,就是簡單、易于實(shí)現(xiàn)和設(shè)計(jì)。 總體來說,馮諾依曼架構(gòu)適用于大多數(shù)通用計(jì)算機(jī),它能夠靈活地處理各種不同的計(jì)算任務(wù),同時(shí)還可以使用緩存等技術(shù)來優(yōu)化性能。

哈佛架構(gòu)

哈佛架構(gòu)是一種分離式存儲器體系結(jié)構(gòu),它將指令和數(shù)據(jù)存儲在不同的內(nèi)存中。CPU 通過不同的總線從指令內(nèi)存和數(shù)據(jù)內(nèi)存中讀取指令和數(shù)據(jù)。這意味著 CPU 可以同時(shí)訪問指令和數(shù)據(jù)內(nèi)存,因此可以同時(shí)執(zhí)行多條指令。

它的主要特點(diǎn)如下:

指令和數(shù)據(jù)存儲在不同的內(nèi)存中。

一個(gè)CPU核心可以同時(shí)執(zhí)行多條指令。

fd96cfd2-970a-11ee-8b88-92fbcf53809c.png

哈佛架構(gòu)多用于一些嵌入式系統(tǒng)數(shù)字信號處理器等領(lǐng)域。

在哈佛架構(gòu)中,指令和數(shù)據(jù)存儲在不同的內(nèi)存中,CPU可以同時(shí)訪問指令和數(shù)據(jù)內(nèi)存,因此可以同時(shí)執(zhí)行多條指令。

我們可以將哈佛架構(gòu)理解為是多車道。它有兩個(gè)獨(dú)立的存儲器,就像多車道那樣,它的優(yōu)點(diǎn)也很明顯。

指令與數(shù)據(jù)傳輸同時(shí)運(yùn)行,運(yùn)行效率高。存儲器中的指令和數(shù)據(jù)分開存儲,因此程序無法直接修改自身代碼,這樣會更加安全可靠、固若金湯。指令和數(shù)據(jù)的位寬可以不同。

但是哈佛架構(gòu)也有其缺點(diǎn),就是實(shí)現(xiàn)和設(shè)計(jì)相對復(fù)雜的多。 總體來說,哈佛架構(gòu)適用于一些特定的應(yīng)用領(lǐng)域,例如需要高效地處理大量數(shù)據(jù)的嵌入式系統(tǒng),或數(shù)字信號處理器等領(lǐng)域。

fdaf9bde-970a-11ee-8b88-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3593

    瀏覽量

    129476
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    514

    瀏覽量

    25472
  • 中央處理器
    +關(guān)注

    關(guān)注

    1

    文章

    124

    瀏覽量

    16523

原文標(biāo)題:馮諾依曼架構(gòu)和哈佛架構(gòu)有何不同

文章出處:【微信號:嵌入式攻城獅,微信公眾號:嵌入式攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    哈佛結(jié)構(gòu)的比較

    本帖最后由 eehome 于 2013-1-5 09:50 編輯 哈佛結(jié)構(gòu)的比較
    發(fā)表于 08-20 23:01

    體系結(jié)構(gòu)和組成

    體系及操作系統(tǒng)
    發(fā)表于 06-11 07:09

    ·體系和哈佛總線體系的區(qū)別是什么

    arm7TDMI,就是純粹的·結(jié)構(gòu),其他內(nèi)部cache且數(shù)據(jù)和指令的cache分離的cpu則使用了哈弗結(jié)構(gòu)?! ?、
    發(fā)表于 07-08 15:39

    你的CPU屬于哈佛結(jié)構(gòu)還是結(jié)構(gòu)?

    。03 ARM和哈佛、·的關(guān)系哈佛架構(gòu)是針對
    發(fā)表于 05-11 06:30

    arm架構(gòu)的芯片哪些

    arm架構(gòu)的芯片哪些一、芯片的架構(gòu)模式原文
    發(fā)表于 07-21 08:47

    基于哈佛結(jié)構(gòu)的Flash介紹

    架構(gòu)創(chuàng)新的AVR單片機(jī)是第二代MCU蓬勃發(fā)展的縮影20世紀(jì)的90年代初,挪威理工大學(xué)的兩個(gè)研究生Alf-Egil Bogen和Vegard Wolla因不滿于當(dāng)時(shí)主流的·
    發(fā)表于 11-03 08:15

    談?wù)勄度胧教幚砥鞯捏w系架構(gòu)

    指令集,還有一點(diǎn)就是X86架構(gòu)使用的是結(jié)構(gòu),ARM架構(gòu)既使用
    發(fā)表于 12-15 06:59

    ·計(jì)算機(jī)體系結(jié)構(gòu)缺陷哪些?

    ·結(jié)構(gòu)的特點(diǎn)是什么?·
    發(fā)表于 12-24 07:36

    哈佛結(jié)構(gòu)和結(jié)構(gòu)的差別是什么?

    Linux的文件類型哪幾種?哈佛結(jié)構(gòu)和結(jié)構(gòu)的差別是什么?
    發(fā)表于 12-27 06:44

    對微處理器的flash以及ram的內(nèi)存分配進(jìn)行講解

    微處理器的flash以及ram的內(nèi)存分配進(jìn)行講解;在講解之前先說一下哈佛結(jié)構(gòu)和·架構(gòu)一、
    發(fā)表于 01-26 07:55

    計(jì)算機(jī)體系結(jié)構(gòu)是怎樣組成的

    計(jì)算機(jī)體系結(jié)構(gòu)是怎樣組成的?微型系統(tǒng)地結(jié)構(gòu)是怎樣組成的?
    發(fā)表于 02-10 06:15

    單片機(jī)中哈佛結(jié)構(gòu)和結(jié)構(gòu)的區(qū)別是什么?

    單片機(jī)中哈佛結(jié)構(gòu)和結(jié)構(gòu)的差異,在指令操作上有什么區(qū)別?
    發(fā)表于 10-28 06:03

    簡單介紹哈佛結(jié)構(gòu)和·結(jié)構(gòu)的區(qū)別

    哈佛結(jié)構(gòu)是一種將程序指令存儲和數(shù)據(jù)存儲分開的存儲器結(jié)構(gòu)。·結(jié)構(gòu)也稱普林斯頓結(jié)構(gòu),是一種將程序指令存儲器和數(shù)據(jù)存儲器合并在一起的存儲器
    發(fā)表于 11-13 16:21 ?4.8w次閱讀
    簡單介紹<b class='flag-5'>哈佛</b>結(jié)構(gòu)和<b class='flag-5'>馮</b>·<b class='flag-5'>諾</b><b class='flag-5'>依</b><b class='flag-5'>曼</b>結(jié)構(gòu)的區(qū)別

    CPU采用的是哈佛結(jié)構(gòu)還是結(jié)構(gòu)?

    領(lǐng)域,我們的手持設(shè)備(平板手機(jī)用的大多就是他了)。 01·體系 ·
    的頭像 發(fā)表于 04-25 16:45 ?1.3w次閱讀
    CPU采用的是<b class='flag-5'>哈佛</b>結(jié)構(gòu)還是<b class='flag-5'>馮</b><b class='flag-5'>諾</b><b class='flag-5'>依</b><b class='flag-5'>曼</b>結(jié)構(gòu)?

    STM32屬于哈佛結(jié)構(gòu)還是結(jié)構(gòu)?

    洛伊曼結(jié)構(gòu)就是我們所說的X86架構(gòu),而哈佛結(jié)構(gòu)就是ARM架構(gòu)
    發(fā)表于 02-08 15:40 ?3次下載
    STM32屬于<b class='flag-5'>哈佛</b>結(jié)構(gòu)還是<b class='flag-5'>馮</b><b class='flag-5'>諾</b><b class='flag-5'>依</b><b class='flag-5'>曼</b>結(jié)構(gòu)?