ARM(アーム) について

1.ARMとは 

“Advanced RISC Machines”の略です。 

ARMは1983年、英国のAcorn Computers Limitedによって開発が開始され、1990年にAdvanced RISC Machines Limitedという新会社が設立されました。その後1998年に上場した際に【ARM Limited】となって現在に至っています。 

※RISC: Reduced Instruction Set Computerの略で縮小命令セットコンピュータのことで 

コンピュータ内の命令の種類を減らして、回路を簡素化し演算速度の向上を図ったものです。 

商用RISCマイクロプロセッサとして最初に開発されたのがARM6です。 

携帯電話が普及しだした時期に入り、更なる処理速度の向上が求められル中、ARM7の再設計を行い、ARM7TDMIが開発されました。 ARM7TDMIはThumb命令(16ビット命令)を実装することで、低消費電力と高いコード効率を両立するプロセッサとなりました。その結果、Arm7TDMIは、大量生産される機器に採用され、ARMプロセッサとARM社の評判を確固たるものにしました。その後、ARM7は改良を重ね、ARM9、ARM10、ARM11へと進化していきます。 

その中でもARM9プロセッサは広く普及し、累積出荷数が50億個を突破しました。ライセンス販売数は250社以上、Arm926EJ-Sプロセッサのライセンス販売数は100社以上にもなりました。現在も幅広いアプリケーションに継続的に採用されています。ARM11以降は、新しいシリーズ展開として、Cortex-A/Cortex-R/Cortex-Mに分かれて開発が進められています。

2.ARMはどう違うの(ARMアーキテクチャについて)  

ARMプロセッサは、32ビットRISC(Reduced Instruction Set Computer:縮小命令セットコンピュータプロセッサ)で、消費電力を抑えるなど以下の特徴を持っています。命令密度と低消費電力を高度にバランスさせることで、CISC(Complex Instruction Set Computer:複合命令セットコンピュータ)プロセッサの利点も取り入れています。 

・Thumb2命令セットは、16ビット命令と32ビット命令の混在命令セットを使用 
Armv6T2で追加された命令セットで、16ビットのThumb命令セットを拡張し、32ビット命令をサポートします。16/32ビットのThumb命令セットの組み合わせにより、Thumb命令セットとほぼ同一のコード密度を達成しながら、32ビットの命令セットのパフォーマンスが実現可能です。 

・定数シフト命令/ローテート付きオペランド命令 
シフト演算命令には、シフト量を定数で指定するイミディエートとレジスタで指定するモードの2種類のアドレッシングモードがあります。 汎用レジスタ Rn の内容を定数(6ビット)で指定したビット数のシフトを行い、結果を汎用レジスタ Rd に格納します。6ビットの定数ですので 0 から 63 までの定数の指定を行う事ができます。 

 演算に於いて特に割り算は処理時間を要します、2の倍数での割り算・掛け算であればシフト命令を使用すると割り算・掛け算より早い処理が可能です、そのシフト命令が使いやすい仕様になっているそうです。 

・条件実行命令(分岐命令を使用せず、条件実行が可能) 
ARMの命令セットにおいて特徴のある命令で、マシン語の最上位4ビットを占める条件コードを使用した条件実行命令であり、これによってほぼ全ての命令を分岐命令無しに条件付きで実行することができます。 

・比較的豊富なアドレッシングモード 
特にメモリ転送関係の命令では、シフト命令と演算命令の同時実行を用いた非常に多彩なアドレス指定が可能で、このようなアドレッシングモードは複雑の様ですが、ARMプロセッサ独自のハードウェア構成を効率よく活用して効率の良い実行を可能にしています。 

・非整列メモリアクセスの対応 
32ビットデータの場合の32ビットアドレス境界以外のアクセスや16ビットデータの場合の16ビットアドレス境界以外のアクセスを非整列メモリアクセスと言います。奇数番地からの32ビットデータや16ビットデータのアクセスは非整列メモリアクセスが出来る特徴を持っています。 3.Cortexシリーズについて 

3.Cortexシリーズについて 

ARMは自社独自のCPUを設計及び開発を行い、これをARMアーキテクチャと呼ばれています。ARMアーキテクチャは今までの一般的なCPUとは異なり互換性を持っています。 

代表的なARMアーキテクチャは 【Cortex-A】【Cortex-R】【Cortex-M】などがあります。 

