コンピュータアーキテクチャ

コンピュータアーキテクチャ

ハードウェアとソフトウェアの境界の設計。フォン・ノイマン・ボトルネックへの対処が多くの技術の動機。

執筆済 コンピュータアーキテクチャ

ハードウェアとソフトウェアの境界の設計。

フォン・ノイマン型#

現代のコンピュータのほぼすべてがこの構成。

   [[CPU]] ←→ [[メモリ]] ←→ 入出力
    ↑
  [[キャッシュ]]

命令もデータも同じメモリに置くのが特徴。 プログラムをデータとして扱えるので、 コンパイラJIT が成立する。

同時に、CPU とメモリの間の帯域が全体の律速になる (フォン・ノイマン・ボトルネック)。 キャッシュパイプラインGPU はいずれも この制約への対処と見ることができる。

性能の式#

実行時間=命令数×CPI×クロック周期

3 つの因子のどれを改善するかで手法が分かれる。

因子 改善手段
命令数 命令セット設計、コンパイラ最適化
CPI パイプライン、スーパースカラ、キャッシュ
クロック周期 微細化(近年は頭打ち)

クロックの向上が 2000 年代に電力の壁で止まったため、 並列化が唯一の残された道になった。

参考文献#

  • John L. Hennessy, David A. Patterson. Computer Architecture: A Quantitative Approach, 6th ed. Morgan Kaufmann, 2017.
  • David A. Patterson, John L. Hennessy. Computer Organization and Design: RISC-V Edition, 2nd ed. Morgan Kaufmann, 2020.
ノート一覧を閉じる