コンピュータ

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。133.86.227.82 (会話) による 2021年2月24日 (水) 09:20個人設定で未設定ならUTC)時点の版 (→‎外部リンク)であり、現在の版とは大きく異なる場合があります。

コンピュータ英語:computer、日本語:電子計算機)は、主にトランジスタを含む電子回路を応用し、数値計算情報処理データ処理、文書作成、動画編集、遊戯など、複雑な(広義の)計算を高速、大量におこなうことを目的として開発された機械である。単にコンピュータと言った場合、一般的には、プログラム内蔵方式デジタルコンピュータの中でも、特にパーソナルコンピュータや、メインフレームスーパーコンピュータマイクロコンピュータなどを含めた汎用的なシステムを指す。

コンピュータ

呼称

「コンピュータ」や「コンピューター」の呼称が日本では多く使われている[1]が、法用語では「電子計算機でんしけいさんき」という表現が刑法著作権法等で用いられている(これは英語では、単に computer ではなく「electronic computer」に相当する)。また、手動の機械式計算機などと違う点を強調して「自動」の語が初期には入ることもあったが、近年はほぼ見なくなった(ENIACなどの「A」である)。「電子計算組織」という語もあり、官公庁公式文書である入札公告条例などで21世紀に入った後の使用例も見られる[2][3]。「組織」の用法は大体「システム」といった意味のようである。

「電子計算機」を省略した、電算機という略語もある。「電算業務」「電算処理」「電算室」などの語で、「コンピュータの」という意味合いで電算という語が用いられる。これについて、情報処理学会が日本における計算機の歴史について調査した際に、学会誌『情報処理』に掲載された富士通における歴史を述べた記事[4]によれば、電子計算機以前の頃、リレーによる計算機によりサービスを開始した同社が(「電子」じゃないけど、ということで)使い始めた言葉であろう、と書かれている(つまり、その由来からは『「電子計算機」を省略した、電算機という略語』ではない)。

他に、人工頭脳[5]電子頭脳、中国大陸・台湾・香港などでもよく使われる電脳という言葉がある。

語源

英語の 「computer」は算術演算を行う主体を指す語であるが、元々は主体として人間を指していた。この用法は今でも有効である。オックスフォード英語辞典第2版では、この語が主体として機械をも指すようになった最初の年を1286年と記している。同辞典では、1946年までに、「computer」の前に修飾語を付けることで異なる方式の計算機を区別するようになったとする。たとえば「analogue computer」「digital computer」「electronic computer」といった表現である。ポルトガル語やスペイン語では”ことばの箱”、com:箱、puter:ことばを話す、を意味させることもある。

計算手は電子計算機と区別するためレトロニムで「human computer」とも表記される。

概要

世界の情報格差を示す地図
世界の情報格差を示す地図

1940年代に最初の実用デジタルコンピュータが登場して以来、コンピュータに使われる技術は、特に微細化という点では劇的に変化してきた。しかし現在のところ、基本的にはノイマン型の構成を受け継いでいる。

命令

コンピュータの命令は人間の言語に比べるとずっと貧弱である。コンピュータは限られた数の明確で単純な命令しか持っていないが、曖昧さは全くない。多くのコンピュータで使われている命令の典型的な例としては、「5番地のメモリの中身をコピーしてそのコピーを10番地に書け」とか「7番地の中身を13番地の中身に加算して結果を20番地に書け」とか「999番地の中身が0なら次の命令は30番地にある」といったものである。

コンピュータの内部では命令は二進コード、つまり2を底とする計数法で表現される。例えば、インテル系のマイクロプロセッサで使われるあるコピー命令のコードは10110000である。ある特定のコンピュータがサポートする特定の命令セットをそのコンピュータの機械語と呼ぶ。

実際には、人間がコンピュータへの命令を機械語で直接書くことは通常はなく、高水準のプログラミング言語を使う。プログラミング言語で書かれた命令が、インタプリタコンパイラと呼ばれる特別なコンピュータプログラムによって自動的に機械語に翻訳されて実行される。プログラミング言語の中にはアセンブリ言語低水準言語)のように、機械語に非常に近いレベルで対応付けられるものもある。逆に Prolog(プロログ)のような高水準言語は計算機の実際の演算の詳細とは完全に切り分けるという絶対原理に基づいている。

ハードウェア

記憶

記憶装置(メモリ)はアドレスを附与された領域の列で、各の領域には命令又はデータが格納される。

