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

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

3天內不再提示

米爾科技ARM處理器體系架構介紹

米爾科技 ? 來源:米爾科技 ? 作者:米爾科技 ? 2019-11-20 10:04 ? 次閱讀
ARM 體系結構是構建每個 ARM 處理器的基礎。ARM 體系結構隨著時間的推移不斷發(fā)展,其中包含的體系結構功能可滿足不斷增長的新功能、高性能需求以及新興市場的需要。

ARM 體系結構支持跨躍多個性能點的實現,并已在許多細分市場中成為主導的體系結構。ARM 體系結構支持非常廣泛的性能點,因而可以利用最新的微體系結構技術獲得極小的 ARM 處理器實現和極有效的高級設計實現。實現規(guī)模、性能和低功耗是 ARM 體系結構的關鍵特性。

已經開發(fā)了體系結構擴展,從而為 Java 加速 (Jazelle)、安全性 (TrustZone)、SIMD和高級 SIMD (NEON)技術提供支持。ARMv8-A 體系結構增加了密碼擴展作為可選功能。

ARM 體系結構通常描述為精簡指令集計算機 (RISC) 體系結構,因為它包含以下典型 RISC 體系結構特征:

  • 統一寄存器文件加載/存儲體系結構,其中的數據處理操作只針對寄存器內容,并不直接針對內存內容。
  • 簡單尋址模式,所有加載/存儲地址只通過寄存器內容和指令字段確定。

對基本 RISC 體系結構的增強使 ARM 處理器可以實現較高性能、較小代碼大小、較低功耗和較小硅面積的良好平衡。

ARMv8 體系結構

ARMv8-A將 64 位體系結構支持引入 ARM 體系結構中,其中包括:

  • 64 位通用寄存器、SP(堆棧指針)和PC(程序計數器)
  • 64位數據處理和擴展的虛擬尋址
  • 兩種主要執(zhí)行狀態(tài):
    • AArch64- 64 位執(zhí)行狀態(tài),包括該狀態(tài)的異常模型、內存模型、程序員模型和指令集支持
    • AArch32-32 位執(zhí)行狀態(tài),包括該狀態(tài)的異常模型、內存模型、程序員模型和指令集支持

