《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 實現(xiàn)規(guī)模,、性能和低功耗是 ARM體系結(jié)構(gòu)的關鍵特性介紹

實現(xiàn)規(guī)模,、性能和低功耗是 ARM體系結(jié)構(gòu)的關鍵特性介紹

2015-09-25

  ARM基礎知識科普:實現(xiàn)規(guī)模、性能和低功耗是 ARM體系結(jié)構(gòu)的關鍵特性介紹,!
  ARM 體系結(jié)構(gòu)是構(gòu)建每個 ARM 處理器的基礎,。ARM 體系結(jié)構(gòu)隨著時間的推移不斷發(fā)展,,其中包含的體系結(jié)構(gòu)功能可滿足不斷增長的新功能、高性能需求以及新興市場的需要,。ARM 體系結(jié)構(gòu)支持跨躍多個性能點的實現(xiàn),,并已在許多細分市場中成為主導的體系結(jié)構(gòu)。ARM 體系結(jié)構(gòu)支持非常廣泛的性能點,,因而可以利用最新的微體系結(jié)構(gòu)技術獲得極小的 ARM 處理器實現(xiàn)和極有效的高級設計實現(xiàn),。實現(xiàn)規(guī)模、性能和低功耗是 ARM 體系結(jié)構(gòu)的關鍵特性,。
  已經(jīng)開發(fā)了體系結(jié)構(gòu)擴展,,從而為 Java 加速 (Jazelle)、安全性 (TrustZone),、SIMD 和高級 SIMD (NEON) 技術提供支持,。ARMv8-A 體系結(jié)構(gòu)增加了密碼擴展作為可選功能,。
  ARM 體系結(jié)構(gòu)通常描述為精簡指令集計算機 (RISC) 體系結(jié)構(gòu),因為它包含以下典型 RISC 體系結(jié)構(gòu)特征:
  統(tǒng)一寄存器文件加載/存儲體系結(jié)構(gòu),,其中的數(shù)據(jù)處理操作只針對寄存器內(nèi)容,,并不直接針對內(nèi)存內(nèi)容。
  簡單尋址模式,,所有加載/存儲地址只通過寄存器內(nèi)容和指令字段確定,。
  對基本 RISC 體系結(jié)構(gòu)的增強使 ARM 處理器可以實現(xiàn)較高性能、較小代碼大小,、較低功耗和較小硅面積的良好平衡,。

1.png

  ARMv8 體系結(jié)構(gòu)
  ARMv8-A 將 64 位體系結(jié)構(gòu)支持引入 ARM 體系結(jié)構(gòu)中,其中包括:
  64 位通用寄存器,、SP(堆棧指針)和 PC(程序計數(shù)器)
  64 位數(shù)據(jù)處理和擴展的虛擬尋址
  兩種主要執(zhí)行狀態(tài):
  AArch64 - 64 位執(zhí)行狀態(tài),,包括該狀態(tài)的異常模型、內(nèi)存模型,、程序員模型和指令集支持
  AArch32 - 32 位執(zhí)行狀態(tài),,包括該狀態(tài)的異常模型、內(nèi)存模型,、程序員模型和指令集支持
  這些執(zhí)行狀態(tài)支持三個主要指令集:
  A32(或 ARM):32 位固定長度指令集,,通過不同體系結(jié)構(gòu)變體增強部分 32 位體系結(jié)構(gòu)執(zhí)行環(huán)境現(xiàn)在稱為 AArch32
  T32 (Thumb),,以 16 位固定長度指令集的形式引入,,隨后在引入 Thumb-2 技術時增強為 16 位和 32 位混合長度指令集。部分 32 位體系結(jié)構(gòu)執(zhí)行環(huán)境現(xiàn)在稱為 AArch32
  A64:提供與 ARM 和 Thumb 指令集類似功能的 32 位固定長度指令集,。隨 ARMv8-A 一起引入,,它是一種 AArch64 指令集。
  ARM ISA 不斷改進,,以滿足前沿應用程序開發(fā)人員日益增長的要求,,同時保留了必要的向后兼容性,以保護軟件開發(fā)投資,。在 ARMv8-A 中,,對 A32 和 T32 進行了一些增補,以保持與 A64 指令集一致,。
  A32(ARM)
  ARM(通常稱為 A32)是一種固定長度(32 位)的指令集,。它是 ARMv4T、ARMv5TEJ 和 ARMv6 體系結(jié)構(gòu)中使用的基礎 32 位 ISA,。在這些體系結(jié)構(gòu)中,,該指令集用于需要高性能的應用領域,或用于處理硬件異常,,如中斷和處理器啟動,。
  對于性能關鍵應用和舊代碼,,Cortex 體系結(jié)構(gòu)的 Cortex-A 和 Cortex-R 配置文件也支持 ARM ISA。其多數(shù)功能都包括在與 Thumb-2 技術一起引入的 Thumb 指令集中,。Thumb (T32) 從改進的代碼密度中獲益,。
  ARM 指令的長度為 32 位,需要 4 字節(jié)邊界對齊,。
  可以對大多數(shù) ARM 指令進行“條件化”,,使其僅在以前的指令設置了特定條件代碼時執(zhí)行。這意味著,,如果應用程序狀態(tài)寄存器中的 N,、Z、C 和 V 標志滿足指令中指定的條件,,則指令僅對程序員的模型操作,、內(nèi)存和協(xié)處理器發(fā)揮其正常作用。如果這些標記不滿足此條件,,則指令會用作 NOP,,即執(zhí)行過程正常進入下一指令(包括將對異常進行任意相關檢查),但不發(fā)揮任何其他作用,。此條件化指令允許對 if 和 while 語句的一小部分進行編碼,,而無需使用跳轉(zhuǎn)指令。
  條件代碼包括:

