溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

哈佛結(jié)構(gòu)還是馮諾依曼結(jié)構(gòu)的特點(diǎn)有哪些

發(fā)布時間:2021-10-12 15:20:03 來源:億速云 閱讀:690 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“哈佛結(jié)構(gòu)還是馮諾依曼結(jié)構(gòu)的特點(diǎn)有哪些”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

哈佛結(jié)構(gòu)還是馮諾依曼結(jié)構(gòu)的特點(diǎn)有哪些

現(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è)備(平板\手機(jī)用的大多就是他了)。

01馮·諾依曼體系

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

哈佛結(jié)構(gòu)還是馮諾依曼結(jié)構(gòu)的特點(diǎn)有哪些

馮·諾依曼體系的特點(diǎn):

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

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

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)處理器具有以下幾個特點(diǎn):

1:必須有一個存儲器;

2:必須有一個控制器;3:必須有一個運(yùn)算器,用于完成算術(shù)運(yùn)算和邏輯運(yùn)算;4:必須有輸入設(shè)備和輸出設(shè)備,用于進(jìn)行人機(jī)通信。另外,程序和數(shù)據(jù)統(tǒng)一存儲并在程序控制下自動工作。馮·諾依曼結(jié)構(gòu):

英特爾公司的8086。英特爾公司的其他中央處理器。ARM的ARM7。MIPS公司的MIPS處理器。

02哈佛體系

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

哈佛結(jié)構(gòu)還是馮諾依曼結(jié)構(gòu)的特點(diǎn)有哪些

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

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

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

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

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

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

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

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

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

1、ARM(除arm7)

2、大部分DSP

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

對于多任務(wù)操作系統(tǒng)來說,管理程序內(nèi)存是一件非常重要的事情,而且僅僅是保護(hù)模式下的頁面映射等等機(jī)制就已經(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í)際芯片制造

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

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

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

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

“哈佛結(jié)構(gòu)還是馮諾依曼結(jié)構(gòu)的特點(diǎn)有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI