週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

41社でRISC-V財団を創立 RISC-Vプロセッサー遍歴

2023年11月06日 12時00分更新

機能ブロックCPUの特徴1
拡張性はなくてもいい

 NANDならNAND、Wi-FiならWi-Fiの制御や通信が間に合えば問題ない。より高速な規格などが出てきたとしても、ハードウェアがそのままで対応できるケースは非常に限られるので、仮に新規格の対応が必要になるとブロックの置き換えになる。逆に言えば後から高性能化や高機能化が要求されるケースは基本考慮の必要がない。

機能ブロックCPUの特徴2
互換性も無視できる

 こうした機能ブロックに搭載されるCPUは、アプリケーションプログラマーやユーザーには開放されない。その機能ブロックに搭載されたプログラムを実行するだけである。なので、ISAの互換性はなくても構わない。あくまでその機能ブロックを開発するベンダーがプログラミングできれば十分だからだ。

機能ブロックCPUの特徴3
高効率であること

 上にも書いたように、処理性能は相応に高い必要がある。ただし「高ければいい」というわけではない。ブロックに組み込まれるわけなので、あまり巨大なエリアサイズを食うようなプロセッサーでは困ってしまう。下の画像で見ると、Cortex-A9に比べると、制御用のCortex-A7(“A7 CPU”というブロック)はかなりコンパクトだが、それでもUSBの制御ブロックと同じくらいのサイズがある。

制御用のCortex-A7(“A7 CPU”というブロック)はかなりコンパクトだが、それでもUSBの制御ブロックと同じくらいのサイズがある

 ということは、仮にUSBの制御用にCortex-A7を使うと、USBブロックのサイズが倍になってしまうことになる。これはいくらなんでも許容できないだろう。したがって、制御ブロック用のプロセッサーはなるべく小さな回路サイズで収まることが望ましい。それでいて、先に述べたように性能は相応に必要だが、そのために消費電力が増えることは許容されにくい。

 汎用プロセッサーでは、性能を上げるためには動作周波数を引き上げるのが早道で、消費電力を抑えながら動作周波数を引き上げるためにプロセスを微細化するという方策がとられることが多いが、ASICに搭載される機能ブロックではそもそも利用するプロセスはASICの設計に依存するので、ある機能ブロックの要望に合わせて微細化したプロセスを採用するわけにはいかない。となると、どんなプロセスであっても相応の性能が出せる&消費電力を増やさないためには、CPUコアが高効率である必要がある。

機能ブロックCPUの特徴4
低価格に抑えること

 これは高効率ともつながる話であるが、機能ブロックは通常外部のIPベンダーがASICベンダーに売る形になる。Tegra SoCにしても、この回路全部を自社で開発していたら、設計の手間が猛烈にかかってしまうし、NVIDIAにしてもすべての分野に十分な知見があるわけではない。

 例えばNANDフラッシュにしてもラジオにしても標準的な規格であるから「それがないと話にはならない」が、「差別化要因にはならない」。自動車の窓の開閉機構がないのは普通に不便(レースカーくらいのものだろう)だから、窓が開かない自動車は普通選ばれないが、窓が開いたからといって別に差別化はできない。「できて当たり前」だからだ。これと同じような扱いである。

 したがって、機能ブロックを販売するベンダーとしては、なるべく価格を抑えて提供するようにしたい。このためには、販売価格そのものもさることながら、そのブロックを顧客が自社のASICに組み込む際に、なるべく小さな面積で収まるように工夫する必要がある。大容量のキャッシュなどを必要とするCPUコアは、その時点で機能ブロックに組み込むには不適当である(SRAMは非常に面積が大きくなる)。

 この結果として、機能ブロックにはさまざまなベンダーが提供するCPUが入り乱れ、それらは必ずしも標準的なコアではないものが多かった。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

この連載の記事