2.png

  T32(Thumb)
  成本敏感型嵌入式控制應用領域(例如手機,、磁盤驅(qū)動器,、調(diào)制解調(diào)器和尋呼機)一直在尋求通過某些方式在兼顧內(nèi)存占用空間的前提下以最低成本實現(xiàn) 32 位性能和地址空間。
  Thumb (T32) 指令集提供已壓縮至 16 位寬操作碼的,、最常用的 32 位 ARM 指令的子集,。在執(zhí)行時,這些 16 位指令實時,、透明地解壓縮為完整 32 位 ARM 指令,,且無性能損失。
  Thumb 可向設計人員提供:
  卓越的代碼密度,,可實現(xiàn)最小的系統(tǒng)內(nèi)存大小和最低的成本,。
  在 8 位或 16 位總線上的 8 位或 16 位內(nèi)存中實現(xiàn) 32 位性能,從而降低系統(tǒng)成本,。
  建立的 ARM 功能
  行業(yè)領先的 MIPS/Watt,,以盡可能延長電池壽命和增加 RISC 性能
  小的芯片面積,以進行集成和盡可能降低芯片成本
  全球多合作伙伴源,,可提供安全保證,。
  設計人員可以同時使用 16 位 Thumb 和 32 位 ARM 指令集,這樣,,他們就可以靈活地根據(jù)應用需求在子例程級別上增強性能或調(diào)整代碼大小,。
  Thumb ISA 受 ARM 生態(tài)系統(tǒng)的廣泛支持,,包括完善的 Windows 軟件開發(fā)環(huán)境以及開發(fā)和評估卡。
  改進了代碼密度,,具有性能效率和功效
  Thumb-2 技術使 Thumb 成為固定(32 位和 16 位)長度指令集,,是所有 ARMv7 兼容的 ARM Cortex 實現(xiàn)所通用的指令集。Thumb-2 提升了眾多嵌入式應用程序的性能,、能效和代碼密度,。
  該技術與現(xiàn)有 ARM 和 Thumb 解決方案向后兼容,同時顯著擴展了 Thumb 指令集的可用功能,,從而使更多應用程序從 Thumb 的同類最佳代碼密度中獲益,。為獲得性能優(yōu)化的代碼,Thumb-2 技術使用少于 31% 的內(nèi)存以降低系統(tǒng)成本,,同時,,提供比現(xiàn)有高密度代碼高出 38% 的性能,因此可用于延長電池壽命,,或豐富產(chǎn)品功能集,。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。