まえがき

本書は,大学,高等専門学校,専修学校等の理工系情報系専門分野用教科書として好評を頂いた“コンピュータアーキテクチャの基礎”を全面改訂し新版としたものである。
 
初版を出版してから約10年(コンピュータの世代としては1世代)が過ぎた。この間のコンピュータシステムの要素技術の進歩は著しいが,“コンピュータアーキテクチャの基礎”すなわち“フォンノイマン型(以下,“ノイマン型”という)コンピュータの原理”は変わっていない。したがって,この改訂新版では,ノイマン型コンピュータアーキテクチャを実現するためのハードウェアおよぴソフトウェアの両要素技術についての記述を,この10年間(コンピュータの1世代)の技術革新に合わせて,全面改訂している。
 
また,初版については,この10年間に,教育現場や読者諸氏からいろいろなご意見やご批評を頂いている。加除修正が簡単な個所については増刷のたびに“局所的な”修正として対処してきたが,この改訂新版では“広域的な”修正を行い,これらのご意見などに根本的にも対処している。さらには,日本語の磨き直しも全ぺ一ジに渡って行っている。
 
具体的な改訂方針の骨子は次の3点である。
●ノイマン型コンピュータの代表例を“メインフレームコンピュータ”から読者の身近にある“パソコン”や“ワークステーション”としている。
●種々の実例を現況に合わせ直している。特に,技術革新の著しいメモリアーキテクチャ(第7章),入出力アーキテクチャ(第8章),通信アーキテクチャ(第9章)についてはほぼ新規に書き下ろしている。
●アーキテクチャおよぴそれを実現するソフトウェアとハードウェアの各要素技術について,現況に合わせてまた今後を展望しつつ加除修正している。
 

 
現代のコンピュータシステムはハードウェアとソフトウェアの両機能によって構成する。本書では,“コンピュータシステムにおけるハードウェアとソフトウェアの機能分担方式”を“コンピュータアーキテクチャ”と定義し,その基本的な設計手順や構成方法について明らかにする。
 
まず,コンピュータシステムを構成する際の基本的なハードウェア機構やソフトウェア機能,さらにはその組み合わせ方法について分類・整理することによって,コンピュータアーキテクチャの基本について明らかにする。次に,基本ハードウェア機構である論理回路,および,ソフトウェア機能の実現の際に必要となるコンピュータ内部における数の表現方式について,実際のコンピュータシステムに即して述べる。
 
以上の学習によって得る基本的かつ概括的知識をもとに,さらに,コンピュータシステムを構成する制御,演算,メモリ,入出力,通信(各々を○○とする)の各機能の実現方式について,ハードウェアとソフトウェアの機能分担方式の観点から具体的に詳述する。これらの各章では,@○○機能の実現におけるハードウェアとソフトウェアの機能分担方式,A○○用ソフトウェア機能を実現する際に必要となる○○用ハードウェア機構,B○○用ハードウェア機構を動作させるために必要となる○○用ソフトウェア機能,C他の機能や機構との境界線(インタフェース)としての○○機能や○○機構の実現方式,という意味での“○○アーキテクチャ”の基礎について詳しく学ぶ。
 
本書の特徴は,既成書に多く見られる“ハードウェア機構についての説明書”ではなく,“ハードウェアとソフトウェアの機能分担方式の分類・整理を切り口とするコンピュータシステム機構の構成方式についての教科書”である点にある。したがって,本書はコンピュータの機能部品(装置)のハードウェア機構にとどまらず,その上に実現するソフトウェア機能(特に,コンパイラやオペレーティングシステム)との境界(インタフェース)までを広くカバーしている。
 
本書は,“本書を読破することでコンピュータアーキテクチャについての一通りの知識が得られる教科書になるように”と心がけて書き下ろしたために思わぬ大部となった。しかし,本書にはコンピュータアーキテクチャ学への入門的学習において欠かせない事項が詰め込んであり,読者諸氏には時間の許す限り全般を万遍なく通読されることを著者として勧めたい。コンピュータアーキテクチャの基本について学ぷための教科書として本書を手にされた読者諸氏のために,本書の構成とその利用法についてまとめておこう。
 