領域に格納された情報は書換可能か否か、揮発性(動力の供給を止めることで情報が失くなるという性質)を有つか否かは、記憶装置の実装方法に依存する。

記憶装置を実装する技術もまた時代と伴に大きく変化してきた。初期は電磁継電器(リレー)が、続いて水銀の入った管(水銀遅延線)や金属線を波(振動)が伝わる際の遅延時間を利用する部品が使われた。次にはフェライト製のトロイダルコア(磁気コアメモリ)や個別部品のトランジスタが使われた。そして、現在使われている方式の元祖と言える、集積回路による記憶装置は1960年代に開発され、1970年代にはコストパフォーマンスで凌駕し、それまでの主流だったコアメモリに替わり主流となった(インテルDRAM、1103による(en:Intel 1103))。

また、補助的に用いられる、一般に大容量の補助記憶装置がある。例えば、SSDやHDDなどがそれである。

演算

演算装置は、加算・減算などの算術演算、AND・OR・NOTなどの論理演算、比較(2つの値が等しいかどうかなど)、ビットシフト等を行う装置である。近年においては、1つの中央演算処理に、メモリーフェッチから計算処理部を複数備えたもの(マルチコア、マルチスレッド)が多い。

制御

制御装置は、記憶装置の中に在る、これから実行する命令が在る場所を視続け、実行する時に、実行に必要な情報を記憶装置から読み出し、実行した結果を記憶装置の中の正しい場所に収めるという仕事をする。一度これらの仕事を終えると、制御装置は次の命令が在る場所に目を移す(普通、次の命令は次の格納場所に在るが、ジャンプ命令が実行された場合はそうではない)。インターラプト・リクエスト(演算処理時の割り込み機能:IRQ)を備えたCISC型のプロセッサーが多く流通している。

入出力

入出力(I/Oとも言う)はコンピュータが外の世界から情報を得たり、計算結果を外に送り返したりすることを可能にするためのものである。外部から見て、コンピュータに情報を送ることを入力、逆にコンピュータから情報を得ることを出力という。

入出力には、入出力インタフェースを介して、入出力装置(I/O装置)が接続される。入出力装置としては例えば、キーボードマウススキャナモニタプリンター磁気ディスク装置光学ドライブ装置、ネットワークインタフェースなどといった馴染み深いものから、3次元ディスプレイデータグローブといったものまで、幅広いものが存在する。

入出力装置は、主として入力を得るためのもの(キーボード、スキャナなど)、出力するためのもの(モニタ、プリンターなど)、入力と出力を兼ね備えたもの(磁気ディスク装置、インタフェースなど)に大別することができる。

アーキテクチャ

ソフトウェア

プログラム

コンピュータプログラムはコンピュータに実行させる命令を記述した物を意味する。ワープロソフトOSなどの基本的なプログラムは莫大な量の命令からなる。汎用的な処理を、プログラムごとに全て新たに書くのは効率が悪いため、例えば「画面に点を描く」「ファイルに保存する」「インターネットを通して他のコンピュータとデータを遣り取りする」の様な屡行われる仕事は、ライブラリとして纏められる。

今日では、ほとんどのコンピュータは同時にいくつものプログラムを実行するように見える。これは通常、マルチタスクと呼ばれている。実際には、CPUはあるプログラムの命令を実行した後、短い時間の後でもう一つのプログラムに切り替えてその命令を実行している。この短い時間の区切りをタイムスライスと呼ぶ。これによって、複数のプログラムがCPU時間を共有して同時に実行されるように見える。これは動画が実は静止画のフレームの短い連続で作られているのと似ている。このタイムシェアリングは通常、オペレーティングシステムというプログラムで制御されている。

オペレーティングシステム

具体的に処理すべき作業の有無によらず、コンピュータに自らの演算資源を管理し「ユーザーの指示を待つ」という動作を取らせるためにさえ、ある種のプログラムを必要とする。典型的なコンピュータでは、このプログラムはオペレーティングシステム (OS) と呼ばれている。オペレーティングシステムをはじめとする、コンピュータを動作させるのに必要となるソフトウェアを全般に「システムソフトウェア」と呼ぶ。

コンピュータを動作するためオペレーティングシステムは、ユーザー、もしくは他のプログラムからの要求に応じてプログラム(この意味では、アプリケーションソフトウェアもしくは単にアプリケーションという用語も使用される。ソフトウェアという用語も似た意味合いだが、これはプログラム一般を指すより広い概念である)をメモリー上にロードし、プログラムからの要求に応じていつ、どのリソース(メモリやI/O)をそのプログラムに割り当てるかを決定する。

