ビットスライスとは
ビットスライスとは、コンピュータのプロセッサの処理を小さなビット幅単位に分割(スライス)し、その組織的な構成や処理を行う技術を指します。この技法によって、プロセッサやその部品はビットスライスプロセッサと呼ばれます。これらのプロセッサは、与えられたビット幅分のオペランドを個別に処理する部品、特にデータパスを用いて構築されます。また、
音声や
画像などのデータを扱うために
ビットプレーン構造でスライスすることもあるため、その場合にも「ビットスライス」という用語が使われます。
ビットスライス構成
ビットスライス技術では、コンピュータの
CPUを実現するために、複数の
集積回路(IC)を組み合わせることが一般的です。この構成では、ワードの幅に依存しない部分は共通化され、ALU(算術論理ユニット)など、ワード幅によって異なる部分は4ビットまたは8ビットのICを必要な数だけ並べる形をとります。たとえば、2つの4ビットALUを組み合わせることで8ビットALUが作成できますが、
制御装置や他のコンポーネントは別回路として繋がれます。
この方式は、特定のICが組み合わせて使用されることも特徴的で、16ビットや64ビットといった大きなワードを処理するために、74182のように設計されたICが利用されます。歴史的な実例として、Intel 3000ファミリ、
AMD Am2900ファミリ、ナショナルセミコンダクターの
IMP-16/IMP-8ファミリがあります。
歴史的背景
ビットスライス技術は、
集積回路が利用される前から存在しており、初期のコンピュータEDSAC 2においてもその原理が適用されていました。
集積回路の初期はコストが高く、バス幅への適切なアプローチについての議論が行われていました。単純で安価なALUをいくつか組み合わせることで、経済的に計算能力を向上させることが可能だったのです。
60年代から80年代にかけて、
バイポーラトランジスタを使用したビットスライスプロセッサは、NMOSや
CMOSよりも高速で動作しました。そのため、特に高速が求められる用途で多く利用されました。例えば、Xerox
Altoや特定のDSPなどは、ビットスライス式のプロセッサを採用することで、その要求に応えました。
現代の応用
1998年、Matthew Kwanは「ビットスライシング」という新しい用語を提案しました。この技法は、64ビットマイクロプロセッサのような長いワードを持つ汎用プロセッサで、実際には64の並列
SIMD命令としてビットを操作し、必要な処理を多数並行して行う方法です。このアプローチは、Eli Bihamによる1997年の論文「A Fast New DES Implementation in Software」に起源があります。Bihamの研究では、ビットスライシングを用いることでDESの性能を向上させることができました。
結論
ビットスライス技術は、その効率性とコスト効果の高さから、コンピュータアーキテクチャにおいて重要な役割を果たしてきました。歴史を通じて進化し続けており、現代でも様々な分野で応用される可能性を秘めています。