コンピュータアーキテクチャの教科書サーベイ

 

ほとんどの大学の情報系、電気系でコンピュータアーキテクチャの講座があるためか、様々な教科書があります。ここではそのうち手元にあるものを紹介します。完全に趣味と偶然で選んでいますので、その旨ご了承ください。絶版になっているものもあります。

 

John L. Hennessy, David A. Patterson “Computer ArchitectureA Quantitative ApproachMorgan Kaufmann, 4th Edition 2006.(コンピュータアーキテクチャ:定量的アプローチ 翔泳社 中條、佐藤、吉瀬、天野訳)

ヘネ・パタの名で親しまれており、世界中で使われているコンピュータアーキテクチャの定番テキスト。HennessyStanford大でMIPSを、PattersonUC Berkeley大でRISCを開発し、マイクロプロセッサの主流であるRISC型のアーキテクチャの普及に貢献したアーキテクチャ界の第一人者である。1990年に発売された初版が爆発的にヒットし、全米の大学で用いられた。しかし、この初版はコンピュータアーキテクチャの入門者にとっては難しすぎる問題点があり、後に姉妹編で入門用のパタ・ヘネが出版され、ヘネ・パタは、コンピュータの専門家に向けたテキストとしての地位を確立した。それ以降、1996年に第2版、2003年に第3版、2006年に第4版が出版されて今日に至っている。このテキストは、その名前の通り、性能やコストを定量的に評価することによって、コンピュータを設計して行こうというスタンスで書かれており、それまでのどちらかというと経験的な設計論とは一線を画すものであった。リアルな実例、最新の実測データに基づく解説、豊富な演習問題などテキストとして他の追随を許さない一方、Fallacy(誤った考え方)や落とし穴等、読み物としても秀逸である。時代と共に版を重ねて常に新しくなっている点も本書の特徴である。

 

1990年 初版:教育用プロセッサDLXを用いる。命令セットの解説が多くベクトルプロセッサの章がある。元々厚い本で、ページ数は549ページ+付録。

邦訳は富田、村上、新實により行われ、日経BP社より出版された

1996年 第2版:教育用プロセッサDLXを用いる。命令レベル並列処理の章が登場。ベクトルプロセッサは姿を消す。ページ数は760ページ+付録。

2003年 第3版:プロセッサがMIPSとなり、DLXは姿を消す。マルチプロセッサの章が登場。組み込みプロセッサの解説にはPS2Emotion Engineが登場。この版でページ数は883ページ+付録に達し、片手で持つと手首を痛めると言われた。

2006年 第4版、かなりの部分をCD-ROMに移すことにより、423ページ+付録まで減った。スレッドレベル並列処理、すなわちマルチプロセッサが初めて中心に据えられた。薄くなったことにより翻訳が可能になり、翔泳社から出版され、僕も一部受け持った。CD-ROMまですべて翻訳するのは大変で、ボランティアに頼り、この部分を全部読んでチェックするのに猛烈に時間が掛った。

 

David A.Patterson and John L.Hennessy, “Computer Organization & Design,” Morgan Kaufmann The 3rd Edition 2005. (コンピュータの構成と設計 ハードウェアとソフトウェアのインタフェース、成田訳 日経BP社)

ヘネ・パタの姉妹編で、パタ・ヘネと呼ばれている。計算機の基本、命令セット、単一サイクルCPUの作り方、パイプライン化などが分かりやすくまとめられている。当初、ヘネ・パタと担当する章を入れ替えたりしていて、書き方の違いが分かって面白かったが、後に分化が進んでわからなくなった。例題のプロセッサとしては当初からMIPSを使っていた。内容が比較的簡単なのと、入門編で広く売れるため、各版のすべてが翻訳されている。第1版、2版まではやはりページ数が増え、ヘネ・パタと並べて本棚に置くと圧巻の迫力だったが第3版でCD-ROMを導入してスリム化された。

 

