コンピュータ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
コンピュータ
20世紀前半の真空管式コンピュータの真空管を交換する男性
IBM 360とその操作パネルが置かれたコンピュータルーム
Thinking Machines Connection Machine CM-5 Frostburg 2
NEC PC-9801
Amiga500
NASAのColumbia Supercomputer
デル PowerEdge Servers
AppleのG5。2006年にドレスデンで使われたWikipediaのサーバ。
デスクトップコンピュータ・表示ディスプレイ・キーボード
Macbook Air (2022年。Apple M2搭載)
Raspberry Pi
現代のスマートフォン
組み込みシステム
コンピュータゲームのコンソールとコントローラ。
さまざまなコンピュータ。(1)20世紀前半の真空管式コンピュータ (2)IBM 360(1964年から1970年代)と操作パネルが置かれたコンピュータルーム (3) コネクションマシン(1980年代 - 1990年代)のCM5 Frostburg 2 (4)日本電気のPC-9801(1980年代 - 1990年代)、この時代の日本で最も普及した16bitパソコンであり2016年に重要科学技術史資料に選定された。(5)コモドールパソコンAmiga500(1987年)。 (6)NASAのスーパーコンピュータ Columbia(2004年) (7)ラックサーバ(DELL、PowerEdge、2006年) (8)Power Mac G5(2006年ドレスデンでWikipediaのサーバとして使われたもの) (9)2005年や2010年ころまではしばしば使われていたデスクトップ型コンピュータ (10)MacBook Air (2022年。高性能でなおかつ省電力でバッテリーで長時間使えるApple M2搭載) (11) ARMプロセッサ搭載シングルボードコンピュータ、Raspberry Pi(2010年代-現在) (12)スマートフォンと呼ばれる電話・カメラ・GPS機能つき小型コンピュータ (13)組み込みシステム (14)コンピュータゲームコンソール PlayStation 4とそのコントローラ

コンピュータ: computer)は、広義には、計算やデータ処理を自動的に行う装置全般のことであり[1]、現在では[注釈 1]とくに断らないかぎりエレクトロニクス技術を用いたエレクトロニック・コンピュータ(: electronic computer、漢字表記では電子計算機)を指している[1]

かつては(1970年代や1980年代ころまでは)何も言わなくても「コンピュータ」と言うだけでアナログコンピューターも含めて指していた[1]が、1990年代や2000年ころには巷では、主に電子回路による、デジタル方式でなおかつプログラム内蔵方式のコンピュータを指しているような状況になっていた。演算(広義の演算)を高速・大量に行うことが可能なので用途は多様で、現在、数値計算情報処理データ処理制御シミュレーション文書作成動画編集、画像・映像の認識(computer vision)、ゲームバーチャル・リアリティ人工知能などさまざまな用途に用いられている。さらに近年では、大学の研究室やIBMの研究所などでは量子回路(電子回路とは異なるもの)による量子コンピュータも研究・開発されており、すでに実用段階に入りつつある。

様々な種類があり、 メインフレームスーパーコンピュータパーソナルコンピュータマイクロコンピュータ)などの他、さまざまな機器(コピー機、券売機、洗濯機、炊飯器、自動車など)に内蔵された組み込みシステムもある。2010年代には板状のタブレット(- 型コンピュータ)や電話機能も搭載し小型化したスマートフォンも普及した。

世界に存在するコンピュータの台数は次のようになっている。

コンピュータ同士を繋ぐネットワークは、1990年代に爆発的に普及して地球を覆うネットワークとなり、現在ではインターネットおよびそこに接続された膨大な数のコンピュータがITインフラとして様々なサービスを支えている。

表記・呼称[編集]

「コンピュータ」や「コンピューター」という表記が日本では多く使われている[注釈 2]

日本の法律用語では刑法著作権法等で「電子計算機でんしけいさんき」と表現される(英語のelectronic computerに相当)。電算機でんさんきともいう。なお「電算業務」「電算処理」「電算室」などの語には、「コンピュータの」という意味合いで「電算」という表現が織り込まれている。これについて、情報処理学会日本における計算機の歴史について調査した際に、学会誌『情報処理』に掲載された富士通における歴史を述べた記事[5] によれば、電子計算機以前の頃、リレーによる計算機によりサービスを開始した同社が(「電子」じゃないけど、ということで)使い始めた言葉であろう、と書かれている。