オペレーティングシステムはハードウェアを抽象化した層を提供し、他のプログラムがハードウェアにアクセスできるようにする。例えばデバイスドライバと呼ばれるコードがその例である。これによってプログラマは、コンピュータに接続された全ての電子装置について、その奥深い詳細を知る必要なくそれらの機械を使うプログラムを書くことができる。また、ライブラリと呼ばれる再利用可能な多くのプログラム群を備え、プログラマは自ら全てのプログラムを書くことなく、自らのプログラムに様々な機能を組み込むことができる。

ハードウェアの抽象化層を持つ現在のオペレーティングシステムの多くは、何らかの標準化されたユーザインタフェースを兼ね備えている。かつてはキャラクタユーザインタフェースのみが提供されていたが、1970年代にアラン・ケイらが Dynabook(ダイナブック)構想を提唱し、「暫定 Dynabook」と呼ばれる Alto(アルト)と Smalltalk(スモールトーク)によるグラフィカルユーザインタフェース環境を実現した。なお、「暫定 Dynabook」は当時のゼロックスの首脳陣の判断により製品化されなかった(ゼロックスより発売されたグラフィカルユーザインタフェース搭載のシステム Xerox Star(ゼロックス・スター)は「暫定 Dynabook」とは別系統のプロジェクトに由来する)が、この影響を受け開発されたアップルコンピュータLISA(リサ)や Macintosh(マッキントッシュ)、マイクロソフトWindows(ウィンドウズ)の発売、普及により、グラフィカルユーザインタフェースが一般的にも普及することとなった。

世間に普及するコンピュータを台数を基準として見た場合、そのほとんどはデスクトップコンピュータとして存在しておらず、携帯電話や炊飯器などの電気製品、各種の測定機器、乗用車や工作機械などの装置に組み込まれた、非常に小さく安価なコンピュータとして実装されている。これらを組み込みシステムと呼ぶ。一般に組み込みOSと呼ばれる専用のOSを用いる。TRON(トロン)プロジェクトのITRON(アイトロン)、米ウィンドリバーのVxWorks(ヴイエックスワークスト)、米シンビアンのSymbian OS(シンビアン・オーエス)、米リナックスワークスのLynxOS(リンクスオーエス)などが利用されている。ただし、近年は開発期間の短縮などの目的で、Windows や Linux(リナックス)といったデスクトップコンピュータで使われているOSと同系統のOSを搭載する場合もある。また、小規模な組み込みシステムのなかには、明確なOSを内蔵していないものも多い。

デジタルとアナログ

デジタル計算機とアナログ計算機という分類もあるが、アナログ計算機は現代ではほとんどマイナーな存在となったことから、単にコンピュータという表現でデジタルコンピュータを指すことが多い。

なお、「コンピュータ」という語を特に「電子」計算機を指す語として使う場合があり、その用語法では、アナログ計算機のうち特に電子式アナログ計算機を指すのが「アナログコンピュータ」ということになる。

また、対象が連続量ではなく、整数のような離散的であるものは(例えばエレクトロニクスを使っていなくても)「デジタル」である。良い例としては、そろばんはデジタルであり、そろばんのことを指してアナログと言うのは誤りである。

アナログ計算機は、電気的現象・機械的現象・水圧現象を利用してある種の物理現象を表現し、問題を解くのに使われる計算機の一形態である[6]。アナログ計算機はある種の物理量を別の物理量で表し、それに数学的な関数を作用させる。入力の変化に対してほぼリアルタイムで出力が得られる特徴があり(これはいわゆる「高速型」の場合の話である。時間をかけてバランスが取れた状態を見つけ出すとか、移動量の合計を得るといったような「低速型のアナログ計算機」もある)、各種シミュレーションなどに利用されたが、演算内容を変更するためには回路を変更する必要があり、得られる精度にも限界があるので、デジタルコンピュータの性能の向上とDA/ADコンバータの高精度化・高速化によって、コストパフォーマンス的にもそちらで代替したほうが有利となり、その役割を終えた。

なお、かつて電子式アナログコンピュータの重要な要素として多用されたものと同じ機能を持つ電子回路は、IC化された「オペアンプIC」として今日でも広く使われているが、モジュール化され簡単に使えるものになっているため、全くコンピュータとは認識されていない。

