ヒューリスティック アーム アーキテクチャの解釈 (2023 新規)

第 1 章 ヒューリスティック アーム アーキテクチャの解釈

第 2 章 CPU マイクロアーキテクチャ

第 3 章 システムのマイクロアーキテクチャ

第 4 章 バスのマイクロアーキテクチャ

第 5 章 マイクロアーキテクチャの監視

第 6 章 セキュリティのマイクロアーキテクチャ

第 7 章 仮想化のマイクロアーキテクチャ

第 8 章 Armv9-A アーキテクチャ

第 9 章 Armv8-M アーキテクチャ

第 10 章 Armv8-R アーキテクチャ

第11章 Cortex-A715の解釈

第12章 Cortex-X3の解釈

第十三章 ネオバースの解釈

第14章 Cortex-M85の解釈

第15章 Cortex-R82の解釈

目次

序文

1. アーキテクチャの概要

1.1 フォン・ノイマン・アーキテクチャ

1.2 ハーバード アーキテクチャ

1.3 アームのアーキテクチャ

2. アーキテクチャ マップ

2.1 トロイカ

2.2 6世代の継承

2.3 最新メンバー

2.3.1 ビッグブラザー Cortex-A710

2.3.2 セカンド ジュニア ブラザー Cortex-R82

2.3.3 妹 Cortex-M85

2.4 建築一族

2.4.1 グラフィック処理ユニット GPU

2.4.2 ニューラル ネットワーク プロセッサ ユニット NPU

3. 建築マジック

3.1 派閥

3.1.1 Cortex-A マジック

3.1.2 Cortex-R マジック

3.1.3 Cortex-M マジック

3.2時代

3.3 マイクロマジック

4. アーキテクチャドリル

4.1 大集合

4.2 フォーメーション

4.3 何千マイルも離れた場所で戦略を立てて勝つ

4.3.1 アップロードとダウンロード - コンソール出力

4.3.2 FiberHome - LED マーキー

4.3.3 パスワード発行暗号化

4.3.4 最初に採餌 - コードを開始

4.3.5 準備完了 - リンクスクリプト

V. まとめ

参照する


序文


  • 注意: 全文は 10,000 語で、推定読了時間は 15 分です。
  • 読者: Arm アーキテクチャに興味のある友人。
  • 要約: この記事では、主に Arm アーキテクチャの基礎となるロジックについて説明し、プロセッサ コア アーキテクチャに基づいて、システム アーキテクチャをコアとして、A シリーズと M シリーズの Arm アーキテクチャのトップ レベルの設計を紹介します。アーキテクチャは典型的なものとして、主要なシステム コンポーネントは設計されています わかりやすい説明; この記事で言及されている Arm アーキテクチャには、GPU および NPU アーキテクチャは含まれません。
b65ef10fac324ee59660050518a14dae.png

図 1 Arm の知識構造

  • キーワード: Arm アーキテクチャ、マイクロアーキテクチャ、Cortex-A、Cortex-R、Cortex-M、Armv7、Armv8、Armv9、ISA、命令セット、AMBA バス、デバッグ、Trustzone、仮想化、EL-2、S-EL2、EL-1 、S-EL1、オペレーティングシステム、RISC-V。
  • 関連する推奨事項: 構造、アーキテクチャ、システムなどの概念に興味がある場合は、アーキテクチャとシステムを読むことをお勧めします 。
  • 関連のおすすめ: アーム社に興味がある方は、アーム社を理解するための記事を読むことをお勧めします。

1. アーキテクチャの概要


