見出し画像

【内容一部公開】動作の仕組みが基礎から学べる――近刊『よくわかる コンピュータアーキテクチャ』

2024年9月下旬発行予定の新刊書籍、『よくわかる コンピュータアーキテクチャ』のご紹介です。
同書の一部を、発行に先駆けて公開します。



***

まえがき

コンピュータは「情報を扱う機械」の一種であり、1台の機械であるにもかかわらず、さまざまな処理をすることができる。これは、コンピュータというモノ(ハードウェア)は変わるところがないにもかかわらず、やらせたい処理の手順(ソフトウェア)を自由に入れ換えて使えるようにしたことにより生まれた特色である。したがって、コンピュータを理解して使っていくためには、ハードウェアとソフトウェアの双方を学ぶことが当然であるとされてきた。しかし、どこでも誰でも自由に使えるインターネットがあたり前となった現代では、クラウドに置かれたコンピュータの上でソフトウェアを開発して使用することもでき、ハードウェアについて意識する機会が少なくなるとともに、それを学ぶ意義が薄れているように感じる方が増えてきているかもしれない。

そのようななかで、コンピュータの性能を最大限に引き出してアプリケーションを実行したい、あるいはコンピュータにより外部機器を制御する組み込み機器を開発したいといった場合には、ソフトウェア技術だけでなく、ハードウェアについての知見が必要になってくるのが現実である。また、普段はハードウェアについて意識せずに使っているコンピュータやアプリケーションがうまく動かない、所定の性能が発揮できないといった場合に、ハードウェアに関する理解があると問題が解決できることがある。

したがって、読者のみなさんが情報分野の技術者として活躍したいと考えているのであれば、ソフトウェアとハードウェアの両方について、しっかり基礎を固めておくことが大いに役に立つ。また、ソフトウェアへの関心は高いが、ハードウェアについてはとっつきにくいと感じられている方が多いと考え、本書はコンピュータのハードウェアの基礎から理解できるよう、基本的なところから説明するよう心掛けて作成した。

第1章では、コンピュータにおけるハードウェアとソフトウェアという概念を整理し、論理回路の基礎、ならびにメモリとプロセッサの概略について学ぶ。第2章では、コンピュータが扱えるデータ表現について学ぶ。

第3章では、コンピュータによる演算操作を実際に行うハードウェアである演算回路について説明する。続く第4章では、演算回路などの構成要素を所定のタイミングで動かすための回路構成方式である同期回路について解説する。その後の第5章で、プロセッサ、メモリ、入出力装置を一つのハードウェアとしてまとめ上げる。コンピュータという全体像として眺めつつ、プロセッサの命令実行手順を通じて、コンピュータの動作を理解する。

第6章では、コンピュータがプログラムを解釈するときの「単語」である命令について詳しく見ていく。ハードウェアとしてのコンピュータと、その上で動作するソフトウェアを関連付けるものが命令である。

第7章から第9章では、コンピュータの高速化の原理について考えていく。第7章では、プロセッサの高速化手法の基本であるパイプライン処理を紹介する。第8章では、現実のメモリの弱点である速度、容量、保護機能をサポートするためのキャッシュメモリと仮想記憶について解説する。第9章では、プロセッサのさらなる高速化の実現のために使われる命令レベル並列処理について学ぶ。

最後の第10章では、入出力装置と割り込み処理について学ぶ。


***

東北工業大学 鈴木 健一(著)

コンピュータアーキテクチャをはじめて学ぶ方のために、ハードウェアの構成から高速化の手法までをやさしく解説しました。
 
●基礎からのていねいな説明
論理回路や数の表現といった、コンピュータを構成する基本要素から一歩一歩ていねいに説明しており、スムーズな入門が可能です。
●直感的にわかりやすい図解
回路の構成や命令処理の流れなどの複雑な内容も、わかりやすく図解しました。目で見て全体像がつかめます。
●理解が深まる演習問題
各章末には豊富に演習問題を掲載。手を動かしコンピュータの動作を追うことで、より深い理解が得られます。

【目次】
Chapter1 序論

 1.1 コンピュータとは
 1.2 ハードウェアとソフトウェア
 1.3 コンピュータの基本構成
 1.4 メモリ
 1.5 プロセッサ
 1.6 論理回路の基礎
 1.7 複数の論理値を扱う信号線

Chapter2 データの表現
 2.1 整数の表し方と基数
 2.2 コンピュータにおける2進数による整数の表現
 2.3 コンピュータにおける2進数による実数の表現

Chapter3 演算回路
 3.1 加減算器と減算器
 3.2 マルチプレクサと3ステートバッファ
 3.3 算術論理演算器(ALU)

Chapter4 同期回路
 4.1 クロック信号とフリップフロップ
 4.2 レジスタ
 4.3 同期回路の構成
 4.4 状態機械

Chapter5 コンピュータの構成と命令実行
 5.1 プロセッサのハードウェア構成
 5.2 メモリ
 5.3 命令実行ステージ
 5.4 命令実行ハードウェアの例

Chapter6 命令セットとプログラム
 6.1 プログラムと命令
 6.2 プロセッサのデータパス
 6.3 命令のサンプル(算術論理演算命令,データ移動命令)
 6.4 命令フォーマット
 6.5 命令のサンプル(分岐命令)
 6.6 実用的な命令セット
 6.7 命令セットまとめ
 6.8 シーケンサと分岐命令
 6.9 符号拡張

Chapter7 パイプライン処理による高速化
 7.1 命令実行の4ステージ
 7.2 パイプライン処理による高速化の原理
 7.3 基本命令パイプラインのハードウェア構成
 7.4 パイプラインハザード
 7.5 パイプラインハザードの解消
 7.6 パイプライン処理による性能向上についての考察

Chapter8 キャッシュメモリと仮想記憶
 8.1 キャッシュメモリの必要性
 8.2 キャッシュメモリの原理
 8.3 キャッシュメモリの構成
 8.4 メモリアクセスの局所性
 8.5 置き換えアルゴリズム
 8.6 マルチレベルキャッシュメモリ
 8.7 パイプライン処理とキャッシュメモリ
 8.8 エンディアン
 8.9 仮想記憶

Chapter9 命令レベル並列処理
 9.1 並列処理の粒度
 9.2 命令レベル並列処理の分類
 9.3 スーパースカラ方式
 9.4 VLIW方式
 9.5 コンピュータの性能

Chapter10 入出力装置
 10.1 補助記憶装置
 10.2 入出力装置
 10.3 割り込み処理

演習問題解答例
索引

この記事が気に入ったらサポートをしてみませんか?