以上のようにアナログ計算機が「量」(物理量)によって計算を行うのに対して、デジタルコンピュータは、数(digit)によって「計数的」に計算を行う。現代ではもっぱらエレクトロニクスを用いて、2値論理による論理演算と、二進法による数値表現を使っている(タイガー計算器のように歯車の離散的な角度により十進法を表現するものもデジタルな計算機であるし、機械として見ると2値論理方式の機械でも、数の扱いとしては3増し符号などにより十進法のものもある。数値の表現法である「x進法」と、論理のモデルである「x値論理」は、厳密には別のものであることに注意)。

歴史

19世紀以降

20世紀以降

21世紀以降

種類

携帯機器

ゲーム電卓

研究段階のコンピュータ

用途

弾道ミサイルの軌跡を多数の真空管で計算するという軍事目的で、初歩的な二次関数を含めた数理計算に予算が配分されてから、電話交換機の交換手作業を自動化するなど狭義なものであった。商用銀行において預貯金は電子化され、電話交換網という通信と一体となったシステム構成は今も現存している。電子計算機へ搭載される半導体集積回路の設計から製造工程にまで及び、製造業におけるNC工作機やファクトリーオートメーション(FA)を経て、今やハイビジョンテレビや電気炊飯器(マイコン)、エアコン、デジタルカメラにまで浸透している。自動車のキャブレターでは空気と燃料の混合を行うが、その比率を決める役割をしたり、完全な自動運転走行を目的にしたりしてもいる。高速で計算処理するという従来にはなかったものが、汎化されパーソナルコンピューターやスマートフォンの世界的な普及で身近となっている。本来、手指や腕、石を並べて測量や計算を行うという原始時代から、木辺で粘土に記号を書き記して計算を行ったり、机上でえんぴつと紙をもって計算を行うという時代を経て、表計算ソフトで自動計算処理を簡易に使えるまでになっている。キャッシュレジスターは機械駆動式であった、一方で電子回路というエレクトロニクス技術を流用したことを発端に、工業や産業では極力人手を介さない自動化という目的で発展、さらに農業や漁業では自動収穫をおこなうロボットを動かすという目的がある。建設分野では3Dキャドで大規模な建設設計を行い測量も行える。物流や搬送手段にまで拡張され、個人向けの宅配でも電子化されている。この動向はとどまることを知らず、未だに静止することがない。1+1=2という単なる取引を含めた計算目的ではあったが、SNSにみる意思の疎通であったり、映像や音を作り出して不特定多数へインターネット上へ公開するなど、縁の下で下支えをする黒子(力持ち)となっている。

脚注

注釈

出典

  1. ^ JIS Z 8301や関連学会の論文投稿規定、工学専門書などでは長音符を付けない。国語表記の基準(文化庁)や新聞社、放送局、小中学校教科書などでは長音符付きで表記している(長音符#長音符の省略参照)。ソフト最大手のマイクロソフトは2008年11月に長音符付きの表記に変更した。理由として内閣告示にしたがった新聞等表記への準拠、メモリやディスプレイ解像度の改善にともない字数節減が不要になったことなどを挙げている。[要出典]
  2. ^ 入札公告:電子計算組織運用業務委託一式”. 厚生労働省 (2006年9月). 2008年12月14日閲覧。
  3. ^ 下関市電子計算組織により処理する個人情報の保護に関する条例”. 下関市 (1991年3月). 2008年12月14日閲覧。
  4. ^ 『日本における計算機の歴史 : 富士通における計算機開発の歴史』NAID 110002753426§3.1
  5. ^ 全国書誌番号:57000106
  6. ^ Universiteit van Amsterdam Computer Museum (2007)
  7. ^ RTD Net: "From various sides Konrad Zuse was awarded with the title "Inventor of the computer"."
  8. ^ GermanWay: "(...)German inventor of the computer"
  9. ^ Monsters & Critics: "he(Zuse) built the world's first computer in Berlin"
  10. ^ "Konrad Zuse earned the semiofficial title of "inventor of the modern computer", About.com
  11. ^ 竹井和昭「開発物語 みどりの窓口の予約システム「マルス」の開発史」『通常ソサイエティマガジン』第13巻第1号、電子情報通信学会、2019年、58-67頁、2020年5月26日閲覧 
  12. ^ 旅客販売総合システム「マルス」”. JRシステム. 2020年5月26日閲覧。

関連項目

外部リンク