「改訂新版 コンピュータアーキテクチャの基礎」の構成(目次)
1.コンピュータアーキテクチャとは
2.基本アーキテクチャ
3.コンピュータにおける数表現
4.論理回路
5.制御アーキテクチャ
6.演算アーキテクチャ
7.メモリアーキテクチャ
8.入出力アーキテクチャ
9.通信アーキテクチャ

 
この章立てに沿って本書を教科書とするコンピュータアーキテクチャについての学習法の典型例を示してみよう。第2章,第3章,第5章,第6章,第7章は“コンピュータアーキテクチャの基礎”としての必修事項である。
 
■“コンピュータアーキテクチャの基礎”の学習法
 
@第1章では,“コンピュータアーキテクチャ”という術語の意味やコンピュータ技術におけるアーキテクチャの位置付けについての知識を養い,アーキテクチャについて学習する意義や本書の狙いを明らかにする。また,コンピュータの誕生から現代までのコンピュータ技術の歴史について,主としてアーキテクチャの変遷史の観点に立って整理し直す。
 
A第2章では,現代のコンピュータの構成原理となっているノイマン型コンピュータの基本ハードウェア構成について学ぶ。また,コンピュータシステムにおけるハードウェア機構とソフトウェア機能の境界線(インタフェース)を“コンピュータアーキテクチャ”ととらえ,ノイマン型コンピュータの基本アーキテクチャとして,各種の命令形式やデータ形式などから成る命令セットを構成する手法について分類・整理する。
 
B第3章と第4章では,第5章以降で述べる各機能部品(装置や機構)のアーキテクチャの説明を理解するために必要となる基礎的な知識を養う。すなわち,アーキテクチャについての学習に欠かせない知識であるコンピュータにおける数表現と論理回路について,アーキテクチャ設計学の立場から見直す。数表現はソフトウェア機能の,論理回路はハードウェア機構の,それぞれ基本である。
 
C第5章では,第6〜9章の各章で述べるコンピュータの各機能部品(演算,メモリ,入出力,通信の各装置や機構)に指令を送り,それらを制御・管理する機能部品である制御機構のアーキテクチャについて明らかにする。
 
D第6〜9章では,第1〜5章の各章の読破によって得る知識をもとに,ノイマン型コンピュータを構成する主な機能部品である演算(第6章),メモリ(第7章),入出力(第8章),通信(第9章)の各装置や機構のアーキテクチャについての理解を深める。
 
また,各章ごとに演習問題を付けてあるので,学習進度や理解度のチェックはこれによって行ってほしい。演習問題の解答は本書のどこかに必ず書いてある。本書を独習する読者のために“答がどこに書いてあるのか”を“演習問題のヒント”として各巻末にまとめて示してある。
 
コンピュータアーキテクチャについての基礎知識を得ようとする読者は第1〜4章,特に第2章を熟読してほしい。一方,アーキテクチャについての一通りの基礎知識のある読者は第5〜9章の各機能部分(装置)アーキテクチャを学習することによって,コンピュータアーキテクチャについてのより詳細な知識を身につけられる。
 
本書は週1コマ(1.5時間)の講義を1年(32コマ,48時間程度)行って,コンピュータアーキテクチャの基本についての学習を修了できるぺ一スでの講義用教科書として構成してある。もし,半年分(16コマ,24時間程度)しか学習時間を割り振れない場合には,第2(基本),第3(数表現),第5(制御),第6(演算),第7(メモリ)の各章(フローチャート参照)を選択的に学習するだけで“コンピュータアーキテクチャの基礎”に関する必修事項を身につけられる。
 

 
本書は,大学理工系学部情報系学科の学生諸君のみならず,将来のコンピュータ技術者や情報技術者をめざして,高等専門学校や専修学校で情報技術について学んでいる人々の教科書にもなるように心がけて書き下ろした。また,コンピュータアーキテクチャはハードウェアとソフトウェアの両機能に密接に関連するものであり,コンピュータ技術者だけではなくユーザとしてコンピュータの利用を試みる人々にとっては必須の知識である。本書がそのような人々の指針にもなれば著者として望外の喜びである。

前に戻る!