3-3 プロセッサの設計と高速化

  • RISC (Reduce :減らす、縮小)
    単純な命令のみに絞ったCPUです。単純な命令なので処理の高速化が期待できる。
    使用例:組み込み(家電など)
  • CISC (Complex :複合、複雑)
    単純なものから複雑な命令まで種類を増やしていて、1命令で色々できるCPUである。
    使用例:パソコン、サーバ

RISCはワイヤードロジック方式(ハードウェア的)

CISCはマイクロプログラム方式(ソフトウェア的、小さなプログラムをいっぱい)を採用している。

クロック周波数のイメージは

「1秒間のCPUのリズム」である。単位は「Hz」

CPIとは

Cycles(一周) Per(ごと) Instruction(命令) の略であり、1命令を実行するときに要するクロック数である。

上記の画像のように、クロック周波数が10Hzで1命令2クロックの場合、要する時間は普通に考えて

1 / クロック周波数 * クロック数  で求まるため、
1 / 10 * 2 = 0.2
 となる。

CPU(プロセッサ)の性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式

以前も触れたように、命令は、命令フェッチ → デコード → オペラント読出し → 実行(計算) → 結果格納の段階順に実行されていく。

通常は、すべてが終わってから、次の命令を実行していくが

パイプライン処理は、段階で分けて並列に処理していく

ハザード

パイプランを阻害する現象や障害のこと。命令同士に依存関係が少なからずあるため、並列に処理すればするほど障害が起きる可能性が高まる。

スーパパイプライン

命令の5つの段階(命令フェッチ → デコード → オペラント読出し → 実行(計算) → 結果格納)を細かく分けて、パイプラインよりも多く並列に処理すること

並列に処理すればするほどハザードも多くなるため、結果的には、CPI(1命令に何クロック)は1に近くなる。無限に速くできるわけじゃない。

スーパスカラ

パイプラインを実行するユニットを増やして、パイプライン自体を多重化させる。

VLIW(very long instruction word)

独立した命令(ほかの命令に依存しない命令)を集めて、長い命令(very long istruction)にまとめる。

依存関係がないため、長い命令を複数個作って、複数個の実行ユニットに並列(同時)で処理させることもできる。