LoginSignup
0
0

福田昭のデバイス通信 第5回 第6回

Last updated at Posted at 2024-02-01

パイプライン

複数の命令をオーバーラップ実行し、高速化を図るCPUの仕組み。

  • 命令を読み出す (命令フェッチ)
  • 制御信号を生成し、レジスタを決定する (命令デコード)
  • レジスタを参照し、命令を実行する (実行)
  • メモリの読み書き (メモリアクセス)
  • レジスタに書き込む (ライトバック)

ステージ毎に1クロックサイクル必要な為、5クロックサイクルで1命令を実行できる。
依存関係が無い場合は同時に命令を実行し、1命令を1クロックサイクルで実行できることもある。
クロック周波数の最大値は最長のステージに依存する為、ステージを分割すると改善できるが、1命令当たりのクロックサイクル数やシリコン面積、消費電力が増加する。

インオーダー実行とアウトオブオーダー実行

命令を順番通りに実行することをインオーダー実行、命令の順番を変えて実行することをアウトオブオーダー実行と呼ぶ。
アウトオブオーダー実行は性能を向上させるが、シリコン面積と消費電力が増加する。

シングルコアとマルチコア

シングルコアはパイプラインを増やし、クロック周波数を改善するが、消費電力の限界で行き詰まる。
マルチコアはCPUコアを増やし、少ない消費電力でスループットを向上させる。

キャッシュ

頻繁にアクセスするデータが保持され、メモリアクセスの回数を減らす。
メモリバスの要求値を下げ、コストと消費電力を減少させる。
16~256バイトのラインで構成され、ラインが指すアドレスをタグと呼ぶ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0