資料介紹
分享到:標(biāo)簽:精簡(jiǎn)指令集 ARM RISC 寄存器
2.1 ARM體系結(jié)構(gòu)的特點(diǎn)
ARM內(nèi)核采用精簡(jiǎn)指令集結(jié)構(gòu)(RISC,Reduced Instruction Set Computer)體系結(jié)構(gòu)。RISC技術(shù)產(chǎn)生于上世紀(jì)70年代。其目標(biāo)是設(shè)計(jì)出一套能在高時(shí)鐘頻率下單周期執(zhí)行、簡(jiǎn)單而有效的指令集,RISC的設(shè)計(jì)重點(diǎn)在于降低硬件執(zhí)行指令的復(fù)雜度,這是因?yàn)檐浖扔布菀滋峁└蟮撵`活性和更高的智能。與其相對(duì)的傳統(tǒng)復(fù)雜指令級(jí)計(jì)算機(jī)(CISC)則更側(cè)重于硬件執(zhí)行指令的功能性,使CISC指令變得更復(fù)雜。
RISC的設(shè)計(jì)思想主要有以下特性。
· Load/Store體系結(jié)構(gòu)。
Load/Store體系結(jié)構(gòu)也稱(chēng)為寄存器/寄存器體系結(jié)構(gòu)或者RR系統(tǒng)結(jié)構(gòu)。在這類(lèi)機(jī)器中,操作數(shù)和運(yùn)算結(jié)果不是通過(guò)主存儲(chǔ)器直接取回而是借用大量標(biāo)量和矢量寄存器來(lái)取回的。與RR體系結(jié)構(gòu)相反,還有一種存儲(chǔ)器/存儲(chǔ)器體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,源操作數(shù)的中間值和最后的運(yùn)算結(jié)果是直接從主存儲(chǔ)器中取回的。這類(lèi)機(jī)器的縮寫(xiě)符號(hào)是SS體系結(jié)構(gòu)。
· 固定長(zhǎng)度指令。
固定長(zhǎng)度指令使得機(jī)器譯碼變得比較容易。由于指令簡(jiǎn)單,需要更多的指令來(lái)完成相同的工作,但是隨著存儲(chǔ)器存取速度的提高,處理器可以更快地執(zhí)行較大代碼段(即大量指令)。
· 硬聯(lián)控制。
RISC機(jī)以硬聯(lián)控制指令為特點(diǎn),而CISC的微代碼指令則相反。使用CISC(常常是可變長(zhǎng)度的)指令集時(shí)處理器的語(yǔ)義效率最大,而簡(jiǎn)單指令往往容易被機(jī)器翻譯。像CISC那樣通過(guò)執(zhí)行較少指令來(lái)完成工作未必省時(shí),因?yàn)檫€要包括微代碼譯碼所需要的時(shí)間。因此,由硬件實(shí)現(xiàn)指令在執(zhí)行時(shí)間方面提供了更好的平衡。除此之外,還節(jié)省了芯片上用于存儲(chǔ)微代碼的空間并且消除了翻譯微代碼所需的時(shí)間。
· 流水線。
指令的處理過(guò)程被拆分為幾個(gè)更小的、能夠被流水線并行執(zhí)行的單元。在理想情況下,流水線每周期前進(jìn)一步,可獲得更高的吞吐率。
· 寄存器。
RICS處理器擁有更多的通用寄存器,每個(gè)寄存器都可存放數(shù)據(jù)或地址。寄存器可為所有的數(shù)據(jù)操作提供快速的局部存儲(chǔ)訪問(wèn)。
表2.1總結(jié)了RISC和CISC之間主要的區(qū)別。
表2.1 RISC和CISC之間主要的區(qū)別
為了使ARM指令集能夠更好地滿足嵌入式應(yīng)用的需要,ARM指令集和單純的RISC定義有以下幾方面的不同。
· 一些特定指令的周期數(shù)可變
并非所有的ARM指令都是單周期的。例如,多寄存器轉(zhuǎn)載/存儲(chǔ)的Load/Store指令的周期數(shù)就不確定,必須根據(jù)被傳送的寄存器個(gè)數(shù)而定。如果是訪問(wèn)連續(xù)的存儲(chǔ)器地址,就可以改善性能,因?yàn)檫B續(xù)的存儲(chǔ)器訪問(wèn)通常比隨機(jī)訪問(wèn)要快。同時(shí),代碼密度也得到了提高,因?yàn)樵诤瘮?shù)的起始和結(jié)尾,多個(gè)寄存器的傳輸是很常用的操作。
· 內(nèi)嵌桶形移位器產(chǎn)生更復(fù)雜的指令
內(nèi)嵌桶形移位器是一個(gè)硬件部件,在一個(gè)輸入寄存器被一條指令使用之前,內(nèi)嵌桶形移位器可以處理該寄存器中的數(shù)據(jù)。它擴(kuò)展了許多指令的功能,改善了內(nèi)核的性能,提高了代碼密度。
· Thumb指令集
ARM處理器根據(jù)RICS原理設(shè)計(jì),但是由于各種原因,在低代碼密度上它比其他多數(shù)RICS要好一些,然而它的代碼密度仍不如某些CISC處理器。在代碼密度重要的場(chǎng)合,ARM公司在某些版本的ARM處理器中加入了一個(gè)稱(chēng)為T(mén)humb結(jié)構(gòu)的新型機(jī)構(gòu)。Thumb指令集是原來(lái)32位ARM指令集的16位壓縮形式,并在指令流水線中使用了動(dòng)態(tài)解壓縮硬件。Thumb代碼密度優(yōu)于多數(shù)CISC處理器達(dá)到的代碼密度。
· 條件執(zhí)行
只有當(dāng)某個(gè)特定條件滿足時(shí)指令才會(huì)被執(zhí)行。這個(gè)特性可以減少分支指令數(shù)目,從而改善性能,提高代碼密度。
· DSP指令
一些功能強(qiáng)大的數(shù)字信號(hào)處理(DSP)指令被加入到標(biāo)準(zhǔn)的ARM指令中,以支持快速的16×16位乘法操作及飽和運(yùn)算。在某些應(yīng)用中,傳統(tǒng)的方法需要微處理器加上DSP才能實(shí)現(xiàn)。這些增強(qiáng)指令,使得ARM處理器也能夠滿足這些應(yīng)用的需要。
綜上所述,ARM體系結(jié)構(gòu)的主要特征如下:
· 大量的寄存器,它們都可以用于多種用途;
· Load/Store體系結(jié)構(gòu);
· 每條指令都條件執(zhí)行;
· 多寄存器的Load/Store指令;
· 能夠在單時(shí)鐘周期執(zhí)行的單條指令內(nèi)完成一項(xiàng)普通的移位操作和一項(xiàng)普通的ALU操作;
· 通過(guò)協(xié)處理器指令集來(lái)擴(kuò)展ARM指令集,包括在編程模式中增加了新的寄存器和數(shù)據(jù)類(lèi)型。
如果把Thumb指令集也當(dāng)作ARM體系結(jié)構(gòu)的一部分,那么還可以加上:
· 在Thumb體系結(jié)構(gòu)中以高密度16位壓縮形式表示指令集。
?
2.1 ARM體系結(jié)構(gòu)的特點(diǎn)
ARM內(nèi)核采用精簡(jiǎn)指令集結(jié)構(gòu)(RISC,Reduced Instruction Set Computer)體系結(jié)構(gòu)。RISC技術(shù)產(chǎn)生于上世紀(jì)70年代。其目標(biāo)是設(shè)計(jì)出一套能在高時(shí)鐘頻率下單周期執(zhí)行、簡(jiǎn)單而有效的指令集,RISC的設(shè)計(jì)重點(diǎn)在于降低硬件執(zhí)行指令的復(fù)雜度,這是因?yàn)檐浖扔布菀滋峁└蟮撵`活性和更高的智能。與其相對(duì)的傳統(tǒng)復(fù)雜指令級(jí)計(jì)算機(jī)(CISC)則更側(cè)重于硬件執(zhí)行指令的功能性,使CISC指令變得更復(fù)雜。
RISC的設(shè)計(jì)思想主要有以下特性。
· Load/Store體系結(jié)構(gòu)。
Load/Store體系結(jié)構(gòu)也稱(chēng)為寄存器/寄存器體系結(jié)構(gòu)或者RR系統(tǒng)結(jié)構(gòu)。在這類(lèi)機(jī)器中,操作數(shù)和運(yùn)算結(jié)果不是通過(guò)主存儲(chǔ)器直接取回而是借用大量標(biāo)量和矢量寄存器來(lái)取回的。與RR體系結(jié)構(gòu)相反,還有一種存儲(chǔ)器/存儲(chǔ)器體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,源操作數(shù)的中間值和最后的運(yùn)算結(jié)果是直接從主存儲(chǔ)器中取回的。這類(lèi)機(jī)器的縮寫(xiě)符號(hào)是SS體系結(jié)構(gòu)。
· 固定長(zhǎng)度指令。
固定長(zhǎng)度指令使得機(jī)器譯碼變得比較容易。由于指令簡(jiǎn)單,需要更多的指令來(lái)完成相同的工作,但是隨著存儲(chǔ)器存取速度的提高,處理器可以更快地執(zhí)行較大代碼段(即大量指令)。
· 硬聯(lián)控制。
RISC機(jī)以硬聯(lián)控制指令為特點(diǎn),而CISC的微代碼指令則相反。使用CISC(常常是可變長(zhǎng)度的)指令集時(shí)處理器的語(yǔ)義效率最大,而簡(jiǎn)單指令往往容易被機(jī)器翻譯。像CISC那樣通過(guò)執(zhí)行較少指令來(lái)完成工作未必省時(shí),因?yàn)檫€要包括微代碼譯碼所需要的時(shí)間。因此,由硬件實(shí)現(xiàn)指令在執(zhí)行時(shí)間方面提供了更好的平衡。除此之外,還節(jié)省了芯片上用于存儲(chǔ)微代碼的空間并且消除了翻譯微代碼所需的時(shí)間。
· 流水線。
指令的處理過(guò)程被拆分為幾個(gè)更小的、能夠被流水線并行執(zhí)行的單元。在理想情況下,流水線每周期前進(jìn)一步,可獲得更高的吞吐率。
· 寄存器。
RICS處理器擁有更多的通用寄存器,每個(gè)寄存器都可存放數(shù)據(jù)或地址。寄存器可為所有的數(shù)據(jù)操作提供快速的局部存儲(chǔ)訪問(wèn)。
表2.1總結(jié)了RISC和CISC之間主要的區(qū)別。
表2.1 RISC和CISC之間主要的區(qū)別
指??? 標(biāo) | RISC | CISC |
指令集 | 一個(gè)周期執(zhí)行一條指令,通過(guò)簡(jiǎn)單指令的組合實(shí)現(xiàn)復(fù)雜操作;指令長(zhǎng)度固定 | 指令長(zhǎng)度不固定,執(zhí)行需要多個(gè)周期 |
流水線 | 流水線每周期前進(jìn)一步 | 指令的執(zhí)行需要調(diào)用微代碼的一個(gè)微程序 |
寄存器 | 更多通用寄存器 | 用于特定目的的專(zhuān)用寄存器 |
Load/Store結(jié)構(gòu) | 獨(dú)立的Load和Store指令完成數(shù)據(jù)在寄存器和外部存儲(chǔ)器之間的傳輸 | 處理器能夠直接處理存儲(chǔ)器中的數(shù)據(jù) |
· 一些特定指令的周期數(shù)可變
并非所有的ARM指令都是單周期的。例如,多寄存器轉(zhuǎn)載/存儲(chǔ)的Load/Store指令的周期數(shù)就不確定,必須根據(jù)被傳送的寄存器個(gè)數(shù)而定。如果是訪問(wèn)連續(xù)的存儲(chǔ)器地址,就可以改善性能,因?yàn)檫B續(xù)的存儲(chǔ)器訪問(wèn)通常比隨機(jī)訪問(wèn)要快。同時(shí),代碼密度也得到了提高,因?yàn)樵诤瘮?shù)的起始和結(jié)尾,多個(gè)寄存器的傳輸是很常用的操作。
· 內(nèi)嵌桶形移位器產(chǎn)生更復(fù)雜的指令
內(nèi)嵌桶形移位器是一個(gè)硬件部件,在一個(gè)輸入寄存器被一條指令使用之前,內(nèi)嵌桶形移位器可以處理該寄存器中的數(shù)據(jù)。它擴(kuò)展了許多指令的功能,改善了內(nèi)核的性能,提高了代碼密度。
· Thumb指令集
ARM處理器根據(jù)RICS原理設(shè)計(jì),但是由于各種原因,在低代碼密度上它比其他多數(shù)RICS要好一些,然而它的代碼密度仍不如某些CISC處理器。在代碼密度重要的場(chǎng)合,ARM公司在某些版本的ARM處理器中加入了一個(gè)稱(chēng)為T(mén)humb結(jié)構(gòu)的新型機(jī)構(gòu)。Thumb指令集是原來(lái)32位ARM指令集的16位壓縮形式,并在指令流水線中使用了動(dòng)態(tài)解壓縮硬件。Thumb代碼密度優(yōu)于多數(shù)CISC處理器達(dá)到的代碼密度。
· 條件執(zhí)行
只有當(dāng)某個(gè)特定條件滿足時(shí)指令才會(huì)被執(zhí)行。這個(gè)特性可以減少分支指令數(shù)目,從而改善性能,提高代碼密度。
· DSP指令
一些功能強(qiáng)大的數(shù)字信號(hào)處理(DSP)指令被加入到標(biāo)準(zhǔn)的ARM指令中,以支持快速的16×16位乘法操作及飽和運(yùn)算。在某些應(yīng)用中,傳統(tǒng)的方法需要微處理器加上DSP才能實(shí)現(xiàn)。這些增強(qiáng)指令,使得ARM處理器也能夠滿足這些應(yīng)用的需要。
綜上所述,ARM體系結(jié)構(gòu)的主要特征如下:
· 大量的寄存器,它們都可以用于多種用途;
· Load/Store體系結(jié)構(gòu);
· 每條指令都條件執(zhí)行;
· 多寄存器的Load/Store指令;
· 能夠在單時(shí)鐘周期執(zhí)行的單條指令內(nèi)完成一項(xiàng)普通的移位操作和一項(xiàng)普通的ALU操作;
· 通過(guò)協(xié)處理器指令集來(lái)擴(kuò)展ARM指令集,包括在編程模式中增加了新的寄存器和數(shù)據(jù)類(lèi)型。
如果把Thumb指令集也當(dāng)作ARM體系結(jié)構(gòu)的一部分,那么還可以加上:
· 在Thumb體系結(jié)構(gòu)中以高密度16位壓縮形式表示指令集。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 軟件體系結(jié)構(gòu)的分析 15次下載
- ARM體系結(jié)構(gòu)和應(yīng)用系統(tǒng)設(shè)計(jì)示例 4次下載
- 解讀ARM體系結(jié)構(gòu)命名規(guī)則 4次下載
- ARM7體系結(jié)構(gòu) 29次下載
- ARM體系結(jié)構(gòu)講解 3次下載
- ARM_SoC體系結(jié)構(gòu)講解 3次下載
- ARM體系結(jié)構(gòu)(2).PPT課件 9次下載
- ARM體系結(jié)構(gòu)(1)PPT課件 0次下載
- 105ARM體系結(jié)構(gòu)-編程模型_EXTI 7次下載
- ARM體系結(jié)構(gòu)入門(mén) 492次下載
- ARM體系結(jié)構(gòu)與編程_杜春雷 0次下載
- ARM體系結(jié)構(gòu)與編程
- ARM SoC體系結(jié)構(gòu)(中文版) 0次下載
- ARM微處理器體系結(jié)構(gòu)
- ARM體系結(jié)構(gòu)與編程模型
- GPGPU體系結(jié)構(gòu)優(yōu)化方向(1) 313次閱讀
- 嵌入式微處理器的體系結(jié)構(gòu) 1010次閱讀
- 一手掌握計(jì)算機(jī)體系結(jié)構(gòu)核心內(nèi)容 1919次閱讀
- 米爾科技ARM體系結(jié)構(gòu)與編程介紹 2057次閱讀
- 米爾科技ARM處理器體系架構(gòu)介紹 5020次閱讀
- 淺析自然語(yǔ)言處理知識(shí)體系結(jié)構(gòu) 5082次閱讀
- 一個(gè)簡(jiǎn)化的PCIe總線體系結(jié)構(gòu) 5541次閱讀
- 淺談ARM處理器的特點(diǎn)和體系結(jié)構(gòu) 1.7w次閱讀
- ptn技術(shù)特點(diǎn)及體系結(jié)構(gòu)詳解 2.2w次閱讀
- 學(xué)習(xí)ARM + Linux之前要講解用ADS或RealViewMDK去調(diào)試ARM開(kāi)發(fā)板的原因 5923次閱讀
- 詳解bootloader的執(zhí)行流程與ARM Linux啟動(dòng)過(guò)程分析 1w次閱讀
- 51單片機(jī)體系結(jié)構(gòu)初步分析 2778次閱讀
- 新手必看,關(guān)于ARM的22個(gè)常用概念 6354次閱讀
- ARM下浮點(diǎn)數(shù)Middle-Endian問(wèn)題的處理 1565次閱讀
- 一種基于B/S結(jié)構(gòu)與C/S結(jié)構(gòu)結(jié)合的新體系結(jié)構(gòu) 1292次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費(fèi)
- 2AN158 GD32VW553 Wi-Fi開(kāi)發(fā)指南
- 1.51MB | 2次下載 | 免費(fèi)
- 3AN148 GD32VW553射頻硬件開(kāi)發(fā)指南
- 2.07MB | 1次下載 | 免費(fèi)
- 4AN111-LTC3219用戶(hù)指南
- 84.32KB | 次下載 | 免費(fèi)
- 5AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費(fèi)
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費(fèi)
- 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費(fèi)
- 8AN-1308: 電流檢測(cè)放大器共模階躍響應(yīng)
- 545.42KB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 130次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊(cè)大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測(cè)試電源的紋波
- 0.36 MB | 17次下載 | 免費(fèi)
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論