Developer

【基本情報技術者試験】プロセッサ3~制御方式~
2022.11.29
Lv1

【基本情報技術者試験】プロセッサ3~制御方式~

今回は【コンピュータ(ハードウェア)編】CPUの制御方式について紹介します。
特に『パイプライン方式』『CISC,RISC』と呼ばれるものは試験にも問われますので、しっかり学習しましょう。


パイプライン制御方式

CPUでは命令を受け取って処理を行いますが、命令というのは一回だけで終わるわけではありません。

次々と命令を受けて処理を実行しなければいけないわけですが・・・
ちょっとここで一度、CPUの処理の流れを軽く見直してみましょう。

①命令レジスタは、命令アドレスレジスタに記載されている記録装置上のアドレスを参照し、命令を取得
※次の命令がある場合には、命令アドレスレジスタには次の命令アドレスが入る。

②デコーダは、命令レジスタにある命令を解釈し演算装置に渡す

③演算装置は、デコーダから渡された命令(演算)を実行する。その際に、計算処理対象データであるオペランドを読み出す。

④結果を記憶装置(もしくはアキュムレータ)に格納する

まず最初に①~④までを行ってから、次にまた命令アドレスレジスタから命令を取り出して①~④を行い、次にまた(以下繰り返し)・・・
というように行う場合、制御装置(命令レジスタやデコーダ)もしくは演算装置部分が稼働していない時間が発生してしまいます。

これは、効率の悪い制御方式とされています。
※このような方式のことを『逐次制御方式』などと呼ぶことがあります。

対して、複数の命令を並行して処理させていく方式を『パイプライン制御方式』といいます。
これは高速化を図った制御方式であり、例えば上記①~④を被らない範囲で並列に命令を実行していきます。

ただしこのパイプライン制御方式には弱点があります。

この弱点のことを『パイプラインハザード』と呼ぶのですが、いくつか種類があります。

・並列処理の中で、同じハードウェア資源(たとえばメモリ等)にアクセスしようとした場合に発生するパターン
同時にはアクセスできず、1命令ずつしかアクセスできないのが基本であるため、一旦処理を中断せざるを得ない

・前の命令での演算結果データを使用するような後続の命令があった場合に発生するパターン
その前の命令が終了しないと後続の命令は実行できない。

・条件分岐でその後実行される処理が変化していくパターン
ある命令の結果がもしもAだった場合にはA1を次に実行、もしもBだった場合にはB1を次に実行、というケースの場合には、後続で処理待ちになっている命令を見直す必要が出てくる可能性がある

パイプライン制御方式には、上記のような弱点があることを覚えておきましょう。

CISCとRISC

CISCとRISCとは、CPUに関わる用語になります。

・CISCとは
“Complex Instruction Set Computer”の略であり、1命令の中で複雑な処理を行うことの出来るCPUです。
主にパソコンに採用されています。
少ない数の命令で複雑な処理を行えることから、パフォーマンスに貢献しています。

・RISCとは
“Reduced Instruction Set Computer”の略であり、単純な命令しか持てませんが、その代わりにパイプラインで命令を高速に処理することが出来るCPUです。
主に、スマートフォンや組み込みシステムに採用されています。

ただし、CISCとRISCは、絶対に『パソコンならCISC、スマートフォンならRISC』というわけではありません。
それぞれの用途に応じて『パソコンならCISCの方がパフォーマンス貢献を受ける』というように一般的に言われているだけで、パソコンだけどRISCのCPUを採用している企業もあります。

ここでは、用語とその違いをざっくりと捉えておくだけで問題ありません。

以上がCPUの制御方式に関する話になります。
試験に問われることが多いので、しっかりと覚えておきましょう。


まとめ

・パイプライン制御方式とは、複数の命令を並行して処理させていく方式
・パイプライン制御方式には、パイプラインハザードと呼ばれる弱点がある
・CISCとは、1命令の中で複雑な処理を行うことの出来るCPU
・RISCとは、単純な命令しか持てないがパイプラインで命令を高速に処理することが出来るCPU