David M. Harris and Sarah L.Harris, “Digital Design and Computer Architecture,” Morgan Kaufmann 2009. (ディジタル回路設計とコンピュータアーキテクチャ、鈴木、天野、永松、中條訳 翔泳社)

ヘネ・パタとパタ・ヘネが姉妹にあたるとすると、この本は従妹に当たり、ある程度の連携を持ちつつも独立した関係にある。パタ・ヘネよりもやや低いレベルのディジタル設計を中心に据えて、コンピュータを設計しながら学んでいく。パタ・ヘネと一部担当部分に重複があるが、パタ・ヘネよりも実戦的で、設計者向きである。VHDL,Verilogのコードと解説が付いており、実際にMIPS R3000のコアの設計が可能である。この本は、僕の書いた「作りながら学ぶコンピュータアーキテクチャ」とスタンスがほとんど同じである。僕は訳に携わった(というか、本書についてはかなりの部分を訳した)ので、真似っこしたと思われると癪なので強く主張しておきたいのだが、僕の「作りながら、、」の方は2001年なので、ずっと早い。しかし、僕の方は国産CADPARTHENONを使い日本語で書いたものだが、こちらは世界標準のVHDL/Verilogを使い英語で書かれているので、メジャー度が全然違う。残念だ。とはいえ本書は間違いなく力作で、詳細に至るまでとことんパワーを入れまくる語り口には肉食民族的な執拗さを感じる。ちなみに二人のHarrisは夫婦でも親戚でもなく、単に偶然らしい。David HarrisIntelでチップ設計をやっていた経験を持ち、MeadCMOSチップに関する本も書いている。本書には、自分でチップ設計をやった者の書いたリアルさがある。MIPSの命令セットの記述も、ヘネパタ、パタヘネとは違ってレジスタを$t,$sなどで表すMIPS屋的な記述で、この点も好感度が高い。

 

坂井修一 実践コンピュータアーキテクチャ コロナ社 2009

データフローマシンEM-4を開発し、今は東大で日本のアーキテクチャを引っ張る坂井先生によるテキスト。Verilog32ビットのオリジナルなCPUを設計する。ModelSimを用いてシミュレーションし、Altera社のQuartus IIを用いてFPGA上で実際に動作テストを行うところまで、詳細に紹介されている。本当にアーキテクチャの「実践」寄りのテキストである。

 

中澤喜三郎 計算機アーキテクチャと構成方式 朝倉書店 1995

日立でメインフレーム、スーパーコンピュータを開発し、筑波大学に移ってスーパーコンピュータCP-PACSにより世界一位を奪取した中澤先生による大著。回路レベルから構成要素、マイクロアーキテクチャ、命令セット、新旧取り混ぜて膨大な知識が掲載されている。恐ろしく古い回路が書かれている一面、今読んでも古びていない高性能アーキテクチャ技術が紹介されている。Groschの法則などの辺は現在のテキストでは決して書けないだろう。絶対に手放したくない一冊。

 

Douglas E.Comer, “Essentials of Computer Architecture, Pearson Education Inc. 2005 (コンピュータアーキテクチャのエッセンス 鈴木、中條、仲谷、並木訳 翔泳社、2009)

ヘネパタ、パタヘネの対極のスタンスから書かれたテキスト。ヘネパタと共にこのテキストが存在するという点でアメリカ合衆国の奥の深さを感じる。上位レベルからのアーキテクチャ記述の部分はなかなか面白いし、ほかの部分も突っ込み所満載で、ある意味興味深いテキストと言える。

 

馬場敬信 コンピュータアーキテクチャ オーム社 2000 並列計算機A-NETを開発し、日本のコンピュータアーキテクチャ界の第一人者であり続けた宇都宮大馬場先生による大著。数の表現、論理回路、演算回路、基本からI/O、相互結合網など高性能コンピュータの技術まで、幅広く、かつ詳細な記述してある。膨大なサーベイに基づいた正確な記述は圧巻の迫力である。