バレルプロセッサ

バレルプロセッサ（）は、実行するスレッドをごとに切り替える、コンピュータのプロセッサである。同じ、あるいは似たような機構を指す語として、"インターリーブ(inerleaved)"や"細粒度(fine-grained)"あるいは一時マルチスレッディングなどといった語もある（観点の違いなどによる）。
現代のスーパースケーラアーキテクチャにおける同時マルチスレッディングとは異なり、1サイクルに複数の命令を実行できるものではない。
たとえば、 コンピュータのあるものは、一つのスレッドに処理が戻る前に、20の異なるスレッドのそれぞれから1つずつ命令を実行した。また、 社の IP3023 プロセッサは、一つのスレッドに処理が戻る前に、8つの異なるスレッドのそれぞれから1つずつ命令を実行した。
プリエンプティブ・マルチタスクのように、各実行スレッドは、プログラムカウンタやそれ以外のハードウェアレジスタ(各スレッドのarchitectural state)を割り当てられる。バレルプロセッサは、他のスレッドが順番を待っている間、一つのスレッドを通例数百から数千サイクル実行し続けるプリエンプティブ・マルチタスクマシンとは異なり、各スレッドが一つの命令を N サイクルごとに実行することを保証することができる。
 と呼ばれる技術により、通常のシングルタスクプロセッサの設計から、対応するバレルプロセッサの設計を自動的に生成することができる。この方法で生成された n-way のバレルプロセッサは、それぞれがオリジナルのおよそ 1/n のスピードで動作するオリジナルのシングルタスクプロセッサを n 個コピーしたマルチプロセッサのように動作する。
シングルスレッドのプロセッサとの比較.
シングルスレッドのプロセッサに対する利点.
シングルタスクのプロセッサはキャッシュミス や が発生した場合、有用な処理を行うことなく待機することに長い時間を費やす。
シングルタスクプロセッサに対しバレルプロセッサを採用することによる利点には下記のものがある：
シングルスレッドのプロセッサに対する欠点.
バレルプロセッサにはいくつかの欠点もある。