1 CISC RISC与
(1)CPUモデル:演算コントローラ
複合命令セットと(Nに応じて)縮小命令セット
N = 111(8051)複合命令セット
N = 34(ARM)RISC
SWAP(1)MOV(3)(3つのMOV命令SWAPの代わりに機能)2/8法(使用頻度の高い命令の二十%)
(2)言語にコンパイルと解釈
コンパイルされた(現地語):直接マシンコードを生成します
解釈:例えば:ジャワ、一度どこでも実行コンパイル(JVM自体がマシンコードにバイトコードを変換し、メモリ空間を割り当てる、プロセスであり、このプロセスに含まれるユーザプログラム)
(3)RISC(縮小命令セット)アーキテクチャの機能
固定長命令フォーマット、PCを容易にするために決定されます
シングル・サイクル命令は、パイプライン化を容易にするために、
LS構造によって多数のレジスタ、メモリアクセスを使用して
どの用途CISCプロセッサは逆の特性を持っていますが、より強力なプロセッサCISC X86アーキテクチャが持ちます
2、開発ツール
(1)ツールの紹介:
そして、クロスコンパイラツールチェーンとのプロバイダ
ポストとコンパイラツールチェーンに名前を付けるには、次のとおりです。アーチ-vendor -OS - (GNU)EABI
ARM / MIPSプロバイダは、アプリケーションバイナリインタフェース組み込み0をターゲット
例えば:
ARM木機用アームなし、EABI-GCCコンパイラ(UBT、カーネル)、GNUによって、OSに関連付けられたアプリケーションをコンパイルしていません
腕-なし - のlinux-gnueabi-gccのuboot、カーネル、Linuxアプリケーションによって含む、ARMベースのプログラムラック村2inuxシステムを、
armccARM公式コンパイラツールチェーン、機能性とアーム・ホーン、EABIに類似
(2)政府開発ツールARM:ADS、RVDS、KEIL(MDK-アーム)を、DS-5開発KEIL(MDK):コンパイラが使用するのarmccで、開発環境:uVision IDEは、唯一のARM7 / 9、全体の部門をサポートしていますCortex- Mは、皮質-Aシリーズをサポートしていません。
DS5:コンパイラの使用はのarmccであるか、またはアームなし、EABI-GCC、開発環境:Eclipseは、コアAMの完全な範囲をサポートします。
(3)KEIL MDK-ARM C51 uVision IDE
KEIL:会社名、ARM買収された
MDK-ARM(マイクロコントローラ開発キット) : 特にARMコア開発キット用
C51:8051のための開発キット
uVision IDE:プロジェクト管理のために、ソースコードの編集
(ソフトウェアのインストール/エンジニアリング設立)を使用して、3、MDK-ARM
(1)プロジェクト---新uVisionプロジェクト
(2)CPU(三星電子-S3C2440)を選択し、ブートコードが付加されていません
(3)ファイル - 新規の名前startup.sを保存しました
(4).Sファイルを追加します。
(5)(TABを追加することに注意してください)コードを書きます:
ポイント:同等ながら、(1)
(6)定義ROM
(7)の編集(削除警告)をクリックし、チェックを削除します。
行を削除します。
(8)コンパイル:
4、アドレッシング
(1)命令フォーマット
<ニーモニック> {<実行条件>} {S} <DEST>、<アクションレジスタ番号1> {<オペランド2>)
注意:
数が必要とされる<のエントリ>;(MOV、LDR、等)
{}内の項目数は任意です。
S:影響がCPSRを書いて、CPSRの値に影響を与えません
"S"を追加することなく、CMPフラグ応じて変化させることができる
例:SUBS PC、LR、#4。
MOV R0、#0X00
LDR R0、[R1を]
すべての命令は、32ビット(ARM命令)が、ロード/ストア・アーキテクチャ(のみロードおよびストア命令を使用して達成することができるメモリへのアクセス)
(2)条件コード及びマシンコード
命令条件コードを使用して、効率的な編集操作、効率的なコードによって達成することができます。
たとえば、次のように(> b)の場合は ++; CMP R0、R1
他++ B; ADDHI R0、R0、#1。
のADDLのR1、R1を、#1(LS:以下)。
注:ニーモニックコード条件に対応する(心)(言及しない)内部CPSRフラグビット
一般的な条件コード:EQ NE HI LS
エンコード:MOV R0、#0×00 <1110 0011 1010 0000000> 0xE3 A0 0000