1.1 フォン・ノイマン・アーキテクチャ

  • プリンストン構造とも呼ばれるフォンノイマン構造は、プログラム命令メモリとデータメモリを組み合わせたメモリ構造です。The program instruction storage address and the data storage address point to the different physical location of the same memory, so the program instruction and data has a same width. たとえば、Intel の 8086 中央処理装置のプログラム命令とデータは 16 ビット幅です。
  • 数学者のフォン・ノイマンは、コンピューター製造の 3 つの基本原則、つまり、バイナリ ロジックの使用、プログラムの格納と実行、を提案し、コンピューターは 5 つの部分 (計算機、コントローラー、メモリ、入力デバイス、出力デバイス) で構成されているという理論が知られています。ノイマン建築として。

1.2 ハーバード アーキテクチャ

  • ハーバード構造は並列アーキテクチャであり、その主な特徴は、プログラムとデータが異なる記憶空間に格納されていること、つまり、プログラムメモリとデータメモリが2つの独立したメモリであり、各メモリが独立してアドレス指定され、独立してアクセスされることです。はじめに 2 つのメモリに対応するのは、システムの 4 つのバスです。データ バスと、プログラムとデータのアドレス バスです。

1.3 アームのアーキテクチャ

  • Arm アーキテクチャとは、中央処理装置 (CPU) マイクロアーキテクチャシステム マイクロアーキテクチャ、バス マイクロアーキテクチャ、モニタリング マイクロアーキテクチャ、セキュリティ マイクロアーキテクチャ、および仮想化マイクロアーキテクチャ含む、Arm プロセッサのアーキテクチャを指します。
    • CPU マイクロアーキテクチャは、 A32/T32、A64、NEON、VFP などを含む命令セット アーキテクチャ ISAの実装です。
    • システム アーキテクチャ セットには、割り込みコントローラ GIC / システム メモリ マネージャ SMMU / 電源管理 PSCA / APCI などが含まれます。
    • バス マイクロアーキテクチャは、AHB、APB、AXI、CHI などを含むAMBA マイクロアーキテクチャを指します。
    • マイクロアーキテクチャの監視には、デバッグのデバッグとトレースの追跡が含まれます。
    • セキュリティ マイクロアーキテクチャには、Trustzone、Realm、Crypto Cell、Crypto Island などが含まれます。
    • 仮想化マイクロアーキテクチャには、VMSA、LPAE、EL-2、S-EL2 などがあります。
表 1 マイクロ アーキテクチャ システム
CPU マイクロアーキテクチャ 命令セット アーキテクチャを実装する中央計算ユニットアーキテクチャ、およびA、R、および M シリーズ アーキテクチャは、  CPU アーキテクチャを説明します。
システムのマイクロアーキテクチャ プロセッサのさまざまなコンポーネントが適切に機能するために存在するシステム コンポーネント アーキテクチャ
バスのマイクロアーキテクチャ さまざまなアーキテクチャ サブシステムを接続するブリッジ アーキテクチャ
マイクロアーキテクチャの監視 システムの各アーキテクチャ コンポーネントのデバッグと追跡
セキュリティ マイクロアーキテクチャ システムセキュリティの実装に使用されるアーキテクチャのコレクション
仮想化マイクロアーキテクチャ ハードウェア リソースを仮想化するためのアーキテクチャのコレクション
1960bc48131140d382512892a00ad770.png

図 2 Arm プロセッサの最上位アーキテクチャ

2. アーキテクチャ マップ


2.1 トロイカ

  • Arm アーキテクチャは、さまざまなアプリケーション シナリオに応じて、Cortex-A、Cortex-M、および Cortex-R の 3 つのアーキテクチャ ファミリに分類されます。
  • Arm A-Profile アーキテクチャには、主にモバイル端末や PC 端末向けの Cortex-A シリーズ プロセッサ、クラウド コンピューティングや機械学習向けの高性能 Neoverse プロセッサ、およびお客様と協力して開発された高性能 Cortex-X シリーズ プロセッサが含まれます。シリーズは独立したシリーズを形成することができます。
  • Arm M-Profile アーキテクチャには、主に Armv6 M0、Armv7 Cortex-M3、Cortex-M4、Armv8 Cortex-M23、Cortex-M33、Cortex-M35、Cortex-M55、Cortex-M85 が含まれ、一般的な MCU、IoT ネットワーク分野に使用されます。
  • Arm R-Profile アーキテクチャには、主にリアルタイム制御の分野で使用される Cortex-R4、Cortex-R5、Cortex-R7、Armv7 の Cortex-R8、Armv8 の Cortex-R52、および Cortex-R82 が含まれます。

