第1回 - コンピュータのハードウェア

0. パソコンを分解して中身を見てみる

1. コンピュータの原理

おそろしく単純な動作 (後述) を大量に組み合わせて、複雑な処理をおこなう。

2. 4つの装置

すべてのコンピュータは 以下の4つの装置から成り立っている。

入力装置 演算装置 出力装置 記憶装置

(情報処理技術者試験ではこれに「制御装置」を加えたものが 「コンピュータの5大装置」と呼ばれているが、ここでは制御装置は 演算装置に含まれるものと考えている)

スマートフォンも炊飯器もエレベータも、やっていることは一緒。
コンピュータにしてみれば、入力装置から来た情報を あれこれ処理して、出力装置に渡しているにすぎない。

装置の間で渡されるすべての情報は、 2種類の異なる状態の組み合わせで表される。

3. すべての情報を 0 と 1 であらわす

数字、文字、画像、音声などをコンピュータで扱うためには、 これらの情報をすべて 0 と 1 だけで表す必要がある。

数値を 0 と 1 であらわす

我々がふだん使っている数 (10進数) は 「12345」を表すのに 1万文字を書いたりする必要はない。
「桁上がり」の考え方。

 

2進数における加算

2進数における乗算

用語

4. バスとクロック

実際には、コンピュータの各装置は次のように接続されている。

入力装置 演算装置 記憶装置 出力装置 バス
バス
情報を通すための線。複数の装置が接続されていることが多い。
クロック
同期信号。 すべての情報をバスで一度に送ることはできず、分けて送る。
このとき、クロック を使って同期する。
クロック バス 1 0 1 0 0 1 1 0

1秒間あたりのクロックの拍数 (Hz) を、動作周波数という。

5. 記憶装置

記憶装置には半導体による主記憶装置 (メモリ) と 磁気を使った二次記憶装置 (ハードディスクなど) がある。
メモリはハードディスクの約100,000倍速い。

たとえば、100ビットのメモリは 100個の 0 または 1 を記憶することができる。

演算装置 メモリ アドレスバス データバス 読み出し要求 書き込み要求

メモリからデータを読み込む手順

  1. 演算装置が、メモリ上の指定位置を 2進数でアドレスバスに出力する。
  2. データ読み出し要求信号を 1 にする。
  3. メモリが、データバスに 0 か 1 かを出力する。

メモリにデータを書き込む手順

  1. 演算装置が、メモリ上の指定位置を 2進数でアドレスバスに出力する。
  2. 演算装置が、データバスに 0 か 1 かを出力する。
  3. データ書き込み要求信号を 1 にする。
  4. メモリにデータが記憶される。

32ビット版/64ビット版 Windowsの違い

扱えるバスのビット数が異なる。 → 64ビット版のほうが多くのメモリを扱え、一度に多くのデータを処理できる。

6. 演算装置

演算装置の役割… 入力装置から来た 0/1 をうまいこと処理して、出力装置に渡すこと。

論理回路

AND回路 OR回路 NOT回路

これは何をする回路か? X と Y の空欄を埋めよ。

A B Y X
A B X Y
0 0
0 1
1 0
1 1

プログラム

プログラムする … 配線を変更して、 コンピュータに別の処理をさせること。

ストアード・プログラム方式

プログラムをいくつかの命令語の列によって表現し、 それを実行することにより処理する。 (命令語の列は、記憶装置に入れておく。)

制御装置… 演算装置の一部で、命令語を実行する部分。

演算装置 メモリ プログラム データ

命令語の例

  00401066: 57                 push        edi
  00401067: 33 FF              xor         edi,edi
  00401069: 85 DB              test        ebx,ebx
  0040106B: 7E 26              jle         00401093
  0040106D: 8B F5              mov         esi,ebp
  0040106F: 8B 6C 24 18        mov         ebp,dword ptr [esp+18h]
  00401073: 2B E8              sub         ebp,eax
  00401075: 8B 0C 2E           mov         ecx,dword ptr [esi+ebp]
  ...

効率は悪いが、プログラムを書き換えるのが簡単。

ハードウェアはますます一般化し、 ソフトウェアが重要な時代になっている。

7. 単位の表し方

現在のコンピュータは、1秒間に約1,000,000,000回の信号を処理できる。
これは、1回の処理に 0.000 000 001秒かかることを意味する。

キロ (K)1,000倍
メガ (M)1,000,000倍
ギガ (G)1,000,000,000倍
ミリ (m)1,000分の1
マイクロ (µ)1,000,000分の1
ナノ (n)1,000,000,000分の1


Copyright (c) 2015 Yusuke Shinyama