ディジタル回路設計とコンピュータアーキテクチャ[ARM版]、pdf版
6,600円 (6,000円+税)
関連サイト
本書の関連ページが用意されています。
内容紹介
この本は、コンピュータアーキテクチャの見地からディジタル論理設計を論じている点が特徴的で、1/0から始めてマイクロプロセッサの設計まで導いていく。
私たちはマイクロプロセッサを作ることが、コンピュータ科学と工学の学生にとっての特別な通過儀礼であると信じている。プロセッサの内部動作は、入門者にはほとんど魔術的に見えるが、注意深く説明していけば、単純な一本道であることが分かる。ディジタル設計それ自体は、力強く刺激的なテーマである。アセンブリ言語でプログラミングすることで、プロセッサの内部で話されている言語が明らかになる。マイクロアーキテクチャはこれらをまとめて1つにする連結部である。
徐々に広まっていった最初の2つの版では、広く用いられているパターソンとヘネシーのアーキテクチャの書籍に従いMIPSアーキテクチャを追及した。初期RISCアーキテクチャの1つとして、MIPSは明瞭であり、極めて分かりやすく作りやすいものである。MIPSは重要なアーキテクチャであり、2013年にイマジネーション・テクノロジーズ社がMIPSテクノロジーズ社を買収した後、新たなエネルギーが吹き込まれた。
過去20年において、ARMアーキテクチャは、その効率の良さと幅広いエコシステムから、爆発的に人気を博すようになった。500億個ものARMプロセッサが出荷され、75%以上の地球上の人間がARMプロセッサを用いた製品を使っているのである。本書を書いている現時点においても、ほとんどすべての携帯電話やタブレットは1つまたは複数のARMプロセッサを搭載している。予測では、100億以上ものARMプロセッサが間もなくIoT(Internet of Things)をコントロールするだろうと報じられている。多くの企業が高性能ARMシステムを構築し、サーバマーケットにおいてインテル社に挑戦状を叩きつけている。その商業的な重要性や学生の興味から、この教科書のARM版を著すことにしたのである。
教育学上においては、MIPS版とARM版の学ぶべき対象は同一のものである。ARMアーキテクチャには、少しばかり複雑なものとなるが、効率化をもたらすアドレシングモードや条件実行といった多数の特徴がある。2つのマイクロアーキテクチャは極めて似通っており、条件実行やプログラムカウンタが最も大きな違いとなっている。I/Oについての章は、ARMベースの組み込みLinux搭載シングルボードコンピュータであり、今話題のRaspberry Piを用いて多数の例を示している。
書誌情報
- 著者: デイビッド・M・ハリス, サラ・L・ハリス(著), 天野英晴, 鈴木貢, 中條拓伯, 永松礼夫(訳)
- 発行日: 2016-08-31 (紙書籍版発行日: 2016-04-18)
- 最終更新日: 2017-10-27
- バージョン: 1.0.2
- ページ数: 417ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: エスアイビー・アクセス
対象読者
著者について
デイビッド・M・ハリス
ハーベイ・マッド大学工学教授。
サラ・L・ハリス
ネバダ大学電気コンピュータ工学准教授
天野英晴
慶應義塾大学理工学部情報工学科教授、工学博士。並列計算機アーキテクチャ、リコンフィギャラブルシステムの研究に従事
鈴木貢
島根大学総合理工学部数理・情報システム学科准教授、工学博士。特殊命令セット向けコンパイラ最適化と、オープンソース活用向け工学教育に興味を持つ
中條拓伯
東京農工大学大学院共生科学技術研究院准教授、工学博士。プロセッサアーキテクチャ、FPGAを用いた高性能計算機システムの研究に従事
永松礼夫
神奈川大学情報科学科教授、工学博士
目次
推薦のことば
翻訳出版協力者のことば
序
1 ゼロからイチへ
- 1.1 ゲームの計画
- 1.2 複雑さを上手に扱う方法
- 1.3 ディジタルによる抽象化
- 1.4 数の体系
- 1.5 論理ゲート
- 1.6 ディジタル抽象化の裏側
- 1.7 CMOSトランジスタ*
- 1.8 電力消費*
- 1.9 まとめとこれから学ぶこと
- 演習問題
- 口頭試問
2 組み合わせ回路設計
- 2.1 はじめに
- 2.2 ブール論理式
- 2.3 ブール代数
- 2.4 論理からゲートへ
- 2.5 マルチレベル組み合わせ回路
- 2.6 XとZ、…はて?
- 2.7 カルノーマップ
- 2.8 組み合わせ回路のビルディングブロック
- 2.9 タイミング
- 2.1 まとめ
- 演習問題
- 口頭試問
3 順序回路設計
- 3.1 はじめに
- 3.2 ラッチとフリップフロップ
- 3.3 同期式回路設計
- 3.4 有限状態マシン
- 3.5 順序回路のタイミング
- 3.6 並列性
- 3.7 まとめ
- 演習問題
- 口頭試問
4 ハードウェア記述言語
- 4.1 はじめに
- 4.2 組み合わせ回路
- 4.3 構造モデル化
- 4.4 順序回路
- 4.5 組み合わせ回路再考
- 4.6 有限状態マシン
- 4.7 データ型*
- 4.8 パラメータ化モジュール*
- 4.9 テストベンチ
- 4.1 まとめ
- 演習問題
- 口頭試問
5 ディジタルビルディングブロック
- 5.1 はじめに
- 5.2 算術演算回路
- 5.3 数の表現法
- 5.4 順序回路のビルディングブロック
- 5.5 メモリアレイ
- 5.6 ロジックアレイ
- 5.7 まとめ
- 演習問題
- 口頭試問
6 アーキテクチャ
- 6.1 はじめに
- 6.2 アセンブリ言語
- 6.3 プログラミング
- 6.4 機械語
- 6.5 ライト、カメラ、アクション:コンパイル、アセンブル、ローディング*
- 6.6 こまごまとした話題*
- 6.7 ARMアーキテクチャの進化
- 6.8 別の視点:x86アーキテクチャ
- 6.9 まとめ
- 演習問題
- 口頭試問
7 マイクロアーキテクチャ
- 7.1 はじめに
- 7.2 性能解析
- 7.3 単一サイクルプロセッサ
- 7.4 マルチサイクルプロセッサ
- 7.5 パイプラインプロセッサ
- 7.6 HDL記述*
- 7.7 進んだマイクロアーキテクチャ*
- 7.8 現実世界の側面:
- ARMマイクロアーキテクチャの進化*
- 7.9 まとめ
- 演習問題
- 口頭試問
8 メモリシステム
- 8.1 はじめに
- 8.2 メモリシステム性能の解析
- 8.3 キャッシュ
- 格納するか?
- 8.4 仮想メモリ
- 8.5 まとめ
- エピローグ
- 演習問題
- 口頭試問
9 I/Oシステム
- 9.1 はじめに
- 9.2 メモリマップトI/O
- 9.3 組み込みI/Oシステム
- 9.4 他のマイクロコントローラの周辺機器
- 9.5 バスインタフェース
- 9.6 PCのI/Oシステム
- まとめ
A ディジタルステムの実装
- A.1 はじめに
- A.2 74xx論理回路
- A.3 プログラマブルロジック
- A.4 ASIC
- A.5 データシート
- A.6 論理回路ファミリ
- A.7 パッケージと組み立て
- A.8 伝送線路
- A.9 経済面
B ARM命令
- B.1 データ処理命令
- B.2 メモリ命令
- B.3 分岐命令
- B.4 その他の命令
- B.5 条件フラグ
C C言語プログラミング
- C.1 はじめに
- C.2 C言語へようこそ
- C.3 コンパイル
- C.4 変 数
- C.5 演算子
- C.6 関数呼び出し
- C.7 制御文
- C.8 さらなるデータ型
- C.9 標準ライブラリ
- C.10 コンパイラとコマンドラインオプション
- C.11 よくある間違い