各アーキテクチャ ファミリの進化は、独立しており、相互に関連しています。現在、AシリーズはArmv9版、MシリーズはArmv8版、RシリーズはArmv8版に進化しており、各ファミリーの代表的なプロセッサのアーキテクチャは以下の通りです。

2.2 6世代の継承

  • Arm アーキテクチャには、Armv4 から Armv9 までの 6 つのバージョンがあります。
  • 現在、Armv7、Armv8、Armv9 の 3 つのバージョンが市場に出回っています。
  • 各バージョンでは、Armv6 の Trustzone、Armv7 の仮想化、Armv8 のベクトル拡張 SVE、Armv9 のマトリックス拡張 SME など、さまざまな機能が導入/廃止されています。
2388f4e1e7f8491b988bc03adec5c13c.png

図 3 アーキテクチャ バージョン

2.3 最新メンバー

2.3.1 ビッグブラザー Cortex-A710

Cortex-A710 は、Armv9-A アーキテクチャの大規模コア アーキテクチャである Cortex-A78 の拡張バージョンであり、基本的に前世代と同じです. 新しいマイクロ アーキテクチャは、より優れたパフォーマンスと低消費電力を実現できます。ベクトル計算のバージョン 拡張アーキテクチャ SVE2 サポート; 高度な SIMD&DSP の NEON アーキテクチャ サポート; VFPv3 ベクトル浮動小数点と互換性のある FPU 浮動小数点アーキテクチャ。

c226a5ce47574600997ea9bb9cba97d1.png

図 4 Cortex-A710 のアーキテクチャ図

2.3.2 セカンド ジュニア ブラザー Cortex-R82

Cortex-R82 は、CoreSgiht MDT、GIC、FPU、TCM、SCU、ACP、AXI-S、AXI-M、LLPP、LLRAM およびその他のマイクロアーキテクチャを含む Armv8 アーキテクチャを使用する R シリーズの最新プロセッサです。

31901ecce3df20d171122f499b0dd644.png

図 5 Cortex-R82 アーキテクチャ図

2.3.3 妹 Cortex-M85

M85 は、MPU、Helium、PMU、CP、FPU、TCM、AHB、DSP、ETM、PACBTI、APH、およびその他のマイクロアーキテクチャを含む Armv8.1-M アーキテクチャです。

e4db73fe82eb4c9b89bb2eeed5a2a7c6.png

図 6 Cortex-M85 アーキテクチャ図

2.4 建築一族

この記事で説明する Arm アーキテクチャは、汎用プロセッサ アーキテクチャを指しており、特殊なプロセッサは含まれていません。汎用プロセッサに加えて、Arm にはグラフィックス プロセッサとニューラル ネットワーク プロセッサもあります。

2.4.1 グラフィック処理ユニット GPU

f4f5ee8a810d4094b885054cefd72f91.png

図 7 マリ GPU ロードマップ

GPU アーキテクチャは、従来の Mali アーキテクチャと最新の Immortalis アーキテクチャの 2 つのブランチに分かれています。

  • マリには現在、ウトガルド、ミッドガルド、ビフロスト、ヴァルハルの 4 つの世代があります。
  • Immortalis は、Immortalis-G715 に代表される新しく発売されたアーキテクチャです。

GPU アーキテクチャの詳細については、  Arm GPUを参照してください。

2.4.2 ニューラル ネットワーク プロセッサ ユニット NPU

e071fd03f129442786eb441d2c3bbf88.png

