ARMv8-Aアーキテクチャの概要

本日から、ARMv8-Aとの比較に使用されるARMv7-Aの知識を含む、ARMv8-Aアーキテクチャの知識を正式に学びます。

 

学習プロセスで使用されるドキュメント:

  • ARMv7、ARMv8のARMアーキテクチャリファレンスマニュアル
  • ARM Cortex-A75、A76コアテクニカルリファレンスマニュアル(TRM)
  • https://developer.arm.com/docs  

ARMアーキテクチャの進化のプロセスを最初に見る

上の図から、次の結論を導き出すことができます。

  • ARMアーキテクチャの進化は、ARMv4、ARMv5、ARMv6、ARMv7、ARMv8-Aからです
  • その中でも、チップの命名にはARM11の新しい命名規則Cortexが使用されています。たとえば、最新のQualcomm SM865はARMv8-AアーキテクチャとCortex-A77のコアを使用しています。
  • ARMv4からARMv7は32ビットのみをサポートし、ARMv8-Aから64ビットをサポートします。これは、私たちがよくAArch64と呼ぶものです。同時に、ARMv8はARMv7アプリケーションとの互換性のために32ビットもサポートしています。
  • 仮想化(仮想化)もARMv7の後に導入され、ARMv8-Aで完全にサポートされています
  • TrustZoneテクノロジーは、ARMv7およびARMv8で広く使用されています

ARMv8-Aにはどのモジュールが含まれていますか?例としてCortex-A57があります。

関連する主なモジュールは次のとおりです。

  • デバッグ用のARM CoreSightテクノロジー
  • 汎用割り込みコントローラー(GIC)割り込みコントローラー
  • メモリ保護ユニット(MMU)MMUは、仮想アドレスを物理アドレスに変換するために使用されます
  • 各コアにはL1命令とデータキャッシュがあり、通常は4つのコアごとに1つのクラスターになります。
  • L2キャッシュがあります
  • 複数のコアがコヒーレントバスを介して通信できます
     

複数のクラスターの設計を見てみましょう

クラスター内の各コアにはL1キャッシュがあり、クラスターには複数のコア間でデータを共有するためのL2キャッシュがあることがわかります。複数のクラスターがAMB Coherent Busを介して通信および通信します。

 

ARMv8-AアーキテクチャとARMv7アーキテクチャの違いは何ですか?

  • ARMv7アーキテクチャでは、4GBの最大アドレス空間のみにアクセスできますが、ARMv8-Aでは、より大きなアドレス空間にアクセスできます。
  • ARMv7は4KBページのみをサポートします。ARMv8-Aでは、複数のページタイプ(4K、16K、64K)をサポートできます。アドレス範囲[32、48]は最大48ビットです
  • したがって、ARMv8-Aアーキテクチャのアプリケーションは、より大きな仮想アドレス空間にアクセスできます
  • ARMv8-Aは、例外レベルの概念を初めて導入しました。ARMv7では、PL0、PL1、PL2を使用します。ARMv8-Aでは、EL0-EL3が使用されます
  • ARMv8-Aは、汎用レジスターの数を増やし、関数スタックのサイズを削減できます。ARMv8-Aでは30個の汎用レジスタが使用され、ARMv7では15個の汎用レジスタのみが使用されます
  • ARMv8-AはTLBのサイズを増やし、TLB MISSの可能性を減らします
  • ARMv8-Aアーキテクチャは、ARMv7アーキテクチャでのアプリケーションを完全にサポートします
  • 待って待って

次のセクションは、次のモジュールから分析されます

  • ARMv8-AおよびARMv7汎用レジスタでの汎用レジスタの比較
  • ARMv8-新しく導入された例外レベル
  • ARMv8での例外
  • ARMv8下メモリ、MMU、LTB
  • ARMv8でのGIC、割り込み

 

私のブログはすぐにTencent Cloud +コミュニティに同期されます。https://cloud.tencent.com/developer/support-plan?invite_code = 35qnbn3ijyaswに参加するように皆を招待してください

 

 

187件の元の記事を公開 108 件を獲得 37万回表示

おすすめ

転載: blog.csdn.net/longwang155069/article/details/104996106