第 1 章 コンピュータシステムの概要#
1.1 コンピュータの分類#
アナログコンピュータ#
特徴:数値は連続量で表され、計算プロセスも連続している
デジタルコンピュータ#
特徴:ビット単位の演算を行い、非連続的に計算を行う。
アナログコンピュータは精度と解決能力に限りがあり、適用範囲が小さいため、一般的には広く使用されているデジタルコンピュータを指す。デジタルコンピュータは専用コンピュータと汎用コンピュータに分けられます。
- 専用コンピュータは最も効率的で経済的で高速なコンピュータですが、適応性が低いです。
- 汎用コンピュータは効率性、速度、経済性を犠牲にしますが、適応性が高いです。
1.2 コンピュータの発展の歴史(重要)#
世代 | 使用デバイス | 時間 |
---|---|---|
第 1 世代 | 電子管コンピュータ | 1946-1957 年 |
第 2 世代 | トランジスタコンピュータ | 1958-1964 年 |
第 3 世代 | 中小規模集積回路コンピュータ | 1965-1971 年 |
第 4 世代 | 大規模および超大規模集積回路コンピュータ | 1972-1990 年 |
第 5 世代 | 巨大規模集積回路コンピュータ | 1991 年から現在 |
1946 年から現在までの間に、計算機の演算速度は約 5 年ごとに 10 倍向上し、信頼性も 10 倍向上し、サイズは 10 倍縮小しました。
モールの法則#
1965 年、ゴードン・ムーア(元 Intel 会長)が提案しました。
トランジスタの表面積(集積回路基板上にある領域)は約 18 ヶ月ごとに約 50%縮小されます。言い換えれば、マイクロプロセッサの性能は 18 ヶ月ごとに 2 倍になり、価格は半分になります。
1.3 コンピュータの性能指標#
スループット#
- ある時間間隔内にコンピュータが処理できる情報量を表します。単位はバイト / 秒(B/S)
レスポンスタイム#
- 入力が有効になってからシステムが応答を生成するまでの時間を測定するための時間単位です。例えば、マイクロ秒(10^-6^ 秒)、ナノ秒(10^-9^ 秒)などがあります。
利用率#
- 与えられた時間間隔で、システムが実際に使用されている時間の割合を表します。一般的にはパーセントで表されます。
プロセッサワードサイズ#
- プロセッサの演算器で一度に処理できるバイナリ数のビット数を指します。現在のプロセッサのワードサイズは 8 ビット、16 ビット、32 ビット、64 ビットなどがあります。ワードサイズが大きいほど、計算の精度が高くなります。
バス幅#
- 一般的には、CPU の演算器とメモリ間の内部バスのバイナリビット数を指します。
メモリ容量#
- メモリ内のすべてのストレージセルの総数を示します。通常、KB、MB、GB、TB などで表されます。
- ここで 1K = 2^10^B、1M = 2^20^B、1G = 2^30^B、1T = 2^40^B、1B = 8 ビット(1 バイト)。メモリ容量が大きいほど、2 進数のメモリが多くなります。
メモリ帯域幅 #
- メモリの速度指標で、単位時間あたりに読み出されるバイナリ数の情報量を示します。通常、バイト / 秒で表されます。
クロック周波数#
- CPU の動作クロックは、メインクロックによって制御されます。メインクロックは、一定の周波数でクロックを生成するためのものであり、メインクロックの周波数(f)を CPU のクロック周波数と呼びます。
- 単位は MHz(メガヘルツ)、GHz(ギガヘルツ)です。 例えば、Pentium シリーズのマシンは 60MHz〜266MHz であり、Pentium 4 は 3.6GHz になりました。
- クロック周波数の逆数は CPU のクロック周期(T)と呼ばれます。すなわち、T = 1 /f で、単位はマイクロ秒、ナノ秒です。
CPU の実行時間 #
- CPU があるプログラムを実行するのに使用する CPU 時間を表します。次の式で計算できます:
CPI#
- 1 つの命令サイクル数を表します。つまり、1 つの命令を実行するために必要な平均クロックサイクル数です。次の式で計算します:
MIPS#
- 1 秒あたりの百万命令数を表します。次の式で計算します:
- MIPS は単位時間あたりの実行命令数を表すため、MIPS 値が高いほどマシンの速度が速いことを示します。
プログラムの実行時間 Te は次のようになります:
MFLOPS / TFLOPS#
- MFLOPSは1 秒あたりの百万回の浮動小数点演算回数を表します。次の式で計算します:
- MFLOPS は操作に基づいており、命令ではないため、マシンの浮動小数点演算の性能を測ることができますが、マシンの全体的な性能を反映することはできません。TFLOPSは 1 秒あたりの兆回の浮動小数点演算回数を表します。この技術指標は通常、スーパーコンピュータで使用されます。
1.4 フォン・ノイマンアーキテクチャ(重要)#
フォン・ノイマンコンピュータの基本的な設計思想は、プログラムの格納とプログラムの制御です!
以下の特徴を持っています。
- 演算器、メモリ、コントローラ、入力デバイス、出力デバイスの 5 つのコンポーネントでコンピュータシステムが構成され、これらの 5 つの部分の基本機能が規定されています。
- プログラムを格納するために、プログラムとデータを同じメモリに配置します(ハーバードアーキテクチャでは異なるメモリに配置されます)。命令とデータの両方が演算器に送られ、プログラムで構成される命令は変更可能です。
- データはバイナリコードで表されます。
- 命令はオペコードとアドレスコードで構成されます。
- 命令はメモリに順番に配置され、** 命令カウンタ(PC)** は実行する命令の単位アドレスを指定します。一般的には順番に増加しますが、演算結果や外部条件によって変更することもあります。
- マシンは演算器を中心に構成され、I/O デバイスとメモリの間のデータ転送はすべて演算器を介して行われます。
1.5 コンピュータシステムの階層構造#
コンピュータは単純に電子機器と見なすことはできず、ハードウェアとソフトウェアが組み合わさった複雑なシステムです。通常、5 つ以上の異なるレベルで構成され、各レベルでプログラム設計が可能です。
階層構造の特徴#
- 各レベルでプログラム設計が可能であり、下位レベルのサポートを受けることができます。
- レベル 1〜レベル 3では基本的にバイナリ言語が使用され、マシンの実行と解釈が容易です。
- レベル 4、レベル 5はシンボル言語を使用し、ハードウェアに詳しくない人でもコンピュータを使用できるようになります。
- レベルが低いほどハードウェアに近く、レベルが高いほどコンピュータの使用が容易になります。