図 8 Ethos NPU ファミリー

Ethos - NPUs は、U55、U65、N78、

NPU の詳細については、 Arm NPU を参照してください 。

3. 建築マジック


建築魔法とは、計算魔法、セキュリティ魔法、仮想化魔法などの建築上の特徴を指します。このパートでは、これらの神秘的な魔法を、派閥、時代、およびマイクロマジックの次元から紹介します。

3.1 派閥

3.1.1 Cortex-A マジック

アーマー 8.0 (Armv8.0-A)

  • アドバンス SIMD
    • aSIMD、拡張固定長、高度な単一命令、複数データ
    • Armv8-A では、可変長 SVE と SVE2 とともに、SIMD が形成されます。
    • SVE は主に HPC で使用され、V9 では標準です
  • 暗号拡張 (CE)
    • AES アクセラレーター: AEAD、AESE
    • SHA加速器:SHA1、SHA256
  • CRC
    • ハードウェア CRC アクセラレーション

アーマー 8.1 (Armv8.1-A)

  • アトミック メモリ アクセス命令 (AArch64)
    • PostgreSQLは、排他的ロード命令 LDXR や排他的ストレージ命令 STXR など、大規模システム LSE 向けに設計されたストレージ アトミック アクセス拡張機能を既にサポートしています。
  • 限定注文地域 (AArch64)
    • 大規模システムの LSE、load-aquire、store-release 命令用に設計されたメモリ アクセス シーケンス
    • アウトオブオーダー時代のDMB、DSB、ISBのアップグレード版です
  • 仮想マシン識別子 (VMID) サイズの増加、および仮想化ホスト拡張機能 (AArch64)
    • 仮想化におけるより大きな VM ID
    • EL2 VHEテクノロジーでホストを直接実行
  • Privileged Access Never (PAN) (AArch32 および AArch64)
    • ユーザー空間メモリへのカーネル アクセスは PAN 経由で制限できます

アーマー 8.2 (Armv8.2-A)

  • 52 ビット アドレス (AArch64) のサポート
    • 52 ビットの大きな物理アドレスと大きな仮想アドレスのサポート (通常はサーバー アプリケーション用)
  • PE が Translation Lookaside Buffer (TLB) エントリを共有する機能 (AArch32 および AArch64)
    • マルチ PE 共有 TLB、つまり共有ページ テーブル エントリ
  • FP16 データ処理命令 (AArch32 および AArch64)
    • 単精度および倍精度ではなく、半精度がサポートされています
  • 統計プロファイリング (AArch64)
    • パイプライン内の組み込み命令統計ツール (パケット遅延、サンプリング命令の重要な情報 (アクセス/ヒット/ミス、分岐予測エラー、読み取り/書き込みインターロックかどうか)、どのレベルのストレージから発生したか)
  • Reliability Availability Serviceability (RAS) サポートが必須になる (AArch32 および AArch64)
    • 信頼性、可用性、保守性を確保するメカニズムを提供するために、TF-A は RAS フレームワークをサポートしています。
  • セキュリティ拡張 CE
    • SHA2-512、SHA3
    • SM3、SM4

アーマー 8.3 (Armv8.3-A)

  • ポインター認証 (AArch64)
    • 命令ポインターとデータ ポインターで身元認証を実行する
    • 現在、GCC -msign-return-address は LR 認証を返すことをサポートしています
  • ネストされた仮想化 (AArch64)
    • ゲストが EL1 でハイパーバイザーを実行できるようにする
    • EL1 から EL2 へのアクセス機構を追加
  • Advanced Single Instruction Multiple Data (SIMD) 複素数サポート (AArch32 および AArch64)
    • aSIMD が複雑な演算をサポート
  • JavaScript データ型変換サポートの改善 (AArch32 および AArch64)
    • JavaScript データ型変換サポートの改善
  • メモリー整合性モデル (AArch64) の変更
    •  RCsc に基づいて、より弱い RCpc サポートを追加します。
  • 大規模なシステム可視キャッシュの ID メカニズムのサポート (AArch32 および AArch64)
    • キャッシュ ID レジスタ拡張

