GIC(汎用割り込みコントローラ)
周辺回路からの複数の割り込み要求を優先度に応じてソフトウェア処理することは、割り込みの応答性が懸念されます。この問題を解決するために、GICを使用して割り込み処理の応答性を改善します。GICは、使用するプロセッサによってバージョンが異なります。
周辺回路からの複数の割り込み要求を優先度に応じてソフトウェア処理することは、割り込みの応答性が懸念されます。この問題を解決するために、GICを使用して割り込み処理の応答性を改善します。GICは、使用するプロセッサによってバージョンが異なります。
例外とは、プログラムがある処理を実行している途中で、突如として別の仕事(タスク)を要求される処理のことを言います。例外の中で、用途が決まっていない汎用的な例外のことを割り込みと呼んでいます。
ベクタテーブルには、Arm命令(32ビット)の分岐命令を記述しますが、FIQ割り込みはベクタテーブルの最終アドレスに配置されますので、分岐命令を使用せずに、直接割り込みハンドラを記述することが可能です。
Cortex-Aプロセッサを初めとする、Armプロセッサ(Cortex-Mシリーズを除く)は7つのプロセッサモードを持っています。例外が発生することで、プロセッサモードが変わり、自動的に一部のレジスタが切り替わります。
すべてのArmプロセッサはロード/ストア・アーキテクチャを採用しており、演算処理はレジスタで行います。命令は16個すべてのレジスタにアクセスできますが、r13〜r15は特別な役割を持っています。
Armプロセッサは、Arm命令(32ビット)セットとThumb命令(16ビット)セットの2つの命令セットを採用していました。Cortex-Aシリーズは、Arm命令セット(A32(Arm))とThumb命令セットの新版であるThumb-2命令セットを採用しています。
Cortex-A9プロセッサはArmv7-Aアーキテクチャで、1コアから4コアまでのマルチコア構成が可能なプロセッサです。Cortex-A9でのプログラムフロートレース(PTM:Program Trace Macrocell)やパフォーマンス監視ユニットを使用して、プログラムの挙動を確認することができます。
当初はArmプロセッサではない他のプロセッサを使用して組み込みシステムの開発をしていましたが、2002年頃に、Armプロセッサを初めて知りました。評価キットに搭載されているArm7TDMIにてプログラミングを始めた時です。Armプロセッサで驚いたのはアーキテクチャの違いでした。