ビットスライシングとは、ワード長を長くするために、より小さなビット幅のプロセッサモジュールからプロセッサを構築する技術であり、理論的には任意のnビットの中央処理装置(CPU)を作成することができます。これらの各コンポーネントモジュールは、オペランドの1ビットフィールドまたはスライスを処理します。グループ化された処理コンポーネントは、特定のソフトウェア設計で選択された完全なワード長を処理する能力を持つことになります。
ビットスライシングは、マイクロプロセッサの集積度が高まったことにより、ほぼ廃れてしまった。最近では、量子コンピュータの算術論理演算ユニット(ALU)や、 x86 CPUの暗号化などのソフトウェア技術として使用されている。[ 1 ]
ビットスライスプロセッサ(BSP)は通常、1ビット、2ビット、4ビット、8ビット、または16ビットの算術論理演算ユニット(ALU)と制御線(ビットスライスではないCPU設計ではプロセッサ内部にあるキャリー信号やオーバーフロー信号を含む)を備えています。
例えば、2つの4ビットALUチップを制御線で区切って並べて配置することで、8ビットALUを構成できます。組み合わせは自由自在です。3つの1ビットユニットで3ビットALUを構成できます[ 2 ]。さらにユニットを増やせばnビットALUを構成できます。4つの4ビットALUチップで16ビットALUを構築したり、8つのチップで32ビットワードALUを構築したりできます。設計者は、より長いワード長を操作するために必要な数のスライスを追加できます。
マイクロシーケンサまたは制御ROMは、ロジックを実行してデータと制御信号を提供し、構成要素であるALUの機能を制御するために使用されます。
既知のビットスライス型マイクロプロセッサ:

ビットスライシングは、当時はそのように呼ばれていなかったものの、大規模集積回路(LSI、今日のVLSI、すなわち超大規模集積回路の前身)が登場する以前のコンピュータでも使用されていた。
The first bit-sliced machine was Whirlwind I,[16] built in 1946–1951. Its floor plan had a row of "relay racks" (or "racks" for short) for each group of closely-related and highly-interconnected circuitry, such as the A row with the CPU registers and arithmetic circuitry. Within a row, the circuitry a single each bit position within a 16-bit word was in a separate rack, such as racks A0–A15 in the A row.
Within a rack, there were panels holding the circuitry for a given function. The A row racks had, from top to bottom, panels for the Instruction Register ("Program Register" and A Register, the Program Counter, the B and I/O Registers, the Accumulator (where the arithmetic was done), and the Check Register and Comparison Register. This allowed each rack A0-A15 to be identical and each corresponding panel in these racks to be identical.
Subsequent first-generation machines built with the bit slice concept included the Memory Test Computer built at MIT as part of the Whirlwind research in 1952–1953, and the EDSAC 2, built at the University of Cambridge Mathematical Laboratory in 1956–1958.
In second generation (discrete transistor) machines, bit slicing was used to partition circuitry into a row of identical plug-in modules, with each module holding one bit of each of several registers. One example[17] was the PDP-6, a 36-bit machine with 18-bit memory addresses, in which 9 modules of type 6203 held the 9-bit shift count and floating point exponent registers, 36 modules of type 6205 held the several 36-bit arithmetic registers, and 18 modules of type 6206 held the several 18-bit memory-address related registers.
Prior to the mid-1970s and late 1980s there was some debate over how much bus width was necessary in a given computer system to make it function. Silicon chip technology and parts were much more expensive than today. Using multiple simpler, and thus less expensive, ALUs was seen as a way to increase computing power in a cost-effective manner. While 32-bit microprocessors were being discussed at the time, few were in production.
The UNIVAC 1100 compatible series mainframes (one of the oldest series, originating in 1962) has a 36-bit architecture, and the 1100/60 introduced in 1979 used nine Motorola MC10800 4-bit ALU[12] chips to implement the needed word width while using modern integrated circuits.[18]
当時、16ビットプロセッサは一般的だったものの高価であり、Z80などの8ビットプロセッサは黎明期の家庭用コンピュータ市場で広く使用されていた。
コンポーネントを組み合わせてビットスライス製品を生成することで、エンジニアや学生は、市販のコンポーネントをカスタマイズして使用することで、より高性能で複雑なコンピュータをよりリーズナブルなコストで構築できるようになった。ALUの詳細が既に仕様化され(そしてデバッグ済みであったため)、新しいコンピュータアーキテクチャの構築に伴う複雑さは大幅に軽減された。
最大の利点は、ビットスライシングによって、当時NMOSやCMOSトランジスタよりもはるかに高速にスイッチングするバイポーラトランジスタを、より小型のプロセッサでも経済的に使用できるようになった点です。これにより、DSP機能や行列変換など、速度が求められる場面で、はるかに高いクロック周波数を実現することが可能になりました。また、Xerox Altoのように、シングルチップCPUが実現する以前に、柔軟性と速度を両立させることもできました。
近年では、ビットスライシングという用語は、汎用CPUを使用して、汎用ロジック命令で単一命令複数データ(SIMD )演算を実行する複数の並列単純仮想マシンを実装する技術を指すために、 Matthew Kwan [ 19 ] によって再利用されました。この技術は、レジスタ内SIMD (SWAR)としても知られています。
これは当初、 Eli Bihamの 1997 年の論文「ソフトウェアによる高速な新しい DES 実装」[ 20 ]を参照したもので、この方法を使用することでDESのパフォーマンスが大幅に向上しました。
超伝導デジタルプロセッサ( MIPS32命令セットを実行するように提案されている)の回路構造を簡素化し、ハードウェアコストを削減するために、 50GHz超伝導「32ビット高速単一磁束量子マイクロプロセッサ用の4ビットビットスライス算術論理演算ユニット(ALU)」が実証された。[ 21 ]
[…] 3つの1ビットALUを組み合わせて3ビットALUを作成する方法は次のとおりです […]
[…] 32ビット高速シングルフラックス量子マイクロプロセッサ用の4ビットビットスライス算術論理ユニット(ALU)が実証されました。提案されたALUは、MIPS32命令セットのすべてのALU演算を網羅しています。[…]
面積3.09
×
1.66
mm²の3481個の
ジョセフソン接合で構成されています。設計した
DCバイアス
電圧2.5
mV
で、32ビット演算において
目標周波数50
GHz、レイテンシ524 psを達成しました
。[…] 目標処理周波数30 GHzの別の8ビット並列ALUが設計・製造されました。
[…] 2~3 GHzで動作するCMOS並列マイクロプロセッサと同等の性能を実現するには
、4ビットのビットスライス処理を数十ギガヘルツのクロック周波数で実行する必要があります。50 GHzを超える高速クロックで動作するいくつかのビットシリアル演算回路が実証されています。
[…]