アーマー 8.4 (Armv8.4-A)

  • 安全な仮想化 (AArch64)
    • S-EL2 サポートにより、安全な環境で安全な仮想マシンを実行できます
  • ネストされた仮想化の機能強化 (AArch64)
  • 小さな変換テーブルのサポート (AArch64)
  • アライメント制限の緩和 (AArch32 および AArch64)
  • メモリのパーティショニングとモニタリング (MPAM) (AArch32 および AArch64)
  • 追加の暗号サポート (AArch32 および AArch64)
  • 汎用カウンター スケーリング (AArch32 および AArch64)
  • SHA を高速化する手順

アーマー 8.5/9.0 (Armv8.5-A/Armv9.0-A)

  •  メモリのタグ付け (AArch64)
  • 分岐先の識別 (AArch64)
  • 乱数ジェネレーター命令 (AArch64)
  • 深い持続性のポイントまでクリーンなキャッシュ (AArch64)
  • V5A

アーマー 8.6/9.1 (Armv8.6-A/Armv9.1-A)

  •  一般行列乗算 (GEMM) 命令 (AArch64)
  • 仮想化のためのきめ細かいトラップ (AArch64)
  • 高精度汎用タイマー
  • データ収集のヒント (AArch64)
  • V6-A

アーマー 8.7/9.2 (Armv8.7-A/Armv9.2-A)

  • PCIe ホットプラグ (AArch64) の拡張サポート
  • アトミック 64 バイトの読み込みとアクセラレータへのストア (AArch64)
  • Wait For Instruction (WFI) と Wait For Event (WFE) with timeout (AArch64)
  • ブランチ レコードの記録 (Armv9.2 のみ)

アーマー 8.8/9.3 (Armv8.8-A/Armv9.3-A)

  • ノンマスカブル割り込み (AArch64)
  • memcpy() および memset() スタイルの操作を最適化する手順 (AArch64)
  • PAC の機能強化 (AArch64)
  • ヒント付き条件分岐

3.1.2 Cortex-R マジック

七代目魔法(ARMV7-R)

第八世代魔法 (Armv8-R)

3.1.3 Cortex-M マジック

第八世代魔法 (Armv8.0-M)

第八世代魔法 v1 (Armv8.1-M)

  • MVE (M-Profile Vector Extension),アームヘリウム
  • LoB/ループテール予測/BF

  • 安全

    • 実行許可
    • V8.2-M PAC(ポインター認証)
    • V8.2-M BTI(分岐先命令)
    • DIT(データ独立タイミング)
    • UDE (非特権デバッグ拡張機能)

3.2時代

表 2 魔法の年
2022年 A-PROFILE 2022
2021年 A-PROFILE 2021
2020年 A-PROFILE 2020
2019年 -
2018年 A-PROFILE 2018
2017年 A-PROFILE 2017
2016年 A-PROFILE 2016
2015年 A-PROFILE 2015
2014年 A-PROFILE 2014

3.3 マイクロマジック

表 3 スキル表
ネオン 整数ベクトル演算
VFP 浮動小数点ベクトル演算
全て 可変長ベクトル展開演算

現在の CPU 実装のアーキテクチャ上の特徴を識別するには、レジスタの ID_AA64xxxx ファミリを参照してください。 

4. アーキテクチャドリル


4.1 大集合

時間の経過と需要の変化により、各製品ファミリは複数のメンバーに進化し、その中で Cortex-A シリーズ プロセッサは A5 から A715 までの 24 モデルをリリースし、Cortex-M シリーズ プロセッサは M0 から合計 24 モデルをリリースしました。 Cortex-Rシリーズのプロセッサは、R4からR82までの11モデルがリリースされており、各プロセッサの違いについては、以下のリンク表をご覧ください。