中国中国大陸香港)や台湾などでもよく使われる電脳(日本語発音:でんのう)は、日本でも趣味的な分野で多用される。漢字2文字で書けて便利なため。人工頭脳(じんこうずのう)[6]電子頭脳(でんしずのう)とも表現する。

初期には手動機械式計算機などとの違いを強調し「自動」の語が入ることもあったが、近年はほぼ見なくなった(ENIACなどの「A」=Autoである)。

語源[編集]

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

計算手は、電子計算機と区別する場合はレトロニムで「human computer」とも呼ばれる。

概要[編集]

1940年代に最初の実用デジタルコンピュータが登場して以来、コンピュータの形態や性能は劇的に変化してきた。しかし現在のところ、基本的にはノイマン型の構成を受け継いでいる。

ハードウェア[編集]

記憶[編集]

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

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

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

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

演算[編集]

演算装置は、加算・減算などの算術演算、AND・OR・NOTなどの論理演算、比較(2つの値が等しいかどうかなど)、ビットシフト等を行う装置である。

制御[編集]

制御装置は実行に必要な情報を記憶装置から読み出し、実行結果を記憶装置の中の正しい場所に収める。

入出力[編集]

入出力(I/O。「アイオー」ともいう)は、「入力」(インプット input)と「出力」(アウトプット output)をひとまとまりに指すための総称である。入力のほうはコンピュータが外の世界からデータ類を得ること、およびその内容であり、出力のほうはコンピュータがデータ類などを外に送り出すこと、その内容である。

「入出力装置」もやはり総称であり、(1)おもに入力を得るためのもの、(2)おもに出力するためのもの、(3)入力と出力を兼ね備えたもの の3つに大別することができる。入出力装置(I/O装置)はコンピュータのインタフェースを介して接続される。

1番目の入力装置としては例えば、スマホやタブレットのタッチ画面カメラマイクロフォン、PCのキーボードマウスといったものから、スキャナバーコードリーダー、ゲーム機のゲームコントローラデータグローブなどがある。

出力装置としては、スマホやタブレットの液晶画面・スピーカーバイブレータ、PCのディスプレイといったものから、プリンター3次元ディスプレイ、ゲーム機のVRヘッドマウントディスプレイといったものまで、幅広いものが存在する。

ソリッドステートドライブ(SSD)SDメモリーカード磁気ディスク装置光学ドライブ装置、ネットワークインタフェースなどは、通常3番目の「入力と出力を兼ね備えたもの」に分類される。なおゲーム機のゲームコントローラーに振動機能(ぶるぶると震える機能)がついていると「入力と出力を兼ね備えたもの」という分類になる。

アーキテクチャ[編集]

ソフトウェア[編集]

命令[編集]

コンピュータの中枢部であるCPUMPU命令は、二進コード、つまり「0」か「1」を並べたもの、で表現される。例えば、インテル系のマイクロプロセッサで使われるあるコピー命令のコードは10110000である。(以下便宜上、CPUやMPUを「CPU類」と呼ぶが)CPU類は限られた数の明確で単純な命令しか持っていない。機械語は人間の言語に比べるとずっと貧弱であり、かなり単純なことでしかできない。ただしその命令に曖昧さは全くない。多くのCPUで使われている命令の典型的な例は、「5番地のメモリの中身をコピーしてそのコピーを10番地に書け」とか「7番地の中身を13番地の中身に加算して結果を20番地に書け」とか「999番地の中身が0なら次の命令は30番地にある」といったものである。ある特定のCPUが実行できる特定の命令セット機械語と呼ぶ。

実際には、人間が命令を機械語で直接書くことは通常はなく、かわりに高水準のプログラミング言語を使う。プログラミング言語で書いたコンピュータプログラムコンパイラと呼ばれる特別なコンピュータプログラムによって一旦機械語に翻訳した後に、機械語で実行する。あるいはインタプリタによって自動的に機械語に翻訳しつつ実行する。プログラミング言語の中にはアセンブリ言語低水準言語)のように、機械語に非常に近く、機械語と1対1で対応付けられる記述体型をもつものもある。逆に PythonJavaPrologのような高水準言語でプログラムを書く場合、CPUごとに異なる機械語をまったく意識する必要や知る必要がまったく無く、もちろん膨大な量の「0」と「1」の組み合わせの記述を書くというようなわずらわしいこともしなくて済み、かわりに人間が理解しやすい英単語と同様のあるいは英単語に似たキーワードおよび算数・数学などで慣れ親しんだ記号などを組み合わせてプログラムを書くことができる。

