メディア
特集
» 2007年05月01日 00時00分 公開

16ビットプロセッサは生き残れるか (2/4)

[Robert Cravotta,EDN]

苦境に立つ16ビットプロセッサ

 16ビットプロセッサが最も適している用途でも、8ビット/32ビットプロセッサは十分に対抗できるのだろうか。

 8ビットプロセッサのメーカーは従来の8ビット設計の拡張要件をサポートし続けるために、独自アーキテクチャを拡張して能力と機能の強化に取り組んできた。中でも注目すべきは、アドレスが可能なメモリーマップが拡大したことに加え、クロック周波数が上昇したことだ。そのようなプロセッサであれば16ビットのデータ型をエミュレートできるかもしれないが、性能と消費電力の両面で不都合が生じる。16ビットプロセッサでは単一命令として実装されるオペランドの下位バイトと上位バイトに対し、複数のチェーン処理を実行しなくてはならないからだ。多くのプロセッサリソースを消費する16ビットの数学的タスクを実行するような用途では、16ビットプロセッサのほうが8ビットプロセッサよりも処理速度は速く、大抵は消費電力も少ない。

 ビット幅の広いデータを処理するのに性能と消費電力の面で不利になるという事実は、8ビットプロセッサから16ビット/32ビットプロセッサへの移行を後押しする要因となり得る。しかし、このことは32ビットプロセッサが16ビットプロセッサに対抗できるということも意味しており、16ビットプロセッサが市場からなくなるという主張の根拠にもなっている。設計チームが自らの設計で新しいアーキテクチャを採用する際には、近い将来に再び新アーキテクチャに移行するときのリスクができるだけ小さいものを選ぶのは当然のことだろう。この場合、最適化された16ビットアーキテクチャを選択するか、成長途中にあるものの利用は可能な32ビットアーキテクチャに切り替えるのかを決めるに当たり、そのリスクの規模と、再度の移行にかかる費用とがトレードオフの関係になる。一方、FPGAでソフトウエアコアのプロセッサを使っている設計者にとっての選択肢は限られている(別掲記事『FPGAと16ビットプロセッサの関係』を参照)。

 旧来の8ビット設計を上位アーキテクチャベースのものに移行しようと考える理由としては、より多くの制御機能やネットワーク機能を使いたいことや、大画面のディスプレイを駆動したり、タスク管理を行うのにRTOS(real-time operating system)を使う必要に迫られたりすることが挙げられる。例えば、TCP/IP(transmission control protocol/internet protocol)ネットワークスタックを内蔵するには多くのメモリー容量が必要となる。しかし、8ビット/16ビットアーキテクチャでTCP/IPスタックに使えるメモリーリソースはわずかだ。そこで、例えば米CMX Systems社は8ビット/16ビットシステムでTCP/IPネットワーキングをサポートしているのだが、フットプリントを最小にするために一部のプロトコルを省くという対応を行っている。一方、32ビットアーキテクチャでは16ビットアーキテクチャに比べて強固なRTOSをサポートしている。その主な理由は、32ビットプロセッサが必要となるシステムはより複雑であり、RTOSをサポートするメリットが大きいからだ。

 米Luminary Micro社は2006年、「ARM Cortex-M3」プロセッサコアを搭載した32ビットプロセッサを1米ドルという低価格で発売した。この価格は、多くの8ビット/16ビットプロセッサと真正面から競争できるものである。同社のほかにも、米Atmel社とオランダNXP Semiconductor社が8ビット設計から簡単に移行できる機能を組み込んだ低価格の「ARM7」コアを搭載したプロセッサを提供している。32ビット設計ではあまり見られないビット操作や電圧降下の検知、パワーオンリセットなどの機能も含まれている。8ビットプロセッサでよく用いられているこうした機能が32ビットプロセッサに組み込まれるようになったことも、16ビットプロセッサが市場から駆逐されるという主張の根拠となっている。

 32ビットアーキテクチャが16ビットアーキテクチャの利点を生かせることを示すもう1つの例が命令サイズである。一般に、純粋な32ビットISA(instruction-set architectures:命令セットアーキテクチャ)よりも16ビットISAのほうがはるかにコード効率に優れている。この特徴により、16ビットISAでは、必要となるプログラムメモリーの容量が少なくて済む。このことにどれほどのインパクトがあるかは、今日の多くのシステムで用いられているチップにおいて、8ビット/16ビット/32ビットプロセッサコアの面積とメモリーの面積を比較してみればよく分かる(図1)。従来の多くの32ビットISAが、16ビット命令をサブセットとして組み込んでいるのもそのためだ。Cortex-M3のISAはさらにその先を行き、16ビットISAである「Thumb-2」のみをサポートしている。32ビットプロセッサのアーキテクチャに16ビット命令をサブセットとして組み込めば、コード効率に優れるという16ビットプロセッサの優位性が大幅に薄れることになる。

図1 16ビット/32ビットプロセッサの内部ブロックの面積比較 図1 16ビット/32ビットプロセッサの内部ブロックの面積比較 (a)は16ビットプロセッサ(提供:TexasInstruments社)、(b)は32ビットプロセッサ(提供:NXPSemiconductor社)のチップ写真。プロセッサコアとオンチップメモリーの面積比の差が見て取れる。

FPGAと16ビットプロセッサの関係

 FPGAメーカーのほとんどは、8ビット/ 32ビットプロセッサのソフトウエアコアを供給しているが、16ビットプロセッサのコアを準備しているFPGAメーカーは現在のところ皆無である*A)。米Actel社のIP(intellectual property:知的財産)製品のシニアマーケティングマネジャを務めるMike Thompson氏によれば、同社でも16ビットのプロセッサコアをサポートするよう依頼されることが時々あるが、「巨額の開発費用をかけて、3番目のアーキテクチャを準備するだけの妥当な理由がない」という。米Altera社のNiosマーケティング部門シニアマーケティングマネジャを務めるBob Garrett氏も、「当社の『Nios 1.0』はもともと16ビットプロセッサのコアだったが、現在供給しているのは32ビットプロセッサのコアだ」と認めている。

 ところで、FPGAに実装される8ビットまたは16ビットプロセッサは、一般的には外部ロジックや高速ステートマシン、あるいは新しいニッチな機能をサポートするためのブリッジとして機能する。これらの小さなプロセッサを使う用途では、FPGAの消費電力が大きな課題となる場合が多い。

 米Renesas Technology America社のシステムLSI事業部マーケティングディレクタを務めるRitesh Tyagi氏は、「マイクロコントローラにそれらの新しい機能がハードブロックとして実装されるようになるに連れ、そうした新しいマイクロコントローラがFPGAに取って代わるだろう」と述べている。

*A)(編集部注)一部のサードパーティーからは供給されている


Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.