勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

パタヘネを読む(第1章〜第2章) #デッドライン読書会

読むのがホネな(積みがちな)技術書やビジネス書を取り上げて2週間の読書期限を課して読んでアウトプットする仮想読書会「デッドライン読書会」の第42回。常時、けっこうな量の積読があるのだけれども、知り合いと読書期日を約束することによって消化が捗るという仕組み。ここ最近はこんな本を読んでいる。

さて、今回からは新シリーズである。通称パタヘネすなわち「コンピュータの構成と設計 MIPS Edition 第6版 上」を読んでいく。いまのところ1スプリントで2章ずつ読んでいく計画だ。
コンピュータの構成と設計 MIPS Edition 第6版 上コンピュータの構成と設計 MIPS Edition 第6版 下

ヘネパタとパタヘネ

ところで本書「コンピュータの構成と設計 MIPS Edition 第6版 上」は通称パタヘネと呼ばれているわけだが、ヘネパタと呼ばれている別の本が存在する。「コンピュータアーキテクチャ[第6版]定量的アプローチ」である。
コンピュータアーキテクチャ[第6版]定量的アプローチ
上記は最新の第6版だが、私が読んだのは第5版だ。どうでもいいけど第6版で翻訳版の出版社が変わっており、Kindle版がなくなった(第6版はPDFは買えるようである)。権利の関係かもしれないが、驚くべきことに第5版のKindle版も販売を中止しているようだ。これはどうなんだ・・・

  • 歴史的には、「コンピューター・アーキテクチャ」(通称ヘネパタ)の後に「コンピュータの構成と設計」(通称パタヘネ)が刊行された。
  • 「コンピュータの構成と設計」(通称パタヘネ)が刊行された後に、「コンピューター・アーキテクチャ」(通称ヘネパタ)は改定されて役割分担が見直され、重複が減るようにされている。
  • 著者は区別がつくように「ヘネパタ」「パタヘネ」にしている(まえがきでそういう話が書かれていて笑った)。
  • 現在の「コンピューター・アーキテクチャ」(通称ヘネパタ)は「コンピュータの構成と設計」(通称パタヘネ)を読んでいることを前提としているが、そうではない読者のための付録がついている(お世話になった)。
  • 「コンピュータの構成と設計」(通称パタヘネ)はタイトルの通りプロセッサを中心とした内容を扱っている。『並列コンピュータ上でプログラムを効率よく実行することをプログラマが望むのであるならば、少なくとも向こう10年間、ほとんどのプログラマはハードウェアとソフトウェアのインターフェースを理解しなければならないだろう』(パタヘネのまえがきより)
  • 「コンピューター・アーキテクチャ」(通称ヘネパタ)は副題の方が大事で「定量的アプローチ」すなわち性能をどう評価するか、という点が主題である。ただし性能を評価するためにはコンピュータ・アーキテクチャを理解せなばならぬ、ということで切り込んでいく本だったはず。私が読んだ第5版ではマルチコアチップやクラウドコンピューティングにも言及されていて大変面白かった印象がある。
  • その他の参考

パタヘネ第1章〜第2章まで読んだ感想

  • まあ知ってたけど、難しい。大学の教科書という趣。
  • 各章の末尾に演習問題が大量についているのだけれども、それを丁寧にやるほどの時間は取らなかった。
  • 少し記憶があいまいなのだけれども、ヘネパタはダウンロード版の付録までは翻訳されていなかったように思う。一方でパタヘネはダウンロード版の付録もしっかりと翻訳されたものが提供されていて、非常に助かる。いっぽうで電子書籍なのだから付録も統合して提供してくれたらよかったのに、とは思う。
  • 本書を読み解く参考資料

各章の感想

1.コンピュータの抽象化とテクノロ

抽象度が高くて面白く読める章。

  • 「ポストPC時代へのいざない」として、パーソナル・モバイル・デバイス(PMD)すなわちスマートフォンタブレット、あとウエアハウス・スケール・コンピュータ(WSC)すなわちクラウドなどについても言及されている点は興味深い。
  • コンピュータの構造の例示も、Apple iPhone Xs Maxが対象となっている。分解して構成要素を示すだけでなく、論理基盤、A12チップの集積回路の構成と深掘りしていくところはワクワクした。
  • プロセッサおよびメモリを製造する技術、うっすら理解していたけど一連のプロセスをちゃんと把握したのは初めて。改めて人類すごい。

2.命令:コンピュータの言葉

いきなり難しい、というか読み進めるのに時間がかかる章。以前に読んだ「30日でできる! OS自作入門」に助けられた。

次回

次の2週間は、第3章〜第4章を読む予定。

  • 3.コンピュータにおける算術演算
    • 嫌な予感はある。たぶんビットをたくさん見ることになりそう
  • 4.プロセッサ
    • ここは抽象度が高そう。楽しく読めるといいなぁ