『CPUの創りかた』読んだ

読んだ理由

低レイヤーの知識が全然なかったので読んだ

感想

  • すごい面白かった。コンピュータって意外と単純だなといい意味でイメージが崩れた。
  • 例えばメモリはスイッチをたくさん組み合わせて作ってて(メモリの1bitはスイッチのON/OFFで表現する)、そんな単純でいいんだという驚きがあった。
  • レジスタとかの具体的なイメージが持ててよかった。

メモ

  • プログラムの流れ
    1. クロックが進む
    2. プログラムカウンタが進む
    3. プログラムカウンタが指すアドレスがアドレスデコーダからメモリに渡る
    4. メモリのアドレスに格納された命令(機械語)が命令デコーダに渡る
    5. 命令デコーダ機械語を各回路(データセレクタレジスタ)の入力に変換する
    6. データセレクタレジスタの値をALUに渡す
    7. ALUの算術演算の出力がレジスタに渡る
  • メモリ
    • 役割: プログラムの保持
    • イメージ: スイッチの集まり
    • 部品: DIPスイッチ
  • アドレスデコーダ
    • 役割: メモリの特定の部分を読む
    • イメージ: スイッチ
    • 部品: 74HC154
  • レジスタ
  • ALU
    • 役割: 算術演算を行う
    • イメージ: 論理ゲートの組み合わせ
    • 部品: 74HC283
  • プログラムカウンタ
    • 役割: 現在のアドレスを指し示す
    • イメージ: クロックごとに変化するレジスタ
    • 部品: 74HC161
  • 命令デコーダ
    • 役割: 機械語を各回路の入力に変換する
    • イメージ: 論理ゲートの組み合わせ
    • 部品: 74HC32, 74HC10
  • データセレクタ
    • 役割: ALUの入力に使うレジスタを決定する
    • イメージ: スイッチ
    • 部品: 74HC153

book.mynavi.jp