3-1 Cortex-A 
Cortex-AのアーキテクチャはArmv7-Aになります。代表的なシリーズはCortex-A9となります。性能は2.5DMIPS/MHzを実現することが出来ます。動作周波数は、600MHz~1GHzとなり、シングルコアプロセッサまたは1~4コアのマルチコア論理合成可能プロセッサとして使用可能です。Linux/Androidなどの高機能OS上で、アプリケーションを動作させることができます。特にCortex-A9は、多くの製品が提供されており、リアルタイムOSを搭載した製品にも採用されています。 

主な使用用途としては: PC、ノートパソコン、スマートTV、サーバー、ネットワーキング機器、スマートフォン、オートモーティブのヘッドユニット、クラウドストレージ、スーパーコンピューターな挙げられ、複雑な演算を必要とする場面などです。 

3-2 Cortex-R 
Cortex-RのアーキテクチャはArmv7-Rになります。代表的なシリーズは、Cortex-R4となります。性能は1.66 DMIPS/MHzを実現することができます。性能的にはCortex-Aシリーズより低いといわれますが、リアルタイム性を確保するためにプロセッサに対してローカル接続された密結合メモリ(TCM)を使用することで、プログラムを迅速に動作させることが可能となっています。高信頼性システムの構築を行うために、メモリプロテクションユニット(MPU)を搭載しており、メモリ保護やデュアルコアロックステップ機能を使うことで、一層の安全性の向上を実現すると言われています。デバイスとしての提供は限定されているそうで、安全性やリアルタイム性への要求が厳しい分野で採用されているそうです。 

主な使用用途としては:医療機器、自動車のステアリング、ブレーキ、信号、ネットワーク、ストレージ機器、組み込み制御システムなどが挙げられ、安全性を重視するアプリケーションや確実的な応答が必要なアプリケーションにおけるリアルタイムな応答要件が求められる場面などです。 

3-3 Cortex-M 
Cortex-MのアーキテクチャはArmv7-Mになります。代表的なシリーズは、Cortex-M3となります。性能は1.25~1.50 DMIPS/MHzを実現することができます。Cortex-AおよびCortex-Rシリーズと比較した場合、性能は低いと言われていますが、マイクロコントローラとしては十分に高性能です。リアルタイム制御で重要視される割り込みの応答性に関しても、ネスト型ベクタ割り込みコントローラを搭載していて、使いやすく柔軟な割り込み応答性を実現しています。 メモリプロテクションユニット(MPU)を搭載することも可能なため、高信頼性システムを構築する事が出来ます。 

主な使用用途としては:エネルギー効率・消費電力・サイズを優先、するような用途が挙げられます。 

4.ARMの使われ方(どのような製品に使用されているのか) 

ARM CPUはどのような製品に使われているのかといいますと。身近でわかりやすい一般的な使用例では。ARM CPUを使った一番の一般的な製品は、今はスマートフォンです。ざっと各企業のスマートフォンのCPUを見ていくと、A9、Snapdragon、Tegraのように、よくカタログでも目にする名前が並びます。しかし、いま述べたスマートフォン・携帯電話以外にも、ARMは非常に幅広く多くの分野で採用されています。たとえばSDカードの中に無線LANが入っている製品は、非常に小さいながらもARMで制御されるコンピュータみたいな製品です。一方で、MicrosoftはARM向けのWindows「Windows RT」もリリースしています。Windows RTとは、Windows8と同じユーザーインターフェースを持った、タッチパネルとARM搭載モバイル機器向けのOSのことです。スマートフォンやタブレットで馴染みのあるARMアーキテクチャで動作するWindowsを目指して、Microsoftが開発したOSでもあります。 

さらにハイエンドになるとサーバーにも使われています。有名な携帯型ゲーム機のN社やPSP Vita、お掃除ロボットにも使われています。他にも、多くの家電製品をはじめ、デジタルカメラ、プリンタ、ルータ、AV機器など、実は気が付いていないだけで、身の回りにあるかなりの製品で利用されているのです。特に携帯型デジタル機器でのシェアは圧倒的の様です。 

ARMアーキテクチャがこれほどまでに幅広い製品実装をサポートするのには訳があります。組み込み開発でマイクロコントローラを選ぶ際、マイコンの製造中止や仕様変更に備えて高い入手性と幅広いラインナップを確保しておく必要があります。Cortex-Mシリーズでは、ARM社設計によるプロセッサを中心に、メーカー独自のペリフェラル(周辺機器)を内蔵したマイコンが、世界各国のメーカーから提供されているという強みがあるからです。 

モーションコントロール、ODM開発のご相談は東阪電子機器へ

大切にしているのは、お客様とのコミュニケーション。
22業界・1,700機種の開発実績を有する弊社の専門スタッフが、
お客様のお困りごとに直接対応させていただきます。