CPU(コンピュータシステム)
学習のポイント
CPUは、コンピュータの「頭脳」に該当します。CPUがどのような手順で「命令」を実行していくかを理解し、その時の制御装置・演算装置の役割を理解しましょう。
1. 制御装置 | |||||||||||||||||||||||||||||||||||||
下記がCPU「制御装置・演算装置」の概要図です。この図が説明できるようにしましょう。
主記憶装置にあるプログラムや命令を1個ずつ取り出して解読して他の装置を制御します。色々な種類の「レジスタ」があります。 ※レジスタとは…データ・命令・主記憶装置のアドレスなどを格納する「高速小容量」の記憶素子。
●デコーダ |
|||||||||||||||||||||||||||||||||||||
2. 演算装置 | |||||||||||||||||||||||||||||||||||||
演算装置は、制御装置から送られてくる制御信号に従い、四則演算、論理演算を行います。
●ALU(算術論理演算装置) |
|||||||||||||||||||||||||||||||||||||
3. 命令語の構成 | |||||||||||||||||||||||||||||||||||||
プログラムは、アルゴリズムに基づいて、プログラムを構成している命令語を1つずつ実行します。命令語のビット長には、CPUによって、32ビット長や64ビット長と固定と固定長です。 ●命令語の構成
命令部…実行する操作 |
|||||||||||||||||||||||||||||||||||||
4. アドレス指定方式 | |||||||||||||||||||||||||||||||||||||
命令の対象となるデータが格納されているアドレスを「実効アドレス」を求めることです。通常は、何らかの操作を加えて実効アドレスとします。このように、命令のオペランド部にある操作を行って決定づけることを「アドレス指定(アドレス修飾)」と言います。以下の方法があります。 ●即値アドレス指定方式 オペランド部の内容が操作対象のデータとする方式。 ●直接アドレス指定方式 オペランド部が直接、実効アドレスとなる方式。 ●間接アドレス指定方式 オペランド部に指定したアドレスに格納している主記憶装置のデータを実効アドレスとする方式。 ●相対アトレス指定方式 オペランド部とプログラムカウンタの和を実効アドレスとする方式。 ●インデックス(指標)アドレス指定方式 オペランド部の内容とインデックレジスタの内容を加算したものを実効アドレスとする方式。この方法は主記憶上の連続した繰り返し処理に適しています。配列のインデックス操作など。 ●ベース(基底)アドレス指定方式 オペランド部とベースレジスタの内容の和を実効アドレスとする方式。 ●レジスタアドレス方式 指定されたレジスタの内容を操作対象のデータとする方式。 過去問題 平成27年春期 アドレス部(オペランド部)が「20」で主記憶装置のアドレスの「20」値である「25」をアドレスとしている。よって、間接アドレス指定です。アが正解。 |
|||||||||||||||||||||||||||||||||||||
5. 命令の種類 | |||||||||||||||||||||||||||||||||||||
●比較命令 レジスタの内容と主記憶装置の内容との大小比較を行います。結果を「フラグレジスタ」へセットします。 ●分岐命令 プログラムカウントに任意の値を設定することにより、次に実行する命令を本欄の順番とは別のアドレスにある命令とすること。 ●シフト命令 レジスタの内容を指定したビット数分だけシフトさせる命令です。以下の種類があります。
「左シフト」の場合は、nビットのシフトで、2n倍になる。 「右シフト」の場合は、nビットのシフトで、2-n倍になる。 |
|||||||||||||||||||||||||||||||||||||
6. 命令の実行の流れ | |||||||||||||||||||||||||||||||||||||
命令は、「命令取出し段階」と「命令実行段階」に分けられます。これを「命令サイクル」と言い、それに要する時間を「サイクルタイム」と言います。命令は、以下の6ステージで実行されます。
|
|||||||||||||||||||||||||||||||||||||
7. CPUの高速化技法 | |||||||||||||||||||||||||||||||||||||
「逐次制御方式」では、命令は1個ずつ実行されます。先行制御では命令の実行中に同時に他の命令を実行します。つまり、CPUの命令の高速化を行っています。これには以下の2種類があります。 ●パイプライン方式 1つの命令が実行を終える前に次の命令を先読みして、ステージをずらしながら並列に実行すること。これにより単位時間当たりの命令数(スループット)が増加します。 ●スーパースカラ方式 処理装置内部の構成要素を多重化して、複数のパイプラインのステージを用意する方式。 |
|||||||||||||||||||||||||||||||||||||
8. CPUのアーキテクチャ | |||||||||||||||||||||||||||||||||||||
CPUのアーキテクチャ(設計方針のこと)は、大きく分けて、「RISC」と「CISC」の2種類があります。
●RISC 「RISC」とは、「縮小命令セットコンピュータ」とも言い、「命令を使用頻度の高い、単純な命令に限定して処理装置」です。「ワイヤードロジック方式」と言って「命令を解読する作業(デコード)をハードウェアで実現する」方式を取ります。命令語の長さは固定です。 ●CISC 「CISC」とは、「複合命令セットコンピュータ」とも言い、「複雑な命令を多く用意する処理装置」です。「マイクロプログラム制御方式」と言って「処理装置内に記憶されたマイクロプログラム(ファームウェア)を使用してデコードする」方式を取ります。これは、デコードはRISCより時間がかかりますが、以下の利点があります。 ・命令語の長さは可変 ・命令の種類を多くしやすい。 ・新規に命令を追加しやすい。 ・エミュレーション(他の処理装置の動作を真似ること)が可能。 |
|||||||||||||||||||||||||||||||||||||
9. CPUの並列処理 | |||||||||||||||||||||||||||||||||||||
●マルチプロセッサ 複数のCPUを使用して並行して処理を行うこと。 ●アレイプロセッサ 主記憶装置付きの多数のCPUを格子状に配置したもの。スーパーコンピュータで採用されています。 |
|||||||||||||||||||||||||||||||||||||
10. CPUの性能指標 | |||||||||||||||||||||||||||||||||||||
●クロック 「クロック」とは、コンピュータ内部の動作のタイミングを取るために正確な周期的信号であるクロック信号を発生させる回路を言います。1秒間に発生するクロック信号の回数を「クロック周波数」と言い、HZ」が単位です。 1クロックの時間 = 1秒 ÷ クロック周波数 ●CPICPIとは、1命令の実行に要する平均クロック数を表します。 1命令の実行時間 = 1クロックの時間 × CPI ●MIPS1秒間に実行出来る命令数の平均を百万命令単位で表現したものです。例えば、「3MIPS」とは、1秒間に300万命令となります。
1秒あたりの命令実行数 = 1秒 ÷ 1命令の実行時間 過去問題 平成26年秋期 クロック周波数が1GHzということは、1秒間に1×109回のクロックです。 1命令は0.8クロックですから、0.8で除算して 109 ÷ 0.8 = 109 × 1.25 回/秒 = 1250000000 回 = 125000 万回 となります。答えは、エです。 |