4.2 フォーメーション

異なるプロセッサは、異なるアプリケーションを処理できます。

ウェアラブルでは主にCortex-AとCortex-Mが使われ、ストレージではCortex-RとCortex-Mが使われ、ADASではCortex-AとCortex-Rがあり、AはHigh-パフォーマンス コンピューティング、および R はリアルタイムおよびセキュリティ コントロールに使用されます。モバイル コンシューマー市場では、Cortex-A、Cortex-R、および Cortex-M にアプリケーションがあり、A はアプリケーション プロセッサとして使用され、R は主にベースバンドとして使用されます。 、およびCortex-Mは、センサーハブ(センサーハブ)チップ分野に使用される可能性があります。

eb1e225e3db142c1921f65e2e09ace42.png

図7 応用分野

4.3 何千マイルも離れた場所で戦略を立てて勝つ

4.3.1 アップロードとダウンロード - コンソール出力

/*Hello world*/
 
#include <stdio.h>
 
int main()
 
{
 
    printf("Hello World\n");
 
    return 0;
 
}

4.3.2 FiberHome - LED マーキー

#include"led.h"

void LED_Init(void)
{
    RCC->APB2ENR|=1<<2;
                  
    RCC->APB2ENR|=1<<5; 
    GPIOA->CRH&=0XFFFFFFF0;
    GPIOA->CRH|=0X00000003;
                          
    GPIOA->ODR|=1<<8;    
    GPIOD->CRL&=0XFFFFF0FF;
    GPIOD->CRL|=0X00000300;   
                           
    GPIOD->ODR|=1<<2;
}

4.3.3 パスワード発行暗号化

void mbedtls_aes_encrypt( mbedtls_aes_context *ctx,
                           const unsigned char input[16],
                           unsigned char output[16] )
 {
     int i;
     uint32_t *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
 
     RK = ctx->rk;
 
     GET_UINT32_LE( X0, input,  0 ); X0 ^= *RK++;
     GET_UINT32_LE( X1, input,  4 ); X1 ^= *RK++;
     GET_UINT32_LE( X2, input,  8 ); X2 ^= *RK++;
     GET_UINT32_LE( X3, input, 12 ); X3 ^= *RK++;
 
     for( i = ( ctx->nr >> 1 ) - 1; i > 0; i-- )
     {
         AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
         AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 );
     }
 
     AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 );
 
     X0 = *RK++ ^ 
             ( (uint32_t) FSb[ ( Y0       ) & 0xFF ]       ) ^
             ( (uint32_t) FSb[ ( Y1 >>  8 ) & 0xFF ] <<  8 ) ^
             ( (uint32_t) FSb[ ( Y2 >> 16 ) & 0xFF ] << 16 ) ^
             ( (uint32_t) FSb[ ( Y3 >> 24 ) & 0xFF ] << 24 );
 
     X1 = *RK++ ^ 
             ( (uint32_t) FSb[ ( Y1       ) & 0xFF ]       ) ^
             ( (uint32_t) FSb[ ( Y2 >>  8 ) & 0xFF ] <<  8 ) ^
             ( (uint32_t) FSb[ ( Y3 >> 16 ) & 0xFF ] << 16 ) ^
             ( (uint32_t) FSb[ ( Y0 >> 24 ) & 0xFF ] << 24 );
 
     X2 = *RK++ ^ 
             ( (uint32_t) FSb[ ( Y2       ) & 0xFF ]       ) ^
             ( (uint32_t) FSb[ ( Y3 >>  8 ) & 0xFF ] <<  8 ) ^
             ( (uint32_t) FSb[ ( Y0 >> 16 ) & 0xFF ] << 16 ) ^
             ( (uint32_t) FSb[ ( Y1 >> 24 ) & 0xFF ] << 24 );
 
     X3 = *RK++ ^ 
             ( (uint32_t) FSb[ ( Y3       ) & 0xFF ]       ) ^
             ( (uint32_t) FSb[ ( Y0 >>  8 ) & 0xFF ] <<  8 ) ^
             ( (uint32_t) FSb[ ( Y1 >> 16 ) & 0xFF ] << 16 ) ^
             ( (uint32_t) FSb[ ( Y2 >> 24 ) & 0xFF ] << 24 );
 
     PUT_UINT32_LE( X0, output,  0 );
     PUT_UINT32_LE( X1, output,  4 );
     PUT_UINT32_LE( X2, output,  8 );
     PUT_UINT32_LE( X3, output, 12 );
 }

