コンピュータ(computer)は compute(計算する)が由来です。 何を計算するのか。たとえば、物を水平に投げたときの動きを考えてみましょう。
物理の実験なら、空気抵抗で誤差が出ます。 コンピュータは半導体 ⇒ 論理回路 ⇒ 2 進数(デジタルデータ)という仕組みで、 曖昧さのない形で、大規模に正確に計算します。 なお、自然現象そのものを計算に使うナチュラルコンピュータという方向もあり、 量子力学を使う量子コンピュータ、生物学を使う分子コンピュータ・DNA コンピュータが研究されています。
コンピュータは、次の 5 つの装置と、それらをつなぐバスからできています。 図の四角をクリックすると、その装置の説明が出ます。
| アドレスバス | データバス | コントロールバス |
|---|---|---|
| 番地の指定 | データの転送 | 制御信号 |
主記憶装置はバスに直結され、CPU と高速に情報をやりとりできます。 CPU と補助記憶装置とのやりとりも、バスと主記憶装置を通して行われます。
メモリは番地(アドレス)で場所を指定します。 下の表は 16 進数で番地を振ったメモリマップです。マスをクリックしてみてください。
(FF)16 = 10 進数で 255 番地です。
0 番地から数えているので、番地の総数は 256 になります。「最後の番地の値」と「番地の個数」は 1 つずれます。
コンピュータは、実行中の処理を一時中断して別の処理へ切り替えることがあります。これを割込みといいます。
| 種類 | いつ起きるか |
|---|---|
| タイマ割込み | 一定時間ごとに発生する |
| 内部割込み | CPU 内部で、権限の異なるプログラムへ移るとき |
| ハードウェア割込み | 外部の装置から。キーボード割込み、マウス割込みなど |
| 0 割算割込み | 0 で割り算をしたとき |
バスにつながる周辺装置(Device)には、入力装置・出力装置・入出力装置・補助記憶装置があります。
入出力装置は、CPU に比べるとはるかに遅い機械です。 そこで間にバッファという一時置き場を挟み、 たまったところで入力割込み/出力割込みを出して CPU に知らせます。
入力装置 → バッファ → 主記憶装置 → CPU (入力割込み) 出力装置 ← バッファ ← 主記憶装置 ← CPU (出力割込み)
紙テープ、磁気テープ、カセットテープ、フロッピディスク、ハードディスク、 CD、MD、DVD、光ディスク、SSD(Solid State Drive)。 古い順に並べると、そのまま記録密度と速度の歴史になります。