RISCプロセッサとは
1.2 RISCプロセッサとは
● RISCプロセッサの特徴
ここからは具体的にプロセッサの世界で話を進めましょう.ただし,出てくる概念は前述の工場の中で説明したものと同じです.
マイクロプロセッサの生い立ちは電卓だったかもしれませんが,将来性が認識されてからは猛烈なスピードで汎用コンピュータとしての概念を採り入れていきました.プロセッサの高性能化はいかに汎用コンピュータで確立された概念を取り入れていくかの競争に置き換わっていた時代がありました.高度で洗練された命令セットや多様なアドレッシングモードのサポート,複雑な動作がコンピュータの性能を向上するという発想です.
ところが,高額で大規模な汎用コンピュータで有効と思われた機能は,取り込むほどに複雑さが増し,かえって動作周波数が伸びにくくなります.また,機能が増えた分だけシリコンの面積が大きくなりチップの価格が上昇します.さらに大規模化したプロセッサは設計にも動作検証にも多大な労力が必要です.マイクロプロセッサのようにコストパフォーマンスが重要な製品では,性能向上をめざして打った手が必ずしも最適な手段ではなくなっていました.
このアプローチに対して疑問を投げかける形で提案されたのがRISC(Reduced Instruction Set Computer)プロセッサです.RISCプロセッサに対して,それまでの汎用コンピュータ的なプロセッサをCISC(Complex Instruction Set Computer)プロセッサと呼びます.ただし,まずCISCが登場し,次にRISCが登場したという事実の裏には,メモリの速度向上,集積度の向上,価格の低下という歴史的な経緯があります.メモリが低速,高額,小容量であった時代においては,高いコード効率のCISCアーキテクチャは非常に経済的なソリューションだったといえます.
RISCのアイデアは,技術のトレードオフ,半導体プロセスの進化,前述のメモリの進歩など,さまざまな根拠から妥当性が説明できますが,簡単にいえば名前が示すとおり,命令や動作をシンプルにするということです.シンプルにすることで動作周波数を向上させやすくなり,シリコン面積が小さくなり,設計や検証期間が短縮されます.ただし,命令がシンプルになった分,一命令でできることが単純になります.それを補うために,シンプルな設計のおかげで空いたリソースを,性能向上のために考え出された機能の実装にあてます.それらがRISCプロセッサの特徴ともいえます.表2に,一般的にいわれるRISCの特徴をあげます.
〔表2〕RISCの特徴 |
特 徴
|
説 明
|
単純な命令セット |
命令の数を減らして一つ一つの命令を単純にする.複雑な動作は複数命令で実現する.演算のオペランドの
基本はレジスタのみとし,メモリをアクセスするのはロード/ストア命令のみにする |
多いレジスタ |
演算オペランドにメモリは使えないのでレジスタを多く備えてカバーする.また一命令が単純になった分を豊富なレジスタで補う |
パイプライン |
一つの動作に必要な命令数が増えるので命令のスループットを上げるために,パイプライン動作で実質的なスループットを向上させる.また単純な命令セットはパイプラインの実装が容易である |
高速動作 |
パイプライン動作,および単純な命令セットによるシンプルなメカニズムがCPUの動作周波数の向上を促進する |
分岐予測 |
パイプライン動作を導入すると,分岐命令などで分岐する際,あらかじめ取り込んでいた命令が無効になってしまう.分岐を予測することで無効になる機会を減らす |
キャッシュ |
RISCで命令密度が下がった分,命令を高速で大量に取り込む必要がある.またメモリとCPUの動作速度の違いを吸収するためにも必須である |
|
● 代表的なSoC組み込み用RISCプロセッサコアの比較
組み込みに使用される32ビットプロセッサの種類はかなりの数に上りますが,ここでは“SoC(システムオンチップ)組み込み用途”で“32ビットRISC”という限定をつけて,いくつかの代表的なプロセッサの比較を表3に示します.
〔表3〕代表的なSoC向けRISCプロセッサコア |
名 称
|
ARM926EJ-S
|
MIPS4KE
|
PPC405D4 |
メーカー |
ARM |
MIPS |
IBM |
提供形態 |
ソフトIP |
ソフトIP |
ハードIP |
アーキテクチャ |
V5TE |
MIPS32 |
PPC |
圧縮命令セット |
Thumb |
MIPS16e |
CodePack |
パイプライン段数 |
5 |
5 |
5 |
汎用レジスタ |
15 |
32 |
32 |
キャッシュ |
あり |
あり |
あり |
MMU |
あり |
あり |
あり |
TCM |
接続可能 |
接続可能 |
接続不能 |
分岐予測 |
なし |
なし |
スタティック |
浮動小数点 |
コプロセッサ |
なし |
なし |
|
多くの読者はこの表を見て,よく聞かれる32ビットプロセッサ,たとえば日立のSHシリーズやNECのV850シリーズ,富士通のFRシリーズ,三菱のM32Rシリーズなどが記載されていないのを不審に思うかもしれません.もちろんこれらも組み込み用の32ビットRISCプロセッサなのですが,ICチップで提供される点が表中のプロセッサと違います.ARMプロセッサは“SoC組み込み用途”なので,比較の土俵をそろえる意味であえて表中で比較していません.また,動作周波数や消費電力などはポーティングしているプロセスに大きく依存するので,記載していません.もちろんSHやV850なども,SoCに採用可能な体制が用意されつつあるようなので,近いうちにこの表の中で比較すべき対象になるでしょう.
SoC組み込み用途とはどういうことなのかについては,コラム3を参照してください.
Column2
ARMのビジネスモデル
|
ARMは,32ビットRISCプロセッサIPを,世界各国のエレクトロニクス企業にライセンス提供しています.いまや業界標準ともいわれるARMは,さぞや大企業だろうと思われるかもしれませんが,2002年6月30日現在で768名の社員数です.チップを製造しているメーカーと比較すると小規模企業であるARMが,競合ひしめく半導体市場でその地位を維持しているのはなぜか? それは,IPの性能はもちろんですが,ビジネスモデルが大きな特徴になっています.
ARMは,そのビジネスモデルとして世界各企業との“パートナシップ”提携を掲げています.半導体の製品化までの過程には,設計,開発,検証,製造といったステップを踏みますが,ARMの提供するIPはこの設計の一部分で,残りの過程をパートナシップでカバーし,ユーザーにトータルソリューションとして対応しています.たとえばARMのライセンスを受けた半導体パートナは,ARMの低価格で低消費電力なコアを利用して,マイクロプロセッサ,ペリフェラル,SoCソリューションを開発,製造します.また,ソフトウェア/ハードウェア開発ツールメーカー,OSメーカー,EDAツールメーカーともパートナシップを組み,各社からARMアーキテクチャに対応した製品の提供を行っています.このように,パートナシップに基づくARMサポートの協力体制により,ARMアーキテクチャは速やかに市場に広まっていったのです.
さらにARMは,ARMを採用したいという広範囲なユーザーに柔軟に対応するため,このビジネスモデルを拡張しています.
|
たとえば,業界最先端のファウンドリ企業と提携して,Foundryプログラムを開発しました.これにより,設計はしたいが製造を自社以外に委託したい企業(新興企業やファブレス半導体企業など)も,容易にARMテクノロジにアクセスできるようになりました.
また,ARM搭載製品を開発する際,自社のリソースに加えて,新たな設計サービスのサポートを必要としている企業もあります.そこで,ARMテクノロジアクセスプログラム(ATAP)を発表し,業界をリードする世界中のデザインハウスとの提携を進めています.これにより,世界中の開発者は,最新のARM設計テクノロジにアクセスできるようになりました.
このような対応に加え,ライセンスの形態も各社の戦略に基づいて最適なものを選択できるよう対応しています.従来の,ライブラリ化されていて早期に設計を開始できるライセンス形態に加え,合意した期間内ですべてのARMコアへのアクセスを可能にするライセンス形態や,命令セットの変更はできないけれど構造的な工夫が可能なライセンス形態などです.
このほかにも,大学や研究所とも提携してARM技術を用いたシミュレーションやプロトタイプ設計を行えるようにするなど,将来のエンジニア支援に関しても緊密な関係を築いています.
|
|
Column3
ARMプロセッサはどこで買える?
|
この特集を読んで,ARMプロセッサを買ってきてとりあえず動かしてみたいと思った読者もいるかもしれません.しかし,たとえば秋葉原に行ってARMプロセッサのチップでも買って来ようと思っても,ARMプロセッサは店頭に並んでいません.
ARMプロセッサは,プロセッサだけでシリコンチップとして製造され,販売されることはまずありません(テストチップは除く).ARMプロセッサはほとんどの場合,SoC(システムオンチップ)内で動作するプロセッサとして使用されます.したがって,ARMプロセッサの組み込まれたSoCがASSPとして秋葉原などの店頭で「○○コントローラLSI」などとして売られることはあるかもしれませんが,ARMプロセッサ単体がチップとして販売されることはまずありません.
前述したようにARMプロセッサはSoC内に組み込まれて使われます.したがって,ARMプロセッサはSoCに組み込めるような形態で供給されます.SoCはシステムが集積されているだけでICであることに変わりはないので,ARMプロセッサはICの一部を構成する部品として供給されます.
ARMプロセッサは部品といっても,シリコンチップではありません.シリコンチップを作成するための設計情報の形で提供されます.したがって,ARMではシリコンチップそのものを作成していません(動作確認用のテストチップは作成するが).ここが,ARMがIPカンパニやプロセッサ設計会社と呼ばれるゆえんです.
|
さて,それでは設計情報とはどんな形なのでしょうか.これは大別すると,ソフトIPとハードIPの2種類に分けられます.ソフトIPはプロセッサの回路をHDLで記述したソースコードそのものです.ハードIPはGDS?形式と呼ばれるデータで表されるチップのレイアウト情報です.
ソフトウェアにたとえて説明すると,ソフトIPはプログラムのソースコードに相当します.ハードIPはソースコードをコンパイルしリンクしたうえで最適化までしたビットイメージに相当します.つまり,もうROMに焼く直前まで処理されているものです.ICの世界では,ソフトウェアの一連のコンパイル,リンク,オプティマイズに相当する処理を「ハードニング」と呼びます.
ARMプロセッサは設計情報としてプロセッサを提供するので,一般の人がARMからARMプロセッサを1個だけという形で購入することはできません.しかし,ARMプロセッサのライセンスを取得したメーカーがARMプロセッサの情報を元にSoCを設計,製造し,それを購入することはできます.
|
|

Copyright 2002 五月女哲夫/小林達也
|