RM新时代网站-首页

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

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

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

CPU與哈佛結(jié)構(gòu)和馮諾依曼結(jié)構(gòu)之間的關(guān)系及各自特點

Q4MP_gh_c472c21 ? 來源:知曉編程 ? 作者:Firefly ? 2021-04-25 13:40 ? 次閱讀

現(xiàn)代的CPU基本上歸為馮諾伊曼結(jié)構(gòu)(也成普林斯頓結(jié)構(gòu))和哈佛結(jié)構(gòu)。

馮洛伊曼結(jié)構(gòu)就是我們所說的X86架構(gòu),而哈佛結(jié)構(gòu)就是ARM架構(gòu)。一個廣泛用于桌面端(臺式/筆記本/服務(wù)器/工作站等),一個雄踞移動領(lǐng)域,我們的手持設(shè)備(平板手機用的大多就是他了)。

01馮·諾依曼體系

馮·諾依曼體系結(jié)構(gòu)圖如下

afe8900c-a57e-11eb-aece-12bb97331649.png

馮·諾依曼體系的特點

A、數(shù)據(jù)與指令都存儲在同一存儲區(qū)中,取指令與取數(shù)據(jù)利用同一數(shù)據(jù)總線。

B、被早期大多數(shù)計算機所采用。

C、ARM7——馮諾依曼體系結(jié)構(gòu)簡單,但速度較慢。取指不能同時取數(shù)據(jù)

馮·諾依曼結(jié)構(gòu)也稱普林斯頓結(jié)構(gòu),是一種將程序指令存儲器和數(shù)據(jù)存儲器合并在一起的存儲器結(jié)構(gòu)。程序指令存儲地址和數(shù)據(jù)存儲地址指向同一個存儲器的不同物理位置,因此程序指令和數(shù)據(jù)的寬度相同,如英特爾公司的8086中央處理器的程序指令和數(shù)據(jù)都是16位寬。

馮。諾依曼結(jié)構(gòu)處理器具有以下幾個特點:

1:必須有一個存儲器;

2:必須有一個控制器;3:必須有一個運算器,用于完成算術(shù)運算和邏輯運算;4:必須有輸入設(shè)備和輸出設(shè)備,用于進行人機通信。另外,程序和數(shù)據(jù)統(tǒng)一存儲并在程序控制下自動工作。馮·諾依曼結(jié)構(gòu):英特爾公司的8086。英特爾公司的其他中央處理器。ARM的ARM7。MIPS公司的MIPS處理器。

02哈佛體系

哈佛體系結(jié)構(gòu)圖

b0122872-a57e-11eb-aece-12bb97331649.png

結(jié)構(gòu)特點:

A、程序存儲器與數(shù)據(jù)存儲器分開。

B、提供了較大的存儲器帶寬,各自有自己的總線。

C、適合于數(shù)字信號處理。

D、大多數(shù)DSP都是哈佛結(jié)構(gòu)。

E、ARM9是哈佛結(jié)構(gòu),取指和取數(shù)在同一周期進行,提高速度,改進哈佛體系結(jié)構(gòu)分成三個存儲區(qū):程序、數(shù)據(jù)、程序和數(shù)據(jù)共用。

哈佛結(jié)構(gòu)是一種存儲器并行體系結(jié)構(gòu),主要特點是將程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個獨立的存儲器,每個存儲器獨立編址、獨立訪問。程序指令存儲和數(shù)據(jù)存儲分開,可以使指令和數(shù)據(jù)有不同的數(shù)據(jù)寬度。

哈佛結(jié)構(gòu)能基本上解決取指和取數(shù)的沖突問題。而對另一個操作數(shù)的訪問,就只能采用Enhanced哈佛結(jié)構(gòu)了,例如像TI那樣,數(shù)據(jù)區(qū)再split,并多一組總線。或向AD那樣,采用指令cache,指令區(qū)可存放一部分數(shù)據(jù)。。

哈佛結(jié)構(gòu):

1、ARM(除arm7)

2、大部分DSP

哈佛體系架構(gòu)有個致命的弱點在動態(tài)加載程序上面,想象我們從外存中讀取一段程序然后加載到RAM,這個程序是在數(shù)據(jù)內(nèi)存當中的,我們需要一種機制將數(shù)據(jù)內(nèi)存再傳輸?shù)匠绦騼?nèi)存當中去,這反而增加了設(shè)備復(fù)雜度。

對于多任務(wù)操作系統(tǒng)來說,管理程序內(nèi)存是一件非常重要的事情,而且僅僅是保護模式下的頁面映射等等機制就已經(jīng)足夠復(fù)雜了,如果還要求將程序和數(shù)據(jù)分開管理,復(fù)雜度就太高了。這種時候馮諾依曼體系結(jié)構(gòu)就有非常大的優(yōu)勢了。

