はじめに
コンピュータサイエンスの基礎について,「きたみりゅうじ.キタミ式イラストIT塾 基本情報技術者 令和04年.」で学習した基礎知識のまとめ.
今回の内容は,「5大装置,CPU,メモリ,ハードディスク,その他ハードウェア,ソフトウェア」.
コンピュータの5大装置
・制御装置:プログラムの命令を解釈してコンピュータ全体の動作を制御する装置。CPU
・演算装置:算術演算装置=ALU[Arithmetic and Logic Unit]。CPU
・記憶装置:主記憶装置は、一時的にプログラムやデータを記憶する装置。メモリ。補助記憶装置は、プログラムやデータを長期に渡り記憶する装置。ハードディスク、CD-ROM
・入力装置:キーボード、マウス、スキャナ
・出力装置:ディスプレイ、プリンタ
CPU[Central Processing Unit]
レジスタ
CPU内部の記憶装置.CPUが命令実行するために取り出した情報を保持.
CPUの命令実行手順
- 命令の取り出し(フェッチ)
プログラムカウンタの示すアドレスを参照して、メモリから命令を取り出し、命令レジスタに記憶させる。 - 命令の解読
命令レジスタの命令部の中身が命令デコーダに送られ、命令を解読し、ALUに制御信号を出す。 - 対象データ(オペランド)の読み出し
オペランド部の示すアドレス等からメモリのデータを読み出し、汎用レジスタに記憶させる。 - 命令実行
ALUが汎用レジスタからデータを取り出して演算し、結果を汎用レジスタに書き戻す。
CPUの性能指標
- クロック周波数:クロックが1秒間に繰り返される回数
- CPI[Clock cycles Per Instruction]:1命令当たりにかかるクロック数
- MIPS[Million Instruction Per Second]:1秒間に実行できる命令の数[百万個/秒]
メモリ
RAM[Random Access Memory]:読み書き可能で揮発性.
* DRAM[Dynamic RAM]:主記憶装置
* SRAM[Static RAM]:キャッシュメモリ.CPUと主記憶装置の速度差を埋めるための装置.高速に読み書きできるメモリで,主記憶装置のデータを保持させる.速度の遅い主記憶装置へアクセスせず,キャッシュメモリからデータを読み込むことでCPUの待ち時間を減らす.
ROM[Read Only Memory]:読み出しのみ可能で不揮発性.
* マスクROM:読み出し専用のメモリ.製造時にデータを書き込み,以降は書き換え不可.
* PROM[Programmable ROM]:書き換え可能.EPROM, EEPROM, フラッシュメモリ
記憶装置の階層
レジスタ⇄キャッシュメモリ⇄主記憶装置⇄ディスクキャッシュ⇄磁気ディスク装置(ハードディスクなど).ディスクキャッシュは主記憶装置と磁気ディスク装置の速度差を埋める装置.役割はキャッシュメモリと同じ.
ヒット率と実行アクセス時間
* ヒット率:目的のデータがキャッシュメモリに入っている確率.
* 実行アクセス時間:①キャッシュメモリへのアクセス時間×ヒット率+②主記憶装置へのアクセス時間×(1-ヒット率)
ハードディスク
構造と記録方法
* ディスク(プラッタ):金属やガラス製の円板.表面に磁性体を塗布されている.
* 磁気ヘッド:ディスクの磁性体を磁化させたり,読み取ったりする.
* アクセスアーム:先端に磁気ヘッドがついていて,磁気ヘッドを目的の位置まで移動させる.
* セクタ:プラッタ内の区分けされた領域.ハードディスクが扱う最小単位.512バイト.
* クラスタ:セクタを8つで一塊にしたもの.OSが読み書きする単位.
* トラック:同一円周上のセクタの集合.
* シリンダ:同心円状のトラックの集合.
データへのアクセス時間
アクセス時間=
シーク(アクセスアームが磁気ヘッドを目的の位置に移動させる時間)
+サーチ(目的の* データが磁気ヘッドの位置に回転してくるまでの時間)
+データ転送(データ読み込み時間)
その他ハードウェア
装置
* 入力装置:キーボード,マウス,トラックパッド,,,
* 出力装置:ディスプレイ,プリンタ
入出力インターフェイス:コンピュータと周辺機器を繋ぐために定められている規格.
* パラレルインターフェース:並列で複数の信号を同時に送受信する.高速化により信号間のタイミングずれが問題となる.
* シリアルインターフェース:信号を一つずつ送受信する.現在の主流.USB[Universal Serial Bus]など
* 無線インターフェース:無線通信によるインターフェース.Bluetoothなど.
ソフトウェア
ソフトウェアの分類
* 基本ソフトウェア:OS,ミドルウェア
* 応用ソフトウェア:アプリケーションソフト
OS[Operating System]:コンピュータの基本動作を実現する基本ソフトウェア.
* 制御ソフトウェア:OSの中核.ジョブ管理,タスク管理,記憶管理,データ管理.
* 言語処理プログラム(言語プロセッサ):プログラミング言語で書かれたプログラムをコンピュータが理解できる機械語に翻訳するプログラム.
- サービスプログラム:ユーティリティとも呼ばれる.
OSによる操作性の向上
* GUI[Grafical User Interface]:画面にアイコンやボタンを表示して,それを視覚的に操作することで命令を伝える操作方式.例えば,WindowsやMAC OSのが採用している.
* API[Application Program Interface]:ハードウェアの利用も含めてOS自身がもつ各種機能を,アプリケーションから呼び出せる仕組み.メリットとして,開発効率アップ,操作性の統一,互換性の確保が挙げられる.
ジョブ管理
* ジョブ:利用者から見た仕事の単位.処理させたい一連の仕事.
* マスタスケジューラ:カーネルが持つ機能の一つ.利用者からジョブの実行支持を受け付けたり,ジョブの実行状態を報告する.
* ジョブスケジューラ:マスタスケジューラからジョブの実行依頼を受け,ジョブを実行する.
* スプーリング:ジョブを高速で処理するための「低速な装置とのやり取りを,高速な磁気ディスクを介して行うことで処理効率を高める(スループットを向上)方法」.CPUが出力装置を待たなくて済む.
タスク管理
* タスク:コンピュータから見た仕事の単位.
* ディスパッチャ:タスクをCPUに割り当てる管理プログラム.
* マルチプログラミング:複数のタスクを処理させるにあたりCPUの遊休時間を減らし,CPUの利用効率を高めるためのもの.
実記憶管理:限られた主記憶空間を効率よく使えるようプログラムに割り当てる.
プログラムの4つの性質
* 再配置可能(リロケータブル):主記憶上のどこに配置しても実行できる.
* 再使用可能(リユーザブル):主記憶上にロードされて処理が終えたプログラムを再ロードすることなく繰り返し実行できる.
* 再入可能(リエントラント):異なる複数のタスクから呼び出されても同時実行できる.
* 再帰的(リカーシブ):実行中に自分自身を呼び出せる.
仮想記憶管理:主記憶と補助記憶を合わせた仮想的なメモリ空間を作ってプログラムに使わせる.
* MMU[Memory Management Unit]:メモリ変換ユニット.CPUに内蔵されているハードウェア.仮想記憶内のアドレス(仮想アドレス)を実アドレスに変換する.
* DAT[Dynamic Adress Translator]:動的アドレス変換機構.MMUの実行する仕組みの名称.