4.3.4 最初に採餌 - コードを開始

.text
.global _start
_start:

@异常向量表

b reset
nop		
b swi_handler
nop
nop
nop
b irq_hander
nop
reset:
ldr sp,=buf+512*3
@irq模式
mrs r0,cpsr
bic r0,#0x1f
orr r0,#0x12
msr cpsr,r0
ldr sp,=buf+512*2
@user模式
mrs r0,cpsr
bic r0,#0x1f
orr r0,#0x10
msr cpsr,r0
ldr sp,=buf+512

mov r0,#0x11
mov r1,#0x22
SWI	1
add r2,r0,r1
nop
nop

stop:
	nop
    nop
    nop
    B stop

@软中断
swi_handler:
	@入栈保护现场
	stmfd sp!,{r0-r12,lr}
	mov r0,#0x1f
	mov r1,#0x2f
	mov r2,#0x3f
	mov r3,#0x4f
	mov r4,#0x5f
	@出栈 恢复现常,还原模式	spsr->cpsr
	@lc -> pc
	ldmfd sp!,{r0-r12,pc}^
	@mov pc,lr

@中断
irq_hander:
	@入栈保护现场
	stmfd sp!,{r0-r12,lr}

	@中断处理
	@switch(irqnum)

	ldmfd sp!,{r0-r12,pc}^
	
.DATA
buf:
	.space 512*3

.end

4.3.5 準備完了 - リンクスクリプト


SECTIONS
{
    . = 0x80000,
    .text.boot :{*(.text.boot)}
    .text : {*(.text)}
    .rodata : {*(.rodata)}
    .data : {*(.data)}
 
    . = ALIGN(0x8);
    bss_begin = .;
    .bss :{*(.bss*)}
    bss_end = .;
 
    . = ALIGN(4096);
    init_pg_dir = .;
     += 4096;
}

V. まとめ


プロセスの観点から、この記事では、アーキテクチャの概要、アーキテクチャの開発、アーキテクチャの機能、およびアーキテクチャのドリルの主なラインに基づいて、Arm アーキテクチャをヒューリスティックに紹介します。ピラミッド型知識構造の観点から、この記事は、コンピューター アーキテクチャ、Arm システム アーキテクチャ、マイクロ アーキテクチャ、プロセッサ プログラミング モデル、およびアプリケーション プログラミングを含みますが、システム思考の観点から、この記事は読者にとって表面的なものになる可能性が高いため、次のようになります。各章では、Arm アーキテクチャをより体系的かつ体系的かつ詳細に説明します。

参照する


用語

チューリングマシン

抽象的なマシン、メンタル モデル。

バス 

コンピュータのさまざまな機能コンポーネント間で情報を伝送する公衆通信トランク。

トラストゾーン

分離によって信頼できるドメインを実現する技術。

ハイパーバイザー

仮想マシン モニターは、仮想マシンの作成と実行に使用されるソフトウェア、ファームウェア、またはハードウェアです。

知識を共有することは美徳です. この記事がよく書かれていると思われる場合は、いいね、ブックマーク、共有をお願いします.

次の章 CPU マイクロアーキテクチャ

おすすめ

転載: blog.csdn.net/BillyThe/article/details/128653472