computer-principle

「コンピュータはなぜ動くのか」コンピュータの3大原則

パソコンを使って様々な仕事をするのが当たり前になっている。しかしコンピュータそのものについての知識は、なかなか学ぶ機会がないのではないだろうか。ここでは矢沢久雄氏の著書「コンピュータはなぜ動くのか」を参考に、12回にわたってコンピュータの仕組みについてまとめる。初回はコンピュータの3大原則について述べる。

※2012年12月26日(水)追記:「8 著書における主なキーワード」

1 コンピュータの絶対的な基礎は3つ

  1. コンピュータは、入力、演算、出力を行う装置である
  2. プログラムは、命令とデータの集合体である
  3. コンピュータの都合は、人間の感覚と異なる場合がある

 

2 ハードウェアの基礎は入力・演算・出力

コンピュータのハードウェアはたくさんの「IC(Integrated Circuit、集積回路)」から構成される。個々のICには数多くのピンがついている。これらのピンは入力用または出力用のいずれかである。ICは外部から入力された情報を内部で演算(計算)し、その結果を外部に出力するという過程で行われる。

 

3 ソフトウェアは命令とデータの集合体

ソフトウェアとはプログラムの基礎である。プログラムは命令とデータの集合体に過ぎない。

  • 命令:入力、演算、出力をコンピュータに指示するもの。プログラミングでは、ひとかたまりの命令群を「関数」「ステートメント」などと呼ばれる
  • データ:命令の対象となる入力情報または命令の結果によって得られる出力情報。プログラミングでは「変数」と呼ばれる

例えばC言語では、命令の末尾にセミコロン「;」を置く。「int a, b, c;」の意味は、「a,b,cという名前で整数の変数を使う」である。intは「integer」の略で、「整数」でることをコンピュータに教えている。

 

4 コンピュータは何でも数値で表す

コンピュータの都合の代表例は、すべての情報を数値で表すことである。例えば青色は「0,0,255」、赤色は「255,0,0」、青色と赤色を混ぜた紫色は「255,0,255」のように数値で表さなければならない。文字も「文字コード」と呼ぶ文字を表す数値で取り扱われている。同様に、「ファイル・ハンドル」も「公開鍵」も「秘密鍵」も数値である。

 

5 3大原則と最新技術の関係

マイクロソフトが提唱している新しいテクノロジである.NETを取り上げる。

  • .NETのコアとなるXML Webサービスは、SOAP、XMLという汎用技術を使って企業間のコンピュータを相互に連携させるもの
  • XML Webサービスとは他のコンピュータ上にあり何らかの演算を行ってくれるプログラムである。SOAPとは命令を呼び出すための仕様であり、XMLはデータ形式の仕様である

 

6 コンピュータが進化する理由

コンピュータ技術が進化する目的は「人間に近づくこと」である。1980年代半ば頃に主流だったパソコン用OSは、真っ黒な画面に文字を打ち込んで命令を与えるMS-DOSだった。90年代に入ると、ビジュアルな画面でマウスを使って直感的に命令を与えられるWindowsに進化する。今後はパソコンへの音声入力や手書き入力などが当たり前のように使われる日が来るだろう。

 

7 次章の予習

コンピュータ(特にパソコン)のハードウェアの構成要素を簡単に説明する。コンピュータの内部は、主にICと呼ばれる部品から構成されている。ICには様々な機能のものがあるが、 CPU(プロセッサ)、メモリー、I/Oの3つが特に重要である。

CPUはコンピュータの頭脳となるもので、内部で演算を行い、メモリーとI/Oを制御する。メモリーは命令とデータを記憶するためのものである。I/Oはパソコン本体と、キーボード、マウス、ディスプレイなどの周辺装置を接続し、データの受け渡しを可能にするためのものである。

CPU、メモリー、I/Oの持つピンを電線で相互に接続し、個々のICに電源を与え、CPUにクロック信号を供給すれば、ハーコウェアとしてのコンピュータが完成である。クロック信号とは、水晶を内蔵したクロック・ジェネレータと呼ばれる部品によって発生されるカチカチという電気信号である。Pentiumなら数百MHz〜2GHz程度のクロック信号を用いる。

 

8 著書における主なキーワード

コンピュータの3大原則とはコンピュータを作ってみよう

  • 入力
  • 演算
  • 出力
  • 命令
  • データ
  • コンピュータの都合
  • コンピュータが進化する理由

 

一度は体験してほしいハンド・アセンブル

  • CPU
  • メモリー
  • I/O
  • クロック信号
  • IC
  • データ線
  • アドレス線
  • 制御信号線
  • DMA

 

川の流れのようにプログラムは流れる

  • 流れの種類
  • フローチャート
  • 構造化プログラミング
  • 割り込み
  • イベント・ドリブン

 

アルゴリズムと仲良くなる7つのポイント

  • ユークリッドの互除法
  • エラトステネスのふるい
  • 鶴亀算
  • 線形探索
  • 番兵

 

データ構造と仲良くなる7つのポイント

  • 変数
  • 配列
  • スタック
  • キュー
  • 構造体
  • 自己参照構造体
  • リスト
  • 2分木

 

オブジェクト指向プログラミングを語れるようになろう

  • クラス
  • 保守性
  • モデリング
  • UML
  • メッセージ・パッシング
  • 継承
  • カプセル化
  • 多態性

 

作ればわかるデータベース

  • リレーショナル・データベース
  • DBMS
  • 正規化
  • インデックス
  • SQL
  • ロールバック

 

簡単な実験7つでTCP/IPネットワークを理解する

  • NIC
  • MACアドレス
  • イーサネット
  • IPアドレス
  • DHCP
  • ルーター
  • DNS
  • TCP

 

データを暗号化してみよう

  • 文字コード
  • XOR演算
  • 共通鍵暗号方式
  • 公開鍵暗号方式
  • 電子署名

 

そもそもXMLって何だっけ

  • マークアップ言語
  • メタ言語
  • CSV
  • 名前空間
  • DTD
  • XMLスキーマ
  • DOM
  • SOAP

 

SEはコンピュータ・システム構築の現場監督

  • ウォータフォール・モデル
  • ドキュメント
  • レビュー
  • 設計技法
  • IT
  • 稼働率

 

最後に

音声認識ソフトについては、アドバンスト・メディアが30日に発売するAmiVoice SP2が有名である。パソコンに接続したマイクに向かって話すと、リアルタイムで文字を入力できる。利用者の声を登録する手間が不要なのが特徴で、繰り返し使うと認識精度が上がる学習機能も備えている。USB接続のマイクが付いたパッケージ版が2万6040円であり、アカデミック版ならば2万円を切る価格で手に入れることができる。書き起こし作業が不要になる日も近い。

なお、入力・演算・出力を行う装置コンピュータの基礎知識8選で挙げた5大装置とCPU・メモリー・I/Oの関係は、CPUが制御・演算装置、メモリーが記憶装置、I/Oが入力・出力装置を意味している。合わせて読むことをおすすめする。

次回はコンピュータの作成方法についてまとめる。

コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>