2014年9月17日水曜日

『CPUの創りかた』 感想とレビュー


このエントリーをはてなブックマークに追加


CPUの創りかた を(一応)読み終わりました。もちろん実際には創らず、読み通しただけです。
だいぶ前に「有名みたいだし読んでみようかな」と手を出して「やっぱり電子回路わからない…」と挫折していたのですが、最近ハードウェア寄りの事をし始めたので改めて手を伸ばしました。

結局電子回路の部分はわかったようなわからないような、といった感じですが、この本で私が得た知見は 171ページの

要するに CPU というのは転送命令を繰り返すだけのロジックである。

に集約されている気がします。この言葉で「おお!」と思えただけで、読んだ価値はありました。
以下、同じページに書かれている重要なこと。

  1. データ保持の方法。フリップ・フロップの出力を入力に戻してあげればクロックがきても同じデータを保持できます。
  2. レジスタ間のデータコピーの方法。コンピュータが実行する命令の大半はMOVなどの転送系です。転送元のフリップ・フロップの出力を転送先のフリップ・フロップへ繋ぐ。で、クロックでコピー実行。
  3. 演算の方法。演算はソフトウェアから見ると転送命令とは別のカテゴリですが、CPUの回路としてはMOVなどの転送命令(として処理できる)の一種です。データを転送する途中で演算回路を経由すればよい、ということです。演算命令と転送命令はほとんど同じ。これも非常に重要。

これを知ったことが結局役に立つのかというとよくわかりませんが、全くの謎だった CPU の基本原理が少しわかった気がします。(これでわかったというと本物の CPU 屋さんに怒られそうですが…)

ソフトウェア系の人が、パフォーマンスを出したいなどの観点から実際に役に立つ CPU の知識を身につけたいのであれば、プロセッサを支える技術 -果てしなくスピードを追求する世界 (WEB+DB PRESS plus) がオススメです。自分も偉い人にオススメされて読んでいる途中なのですが、キャッシュの話や Out-of-Order 実行の話など、CPU が高速化のために行っている工夫がわかりやすく書かれていて読みやすいです。

0 件のコメント:

コメントを投稿