プログラム[編集]

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

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

オペレーティングシステム[編集]

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

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

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

CUIとGUI

ハードウェアの抽象化層を持つ現在のオペレーティングシステムの多くは、何らかの標準化されたユーザインタフェースを兼ね備えている。かつてはキャラクタユーザインタフェースCUI)のみが提供されていたが、1970年代にアラン・ケイらが Dynabook構想を提唱し、「暫定 Dynabook」と呼ばれる AltoSmalltalkによるグラフィカルユーザインタフェース環境を実現した。なお、「暫定 Dynabook」は当時のゼロックスの首脳陣の判断により製品化されなかった(ゼロックスより発売されたグラフィカルユーザインタフェース搭載のシステム Xerox Starは「暫定 Dynabook」とは別系統のプロジェクトに由来する)が、この影響を受け開発されたApple Computer(現:Apple)の LISAMacintoshマイクロソフトWindowsの発売、普及により、グラフィカルユーザインタフェース(GUI)が一般的にも普及することとなった。一方、UNIX系OSでも1980年代からX Window Systemが開発されグラフィカルユーザインタフェースが実現した。CUIとGUIはそれぞれ長所と短所があり、GUIは初心者に優しいので初心者向けにはもっぱらGUIを使う操作法が教えられ、上級者あたりになるとGUIとCUIを併用することになり、コンピュータ技術者やシステム運用エンジニアなどはしばしば主にCUIを使いGUIは補助的に使う。現在CUIを使う人はGUIとCUIを同時並行的に使用しGUIのマルチウィンドウのいくつかをCUI状態で使うといったことも一般的である。またLinuxなどではGUIモードとCUIモードを根本的に切り替えるということも可能である[7]

コンピュータのタイプごとのOS

世間に普及するコンピュータを台数を基準として見た場合、最も多いのは組み込みシステムであり、すなわちエアコンや炊飯器などの家電製品、乗用車、各種の測定機器、工作機械などに組み込まれた非常に小さく安価なコンピュータであり、組み込みシステムでは組み込みOSと呼ばれるOSを用いる。2019年時点でのシェアを見ると、東京大学の坂村健が開発し無料配布可能で機器開発者が改変することも許されているTRON系OSのシェアが世界第1位のおよそ60%であり、24年連続トップ[8]。TRON系のなかでもITRONが最も普及している[8]。TRON以外はPOSIX系つまりUNIX系Linux類である[8]。たとえば米リナックスワークスのLynxOS、米ウィンドリバーのVxWorks、米シンビアンのSymbian OSなど。なお小規模な組み込みシステムのなかには、明確なOSを内蔵していないものもある。

次に台数が多いのがスマートフォンであり、スマートフォンのOSおよびそのシェアは、2021年9月時点でAndroidが約72%iOSが 約27%である[9]。なおAndroidも広い意味でのLinuxの一種であり、より具体的に言うとLinuxのカーネルを一部改編し他のオープンソース・ソフトウェアを組み合わせたものである。つまりおよそ7割の人々が実は意識せずにLinuxの一種を毎日使っているわけである。

ノートPCやデスクトップPCのOSおよびそのシェアとしては、2021年時点でWindows 75.4%、MacOS 15.93%、Chrome OS 2.59%、Linux 2.33%となっている[10]。なお、このMacOSはFreeBSDを基にしたOSでありUNIX系である。

スーパーコンピュータのOSは、2021年現在、ほぼ100%、Linuxである。スーパーコンピュータ用は2000年ころはUNIXが9割ほどを占めていたが、その後の10年間つまり2010年ころまでにそのほぼ全てがLinuxに置き換わるということが起きた[注釈 3]

デジタルとアナログ[編集]

デジタル計算機とアナログ計算機の分類もあるが、単にコンピュータを指す場合は前者を用いる事が多い。現代では後者がマイナーな存在となったためである。

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

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

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

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

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

歴史[編集]

古代[編集]

