素人にも分かる「コンピューターの仕組み」|シニアのIT知恵袋

 普段気になっていて、調べても良く分からないし、聞くにも聞きにくいし、誰か教えてくれないかなと思っているようなことを、順次書いて行くつもりです。最初につき、このタイトルで書いてみようと思います。

1.コンピューター

 コンピューターは、ハードウェアとソフトウェアから構成されていることはご存じと思います。ソフトウェアと言う言葉はコンピューターが世に出る前は余り使われていなかったような気がします。しかし、最近では良く使われます。ピアノがハードウェアなら、楽譜はソフトウェアのような使われ方です。

 つまり、ハードウェアの価値に、ソフトウェアと言う使い方の価値を加えることで、本来の価値が発揮されるようなものを表す時に使われています。それでは、そのような典型となるコンピューターのハードウェアとソフトウェアについて、説明しようと思います。

2.ハードウェア

(1)コンピューターのハードウェアは電気回路

 コンピューターのハードウェアは電気回路です。そして、電気回路として、2つの大きな特長があります。

A)コンピューターはデジタル回路

 ラジオは電気回路でも、アナログ回路です。電波からの微弱な信号をスピーカーを鳴らすために増幅します。入力信号と出力信号で一定の処理(10000倍に増幅など)を行います。

 デジタル回路は入力のON、OFF(1、0)信号を処理して、ON、OFF信号を出力します。アナログ回路は入出力の強弱(アナログ)を扱いますが、デジタル回路は入出力のON、OFF信号(デジタル)を扱います。PCで使うCPU(中央演算処理装置)は入出力の端子が1000本以上ある複雑なデジタル回路です。

B)集積化

 デジタル回路は単純な論理回路を多数集めて作るので集積化がし易く、有名なムーアの法則(18ケ月で2倍の集積度になる)が実現しました。そのため、この半世紀ほどの間、著しい性能向上がありました。

(2)ノイマン型コンピューターの発明

 デジタル回路がコンピューターに進化したのは、ノイマンの発明です(下図)。制御装置がCPUと呼ばれる心臓部です。制御装置にはON、OFFを扱う入出力信号があります。主記憶装置に書かれているプログラムデータを制御装置が読み込み、入力信号(ON,OFF)にセットすると、出力信号(ON,OFF)が出てきます。

 制御装置は読み込むプログラムデータを次に進めて同じ動作をします。これを、一定間隔(1秒間に何百万回)で連続的に動くようにします。すると、プログラムに従って、一連の処理が出来るようになります。この仕組みがコンピューターです。これは今でも変わっていません。

(3)コンピューターの5大要素

 制御装置に、演算装置、主記憶装置、入力装置、出力装置を加えたものを、コンピュータの5大要素と言っています。最近では、演算装置は制御装置に組み込まれ、補助記憶装置も必須となっていたり、以前とはコンピューターの機能構成は少し変わっていますが、基本的な構成は普遍です。

3.ソフトウェア

 ソフトウェアは、先ほど説明したプログラムデータのことです。ハードウェアを動かす命令を並べたものを言います。

 ソフトウェアの進化は、ハードウェアの進化以上に、コンピューターに与えた影響は大きかったように思います。ソフトウェア進化の過程を辿ってみます。

(1)最初にOS(オペレーティングシステム)が生まれた

 ソフトウェアの最初の発明がOSです。当初、入力データのON、OFFをハードウェアから読み取ったり、出力データのON、OFFをハードウェアに書き込んだりをプログラムで書いていました。そのため、プログラムはハードウェアの高度な知識が無いと書くことが出来ず、時間も掛かり大変な手間でした。また、高価なコンピューターを1人で独占するため、非常に投資効率が悪い。これらを解決するために、OSが考案されました。

 入出力装置との複雑なやり取りをOSに依頼すると、OSが替わってやってくれ、読み込んだデータだけを渡してくれる。並行して複数処理が出来るように、時間分割して動くようにもしました。それこそ、プログラム開発が楽になるように、片っ端からOSが吸収しました。そして、OSはハードウェアと一緒に開発ベンダーが提供するもので、利用者はアプリケーションを作ると言う分業が出来上がりました。

(2)次に、高級言語、コンパイラーが生まれた

 制御装置はプログラムの指示に従って動きます。プログラムはON、OFF信号で出来ていて、主記憶装置上に書き込んでおきます。に書き込みます。この大変手間が掛かるコンピュータへの指示を日常使っている言葉に近いもので指示出来るような、高級言語(COBOL、PL/1など)が生まれました。この高級言語で書かれたプログラムを機械語に翻訳するのがコンパイラーと言うソフトウェアです。

(3)アプリケーションが進化して、ミドルウェア・パッケージが生まれた

 ソフトウェアはOSを生むことで、ソフトウェアの開発が飛躍的に効率化できました。更に、機械語で書いていたソフトウェアを高級言語で書けるようにして、更に効率化が進みました。そして、さまざまな業種、分野でコンピューターが使われると、更なる効率化のために、ミドルウェアが生まれました。

 ソフトウェアをOSとアプリケーションの2つに分けていましたが、アプリケーションを更に業種、分野で共通的なところは個別にプログラムを開発することなく、ミドルウェアとしてコンピューターベンダーが開発したり、専業ベンダーが開発したりしました。例えば、データベースを使う時にはORACLEと言う製品があります。聞いたことがあると思いますが、ディスクに書き込んであるデータを効率的に高速でアクセスする機能を提供しています。

4.まとめ

 コンピューターの歴史は、ハードウェアが高速化、小型化、低価格化の方向で進化し、ソフトウェアは適用範囲の広がりに応じて増大するソフトウェア開発を効率化する方向で進化しました。これからも、その方向で進化してと思われます。

次回以降は、以下のキーワードを説明していくつもりです。

  • インターネット
  • オブジェクト指向
  • クラウド
  • IOT
  • AI
 

 

コメント

  1. 西 敬二郎 より:

    懐かしいコンピュータの五大要素に言及されていますね。
    プログラム内蔵方式から発展して、いまのいろいろなシステムの動作原理のイメージができるように表現するアプローチも面白そうです。

    • silverware より:

        近藤です。気付くのが遅くなり、大変失礼しました。お褒め頂き、ありがとうございます。
      ECサイトはほぼ完成し、トライアル運用を開始した所です。素人にも分かる・・・ですが、昔は当たり前のことでしたが、最近はこの手のことは知らないし、教えて貰ってもいないようです。ここ1~2ケ月はECサイトに忙しく、これからはブログの方にも精出すつもりです。