03arm和哈佛、馮·諾依曼的關(guān)系

哈佛架構(gòu)是針對cpu從cache中取指而言,指令和數(shù)據(jù)在主存中并未分開,但在加載到cache中的時候被分離為指令和數(shù)據(jù)兩份存儲空間,cpu可以同時從cache取到指令和數(shù)據(jù)。

所以arm系統(tǒng)CPU(除arm7)對外表現(xiàn)為馮。諾伊曼架構(gòu),對內(nèi)則表現(xiàn)為哈佛架構(gòu)。

04實際芯片制造

實際上,絕大多數(shù)現(xiàn)代計算機使用的是所謂的“ModifiedHarvard Architecture”,指令和數(shù)據(jù)共享同一個address space,但緩存是分開的??梢哉f是兩種架構(gòu)的一種折中吧。

在現(xiàn)實世界中很少有非常純粹的概念,特別是在實際的應(yīng)用里。教科書里的大多是理想化的模型,便于掌握某個概念的重點和本質(zhì),但實際中很難達到這種理想化的狀態(tài)。

哈佛結(jié)構(gòu)和馮諾依曼結(jié)構(gòu)主要區(qū)別在是否區(qū)分指令與數(shù)據(jù)。在教科書里這是兩種截然不同的做法。

但實際上在內(nèi)存里,指令和數(shù)據(jù)是在一起的。而在CPU內(nèi)的緩存中,還是會區(qū)分指令緩存和數(shù)據(jù)緩存,最終執(zhí)行的時候,指令和數(shù)據(jù)是從兩個不同的地方出來的。你可以理解為在CPU外部,采用的是馮諾依曼模型,而在CPU內(nèi)部用的是哈佛結(jié)構(gòu)。

大部分的DSP都沒有緩存,因而直接就是哈佛結(jié)構(gòu)。

哈佛結(jié)構(gòu)設(shè)計復(fù)雜,但效率高。馮諾依曼結(jié)構(gòu)則比較簡單,但也比較慢。CPU廠商為了提高處理速度,在CPU內(nèi)增加了高速緩存。也基于同樣的目的,區(qū)分了指令緩存和數(shù)據(jù)緩存。有時為了解決現(xiàn)實問題,究竟是什么主義真的沒那么重要。因而個人認為爭論到底是哪種結(jié)構(gòu)意義不大。
編輯:lyn

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

    關(guān)注

    68

    文章

    10854

    瀏覽量

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

    關(guān)注

    14

    文章

    177

    瀏覽量

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

    關(guān)注

    8

    文章

    45

    瀏覽量

    23648

原文標題:STM32屬于哈佛結(jié)構(gòu)還是馮諾依曼結(jié)構(gòu)?

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

