【基礎理論】クロックに合わせてデータを横へスライド!「シフトレジスタ」|情報処理問題1000本ノック
デジタル回路におけるデータ移動や乗除算(掛け算・割り算)の基礎となる記憶回路。クロック信号に同期して保持データを左右にシフトさせる「シフトレジスタ」の仕組みを攻略しましょう。
1. 【 問題 】:基礎理論(論理回路・ハードウェア)
【 問題 】 順序回路の一種であるレジスタに関する記述です。フリップフロップ(記憶素子)を複数個直列に接続した回路であり、クロック信号が加えられるたびに、内部に保持しているデータ(ビット列)を隣のフリップフロップへ移動させ、右や左に桁をずらす回路は、次のうちどれか。
(ア)シフトレジスタ(Shift Register)
(イ)アキュムレータ(Accumulator)
(ウ)プログラムカウンタ(Program Counter)
(エ)命令レジスタ(Instruction Register)
2. 正解:
正解:(ア)シフトレジスタ(Shift Register)
3. 解説:「『クロックの合図』でデータを1マスずつお隣へ渡す!」
シフトレジスタ(Shift Register)は、データ(0と1のビット列)を保持しながら、クロック信号(クロックパルス)のタイミングに合わせて、データを左右の隣接する桁(フリップフロップ)へと順番に移動・転送させる論理回路です。
| 主な用途 | 具体的な仕組み・説明 |
|---|---|
| 2進数の乗算・除算(掛け算・割り算) | ビットを左へ1桁シフトすると2倍($2^1$倍)、右へ1桁シフトすると1/2倍($2^{-1}$倍)の計算が行える(算術シフト・論理シフト)。 |
| シリアル/パラレル変換 | 1ビットずつ順番に送られてくるデータ(シリアルデータ)をまとめて多ビット(パラレルデータ)に変換する、あるいはその逆を行う。 |
1. 理解のコツ: 「駅の電光掲示板の流れる文字(電光ニュース)」で例えてみましょう。
・掲示板の文字が一定のタイミング(クロック)で左へ流れていくのと同じように、メモリ内のドット(ビットデータ)を「1ピクセルずつ横へズラしていく」仕組みがシフトレジスタです。
2. 試験対策の視点: 基本情報技術者試験や応用情報技術者試験のハードウェア・基礎理論分野で問われる基本知識です。
問題文に「クロック信号」「右や左に桁をずらす(スライド)」「フリップフロップを直列接続」「シリアル/パラレル変換」といったキーワードが出たら、迷わずシフトレジスタを選択しましょう!
4. まとめ
「クロック信号の入力ごとにデータを左右の桁へずらしていく記憶回路」。これがシフトレジスタです。掛け算・割り算(シフト演算)やデータ変換に欠かせない回路として確実に押さえておきましょう!