アンティキティラ島の機械(紀元前150年 - 紀元前100年ころ)。現在確認できる最古の歯車式計算機。

17・18世紀[編集]

ブレーズ・パスカルの歯車式計算機「パスカリーヌ」(1642年)とその機構図 ブレーズ・パスカルの歯車式計算機「パスカリーヌ」(1642年)とその機構図
ブレーズ・パスカルの歯車式計算機「パスカリーヌ」(1642年)とその機構図

19世紀[編集]

20世紀[編集]

21世紀[編集]

2006年時点の、世界の情報格差を示す地図

種類[編集]

(※ 近年ではNintendo Switchのように据置型と携帯型の境界を無くすような、単純に分類できないタイプの売上が伸びている。)

研究段階のコンピュータ[編集]

脚注[編集]

[脚注の使い方]

注釈[編集]

  1. ^ 「現在」と言っても、あくまで出典の『日本大百科全書』の【コンピュータ】記事の改訂版が書かれた1990年代や2000年ころの話。
  2. ^ 長音符の扱いについて、JISのルールと国語審議会のルールが食い違っている。(長音符#長音符を付ける流儀・付けない流儀参照) JIS Z 8301では長音符を付けない、というルールが提示されており、それに沿う形で工学専門書では長音符をつけない。工学分野の論文でも長音符をつけないのが一般的である。それに対して国語審議会の報告に沿った基準では長音符をつけるとしており、新聞社放送局、小中学校教科書などでは長音符付きで表記している。コンピュータ関連のメーカーに関しては、会社ごとに対応が別れている。マイクロソフトの日本法人は(もともとはJISの規定のほうを尊重し「2音の用語は長音符号を付け、3音以上の用語の場合は省くことを原則とする」という規定(JIS Z 8301:規格票の様式及び作成方法)に即した表記ルールを採用していたが)、2008年11月に、あくまで自社製品に関してのみの話として、国語審議会の報告のほうの影響を受けた内閣告示をもとにした「言語の末尾が-er、-or、-arなどで終わる場合に長音表記をつける」というルールに変更するとした[1]。同社の担当者は、一般消費者は工業系・自然科学系の末尾の長音を省略する傾向の表記に対して違和感を感じていて、コンピュータが一般消費者の必需品になるにつれて違和感を感じる人の割合が増加してきたからだ、といった主旨の説明を述べた[2]。ただしメーカーにより主なユーザの範囲が異なり、表記方法も異なる。
  3. ^ 英語版の記事 en:Usage share of operating systems#Supercomputers にUNIXとLinuxのシェア入れ替わりのグラフが掲載されている。
  4. ^ 21世紀の現在、「NTT研究所」は研究開発分野ごとにサービスイノベーション、情報ネットワーク、先端技術の3総合研究所とIOWN総合イノベーションセンターの4つに分かれている。

出典[編集]

  1. ^ a b c 『日本大百科全書』コンピュータ
  2. ^ Introduction to Embedded Systems
  3. ^ "So, How Many Smartphones Are There in the World?"
  4. ^ HOW MANY COMPUTERS ARE THERE IN THE WORLD?
  5. ^ 『日本における計算機の歴史 : 富士通における計算機開発の歴史』NAID 110002753426§3.1
  6. ^ 全国書誌番号:57000106
  7. ^ [3]
  8. ^ a b c 組み込みOSのAPIはTRON系OSがシェア60%、24年連続トップ
  9. ^ [4]
  10. ^ [5]
  11. ^ Universiteit van Amsterdam Computer Museum (2007)
  12. ^ RTD Net: "From various sides Konrad Zuse was awarded with the title "Inventor of the computer"."
  13. ^ GermanWay: "(...)German inventor of the computer"
  14. ^ Monsters & Critics: "he(Zuse) built the world's first computer in Berlin"
  15. ^ "Konrad Zuse earned the semiofficial title of "inventor of the modern computer", About.com
  16. ^ 竹井和昭「開発物語 みどりの窓口の予約システム「マルス」の開発史」『通常ソサイエティマガジン』第13巻第1号、電子情報通信学会、2019年、 58-67頁、2020年5月26日閲覧。
  17. ^ 旅客販売総合システム「マルス」”. JRシステム. 2020年5月26日閲覧。

関連項目[編集]

外部リンク[編集]