1-5 CPUの高速化処理
CPUは以下の順序で命令を実行する
1. 命令の呼び出し
2. 命令の解読
3. 実行アドレスを求める
4. 処理に必要なデータ(オペランド)の取り出し
5. 命令実行
6. 演算結果を格納
この1~6の作業の仕方が多様にあります。
・逐次制御方式
まず、逐次とは
順序通りする
という意味です。
つまり、1→2→3→4→5→6
と処理を行っていく方式です。
これでは処理の速度が遅くなってしまうので
以下に紹介する方式が考えられました。
・パイプライン方式
複数の命令に対して、1ずつずらしながら並行に処理を進めていく方式
命令①、命令②を実行したいとき
①-1→①-2, ②-1→①-3, ②-2→.......
のように処理を行っていく方式です。
しかし、分岐処理と呼ばれる処理(条件によって命令が異なる処理)において、
処理の順番が乱れることがあります。
これをパイプラインハザードと言います。
このパイプラインハザードを対策するために
実行される確率の高い方を予測する分岐予測や
確率の高い処理を行い、結果を保持しておき、
分岐先が正しければ、その結果を利用する投機実行
などが行われています!
・スーパーパイプライン方式
パイプライン方式をさらに細分化した方式
・スーパースカラ方式
複数のパイプライン方式で処理を行う方式
CPUの命令体系
CPUの命令セットアーキテクチャとして
CISC(シスク), RISC(リスク)
がある。
CISC(Complex Instruction Set Computer)とは
複雑な命令体系(命令数が豊富)で
1回の命令で複数の処理を行うことができる。
主にPCのCPU
RISC(Reduced Instruction Set Computer)とは
単純な命令体系(単純な命令に絞った)で
命令の実行時間が均等になり、パイプライン方式で効率よく処理できる
主にスマホ, タブレット, 組み込みシステムのCPU
他にもCPUの処理速度を上げる方法がある
・マルチコアプロセッサ
マルチ=複数の
つまり、1つのCPU内に
複数のコア(演算回路の中核部品)を持っているもの
・GPU (Graphics Processing Unit)
行列演算を用いることで
3Dの画像処理を高速に行う画像処理装置
今日はここまで
ありがとうございました。
