99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

ARM處理器:“馮·諾依曼”體系結(jié)構(gòu)和“哈佛”體系結(jié)構(gòu)

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-04-09 14:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

保存在存儲(chǔ)器中的內(nèi)容可以是程序,也可以是數(shù)據(jù)。程序是ARM處理器可以運(yùn)行的指令代碼,數(shù)據(jù)是指令在運(yùn)行中用到的操作數(shù)或者變量。

1、程序存儲(chǔ)

ARM處理器支持兩種指令,一種是ARM匯編指令,一種是Thumb匯編指令。ARM匯編指令是32位長,即每條ARM匯編指令都是由四個(gè)字節(jié)的存儲(chǔ)空間保存,所以ARM處理器在執(zhí)行地址a的ARM匯編指令時(shí),會(huì)從地址a + 4取下一條指令。Thumb匯編指令是16位長,即每條Thumb匯編指令都是由兩個(gè)字節(jié)的存儲(chǔ)空間保存,所以ARM處理器在執(zhí)行地址a的Thumb匯編指令時(shí),會(huì)從地址a + 2取下一條指令。

ARM處理器可以執(zhí)行兩種格式的指令,運(yùn)行不同格式的匯編指令在執(zhí)行和取指方面有很大不同。為了區(qū)分,ARM內(nèi)核可以工作在兩種工作狀態(tài)下。

lARM狀態(tài) 此時(shí)執(zhí)行32位字對(duì)齊的ARM匯編指令。在這種狀態(tài)下,ARM處理器對(duì)指令的存儲(chǔ)、讀取或者執(zhí)行都是以一個(gè)字(即32位)為基本單位;

lTHUMB狀態(tài) 此時(shí)執(zhí)行16位半字對(duì)齊的Thumb匯編指令。在這種狀態(tài)下,ARM處理器對(duì)指令的存儲(chǔ)、讀取或者執(zhí)行都是以一個(gè)半字(即16位)為基本單位;

l這兩種工作狀態(tài)可以轉(zhuǎn)換,但轉(zhuǎn)換不影響處理器狀態(tài)和寄存器的內(nèi)容。

2、數(shù)據(jù)存儲(chǔ)

ARM處理器對(duì)數(shù)據(jù)操作(讀或?qū)?支持三種數(shù)據(jù)長度:字節(jié)(8位)、半字(16位)、字(32位)。假設(shè)在地址為0x0000~0x0004的內(nèi)存空間保存了如圖1所示的數(shù)據(jù),下面我們以三種數(shù)據(jù)長度從內(nèi)存空間讀取數(shù)據(jù)。(假設(shè)數(shù)據(jù)的存儲(chǔ)格式是小端存儲(chǔ)格式)

圖1 內(nèi)存空間的內(nèi)容

l字節(jié):從地址0x0000處取一個(gè)字節(jié)數(shù)據(jù),則取出來的內(nèi)容為12;從地址0x0001處取一個(gè)字節(jié)數(shù)據(jù),則取出來的內(nèi)容為34;

l半字:從地址0x0000處取一個(gè)半字?jǐn)?shù)據(jù),則取出來的內(nèi)容為3412;從地址0x0001處取一個(gè)半字?jǐn)?shù)據(jù),則取出來的內(nèi)容為5634;

l字:從地址0x0000處取一個(gè)字?jǐn)?shù)據(jù),則取出來的內(nèi)容為78563412;從地址0x0001處取一個(gè)字?jǐn)?shù)據(jù),則取出來的內(nèi)容為9A785634。

需要注意的是,ARM處理器在對(duì)數(shù)據(jù)操作時(shí)要邊界對(duì)齊,要找到正確的地址。在對(duì)16位數(shù)據(jù)操作時(shí),地址數(shù)據(jù)末位(0)應(yīng)該為0,在對(duì)32位數(shù)據(jù)操作時(shí),地址數(shù)據(jù)末兩位(1:0)應(yīng)該都為0。比如上面對(duì)字進(jìn)行操作時(shí),ARM處理器不允許從地址0x0001處讀取一個(gè)字內(nèi)容出來。

現(xiàn)在常用的ARM版本中,都不支持非對(duì)齊字的傳輸(ARMv3、ARMv4、ARMv5)。在ARMv6中,開始支持非對(duì)齊字的傳輸。

3、“馮·諾依曼”體系結(jié)構(gòu)和“哈佛”體系結(jié)構(gòu)

說到ARM程序與數(shù)據(jù)存儲(chǔ),應(yīng)該講一下“馮·諾依曼”體系結(jié)構(gòu)和“哈佛”體系結(jié)構(gòu)。因?yàn)锳RM7系列采用馮·諾依曼體系結(jié)構(gòu),而ARM9~ARM11采用哈佛體系機(jī)構(gòu)。兩種結(jié)構(gòu)描述如下:

“馮·諾依曼”體系結(jié)構(gòu)

20世紀(jì)30年代中期,德國科學(xué)家馮諾依曼大膽的提出,拋棄十進(jìn)制,采用二進(jìn)制作為數(shù)字計(jì)算機(jī)的數(shù)制基礎(chǔ)。同時(shí),他還說預(yù)先編制計(jì)算程序,然后由計(jì)算機(jī)來按照人們事前制定的計(jì)算順序來執(zhí)行數(shù)值計(jì)算工作。

馮諾依曼理論的要點(diǎn)是:數(shù)字計(jì)算機(jī)的數(shù)制采用二進(jìn)制;計(jì)算機(jī)應(yīng)該按照程序順序執(zhí)行。

