1つのARMアーキテクチャとARMコア
1.1 ARMのアーキテクチャおよびコア近いです
ARM命令セット・アーキテクチャのマルチVバージョンであるARMv1、ARMv2、ARMv3、ARMv4の、ARMv5の、ARMv6以降、のARMv7、ARMv8、:これまでのところ、ARMアーキテクチャの8種類の合計を掲載しました。
異なるARMアーキテクチャに基づく異なる特性コアプロセッサP *** essorで設計することができます。例えば、プロセッサアーキテクチャARMv3 ARM6、ARM7、異なるシナリオのために、これら二つのプロセッサに基づいて、ハードウェアが異なるが、同じ命令セットアーキテクチャであってもよいです。
あなたが家を建てると同じように、アーキテクチャ(ARMv5以降)で人気のカバーバンガローの低レベルの初めから、このコテージ・アーキテクチャは、あなたはARM7コアと呼ばれる独立したトイレのモデルを、設計することができます。その後、他の人(チップ設計会社が)カバーにあなたにこの図面を買うために家を構築したい、その後、時間をかけて、何人かの人々が光独立したトイレが十分にああではないと感じ、私は小さな庭を持ちたい!まあ、ARMはあなたを満たします要件、小さな庭でのスタイル(ARM9)。
即ちARMv1 / 2/3等は、ARM7 / 9命令セットアーキテクチャであり、コアプロセッサアーキテクチャに基づくものが挙げられます。ARMベースのRISC命令セットアーキテクチャは、カーネルは、命令セットのハードウェアアーキテクチャの基盤であり、設計されています。
1.2 ARMの各アーキテクチャとの間の差
1.2.1 ARMのバージョンⅠ :V1 版のアーキテクチャ
アーキテクチャARM1のプロトタイプ版は唯一の商用製品に使用されていないだけで、26ビットのアドレス空間に登場します。
基本的な特性は以下のとおりです。
基本的なデータ処理命令(なし乗算)。
基づき、バイト、ハーフワード、ワードのロード/ストア命令。
サブルーチンコールおよびリンク命令を含む命令を転送します。
命令SWI割り込みオペレーティングシステムのためのソフトウェア。
アドレス空間:64メガバイト(226)。
1.2.2 ARMのバージョンⅡ:V2をスキーマのバージョン
V1バージョンのアーキテクチャのバージョンは、例えば、ARM2とARM3(V2aを)アーキテクチャのために、拡張されています。これは、32ビットの乗算命令とコプロセッサ命令をサポートしています。
図2aは、バージョン2の変異バージョンである、バージョンARM3チップ2aは、ARMプロセッサのキャッシュを使用して、シート上の最初のシートです。26は現在、使用しなくなっ捨てられた同じアドレス空間、です。
スキーマのバージョンV1 V2のバージョンと比較すると、それは次の機能が追加されています。
乗算と積和命令。
演算命令コプロセッサのサポート。
高速割り込みモード。
SWP / SWPB最も基本的なメモリと命令レジスタスワップ。
スペースアドレッシング:64メガバイトを。
1.2.3 ARMのバージョンⅢ :V3のアーキテクチャのバージョン
ARMは、独立した会社、1990年に最初のマイクロプロセッサとして、デザインがARM6 3のバージョンを使用しています。IPコア、プロセッサとは独立して、チップ・キャッシュを有し、MMUの書き込みバッファとしてCPUを集積。
バリアントのバージョンは、3Gおよび3Mがあります。図2(a)の3Gバージョンが前方バージョン3のバージョンと互換性がありません、バージョン3Mは、命令は、完全な64ビットの結果を生成するために、符号付きおよび符号なし乗算および積和命令を導入しました。
アーキテクチャ(現在放棄)のV3バージョンは、ARMアーキテクチャに大きな変更を加えました:
32ビットアドレス空間の増加(4 GB)
カレントプログラムステータス情報は、現在のプログラムステータスレジスタCPSR(現在のプログラムステータスレジスタ)に元のレジスタR15から移動されます。
保存されたプログラムステータスレジスタSPSR(保存プログラムステータスレジスタ)を増加させます。
オペレーティング・システム・コードは、好都合に、データアクセス例外は、例外と未定義命令例外アボート命令プリフェッチを一時停止するために使用することができるように2つのモードの異常な増加。;
登録新しいCPSR / SPSRにアクセスするために増加MRS / MSR命令と、
例外処理関数からのリターン命令を増加しました。
1.2.4 ARMのバージョンⅣ :V4のアーキテクチャのバージョン
V3バージョンのさらなる拡大に作らアーキテクチャのV4バージョンは、アーキテクチャのV4バージョンは、最も広く使用されているARMアーキテクチャは、ARM7、ARM8、ARM9とのStrongARMアーキテクチャを採用してあります。
V4は、もはや必須の26個のアドレス空間と互換性がありませんが、また、未定義命令例外が発生しますどのような命令を明らかにしました。
命令セットは、以下の機能が追加されています:
シンボルと非シンボリックおよびシンボリックハーフワードのバイトのロード/ストア命令。
T変異は、プロセッサがThumb状態、16ビットThumb命令セットの増加に動作することができる、増加しました。
SWI命令機能割り込みソフトウェアを向上させます。
プロセッサ・システムのユーザー特権モードレジスタ動作モードの導入。
いくつかの未使用スペースキャプチャ命令は未定義命令であります
1.2.5 ARMのバージョンⅤ :V5のアーキテクチャのバージョン
バージョンはV4のバージョンに基づいて、いくつかの新しい命令が追加されますV5アーキテクチャは、ARM10とXScaleは、アーキテクチャのこのバージョンを使用しています。
これらの新しいコマンドは次のとおりです。
そして、BLX命令は、Exchangeとのリンクを転送します。
先行ゼロCLZ命令数。
BRK割り込み命令。
デジタル信号処理命令(V5TE盤)増加;より選択命令を追加するコプロセッサであります
ARM / Thumb状態との切り替えの効率を向上させます。
E ---拡張DSPの命令セットは、すべての16ビット乗算演算と算術演算を含みます。
Jは----ハードウェアのバイトコード実行および最適化ソフトウェアアクセラレーションを提供し、新しいJAVAをサポートしています。
1.2.6 ARMのバージョンⅥ :V6のアーキテクチャのバージョン
アーキテクチャV6バージョンが2002年の春にARM11プロセッサをリリースし、2001年にリリースされます。同時に、消費電力を低減するだけでなく、グラフィックス性能を強化しました。マルチメディアが有効なSIMD(単一命令、複数データ、単一命令複数データ)機能を追加することによって行われる処理、音声と画像処理機能は、4倍プロトタイプに増やします。
このアーキテクチャは、V5バージョンに基づいて、以下の機能が追加されています:
THUMBTM:35%圧縮コード。
DSP拡張:高性能固定小数点DSP機能と
JazelleTM:Javaのパフォーマンスの最適化は、8倍に増加させることができます。
メディア拡張:オーディオ/ビデオのパフォーマンスの最適化は、4倍に増加させることができます
2 ARMモデル
2.1 コアモデル
下に示すように、各コアタイプに基づいてARMアーキテクチャ:
https://blog.csdn.net/kinsor/article/details/37761989
https://blog.csdn.net/ZCShouCSDN/article/details/84393473
ARMv7は32ビットのバス幅である前に、開始ARMv8 64ビット幅のバス(データバス、アドレスバス、コントロールバスが64ビット幅であり、一般的に完全なアドレス空間を使用しない)から延長されています。
2.2 製品のネーミング
プロセッサの命名形式を腕:
ARM XYZ TDMIEJF -S
X:シーケンス
Y:2:MMU、MPUと4と、6ありません
Z:0:標準のキャッシュ、2:減少キャッシュ、6変数キャッシュ
T:Thumb命令セットプロセッサのサポート
D:サポートJTAGデバッガ
M:サポート長い乗算命令
I:トレースマクロセルがある組み込み
E:拡張命令のサポート(ベースTDMI)
J:支持JAVAハードウェアアクセラレーション(のJazelle)
F:サポートベクタ浮動小数点ユニット
S:バージョンを統合することができます
2.3 コアアプリケーション
ARM7:ARMv4のアーキテクチャ、ARM9:のARMv5アーキテクチャ、ARM11:ARMv6のアーキテクチャ、ARMのCortex-シリーズ:のARMv7アーキテクチャ。
ARM7ないMMU(メモリ管理ユニット)は、唯一のMCU(マイクロコントローラ)と呼ばれることができ、そのようなこれらのシステムを実行するように、これらの近代的なマルチユーザ、マルチプロセスオペレーティングシステムなどのLinux、WinCEのは、実行できないMMUを必要とし、各ユーザプロセスに割り当てることができ自分の別のアドレス空間を処理します。UCOS、uClinuxをこれらの合理化、リアルタイムのRTOSはもちろんのARM7上で実行することができ、MMUを必要としません。
LinuxなどのMMUとARM9、ARM11、埋め込まれたCPU(プロセッサ)は、このようなマルチユーザ・オペレーティング・システム、ARM7異なるにもアプリケーションなどの複数のプロセスを実行することができます。
ARMv7アーキテクチャのCortexが名付けたときに、まず、とのCortex-A、のCortex-R、のCortex-M 3つのシリーズに分かれています。労働者の明確な部門の3つのシリーズ:オペレーティングシステムおよびユーザアプリケーションのための仮想メモリをベースと最先端の「A」シリーズ、リアルタイムシステム用の「R」シリーズ、マイクロコントローラの「M」シリーズ。簡潔に述べるとのCortex-AシリーズCPUは、のCortex-RおよびCortex-Mシリーズは、リアルタイム制御MCUの技術のためにモバイル分野に使用されています
(1)のCortex-Mシリーズ:M-プロファイル、すなわち、 "マイク*** ontroller" -profile、SCMマイクロコントローラアプリケーションを中心に説明します。
(2)のCortex-Rシリーズ:R-プロファイル、すなわち、 "リアルタイム" -profile、リアルタイムシステムの場合に焦点を当てました。
(3)のCortex-Aシリーズ:A-プロファイル、すなわち、 "アプリケーション" -profile、アプリケーション機能の場合に焦点を当てました。
ネットワークから転送: