バレルシフタとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > バレルシフタの意味・解説 

バレルシフタ

(Barrel shifter から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/08/24 07:43 UTC 版)

バレルシフタ: barrel shifter)は、ある特定のビット数分だけワードデータをシフトできるデジタル回路である。これはマルチプレクサを並べたものとして実装できる。この実装では一つのマルチプレクサの出力はシフト距離に依存するウェイ数分離れた段のマルチプレクサの入力に接続されている。必要なマルチプレクサの数はnビットワードに対しては、n*log2(n)である。よくある4つのワードサイズとそれに必要なマルチプレクサの数を以下に示す。

  • 64-bit —
  • 32-bit —
  • 16-bit —
  • 8-bit —

例えば、4入力A、B、C、Dを持つ4ビットのバレルシフタは、ABCDの順にビットを回転させることができる。つまり、3つのビット位置をすべて右にシフトすることができる(したがってA、B、C、Dのいずれも循環させることができる)。バレルシフタは(ALUと並んで)マイクロプロセッサ内の非常に重要なパーツに含まれ、様々な分野に応用されている。

実装

しばしばバレルシフタは並列に並べた2x1マルチプレクサをカスケード接続することで実装されている。中間の信号は、2ビットシフトするか同じデータを出力するか、S[1]の値によってどちらかを選択するかに使われる。この信号はS[0]によって制御される別のマルチプレクサによってシフトされる。

 im  = IN, if S[1] == 0
     = IN << 2, if S[1] == 1
 OUT = im, if S[0] == 0
     = im << 1, if S[0] == 1

より大きなバレルシフタは追加のステージを持っている。

使用法

バレルシフタは浮動小数点ハードウェアに使われている。浮動小数点の加減算では、数の仮数部は必ず正規化されていなければならず、大きい方の数の指数部に合うまで小さい方の数を右シフトしてその数の指数部を増やさないといけない。これにより指数部の引き算が行われ、1サイクルで、仮数部の差を計算するためにバレルシフタを使って小さい方の数を右シフトする。もし単純なシフタが使われたならば、nビットシフトするのにnクロック必要になる。

参考文献

この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。




英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「バレルシフタ」の関連用語

バレルシフタのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



バレルシフタのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのバレルシフタ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2026 GRAS Group, Inc.RSS