其主要內(nèi)容是:

l計(jì)算機(jī)由控制器、運(yùn)算器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大部分組成。

l程序和數(shù)據(jù)以二進(jìn)制代碼形式不加區(qū)別地存放在存儲(chǔ)器中,存放位置由地址確定。

l控制器根據(jù)存放在存儲(chǔ)器中地指令序列(程序)進(jìn)行工作,并由一個(gè)程序計(jì)數(shù)器控制指令地執(zhí)行??刂破骶哂信袛嗄芰Γ芨鶕?jù)計(jì)算結(jié)果選擇不同的工作流程。

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

數(shù)字信號(hào)處理一般需要較大的運(yùn)算量和較高的運(yùn)算速度,為了提高數(shù)據(jù)吞吐量,在數(shù)字信號(hào)處理器中大多采用哈佛結(jié)構(gòu)。

哈佛結(jié)構(gòu)特點(diǎn)如下:

l使用兩個(gè)獨(dú)立的存儲(chǔ)器模塊,分別存儲(chǔ)指令和數(shù)據(jù),每個(gè)存儲(chǔ)模塊都不允許指令和數(shù)據(jù)并存,以便實(shí)現(xiàn)并行處理;

l具有一條獨(dú)立的地址總線和一條獨(dú)立的數(shù)據(jù)總線,利用公用地址總線訪問兩個(gè)存儲(chǔ)模塊(程序存儲(chǔ)模塊和數(shù)據(jù)存儲(chǔ)模塊),公用數(shù)據(jù)總線則被用來完成程序存儲(chǔ)模塊或數(shù)據(jù)存儲(chǔ)模塊與CPU之間的數(shù)據(jù)傳輸;

兩種結(jié)構(gòu)區(qū)別

在典型情況下,完成一條指令需要3個(gè)步驟,即:取指令、指令譯碼和執(zhí)行指令。從指令流的定時(shí)關(guān)系也可看出馮.諾曼結(jié)構(gòu)與哈佛結(jié)構(gòu)處理方式的差別。

舉一個(gè)最簡單的對(duì)存儲(chǔ)器進(jìn)行讀寫操作的指令,指令1至指令3均為存、取數(shù)指令,對(duì)馮.諾曼結(jié)構(gòu)處理器,由于取指令和存取數(shù)據(jù)要從同一個(gè)存儲(chǔ)空間存取,經(jīng)由同一總線傳輸,因而它們無法重疊執(zhí)行,只有一個(gè)完成后再進(jìn)行下一個(gè)。

如果采用哈佛結(jié)構(gòu)處理以上同樣的3條存取數(shù)指令,如下圖所示,由于取指令和存取數(shù)據(jù)分別經(jīng)由不同的存儲(chǔ)空間和不同的總線,使得各條指令可以重疊執(zhí)行,這樣,也就克服了數(shù)據(jù)流傳輸?shù)钠款i,提高了運(yùn)算速度。

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

    關(guān)注

    134

    文章

    9353

    瀏覽量

    377797
  • ARM處理器
    +關(guān)注

    關(guān)注

    6

    文章

    361

    瀏覽量

    42638

原文標(biāo)題:ARM處理器的程序與數(shù)據(jù)存儲(chǔ)(馮·諾依曼與哈佛結(jié)構(gòu)區(qū)別)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎ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ū)別是什么

    步驟,即:取指令、指令譯碼和執(zhí)行指令。從指令流的定時(shí)關(guān)系也可看出·結(jié)構(gòu)哈佛
    發(fā)表于 07-08 15:39

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

    所采用。ARM7——體系結(jié)構(gòu)簡單,但速度較慢,取指不能同時(shí)取數(shù)據(jù)。
    發(fā)表于 05-11 06:30

    淺析·體系結(jié)構(gòu)

    一.·體系結(jié)構(gòu)1.主要思想如下(1)采用二進(jìn)制形式表示數(shù)據(jù)和指令。(2)將程序(數(shù)據(jù)和指令序列)預(yù)先存放在主存儲(chǔ)
    發(fā)表于 09-16 06:07

    嵌入式微處理器體系結(jié)構(gòu)

    目錄一、嵌入式微處理器體系結(jié)構(gòu)1、體系結(jié)構(gòu)2
    發(fā)表于 11-08 06:57

    介紹嵌入式微處理器體系結(jié)構(gòu)結(jié)構(gòu)

    嵌入式微處理器體系結(jié)構(gòu)結(jié)構(gòu):程序和數(shù)據(jù)共用一
    發(fā)表于 12-17 06:04

    嵌入式微處理器硬件體系相關(guān)資料推薦

    嵌入式微處理器硬件體系處理器發(fā)展過程中,產(chǎn)生了以X86為代表的·
    發(fā)表于 12-17 06:32

    ·計(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

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

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

    淺談ARM處理器的特點(diǎn)和體系結(jié)構(gòu)

    ARM處理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、以及Int
    發(fā)表于 04-03 11:17 ?1.8w次閱讀

    處理器體系結(jié)構(gòu)

    《微處理器體系結(jié)構(gòu)》適合作為高等院校集成電路設(shè)計(jì)相關(guān)專業(yè)工程碩士的教材,并可以作為微處理器硬件與軟件設(shè)計(jì)相關(guān)專業(yè)高年級(jí)本科生和研究生的教材。 《微處理器
    發(fā)表于 04-14 10:29 ?0次下載

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

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

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

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