收藏 人收藏

    評論

    相關(guān)推薦

    CPU時鐘周期與主頻的關(guān)系和區(qū)別

    CPU時鐘周期與主頻是計算機體系結(jié)構(gòu)中兩個緊密相連且至關(guān)重要的概念,它們之間既存在關(guān)系又有所區(qū)別。以下將詳細闡述CPU時鐘周期與主頻的
    的頭像 發(fā)表于 09-26 15:46 ?1612次閱讀

    CPU時鐘周期、機器周期和指令周期的關(guān)系

    CPU時鐘周期、機器周期和指令周期是計算機體系結(jié)構(gòu)中三個緊密相連且至關(guān)重要的概念,它們共同構(gòu)成了CPU執(zhí)行指令和處理數(shù)據(jù)的基本時間框架。以下是對這三個周期之間
    的頭像 發(fā)表于 09-26 15:38 ?2639次閱讀

    自動駕駛?cè)笾髁餍酒軜?gòu)分析

    ,但是在AI應(yīng)用領(lǐng)域也是必不可少。GPU方案GPU與CPU的架構(gòu)對比CPU遵循的是·架構(gòu)
    的頭像 發(fā)表于 08-19 17:11 ?1586次閱讀
    自動駕駛?cè)笾髁餍酒軜?gòu)分析

    知識圖譜與大模型之間關(guān)系

    在人工智能的廣闊領(lǐng)域中,知識圖譜與大模型是兩個至關(guān)重要的概念,它們各自擁有獨特的優(yōu)勢和應(yīng)用場景,同時又相互補充,共同推動著人工智能技術(shù)的發(fā)展。本文將從定義、特點、應(yīng)用及相互關(guān)系等方面深入探討知識圖譜與大模型
    的頭像 發(fā)表于 07-10 11:39 ?1001次閱讀

    RTC和CPU有什么關(guān)系

    ,但又相互依賴,共同確保計算機系統(tǒng)的穩(wěn)定運行和時間的準確同步。本文將從多個角度深入探討RTC與CPU之間關(guān)系,以及它們?nèi)绾螀f(xié)同工作以提供高效、準確的計算服務(wù)。
    的頭像 發(fā)表于 05-30 17:07 ?660次閱讀

    嵌入式微處理器體系結(jié)構(gòu) 嵌入式微處理器原理與應(yīng)用

    部組成和相互連接的方式。常見的嵌入式微處理器體系結(jié)構(gòu)主要包括·體系結(jié)構(gòu)、
    的頭像 發(fā)表于 05-04 16:53 ?2142次閱讀

    嵌入式片上系統(tǒng)采用的是結(jié)構(gòu)

    嵌入式片上系統(tǒng)并不一定采用·結(jié)構(gòu)。雖然·
    的頭像 發(fā)表于 03-28 15:32 ?461次閱讀

    SoC封裝結(jié)構(gòu)CPU、GPU封裝結(jié)構(gòu)的區(qū)別

    SoC封裝結(jié)構(gòu)、CPU封裝結(jié)構(gòu)和GPU封裝結(jié)構(gòu)在設(shè)計和功能上存在顯著的差異,這主要體現(xiàn)在它們的集成度、功能特性和應(yīng)用場景上。
    的頭像 發(fā)表于 03-28 14:39 ?929次閱讀

    交換機cpu和交換芯片的關(guān)系及區(qū)別

    交換機CPU和交換芯片在交換機中各自扮演著重要的角色,并且它們之間存在一定的關(guān)系與區(qū)別。
    的頭像 發(fā)表于 03-18 14:06 ?1801次閱讀

    fpga和單片機的區(qū)別和聯(lián)系 fpga和cpu區(qū)別

    。FPGA更偏向于硬件電路,其結(jié)構(gòu)是查找表結(jié)構(gòu),其程序不需要過多考慮芯片的結(jié)構(gòu),而主要關(guān)注時序問題。相比之下,單片機更偏于軟件方向,它是一個微控制器,通過加載模塊軟件來實現(xiàn)某種功能。單片機一般采用
    的頭像 發(fā)表于 03-14 17:33 ?1114次閱讀

    RISC-V 基礎(chǔ)學(xué)習(xí):RISC-V 基礎(chǔ)介紹

    以及計算機由五個部分組成: 運算器 控制器 存儲器 輸入設(shè)備 輸出設(shè)備 現(xiàn)代計算機發(fā)展所遵循的基本結(jié)構(gòu)形式始終是·
    發(fā)表于 03-12 10:25

    直線電機的結(jié)構(gòu)、原理、特點與應(yīng)用

    直線電機的結(jié)構(gòu)、原理、特點與應(yīng)用 直線電機是一種將電能直接轉(zhuǎn)化為機械能的裝置,其結(jié)構(gòu)、原理、特點和應(yīng)用都具有一定的獨特性。 一、直線電機的結(jié)構(gòu)
    的頭像 發(fā)表于 02-05 09:20 ?5300次閱讀

    什么是cpu的主頻和外頻,它們之間關(guān)系如何

    CPU的主頻和外頻是計算機中兩個重要的頻率指標,它們分別代表了CPU內(nèi)部和與外部組件之間的數(shù)據(jù)傳輸速率。這兩個頻率指標之間有著密切的關(guān)系,對
    的頭像 發(fā)表于 02-03 16:50 ?4118次閱讀

    結(jié)構(gòu)體與指針的關(guān)系

    在C語言中,結(jié)構(gòu)體(Struct)是一種用戶自定義的數(shù)據(jù)類型,它允許您將不同類型的數(shù)據(jù)項組合在一起,以便形成一個更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)體可以包含多個成員變量,每個成員變量可以是不同的數(shù)據(jù)類型。而
    的頭像 發(fā)表于 01-11 08:00 ?980次閱讀
    <b class='flag-5'>結(jié)構(gòu)</b>體與指針的<b class='flag-5'>關(guān)系</b>

    FPGA、ASIC、GPU誰是最合適的AI芯片?

    CPU、GPU遵循的是·體系結(jié)構(gòu),指令要經(jīng)過存儲、譯碼、執(zhí)行等步驟,共享內(nèi)存在使用時,要
    發(fā)表于 01-06 11:20 ?1624次閱讀
    FPGA、ASIC、GPU誰是最合適的AI芯片?
    RM新时代网站-首页