Douglas E. Comer 著
吉川 邦夫 翻訳
【本書の内容】
本書は
Douglas E. Comer, "Essentials of Computer Architecture, 2nd Edition",
Taylor & Francis Group, LLC. 2017
の邦訳版です。
「コンピュータアーキテクチャ」という学術分野は、コンピュータ科学とコンピュータ工学を抱合しているだけに、深く広大です。
この膨大な知識をすべて習得するのは、専門家ならいざしらず、いわゆるIT系技術者あるいは、そのトバクチに立っている初学者にとっては、無理筋というものです。
とはいえ、これらの知見があれば、より強固な知識の土台を形成し、開発者として一歩も二歩も先に進むことができます。
本書はその膨大な知見の中から「プロセッサ」「メモリ」「入出力(I/O)」の三分野に焦点を当て、プログラマやデベロッパー、それらの初学者にとって、有効な知識の武器となるパートを平易に解説し、より深い知識への踏み台を提供してくれます。
一般教養的なコンピュータの動作原理を、よりプログラミングに近いところで理解するには、本書を入り口に歩を進めるのが近道となるはずです。
【本書のポイント】
・コンピュータアーキテクチャのマップが手に入る
・開発者として一回り大きくなれる
・原理がわかるので緊急時にも慌てないココロをもてる
最初に学ぶ2つのトピックは、本書の残りの部分を読むのに必要な「デジタル論理回路」と「データ表現」である。どの話題にも、必ず「デジタル情報を表現し操作するために電子的な機構を使う」という問題が関わっている。
アーキテクチャの主な領域は3つある。第1の領域である「プロセッサ」の仕事は、計算(たとえば算術演算)と制御(たとえばシーケンスのステップ実行)の両方だ。ここでは基本的な構成要素(ビルディングブロック)について学び、それらのブロックが現代のCPU(Central Processing Unit)で、どのように使われているかを見ていく。
アーキテクチャの主な領域の2つめである「メモリ」システムは、デジタル情報を保存(ストア)し、それをアクセスすることに重点を絞っている。物理的なメモリシステムと、仮想的なメモリシステムの両方を調べ、コンピュータの処理において最も重要なコンセプトのひとつである「キャッシング」を理解する。
3つめの「入出力」(インプットとアウトプット)は、マイク、キーボード、マウス、ディスプレイ、ディスク、ネットワークといったデバイス群とコンピュータとの接続に関する、アーキテクチャの主要領域だ。ここではバステクノロジーについて学び、プロセッサがバスを使ってデバイスと通信する方法を知って、デバイスドライバというソフトウェアの役割を理解する。
最後に学ぶ並列処理とパイプラインは、いろいろな形式で出現する重要なコンセプトだ。ハードウェアの並列化やパイプライン化によって、システム全体の性能を向上させる方法を学ぼう。
第1章 序論と概要
■第1部 基礎
第2章 デジタル論理回路の基礎
第3章 データとプログラムの表現
■第2部 プロセッサ
第4章 さまざまなプロセッサと計算エンジン
第5章 プロセッサの種類と命令セット
第6章 データパスと命令実行
第7章 オペランドのアドレッシングと命令表現
第8章 CPU:マイクロコード、保護、プロセッサモード
第9章 アセンブリ言語とプログラミングパラダイム
■第3部 メモリ
第10章 メモリとストレージ
第11章 物理メモリと物理アドレッシング
第12章 キャッシュとキャッシング
第13章 仮想メモリ技術と仮想アドレッシング
■第4部 入出力
第14章 入出力の概念と用語
第15章 バスとバスアーキテクチャ
第16章 プログラム駆動と割り込み駆動の入出力
第17章 デバイスと入出力とバッファのプログラミング
■第5部 高度な話題
第18章 並列処理
第19章 パイプライン処理
第20章 電力とエネルギー
第21章 性能評価
第22章 アーキテクチャのサンプルと階層構造
第23章 ハードウェアのモジュール化
付録A コンピュータアーキテクチャコースのラボ
付録B ブール代数を単純化する規則
付録C x86アセンブリ言語の基本
付録D ARMのレジスタ定義とコーリングシーケンス
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||
---|---|---|---|---|---|---|---|---|---|
1刷 | 042 表3‐2 |
未 | 未 |
|
2021.08.17 | ||||
1刷 | 043 本文上から6行目 |
未 | 未 |
|
2021.01.26 | ||||
1刷 | 049 「・1の補数」上から2行目 |
未 | 未 |
|
2021.04.16 | ||||
1刷 | 064 本文上から2行目 |
未 | 未 |
|
2021.01.26 | ||||
1刷 | 195 図11‐2 |
未 | 未 |
|
2021.08.17 | ||||
1刷 | 333 「17.13 OSがサポートする入出力演算」下から2行目 |
未 | 未 |
|
2021.04.16 | ||||
1刷 | 340 「17.21 キャッシングとの関係」1行目 |
未 | 未 |
|
2021.04.16 | ||||
1刷 | 345 「CDCの周辺プロセッサ」下から3行目 |
未 | 未 |
|
2021.04.16 | ||||
1刷 | 478 2段目上から12行目 |
未 | 未 |
|
2021.08.17 |
yshigeru さん
2021-08-09
「基礎知識こそプログラマにとっての銀の弾丸だ!」という帯の文句がよい。基礎知識こそ最も応用が効くものだと思う。自分は基礎知識こそ最も面白いと思っている。
Q さん
2021-08-28
ソフトウェア設計者に向けてコンピュータがどのように構成されて動くのかその仕組みをトランジスタ/命令セット/メモリとキャッシュ/並列処理/パイプラインなど異なるレベルから概観する本。あくまでも概要なのでこの本を読んでHDLでCPUを作れることはないだろう。また簡潔な説明のために詳細な理解ができない箇所もある。例えばクロックレスロジックの受け手がどのようなHDLになるのか実感できなかった。両線がHIGHになるエッジトリガーを自クロックとは別に検出できれば良いはずなのだが自分のHDL力が不足していて解らなかった
y さん
2021-05-08
メモリ,プロセッサ, IO についてざっくりと知りたかったので。わからない部分も多かったが流して読んでかなり理解が進んだ。しばらくしたら再読したい。