這些執(zhí)行狀態(tài)支持三個主要指令集:

  • A32(或 ARM):32 位固定長度指令集,通過不同體系結構變體增強部分 32 位體系結構執(zhí)行環(huán)境現在稱為 AArch32
  • T32(Thumb),以 16 位固定長度指令集的形式引入,隨后在引入 Thumb-2 技術時增強為 16 位和 32 位混合長度指令集。部分 32 位體系結構執(zhí)行環(huá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體系結構中使用的基礎 32位 ISA。在這些體系結構中,該指令集用于需要高性能的應用領域,或用于處理硬件異常,如中斷和處理器啟動。

對于性能關鍵應用和舊代碼,Cortex 體系結構的Cortex-A和Cortex-R配置文件也支持 ARMISA。其多數功能都包括在與 Thumb-2 技術一起引入的 Thumb 指令集中。Thumb (T32) 從改進的代碼密度中獲益。

ARM 指令的長度為 32 位,需要 4 字節(jié)邊界對齊。

可以對大多數 ARM 指令進行“條件化”,使其僅在以前的指令設置了特定條件代碼時執(zhí)行。這意味著,如果應用程序狀態(tài)寄存器中的 N、Z、C 和V標志滿足指令中指定的條件,則指令僅對程序員的模型操作、內存和協處理器發(fā)揮其正常作用。如果這些標記不滿足此條件,則指令會用作NOP,即執(zhí)行過程正常進入下一指令(包括將對異常進行任意相關檢查),但不發(fā)揮任何其他作用。此條件化指令允許對 if 和 while 語句的一小部分進行編碼,而無需使用跳轉指令。

條件代碼包括:

條件代碼 含義

N

否定條件代碼,如果結果為否定的,則設置為1

Z

零條件代碼,如果指令的結果為 0,則設置為 1

C

進位條件代碼,如果指令生成進位條件,則設置為 1

V

溢出條件代碼,如果指令生成溢出條件,則設置為 1。

T32(Thumb)

成本敏感型嵌入式控制應用領域(例如手機、磁盤驅動器、調制解調器和尋呼機)一直在尋求通過某些方式在兼顧內存占用空間的前提下以最低成本實現 32位性能和地址空間。

Thumb (T32) 指令集提供已壓縮至 16 位寬操作碼的、最常用的 32 位 ARM 指令的子集。在執(zhí)行時,這些 16 位指令實時、透明地解壓縮為完整 32 位 ARM 指令,且無性能損失。

Thumb 可向設計人員提供:

  • 卓越的代碼密度,可實現最小的系統內存大小和最低的成本。
    • 在 8 位或 16 位總線上的 8 位或 16 位內存中實現 32 位性能,從而降低系統成本。
  • 建立的 ARM 功能
  • 行業(yè)領先的 MIPS/Watt,以盡可能延長電池壽命和增加 RISC 性能
  • 小的芯片面積,以進行集成和盡可能降低芯片成本
  • 全球多合作伙伴源,可提供安全保證。

設計人員可以同時使用 16 位 Thumb 和 32 位 ARM 指令集,這樣,他們就可以靈活地根據應用需求在子例程級別上增強性能或調整代碼大小。

Thumb ISA 受 ARM 生態(tài)系統的廣泛支持,包括完善的 Windows 軟件開發(fā)環(huán)境以及開發(fā)和評估卡。

改進了代碼密度,具有性能效率和功效

Thumb-2 技術使 Thumb 成為固定(32 位和 16 位)長度指令集,是所有 ARMv7 兼容的 ARM Cortex 實現所通用的指令集。Thumb-2 提升了眾多嵌入式應用程序的性能、能效和代碼密度。

該技術與現有 ARM 和 Thumb 解決方案向后兼容,同時顯著擴展了 Thumb 指令集的可用功能,從而使更多應用程序從 Thumb 的同類最佳代碼密度中獲益。為獲得性能優(yōu)化的代碼,Thumb-2 技術使用少于31% 的內存以降低系統成本,同時,提供比現有高密度代碼高出 38% 的性能,因此可用于延長電池壽命,或豐富產品功能集。


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

    關注

    3

    文章

    3521

    瀏覽量

    88317
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6084

    瀏覽量

    35154
  • 米爾科技
    +關注

    關注

    5

    文章

    227

    瀏覽量

    20882
收藏 人收藏

    評論

    相關推薦

    ARM體系結構對應處理器

    本帖最后由 i2c 于 2014-10-13 10:52 編輯 ARM處理器內核列表 ARM體系架構
    發(fā)表于 10-13 10:49

    ARM處理器體系架構詳細說明

    本帖最后由 i2c 于 2014-10-13 16:10 編輯 ARM 體系結構是構建每個 ARM 處理器的基礎。ARM
    發(fā)表于 10-13 16:08

    淺談ARM處理器架構

    ,新的 Cortex-M處理器家族設計的非常容易使用。因此,ARM 微控制處理器在單片機和深度嵌入式系統市場非常成功和受歡迎。二、ARM
    發(fā)表于 08-18 12:04

    Cortex系列處理器是從ARM哪個架構開始的?

    Cortex系列處理器是從ARM哪個架構開始的?arm架構和x86架構有什么區(qū)別?
    發(fā)表于 07-06 10:49

    什么是ARM處理器?

    廠商的x86架構處理器,有IBM的power架構處理器,高通蘋果海思有ARM架構
    發(fā)表于 11-24 07:05

    談談嵌入式處理器體系架構

    當我們談及嵌入式處理器體系架構時,一般都是想到Intel的X86架構ARM公司的ARM
    發(fā)表于 12-15 06:59

    了解體系結構 - 介紹 Arm 體系結構

    架構。不需要事先了解 Arm 體系結構,但假定對處理器和編程及其術語大致熟悉。在本指南的最后,您可以檢查您的知識.您將了解 Arm
    發(fā)表于 08-01 14:35

    深入介紹Arm架構的R-Profile

    對不同版本的體系結構進行比較,并鏈接到其他資源以了解更多信息。 本指南面向使用基于R-Profile處理器的系統的用戶。不需要事先了解Arm體系結構,但假設對
    發(fā)表于 08-02 17:51

    ARM體系結構、處理器和設備開發(fā)文章

    ARM產品必須如何運行的體系結構規(guī)范。 此外,一些合作伙伴還授權實施符合架構規(guī)范的自己的ARM處理器。 這導致了分層劃分為三個級別的規(guī)范,這
    發(fā)表于 08-21 07:28

    ARM處理器體系結構

    ARM處理器體系結構: 2.2.1 數據類型 2.2.2 ARM處理器的工作狀態(tài) 2.2.3
    發(fā)表于 06-17 00:24 ?42次下載

    ARM9系列微處理器軟件體系架構工具

    本內容提供了ARM9系列微處理器軟件體系架構工具
    發(fā)表于 04-29 16:50 ?187次下載
    <b class='flag-5'>ARM</b>9系列微<b class='flag-5'>處理器</b>軟件<b class='flag-5'>體系</b><b class='flag-5'>架構</b>工具

    淺談ARM處理器的特點和體系結構

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

    Atmel最新的基于ARM9架構的微處理器介紹

    在2011 ARM Techcon上,Atmel的應用經理介紹其最新的基于ARM9架構的微處理器。
    的頭像 發(fā)表于 06-26 11:30 ?5825次閱讀

    米爾科技ARM體系結構與編程介紹

    ARM體系結構與編程》分14章對ARM處理器體系結構、指令系統和開發(fā)工具作了比較全面的介紹
    的頭像 發(fā)表于 11-25 09:18 ?1984次閱讀
    <b class='flag-5'>米爾</b>科技<b class='flag-5'>ARM</b><b class='flag-5'>體系</b>結構與編程<b class='flag-5'>介紹</b>

    華為鯤鵬處理器架構介紹 ARM架構處理器應用領域

    華為鯤鵬處理器基于Arm架構。Arm是一種CPU架構,有別于Intel、AMD CPU采用的CISC復雜指令集,
    發(fā)表于 11-02 09:53 ?1.3w次閱讀