コンピュータ

コンピュータ

書いたプログラムが電気回路の動作になるまでの層。抽象化は便利だが、性能を詰めるときには漏れる。

執筆済 コンピュータ

書いたプログラムが、どうやって実際の電気回路の動作になるのか。

#

   プログラミング言語        ← 人間が書く
        ↓ [[言語処理系]]
   機械語 / 実行ファイル
        ↓ [[プログラムの実行]]
   命令セット
        ↓ [[コンピュータアーキテクチャ]]
   論理回路 → トランジスタ

各層が下の層を隠す(抽象化)。 普段は上の層だけ見ていればよいが、 性能を詰める場面では抽象が漏れる

キャッシュに乗るかどうかで 100 倍変わる、 分岐予測を外すと数十サイクル無駄になる、といった現象は 下の層を知らないと説明できない。

構成#

参考文献#

  • David A. Patterson, John L. Hennessy. Computer Organization and Design: RISC-V Edition, 2nd ed. Morgan Kaufmann, 2020.
  • Randal E. Bryant, David R. O’Hallaron. Computer Systems: A Programmer’s Perspective, 3rd ed. Pearson, 2016. https://csapp.cs.cmu.edu/
ノート一覧を閉じる