コンピュータアーキテクチャ

電子情報通信レクチャーシリーズ C-9

コンピュータアーキテクチャ

コンピュータが世界中に行き渡った現在,その処理方式・構成方式を理解し,最良に利用する技術を磨くことの意義ははかりしれない。本書では,最新の技術動向をふまえつつ,コンピュータアーキテクチャの基礎をわかりやすく解説した。

ジャンル
発行年月日
2004/03/31
判型
B5
ページ数
158ページ
ISBN
978-4-339-01843-1
コンピュータアーキテクチャ
在庫あり

定価

2,970(本体2,700円+税)

カートに入れる

電子版を購入

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • レビュー
  • 著者紹介

コンピュータが世界中に行き渡った現在,その処理方式・構成方式を理解し,最良に利用する技術を磨くことの意義ははかりしれない。本書では,最新の技術動向をふまえつつ,コンピュータアーキテクチャの基礎をわかりやすく解説した。

いうまでもなくコンピュータはIT時代の主役である.こんにちのコンビュータは,サーバやパソコンだけでなく,携帯電話,テレビ,エアコン,オーディオ,自動車など,情報を整形・伝達したり,機器を制御したり,画像を表示したりする,あらゆるものに入っている.コンビュータの仕組みを理解することは,情報処理の研究者・技術者だけでなく,理科系のほとんどの人々に(場合によっては文科系の人にも)必要なことであろう.

コンピュータアーキテクチャとは,ソフトウェアとハードウェアのインタフェースのことである.より簡単にいえば,ソフトウェアの立場から見てハードウェアがどう働くかを記述したものである.

本書は,初めてコンピュータアーキテクチャを学ぶ人を対象とし,アーキテクチャの基本を学んで、もらうことを主目的としている.本書を読むのには,多量の予備知識を必要としてはいないが,論理回路の入門書を1冊,座右に置いてときどき参照していただきたい.すでに論理回路を学ばれた人には,これも不要であろう.

本書の特徴は1本の電線からコンピュータまで,その本質を最も分かりやすく簡明に記したことにある.枝葉は個々のマイクロプロセッサのマニュアルを読めばいくらでも学べる.本書では,コンピュータがなぜプログラムを実行できるのか,その一点が分かることを主目的にして,徹頭徹尾単純に書いたつもりである.その上で,性能向上の原点であるパイプライン処理,命令レベル並列処理,記憶階層について説明した.章末の「理解度の確認」もこうした基本の理解を助けるためのものであり,読者はできるだけ全問題を解くことを試みてほしい

本書を順番に読んでいただければゼロから着実に知識が身につくだろう.あるいは既にいくらか知識のある人は,未知のことがらの書かれている章からはじめて,ときどき前の章を参照する,というやりかたで読んでいただければ十分である.

現実のコンピュータはいまも指数関数的に発展し続けている.しかし,最先端のハイエンドマイクロプロセッサも,本書にしっかり記述されている基礎技術の上にあるといってよい.読者が本書をきっかけとして,最先端のアーキテクチャ技術を学ばれるところまで進まれることを,著者として切望する次第である.

本書を著すにあたってお世話いただいた電子情報通信学会教科書委員会の原島博先生,石塚満先生,村岡洋一先生にお礼を申し上げたい.本書がほぼ予定どおり刊行できるのはこの方々のおかげである.また,本書を著すにあたっては細心の注意を払ったつもりであるが,なお内容・字句に不十分なところがあるかもしれない.この点,読者諸賢のご叱責を賜ればありがたい.特に本シリーズの眼目である「図解」の図の部分についてのご意見をうかがわせていただければありがたく思う.

2004年2月
坂井修一

1.はじめに
 1.1 ディジタルな表現
  1.1.1 1本の線から
  1.1.2 n本の線にしてみよう
  1.1.3 負の数
  1.1.4 実数
 談話室 10本の指で数を表現
 1.2 計算する
  1.2.1 計算とはなにか
  1.2.2 1ビットの加算
  1.2.3 nビット加算器
  1.2.4 減算の実現
  1.2.5 ALU
 1.3 計算のサイクル
  1.3.1 フリップフロップ
  1.3.2 レジスタ
  1.3.3 レジスタとALUの結合
 本章のまとめ
 理解度の確認

2.データの流れと制御の流れ
 2.1 主記憶装置
  2.1.1 レジスタとALUだけでは計算はできない
  2.1.2 主記憶装置
  2.1.3 メモリの構成
  2.1.4 メモリの分類
  2.1.5 レジスタファイル
  2.1.6 主記憶装置の接続
 2.2 命令とはなにか
  2.2.1 命令
  2.2.2 命令実行の仕組み
  2.2.3 算術論理演算命令の実行サイクル
  2.2.4 メモリ操作命令の実行サイクル
 2.3 シーケンサ
  2.3.1 シーケンサとはなにか
  2.3.2 条件分岐命令の実行サイクル
 本章のまとめ
 理解度の確認

3.命令セットアーキテクチャ
 3.1 命令の表現形式とアセンブリ言語
  3.1.1 操作とオペランド
  3.1.2 命令の表現形式
  3.1.3 命令フィールド
  3.1.4 アセンブリ言語
 3.2 命令セット
  3.2.1 算術論理演算命令
  3.2.2 データ移動命令
  3.2.3 分岐命令
 3.3 アドレシング
  3.3.1 アドレシングの種類
  3.3.2 バイトアドレシングとエンディアン
  3.3.3 ゼロレジスタと定数の生成
 3.4 サブルーチンの実現
  3.4.1 サブルーチンの基本
  3.4.2 サブルーチンの手順
  3.4.3 スタックによるサブルーチンの実現
  3.4.4 サブルーチンのプログラム
 談話室 CISCとRISC
 本章のまとめ
 理解度の確認

4.パイプライン処理
 4.1 命令パイプライン
  4.1.1 パイプラインの原理
  4.1.2 命令パイプラインの基本
  4.1.3 基本命令パイプラインの実現
 4.2 基本命令パイプラインの阻害要因
  4.2.1 オーバヘッド
  4.2.2 ハザード
  4.2.3 構造ハザード
  4.2.4 データハザード
  4.2.5 制御ハザード
 4.3 ハザードの解決法
  4.3.1 フォワーディングによるデータハザードの解消
  4.3.2 命令アドレス生成のタイミング
  4.3.3 遅延分岐
  4.3.4 分岐予測
  4.3.5 命令スケジューリング
 本章のまとめ
 理解度の確認

5.キャッシュと仮想記憶
 5.1 記憶階層
  5.1.1 命令パイプラインとメモリ
  5.1.2 記憶階層と局所性
  5.1.3 透過性
 5.2 キャッシュ
  5.2.1 キャッシュとはなにか
  5.2.2 ライトスルーとライトバック
  5.2.3 ダイレクトマップ形キャッシュの機構と動作
  5.2.4 キャッシュミス
  5.2.5 フルアソシアティブ形キャッシュとセットアソシアティブ形キャッシュ
  5.2.6 キャッシュの入ったCPU
  5.2.7 キャッシュの性能
 5.3 仮想記憶
  5.3.1 仮想記憶とはなにか
  5.3.2 仮想記憶の構成
  5.3.3 ページフォールト
  5.3.4 TLB
 5.4 メモリアクセス機構
  5.4.1 キャッシュと仮想記憶
  5.4.2 メモリアクセス機構
 談話室 透過性と互換性
 本章のまとめ
 理解度の確認

6.命令レベル並列処理とアウトオブオーダ処理
 6.1 命令レベル並列処理
  6.1.1 並列処理
  6.1.2 並列処理パイプライン
 6.2 VLIW
  6.2.1 VLIWプロセッサの構成と動作
  6.2.2 VLIWの特徴
 6.3 スーパスカラ
  6.3.1 スーパスカラプロセッサの構成と動作
  6.3.2 並列処理とハザード
  6.3.3 VLIWとスーパスカラの比較
 6.4 静的最適化
  6.4.1 機械語プログラムと命令間依存性
  6.4.2 ループアンローリング
  6.4.3 ソフトウェアパイプライニング
  6.4.4 トレーススケジューリング
 6.5 アウトオブデータ処理
  6.5.1 アウトオブデータ処理とはなにか
  6.5.2 データ依存再考
  6.5.3 アウトオブデータ処理の機構
 6.6 レジスタリネーミング
  6.6.1 ソフトウェアによるレジスタリネーミング
  6.6.2 ハードウェアによるレジスタリネーミング(1)―マッピングテーブル―
  6.6.3 ハードウェアによるレジスタリネーミング(2)―リオーダバッファ―
 6.7 スーパスカラプロセッサの構成
  6.7.1 アウトオブオーダ処理を行うプロセッサの構成
  6.7.2 プロセッサの性能
 本章のまとめ
 理解度の確認

7.入出力と周辺装置
 7.1 周辺装置
  7.1.1 周辺装置の分類
  7.1.2 液晶ディスプレイ
  7.1.3 磁気ディスク
 7.2 入出力の機構と動作
  7.2.1 ハードウェアインタフェース
  7.2.2 データ転送の手順
  7.2.3 割込みの調停
  7.2.4 DMA
 7.3 例外処理
  7.3.1 例外の要因
  7.3.2 例外処理の手順
 本章のまとめ
 理解度の確認

引用・参考文献
理解度の確認;解説
あとがき
索引

amazonレビュー