これからはJavaでしょ! Armでしょ!高付加価値な製品作りのヒントがここにある。
あらゆる機器がネットワークでつながる今の時代にこそ、Javaのメリットが活きてくるといえるだろう。今回の「プレミアムトークセッション」では、オラクルとArmからそれぞれ二人のキーパーソンを招いて、組み込みのこれからについて聞いた。
あらゆる機器がネットワークでつながる今の時代にこそ、Javaのメリットが活きてくるといえるだろう。今回の「プレミアムトークセッション」では、オラクルとArmからそれぞれ二人のキーパーソンを招いて、組み込みのこれからについて聞いた。
Cortex-M3には、エンディアンを設定するピンBIGEND (注意:マイコンのピンではありません。論理モジュールの外部との信号線の名前です)があります。これを使用するとリトルエンディアン、またはビッグエンディアン形式のいずれかを選択することができます。
Cortex-M3には特殊レジスタとして、「専用プログラムステータスレジスタ(PSR)」と呼ばれるプログラムの実行状態を示すレジスタがあります。専用プログラムステータスレジスタ(PSR)は、システムレベルのプロセッサステータスを表し、次の3つのカテゴリに分けられます。
Cortex-M3プロセッサは、汎用レジスタの他に特殊レジスタを持っています。特殊レジスタは主に割り込みの処理や設定に使われます。純粋にデータ処理や間接アドレッシングに使うレジスタは13本です。その他に、プログラムカウンタ(PC)、リンクレジスタ(LR)、スタックポインタ(SP)があります。
Cortex-M3は3段パイプライン処理です。3段パイプラインの3段とは「フェッチ」「デコード」「演算(格納含)」です。パイプライン処理とは、一つの操作を複数の部分操作に分解し、それぞれが独立に、かつ同時に処理できるユニットを用意し、並行して動作させる並列処理のことを言います。
通常のマイコンにはスタックポインタは一つしかありません。しかしCortex-M3はスタックポインタ(SP)を2つ持っています。汎用レジスタの13番がSPになっています。R13(SP)は、メインスタック(SP_main) とプロセススタック(SP_process)との間で切り替わるバンクレジスタの構成になっています。
さまざまな分野でArmマイコンへの置き換えが進む中、横河ディジタルコンピュータ(以下、YDC)は、2012年4月からMDK-Armの取扱いを開始した。すでに2000年からArm正規代理店に認定され、コンパイラ、デバッグツールやトレーニングコースを提供してきている。
Cortex-M3はアンアラインド・データ・アクセスをサポートしています。8ビット、16ビット、32ビットデータをRAM等のメモリに格納する場合、アンアラインド・データ・アクセスをサポートしていれば、無駄な領域を作らず各々のデータをRAMに格納することができます。例えばSRAMメモリでは25%以上削減可能です。
RAMやレジスタの1ビットだけを変更したい場合、Cortex-M3ではビットバンドという方式で1命令で変更できます。ビットバンド方式とは、RAMやレジスタの各ビットがアドレス単位で指定できるエイリアス領域を持っており、そのエイリアスを変更することにより、オリジナルのビットが自動的に変更されるというものです。