- 初期の真空管コンピュータ ( ENIAC )
- メインフレームコンピュータ ( IBM System 360 )
- スマートフォン(LYFウォーター2)
- デスクトップ コンピューター(モニター付きIBM ThinkCentre S50 )
- ビデオゲーム機(ニンテンドーゲームキューブ)
- スーパーコンピュータ(IBMサミット)
コンピュータは、一連の算術演算または論理演算(計算)を自動的に実行するようにプログラムできる機械です。現代のデジタル電子コンピュータは、プログラムと呼ばれる一般的な一連の演算を実行できます。これらのプログラムにより、コンピュータはさまざまなタスクを実行できます。コンピュータ システムという用語は、完全な動作に必要かつ使用されるハードウェア、オペレーティング システム、ソフトウェア、および周辺機器を含む名目上完全なコンピュータを指す場合もあれば、コンピュータ ネットワークやコンピュータ クラスタなどのリンクされて一緒に機能するコンピュータのグループを指す場合もあります。
電子レンジやリモコンなどの単純な専用デバイスや、産業用ロボットなどの工場用デバイスなど、幅広い産業用製品や消費者向け製品でコンピュータが制御システムとして使用されています。コンピュータは、パーソナルコンピュータなどの汎用デバイスやスマートフォンなどのモバイルデバイスの中心にあります。コンピュータは、何十億ものコンピュータとユーザーを結び付けるインターネットを動かしています。
初期のコンピュータは、計算のためだけに使われることになっていた。そろばんのような単純な手動器具は、太古の昔から人々の計算を助けてきた。産業革命の初期には、織機のパターンを導くなど、長くて退屈な作業を自動化する機械装置が作られた。20世紀初頭には、より洗練された電気機械が特殊なアナログ計算を行うようになった。最初のデジタル電子計算機は、電気機械式と熱電子管式の両方で、第二次世界大戦中に開発された。1940年代後半に最初の半導体トランジスタが登場し、1950年代後半にはシリコンベースのMOSFET(MOSトランジスタ)とモノリシック集積回路チップ技術が登場し、1970年代にはマイクロプロセッサとマイクロコンピュータ革命が起こった。それ以来、コンピュータの速度、パワー、汎用性は劇的に向上し、トランジスタ数も急速に増加し(ムーアの法則によれば、トランジスタ数は2年ごとに倍増する)、20世紀後半から21世紀初頭にかけてデジタル革命 が起こった。
従来、現代のコンピュータは、少なくとも 1 つの処理要素(通常はマイクロプロセッサの形の中央処理装置(CPU))と、何らかのタイプのコンピュータ メモリ(通常は半導体メモリチップ)で構成されています。処理要素は算術演算と論理演算を実行し、シーケンスおよび制御ユニットは格納された情報に応じて演算の順序を変更できます。周辺機器には、入力デバイス(キーボード、マウス、ジョイスティックなど)、出力デバイス(モニター、プリンターなど)、および両方の機能を実行する入出力デバイス(タッチスクリーンなど)が含まれます。周辺機器を使用すると、外部ソースから情報を取得したり、演算結果を保存して取得したりできます。
語源

この言葉が現代的な意味を獲得したのは20世紀半ばになってからである。オックスフォード英語辞典によると、コンピュータという言葉が初めて使われたのは、1613年にイギリスの作家リチャード・ブラスウェイトが書いた「若者の落穂拾い」という本の中で、別の意味で使われた。「私は、この時代の最も真実なコンピュータと、この世で最も優れた算術学者を読んだ。そして、彼は汝の日々を短い数字に縮めた。」この用法は、計算や演算を行う人間、つまり人間のコンピュータを指していた。この言葉は20世紀半ばまで同じ意味を持ち続けた。この期間の後半には、男性よりも給料が安かったため、女性がコンピュータとして雇われることが多かった。[1] 1943年までに、人間のコンピュータのほとんどが女性であった。[2]
オンライン語源辞典によると、コンピュータの最初の使用は1640年代で、「計算する人」という意味で、これは「compute (動詞) からのエージェント名詞」です。オンライン語源辞典によると、この用語が「 (あらゆるタイプの) 計算機」という意味で使われるようになったのは1897年です。オンライン語源辞典によると、この用語が「プログラム可能なデジタル電子コンピュータ」という意味で「現代的使用」されるようになったのは「この名前で1945年から、理論的な意味ではチューリングマシンとして1937年から」です。[3]現代のコンピュータは多くのより高度な機能を実行できますが、この名前はそのまま残っています。
歴史
20世紀以前
計算を助けるための装置は何千年もの間使用されており、そのほとんどは指と一対一に対応して使用されていました。最も古い計数装置は、おそらくタリースティックの一種でした。肥沃な三日月地帯全体での後の記録保持装置には、中空の未焼成の粘土容器に密封されたアイテム(おそらく家畜や穀物)の数を表す計算子(粘土の球、円錐など)が含まれていました。[a] [4]計数棒の使用はその一例です。

そろばんは当初、計算に使用されていました。ローマのそろばんは、紀元前2400年頃にバビロニアで使用されていた道具から発展しました。それ以来、さまざまな計算盤や計算テーブルが発明されました。中世ヨーロッパの計算室では、チェック柄の布をテーブルの上に置き、一定の規則に従ってマーカーを動かして金額を計算していました。[5]

デレク・J・デ・ソラ・プライスによれば、アンティキティラ島の機械は最も古い機械式アナログコンピュータであると考えられている。[6] 天文位置を計算するために設計された。1901年にギリシャのアンティキティラ島沖、キティラ島とクレタ島の間にあるアンティキティラ島の難破船から発見され、紀元前 100年頃のものとされている。アンティキティラ島の機械に匹敵する複雑さの装置は14世紀まで再び現れなかった。[7]
天文学や航海に使うために、計算や測定を助ける機械が数多く作られた。星座早見盤は、11世紀初頭にアブー・ライハン・アル・ビールーニーが発明した星図である。 [8]アストロラーベは、紀元前1世紀か2世紀にヘレニズム世界で発明され、ヒッパルコスの発明とされることが多い。星座早見盤とジオプトラを組み合わせたアストロラーベは、実質的には球面天文学のさまざまな問題を解くことができるアナログコンピュータであった。機械式カレンダーコンピュータ[9] [10]と歯車を組み込んだアストロラーベは、1235年にペルシャのエスファハーンのアビー・バクルによって発明されました。 [11]アブー・ライハーン・アル・ビールーニーは、最初の機械式ギア付き太陰太陽暦アストロラーベ[12]と、歯車列と歯車を備えた初期の固定ワイヤード知識処理マシン[13]を発明しました[14] 。紀元 1000年頃。
セクターは、比例、三角法、乗算、除算、平方根や立方根などのさまざまな関数の問題を解くために使用される計算機器であり、16 世紀後半に開発され、砲術、測量、航海に応用されました。
プラニメーターは、機械的なリンクで閉じた図形をなぞって面積を計算する手動の計測器でした。

計算尺は、対数の概念が発表されて間もなく、1620年から1630年頃にイギリスの牧師ウィリアム・オートレッドによって発明されました。これは、掛け算と割り算を行うための手動のアナログコンピュータです。計算尺の開発が進むにつれて、目盛りが追加され、逆数、平方と平方根、立方と立方根、さらに対数や指数などの超越関数、円三角法と双曲三角法、その他の関数が提供されるようになりました。特別な目盛りの計算尺は、軽飛行機で時間と距離を計算するために使用されるE6B円形計算尺のように、日常的な計算を迅速に実行するために今でも使用されています。
1770年代、スイスの時計職人ピエール・ジャケ・ドローは、羽ペンを持って文字を書くことができる機械人形(オートマトン)を製作した。内部の車輪の数と順序を切り替えることで、異なる文字、つまり異なるメッセージを生成することができた。つまり、機械的に「プログラム」して指示を読むことができたのだ。この人形は、他の2つの複雑な機械とともに、スイスのヌーシャテル美術史博物館に所蔵されており、現在も稼働している。[15]
1831年から1835年にかけて、数学者で技術者のジョヴァンニ・プラナは、滑車とシリンダーのシステムを通じて、閏年や昼の長さの変化を記録しながら、西暦0年(つまり紀元前1年)から西暦4000年までのすべての年の永久カレンダーを予測できる万年暦マシンを考案しました。1872年にスコットランドの科学者ウィリアム・トムソン卿が発明した潮汐予測マシンは、浅瀬での航行に非常に役立ちました。このマシンは、滑車とワイヤーのシステムを使用して、特定の場所における一定期間の予測潮位を自動的に計算しました。
微分解析装置は、積分によって微分方程式を解くように設計された機械式アナログコンピュータで、積分を実行するためにホイールとディスクのメカニズムを使用していました。1876年にウィリアム・トムソン卿はすでにそのような計算機の構築の可能性について議論していましたが、ボールとディスクの積分器の出力トルクが限られているために行き詰まっていました。[ 16]微分解析装置では、1つの積分器の出力が次の積分器の入力、つまりグラフ出力を駆動します。トルク増幅器は、これらの機械を動作させる進歩でした。1920年代から、ヴァネヴァー・ブッシュらは機械式微分解析装置を開発しました。
1890年代にスペインの技術者レオナルド・トーレス・ケベドは、多項式の実根と複素根を解くことができる一連の先進的なアナログ機械の開発を開始し、[17] [18] [19] [20]、 1901年にパリ科学アカデミーによって出版されました。[21]
最初のコンピューター

チャールズ・バベッジはイギリスの機械工学者であり博学者でもあり、プログラム可能なコンピュータの概念を考案しました。「コンピュータの父」[22]とみなされている彼は、19世紀初頭に最初の機械式コンピュータを概念化し発明しました。
差分エンジンの開発に取り組んだ後、彼は1822年に王立天文学会に提出した「天文表と数学表の計算への機械の応用に関する覚書」と題する論文でこの発明を発表しました。 [23]彼は航海計算を支援するための設計も行い、1833年にもっと汎用的な設計である解析エンジンが実現可能であることに気付きました。プログラムとデータの入力はパンチカードを介してマシンに提供され、これは当時ジャカード織機などの機械式織機を制御するために使用されていた方法です。出力用に、マシンにはプリンター、曲線プロッター、ベルが装備されていました。マシンはカードに数字をパンチして後で読み込むこともできます。エンジンには算術論理ユニット、条件分岐とループの形での制御フロー、統合メモリが組み込まれており、現代の言葉で言えばチューリング完全と言える汎用コンピューターの最初の設計となりました。[24] [25]
この機械は時代を約 1 世紀先取りしていました。彼の機械の部品はすべて手作業で作らなければなりませんでしたが、これは何千もの部品がある装置にとって大きな問題でした。最終的に、英国政府が資金提供を停止することを決定したため、プロジェクトは解散しました。バベッジが解析エンジンを完成できなかった主な理由は、政治的および財政的な困難と、ますます高度なコンピューターを開発して、誰よりも早く前進したいという彼の願望によるものです。それでも、彼の息子であるヘンリー・バベッジは、1888 年に解析エンジンの計算ユニット (ミル)の簡易バージョンを完成させました。彼は 1906 年に、このミルを使って計算表を作成することに成功しました。
電気機械式計算機

レオナルド・トーレス・ケベドは、1914年に出版された著書「オートマチックに関するエッセイ」の中で、機械的な階差機関と解析機関の構築に向けたバベッジの取り組みの簡単な歴史を記している。この論文には、一連の値のセットに対して、 などの式を計算できる機械の設計が含まれている。機械全体は、条件分岐の規定を備えた読み取り専用プログラムによって制御されることになっていた。彼はまた、浮動小数点演算のアイデアも導入した。[26] [27] [28] 1920年、算術計の発明100周年を記念して、トーレスはパリで電気機械算術計を発表した。これは、ユーザーがキーボードから算術問題を入力し、結果を計算して印刷することを可能にし、[29] [30] [31] [32]電気機械解析機関の実現可能性を実証した。[33]
アナログコンピュータ

20世紀前半には、多くの科学計算のニーズが、計算の基礎として問題の直接的な機械的または電気的モデルを使用する、ますます洗練されたアナログコンピュータによって満たされました。しかし、これらはプログラム可能ではなく、一般に現代のデジタルコンピュータのような汎用性や精度を欠いていました。[34]最初の現代的なアナログコンピュータは、 1872年にウィリアム・トムソン卿(後のケルビン卿)によって発明された潮汐予測機械でした。微分解析装置は、ホイールとディスクのメカニズムを使用して積分によって微分方程式を解くように設計された機械式アナログコンピュータで、1876年に有名なウィリアム・トムソン卿の兄であるジェームズ・トムソンによって概念化されました。 [16]
機械式アナログ計算の技術は、 1927年にMITのHLヘイゼンとヴァネヴァー・ブッシュが開発した微分解析装置で頂点に達した。これは、ジェームズ・トムソンの機械式積分器とHWニーマンが発明したトルク増幅器を基にしたものである。これらの装置は、時代遅れになる前に12台も作られた。1950年代までには、デジタル電子計算機の成功によってほとんどのアナログ計算機械は終焉を迎えたが、アナログ計算機は1950年代を通じて、教育(計算尺)や航空機(制御システム)などの一部の特殊な用途で使用され続けた。
デジタルコンピュータ
電気機械
クロード・シャノンの1937年の修士論文はデジタルコンピューティングの基礎を築き、ブール代数をスイッチング回路の分析と合成に適用するという彼の洞察は、すべての電子デジタルコンピュータの基礎となる基本概念となっています。[35] [36]
1938 年までに、米国海軍は潜水艦に搭載できるほど小型の電気機械式アナログ コンピュータを開発しました。これは、移動する標的に魚雷を発射する問題を三角法を使用して解く魚雷データ コンピュータでした。第二次世界大戦中、同様の装置が他の国でも開発されました。
初期のデジタルコンピュータは電気機械式で、電気スイッチが機械式リレーを駆動して計算を実行していました。これらのデバイスは動作速度が遅く、最終的には真空管を使用したはるかに高速な全電気式コンピュータに取って代わられました。 1939年にドイツのエンジニアであるコンラッド・ツーゼがベルリンで作成したZ2は、電気機械式リレーコンピュータの最も初期の例の1つでした。[37]
.jpg/500px-Konrad_Zuse_(1992).jpg)
1941年、ツーゼは以前のマシンに続き、世界初の電気機械式プログラム可能で全自動のデジタルコンピュータZ3を開発した。 [40] [41] Z3は2000個のリレーを搭載し、約5~10Hzのクロック周波数で動作する22ビットのワード長を実現した。[42]プログラムコードはパンチフィルムで提供され、データは64ワードのメモリに保存するか、キーボードから提供できた。いくつかの点で現代のマシンと非常に似ており、浮動小数点数など多くの進歩の先駆けとなった。実装が難しい10進法(チャールズ・バベッジの初期の設計で使用されていた)ではなく、2進法を使用したため、ツーゼのマシンは構築が容易で、当時の技術を考えると信頼性が高くなっていた。[43] Z3自体は汎用コンピュータではなかったが、チューリング完全になるように拡張することができた。[44] [45]
ツーゼの次のコンピュータZ4は世界初の商用コンピュータとなった。第二次世界大戦による当初の遅延の後、1950年に完成し、チューリッヒ工科大学に納入された。[46]このコンピュータはツーゼ自身の会社であるZuse KGによって製造された。同社は1941年にベルリンでコンピュータ開発のみを目的とした最初の会社として設立された。[46] Z4は、スイスで最初のコンピュータであり、ヨーロッパでも最初のコンピュータの1つであるERMETHの構築のインスピレーションとなった。 [47]
真空管とデジタル電子回路
純粋に電子的な回路要素がすぐに機械的および電気機械的同等物に取って代わり、同時にデジタル計算がアナログに取って代わりました。 1930年代にロンドンの郵便局研究所で働いていたエンジニアのトミー・フラワーズは、電話交換機に電子機器を使用する可能性を模索し始めました。彼が1934年に作った実験装置は5年後に稼働し、何千もの真空管を使用して電話交換ネットワークの一部を電子データ処理システムに変換しました。[34]米国では、アイオワ州立大学のジョン・ヴィンセント・アタナソフとクリフォード・E・ベリーが1942年にアタナソフ・ベリー・コンピューター(ABC)を開発し、テストしました。 [48 ]これは最初の「自動電子デジタルコンピューター」でした。[49]この設計もすべて電子化されており、約300本の真空管を使用し、メモリ用に機械的に回転するドラムに固定されたコンデンサを使用していました。[50]

第二次世界大戦中、ブレッチリー・パークのイギリスの暗号解読者たちは、ドイツ軍の暗号化された通信を解読することに数々の成功を収めた。ドイツの暗号機エニグマは、女性が操作することが多かった電気機械式爆弾の助けを借りて初めて攻撃された。 [51] [52]陸軍の高官級通信に使用されていた、より高度なドイツのローレンツSZ40/42暗号機を解読するため、マックス・ニューマンと彼の同僚はフラワーズにコロッサスの製造を依頼した。 [ 50]彼は1943年2月初旬から11か月をかけて最初のコロッサスを設計し、製造した。[53] 1943年12月の機能テストの後、コロッサスはブレッチリー・パークに出荷され、1944年1月18日に配達され[54]、2月5日に最初のメッセージを攻撃した。[50]
Colossus は世界初の電子デジタルプログラム可能なコンピュータでした。[34]多数のバルブ (真空管) を使用しました。紙テープ入力があり、データに対してさまざまなブール論理演算を実行するように構成できましたが、チューリング完全ではありませんでした。9 台の Mk II Colossi が製造されました (Mk I は Mk II に改造され、合計 10 台のマシンになりました)。Colossus Mark I には 1,500 個の熱電子バルブ (真空管) が含まれていましたが、2,400 個のバルブを備えた Mark II は Mark I よりも 5 倍高速で操作が簡単で、デコード処理が大幅に高速化されました。[55] [56]

ENIAC [57] (Electronic Numerical Integrator and Computer)は、米国で作られた最初の電子プログラム可能コンピュータでした。ENIAC は Colossus に似ていましたが、はるかに高速で柔軟性が高く、チューリング完全でした。Colossus と同様に、ENIAC の「プログラム」はパッチ ケーブルとスイッチの状態によって定義され、後に登場したプログラム格納型電子マシンとは大きく異なっていました。プログラムが書き込まれると、プラグとスイッチを手動でリセットして、マシンに機械的にセットする必要がありました。ENIAC のプログラマーは 6 人の女性で、総称して「ENIAC ガールズ」と呼ばれていました。[58] [59]
ENIAC は、電子工学の高速性と、多くの複雑な問題に対応するプログラム能力を兼ね備えていた。1 秒間に 5000 回の加算または減算が可能で、これは他のどのマシンよりも 1000 倍高速であった。また、乗算、除算、平方根を求めるモジュールもあった。高速メモリは 20 ワード (約 80 バイト) に制限されていた。ペンシルバニア大学のジョン・モークリーとJ. プレスパー・エッカートの指揮のもとに構築された ENIAC の開発と構築は、1943 年から 1945 年末の完全稼働まで続いた。マシンは巨大で、重量は 30 トン、電力は 200 キロワット、18,000 本以上の真空管、1,500 個のリレー、数十万個の抵抗器、コンデンサ、インダクタを備えていた。[60]
現代のコンピュータ
現代のコンピュータの概念
現代のコンピュータの原理は、アラン・チューリングが1936年の画期的な論文[61] 「計算可能数について」で提唱した。チューリングは「万能計算機」と名付けた単純な装置を提案し、これは現在では万能チューリングマシンとして知られている。彼は、テープ上に保存された命令(プログラム)を実行することで、そのようなマシンが計算可能なものなら何でも計算できることを証明し、マシンをプログラム可能にした。チューリングの設計の基本概念は、計算のためのすべての命令がメモリに保存されるストアドプログラムである。フォン・ノイマンは、現代のコンピュータの中心的概念はこの論文によるものだと認めた。[62]チューリングマシンは今日まで計算理論の中心的な研究対象となっている。有限のメモリストアによって課せられる制限を除けば、現代のコンピュータはチューリング完全であると言われている。つまり、万能チューリングマシンと同等の アルゴリズム実行能力を持っているということである。
保存されたプログラム

初期の計算機はプログラムが固定されていた。機能を変更するには、機械の配線や構造を変更する必要があった。[50]プログラム内蔵型計算機の提案により、この状況は変わった。プログラム内蔵型計算機は、設計上命令セットを備えており、計算の詳細を記した命令セット(プログラム)をメモリ内に保存できる。プログラム内蔵型計算機の理論的基礎は、アラン・チューリングが1936年の論文で明らかにした。1945年、チューリングは国立物理学研究所に加わり、電子プログラム内蔵型デジタル計算機の開発に着手した。1945年の報告書「提案された電子計算機」は、このような装置の最初の仕様であった。ペンシルバニア大学のジョン・フォン・ノイマンも、 1945年にEDVACに関する報告書の初稿を回覧した。 [34]
マンチェスター・ベイビーは世界初のプログラム内蔵式コンピュータだった。イギリスのマンチェスター大学でフレデリック・C・ウィリアムズ、トム・キルバーン、ジェフ・トゥーティルによって製作され、1948年6月21日に最初のプログラムを実行した。 [63]これは、最初のランダムアクセスデジタル記憶装置であるウィリアムズ管のテストベッドとして設計された。 [64]このコンピュータは1998年の回顧録では「小さく原始的」と評されたが、現代の電子コンピュータに不可欠な要素をすべて備えた最初の実用的なマシンだった。[65]ベイビーの設計の実現可能性が実証されるとすぐに、大学ではそれを実際に役立つコンピュータ、マンチェスター・マーク1に開発するプロジェクトが開始された。
Mark 1はすぐに、世界初の市販汎用コンピュータであるFerranti Mark 1のプロトタイプになりました。 [66] Ferrantiによって構築され、1951年2月にマンチェスター大学に納入されました。これらの後期マシンのうち少なくとも7台は1953年から1957年の間に納入され、そのうち1台はアムステルダムのシェル研究所に納入されました。[67] 1947年10月、英国のケータリング会社J. Lyons & Companyの取締役は、コンピュータの商用開発を促進する上で積極的な役割を果たすことを決定しました。 1949年のケンブリッジEDSACを厳密にモデルにしたLyonsのLEO Iコンピュータは、1951年4月に運用を開始し[68]、世界初の日常的なオフィスコンピュータジョブを実行しました。
トランジスタ

電界効果トランジスタの概念は、 1925 年にジュリアス エドガー リリエンフェルトによって提案されました。ベル研究所でウィリアム ショックレーのもとで働いていたジョン バーディーンとウォルター ブラッテンは、1947 年に最初の実用的なトランジスタである点接触トランジスタを製作し、1948 年にはショックレーのバイポーラ接合トランジスタが続きました。 [69] [70] 1955 年以降、コンピュータの設計では真空管がトランジスタに置き換えられ、「第 2 世代」のコンピュータが誕生しました。真空管と比較して、トランジスタには多くの利点があります。トランジスタは小型で、真空管よりも電力消費が少ないため、発熱も少なくなります。接合トランジスタは真空管よりもはるかに信頼性が高く、耐用年数が長く、無期限でした。トランジスタ化されたコンピュータは、比較的コンパクトなスペースに数万のバイナリ ロジック回路を収容できました。ただし、初期の接合トランジスタは比較的かさばるデバイスであり、大量生産が困難であったため、いくつかの特殊な用途に限定されていました。[71]
マンチェスター大学では、トム・キルバーン率いるチームが、真空管の代わりに新開発のトランジスタを使った機械を設計・製作した。[72]彼らの最初のトランジスタ化コンピュータであり世界初のコンピュータは1953年に稼働し、2番目のバージョンは1955年4月に完成した。しかし、このマシンは125kHzのクロック波形を生成するためと、磁気ドラムメモリの読み書き回路に真空管を使用していたため、完全にトランジスタ化された最初のコンピュータではなかった。その栄誉は、ハーウェルの原子力研究所の電子工学部門が製作した1955年のハーウェルCADETに与えられる。[73] [74 ]

金属酸化物シリコン電界効果トランジスタ(MOSFET)は、MOSトランジスタとしても知られ、1955年から1960年の間にベル研究所で発明され[75] [76] [77] [78] [79] [80]、幅広い用途向けに小型化および大量生産が可能になった最初の真にコンパクトなトランジスタでした。[71]高いスケーラビリティ[81]と、バイポーラ接合トランジスタよりもはるかに低い消費電力と高密度[82]を備えたMOSFETにより、高密度集積回路の構築が可能になりました。[83] [84]データ処理に加えて、MOSトランジスタをメモリセルストレージ要素として実用化することも可能にし、MOS半導体メモリの開発につながりました。これは、コンピューターの以前の磁気コアメモリに取って代わりました。 MOSFETはマイクロコンピューター革命[85]をもたらし、コンピューター革命の原動力となりました。[86] [87] MOSFETはコンピュータで最も広く使用されているトランジスタであり、[88] [89]デジタルエレクトロニクスの基本的な構成要素です。[90]
集積回路

コンピュータの能力における次の大きな進歩は、集積回路(IC)の出現でした。集積回路のアイデアは、国防省の王立レーダー研究所に勤務していたレーダー科学者、ジェフリー・WA・ダマーによって最初に考案されました。ダマーは、 1952年5月7日にワシントンDCで開催された電子部品の品質向上に関するシンポジウムで、集積回路についての最初の公開説明を発表しました。[91]
最初の実用的なICは、テキサス・インスツルメンツのジャック・キルビーとフェアチャイルド・セミコンダクターのロバート・ノイスによって発明された。[92]キルビーは1958年7月に集積回路に関する最初のアイデアを記録し、1958年9月12日に最初の実用的な集積回路の例を成功裏に実証した。[93] 1959年2月6日の特許出願で、キルビーは新しいデバイスを「電子回路のすべてのコンポーネントが完全に統合された半導体材料の本体」と説明した。[94] [95]しかし、キルビーの発明はモノリシック集積回路(IC)チップではなく、ハイブリッド集積回路(ハイブリッドIC)だった。 [96]キルビーのICには外部配線接続があり、大量生産が困難だった。[97]
ノイスもまた、キルビーより半年遅れて集積回路のアイデアを思いついた。[98]ノイスの発明は、最初の真のモノリシックICチップだった。[99] [97]彼のチップは、キルビーのチップが解決できなかった多くの実用的な問題を解決した。フェアチャイルドセミコンダクターで製造されたそれはシリコンで作られていたが、キルビーのチップはゲルマニウムで作られていた。ノイスのモノリシックICは、 1959年初頭に同僚のジャン・ホーニが開発したプレーナープロセスを使用して製造された。プレーナープロセスは、カール・フロッシュとリンカーン・デリックの二酸化ケイ素による半導体表面の不動態化に関する研究に基づいていた。[100] [101] [102] [103] [104] [105]
現代のモノリシック IC は主に MOS (金属酸化膜半導体) 集積回路で、MOSFET (MOS トランジスタ) から構成されています。[106]最初に製造された実験的な MOS IC は、1962 年にRCAの Fred Heiman と Steven Hofstein によって製造された 16 個のトランジスタ チップでした。 [107]その後、 General Microelectronics は1964 年にRobert Norman によって開発された最初の商用 MOS IC を発表しました。[ 108 ] [107] 1967 年に Bell Labs のRobert Kerwin、 Donald Klein 、John Sarace によって自己整合ゲート(シリコン ゲート) MOS トランジスタが開発された後、 1968 年に Fairchild Semiconductor のFederico Fagginによって自己整合ゲートを備えた最初のシリコン ゲートMOS ICが開発されました。[109]それ以来、MOSFET は現代の IC で最も重要なデバイス コンポーネントとなっています。[106]

MOS集積回路の開発はマイクロプロセッサの発明につながり、[110] [111]、コンピュータの商用および個人利用の爆発的な増加を告げた。どのデバイスが最初のマイクロプロセッサであったかという問題は、「マイクロプロセッサ」という用語の正確な定義に関する合意の欠如もあって議論の余地があるが、最初のシングルチップマイクロプロセッサがインテル4004 [112]であったことはほぼ議論の余地がない。インテル4004は、シリコンゲートMOS IC技術を使用してフェデリコ・ファギンによって設計および実現され、[110]テッド・ホフ、嶋正敏、スタンレー・メイザーとともにインテルで開発された。[b] [114] 1970年代初頭、MOS IC技術により、 10,000個を超えるトランジスタを1つのチップに統合することが可能になった。[84]
システム オン チップ(SoC) は、コイン大のマイクロチップ(またはチップ) 上に完全なコンピュータが組み込まれている。 [115] RAMとフラッシュ メモリが統合されている場合とそうでない場合がある。統合されていない場合、RAM は通常 SoC の真上 (パッケージ オン パッケージと呼ばれる) または下 (回路基板の反対側) に配置され、フラッシュ メモリは通常 SoC のすぐ隣に配置される。これは、データ信号を長距離移動する必要がないため、データ転送速度を向上させるために行われる。1945 年の ENIAC 以来、コンピュータは飛躍的に進歩し、最新の SoC (Snapdragon 865 など) はコイン大でありながら、ENIAC の何十万倍も強力で、何十億ものトランジスタを統合し、消費電力はわずか数ワットである。
モバイルコンピュータ
最初のモバイルコンピュータは重く、主電源で動作していました。50ポンド(23kg)のIBM 5100がその初期の例です。Osborne 1やCompaq Portableなどの後のポータブルコンピュータはかなり軽量でしたが、それでも電源に接続する必要がありました。Grid Compassなどの最初のラップトップは、バッテリーを組み込むことでこの要件をなくしました。そして、コンピューティングリソースの継続的な小型化とポータブルバッテリー寿命の進歩により、2000年代にはポータブルコンピュータの人気が高まりました。[116]同じ開発により、メーカーは2000年代初頭までにコンピューティングリソースを携帯電話に統合できるようになりました。
これらのスマートフォンやタブレットは、さまざまなオペレーティングシステムで動作し、最近では市場で最も主流のコンピューティングデバイスとなっています。[117]これらは、コインサイズのマイクロチップ上の完全なコンピューターであるシステムオンチップ(SoC)によって駆動されています。[115]
種類
コンピュータは、次のようにさまざまな方法で分類できます。
建築によって
サイズ、フォームファクタ、目的別
- スーパーコンピュータ
- メインフレームコンピュータ
- ミニコンピュータ(現在は使われていない用語)、[118] ミッドレンジコンピュータ
- サーバ
- パソコン
- ワークステーション
- マイクロコンピュータ(現在は使われていない用語)[119]
- ホームコンピュータ(使われなくなった用語)[120]
- デスクトップコンピュータ
- タワーデスクトップ
- スリムデスクトップ
- マルチメディアコンピュータ(ノンリニア編集システムコンピュータ、ビデオ編集PCなど。この用語は現在では使われていない)[121]
- ゲーミングコンピュータ
- オールインワンPC
- ネットトップ(小型フォームファクタ PC、ミニ PC)
- ホームシアターPC
- キーボードコンピュータ
- ポータブルコンピュータ
- シンクライアント
- インターネットアプライアンス
- ノートパソコン
- モバイルコンピュータ
- ウェアラブルコンピュータ
- シングルボードコンピュータ
- コンピュータを接続する
- スティックPC
- プログラマブルロジックコントローラ
- コンピュータオンモジュール
- システムオンモジュール
- パッケージ内のシステム
- システムオンチップ(無線回路などの回路がない場合はアプリケーションプロセッサまたは AP とも呼ばれます)
- マイクロコントローラ
ハードウェア
ハードウェアという用語は、コンピュータの有形の物理的オブジェクトであるすべての部分を指します。回路、コンピュータ チップ、グラフィック カード、サウンド カード、メモリ (RAM)、マザーボード、ディスプレイ、電源、ケーブル、キーボード、プリンタ、および「マウス」入力デバイスはすべてハードウェアです。
コンピュータハードウェアの歴史
その他のハードウェアトピック
汎用コンピュータには、算術論理ユニット(ALU)、制御ユニット、メモリ、および入出力デバイス(まとめて I/O と呼ばれる) の 4 つの主要コンポーネントがあります。これらのパーツは、多くの場合、ワイヤのグループで構成されるバスによって相互接続されています。これらのパーツのそれぞれには、電子スイッチによってオンまたはオフにできる、数千から数兆の小さな電気回路があります。各回路は 1ビット(2 進数) の情報を表し、回路がオンのときは「1」を表し、オフのときは「0」(正論理表現) を表します。回路は論理ゲートに配置され、1 つ以上の回路が 1 つ以上の他の回路の状態を制御できます。
入力デバイス
未処理のデータが入力デバイスを使用してコンピュータに送信されると、そのデータは処理されて出力デバイスに送信されます。入力デバイスは手動で操作することも、自動で操作することもできます。処理の動作は主に CPU によって制御されます。入力デバイスの例を次に示します。
- コンピューターのキーボード
- デジタルカメラ
- グラフィックタブレット
- 画像スキャナ
- ジョイスティック
- マイクロフォン
- ねずみ
- オーバーレイキーボード
- リアルタイムクロック
- トラックボール
- タッチスクリーン
- ライトペン
出力デバイス
コンピュータが出力を行う手段は、出力デバイスと呼ばれます。出力デバイスの例は次のとおりです。
制御ユニット

制御ユニット(制御システムまたは中央コントローラと呼ばれることが多い)は、コンピュータのさまざまなコンポーネントを管理します。プログラム命令を読み取って解釈(デコード)し、コンピュータの他の部分をアクティブにする制御信号に変換します。[d]高度なコンピュータの制御システムは、パフォーマンスを向上させるために、一部の命令の実行順序を変更する場合があります。
すべてのCPUに共通する重要なコンポーネントはプログラムカウンタです。これは、メモリ内のどの位置から次の命令が読み取られるかを追跡する特殊なメモリセル(レジスタ)です。 [e]
制御システムの機能は次のとおりです。これは簡略化された説明であり、CPU の種類に応じて、これらの手順の一部が同時に実行されたり、異なる順序で実行されたりする場合があります。
- プログラム カウンターによって示されるセルから次の命令のコードを読み取ります。
- 命令の数値コードを他の各システムのコマンドまたは信号のセットにデコードします。
- プログラム カウンターを増分して、次の命令を指すようにします。
- 命令に必要なデータをメモリ内のセルから(または入力デバイスから)読み取ります。必要なデータの場所は通常、命令コード内に格納されます。
- ALU またはレジスタに必要なデータを提供します。
- 命令を完了するために ALU または特殊なハードウェアが必要な場合は、要求された操作を実行するようにハードウェアに指示します。
- ALU からの結果をメモリ位置、レジスタ、または出力デバイスに書き戻します。
- 手順(1)に戻ります。
プログラム カウンタは (概念的には) 単なるメモリ セルのセットなので、ALU で行われる計算によって変更できます。プログラム カウンタに 100 を追加すると、次の命令はプログラムの 100 番目以降の場所から読み取られます。プログラム カウンタを変更する命令は、多くの場合「ジャンプ」と呼ばれ、ループ (コンピュータによって繰り返される命令) や条件付き命令実行 (どちらも制御フローの例) を可能にします。
制御ユニットが命令を処理するために実行する一連の操作は、それ自体が短いコンピュータ プログラムのようなものです。実際、より複雑な CPU 設計の中には、マイクロシーケンサーと呼ばれるさらに小さな別のコンピュータがあり、これらすべてのイベントを発生させる マイクロコードプログラムを実行します。
中央処理装置 (CPU)
制御ユニット、ALU、レジスタは、総称して中央処理装置(CPU) と呼ばれます。初期の CPU は、多数の個別のコンポーネントで構成されていました。1970 年代以降、CPU は通常、マイクロプロセッサと呼ばれる単一のMOS 集積回路チップ上に構築されています。
算術論理ユニット (ALU)
ALU は、算術演算と論理演算という 2 種類の演算を実行できます。[122]特定の ALU がサポートする算術演算のセットは、加算と減算に限定される場合もあれば、乗算、除算、正弦、余弦などの三角関数、平方根などが含まれる場合もあります。整数のみを演算できるものもあれば、精度は限られているものの浮動小数点を使用して実数を表すものもあります。ただし、最も単純な演算を実行できるコンピュータであれば、より複雑な演算を、実行可能な単純なステップに分解するようにプログラムできます。したがって、どのコンピュータでも、あらゆる算術演算を実行するようにプログラムできますが、ALU がその演算を直接サポートしていない場合は、時間がかかります。ALU は数値を比較し、一方が他方と等しいか、大きいか、小さいか (「64 は 65 より大きいか?」) に応じてブール値の真理値(真または偽) を返すこともできます。論理演算には、ブール論理( AND、OR、XOR、NOT)が含まれます。これらは、複雑な条件文を作成したり、ブール論理を処理したりするのに役立ちます。
スーパースカラコンピュータには複数のALUが搭載されており、複数の命令を同時に処理することができます。[123] SIMDおよびMIMD機能を備えたグラフィックスプロセッサやコンピュータには、ベクトルや行列の演算を実行できるALUが搭載されていることがよくあります。
メモリ

コンピュータのメモリは、数字を入れたり読み込んだりできるセルのリストとして考えることができます。各セルには番号付きの「アドレス」があり、1 つの数字を保存できます。コンピュータに「1357 のセルに 123 を入力する」または「セル 1357 の数字とセル 2468 の数字を加算し、答えをセル 1595 に入力する」ように指示できます。メモリに保存される情報は、実質的にあらゆるものを表すことができます。文字、数字、さらにはコンピュータの命令も、同じように簡単にメモリに保存できます。CPU は異なるタイプの情報を区別しないため、メモリが一連の数字としてしか見ない情報に意味を与えるのはソフトウェアの役割です。
最近のほとんどのコンピュータでは、各メモリセルは8 ビットのグループ (バイトと呼ばれる) で2 進数を格納するように設定されています。各バイトは 256 の異なる数値 (2 8 = 256) を表すことができ、0 から 255 または -128 から +127 のいずれかになります。より大きな数値を格納するには、連続する複数のバイト (通常は 2、4、または 8) を使用します。負の数が必要な場合、通常は2 の補数表記で格納されます。他の配置も可能ですが、通常は特殊なアプリケーションや歴史的なコンテキスト以外では見られません。コンピュータは、数値で表現できるものであれば、あらゆる種類の情報をメモリに格納できます。最近のコンピュータには、数十億バイト、さらには数兆バイトのメモリがあります。
CPU には、レジスタと呼ばれる特別なメモリ セルのセットが含まれており、メイン メモリ領域よりもはるかに高速に読み書きできます。CPU の種類に応じて、通常 2 ~ 100 個のレジスタがあります。レジスタは、最も頻繁に必要となるデータ項目に使用され、データが必要になるたびにメイン メモリにアクセスする手間を省きます。データは常に処理されているため、メイン メモリ (ALU や制御ユニットに比べて遅いことが多い) へのアクセスの必要性が減ると、コンピュータの速度が大幅に向上します。
コンピュータのメインメモリには、主に次の 2 種類があります。
- ランダムアクセスメモリまたはRAM
- 読み取り専用メモリまたはROM
RAM は CPU の命令があればいつでも読み書きできますが、ROM には変更されないデータとソフトウェアがあらかじめロードされているため、CPU はそこから読み取ることしかできません。ROM は通常、コンピュータの初期起動命令を格納するために使用されます。一般に、コンピュータの電源を切ると RAM の内容は消去されますが、ROM はデータを無期限に保持します。PC では、ROM には BIOS と呼ばれる特殊なプログラムが含まれており、コンピュータの電源を入れたりリセットしたりするたびに、コンピュータのオペレーティング システムをハード ディスク ドライブから RAM にロードするように調整します。ディスク ドライブがないことが多い組み込みコンピュータでは、必要なソフトウェアはすべて ROM に格納されている場合があります。ROM に格納されているソフトウェアは、概念上ソフトウェアよりもハードウェアに近いため、ファームウェアと呼ばれることがよくあります。フラッシュ メモリは、電源を切ってもデータを保持しますが、書き換えも可能なため、ROM と RAM の区別があいまいです。ただし、通常は従来の ROM や RAM よりもはるかに低速であるため、高速性が不要なアプリケーションでのみ使用されます。[f]
より高度なコンピュータには、レジスタよりは遅いがメイン メモリよりは速い RAMキャッシュ メモリが1 つ以上搭載されている場合があります。一般に、この種のキャッシュを備えたコンピュータは、頻繁に必要となるデータを自動的にキャッシュに移動するように設計されており、多くの場合、プログラマーによる介入は必要ありません。
入力/出力 (I/O)
I/Oは、コンピュータが外部と情報を交換する手段です。[125]コンピュータに入力または出力を提供するデバイスは周辺機器と呼ばれます。[126]一般的なパーソナルコンピュータでは、周辺機器にはキーボードやマウスなどの入力デバイスと、ディスプレイやプリンターなどの出力デバイスが含まれます。ハードディスクドライブ、フロッピーディスクドライブ、光ディスクドライブは、入力デバイスと出力デバイスの両方として機能します。コンピュータネットワーキングは、I/Oの別の形式です。I/Oデバイスは、独自のCPUとメモリを備えた、それ自体が複雑なコンピュータであることがよくあります。グラフィックス処理ユニットには、 3Dグラフィックスを表示するために必要な計算を実行する50台以上の小さなコンピュータが含まれている場合があります。[要出典]現代のデスクトップコンピュータには、I/Oを実行するメインCPUを支援する多くの小さなコンピュータが含まれています。 2016年頃のフラットスクリーンディスプレイには、独自のコンピュータ回路が含まれています。
マルチタスク
コンピュータはメインメモリに格納された 1 つの巨大なプログラムを実行しているように見えるかもしれませんが、一部のシステムでは、複数のプログラムを同時に実行しているように見せることが必要です。これは、マルチタスク、つまりコンピュータが各プログラムを順番に実行している間にすばやく切り替えることによって実現されます。[127]これを実現する 1 つの方法は、割り込みと呼ばれる特別な信号を使用することです。これにより、コンピュータは定期的に命令の実行を停止し、代わりに他の何かを実行できます。割り込みの前に実行していた場所を記憶することにより、コンピュータは後でそのタスクに戻ることができます。複数のプログラムが「同時に」実行されている場合、割り込みジェネレータは 1 秒あたり数百の割り込みを発生させ、そのたびにプログラムを切り替える可能性があります。現代のコンピュータは通常、人間の知覚よりも数桁速く命令を実行するため、特定の瞬間に実行されているのは 1 つだけであっても、同時に多くのプログラムが実行されているように見える場合があります。このマルチタスク方法は、各プログラムに順番に時間の「スライス」が割り当てられるため、「タイムシェアリング」と呼ばれることがあります。[128]
安価なコンピュータの時代以前は、マルチタスクの主な用途は、多くの人が同じコンピュータを共有できるようにすることでした。一見、マルチタスクにより、複数のプログラムを切り替えているコンピュータは、実行しているプログラムの数に正比例して動作が遅くなるように思われますが、ほとんどのプログラムは、低速の入出力デバイスがタスクを完了するのを待つことに多くの時間を費やしています。プログラムが、ユーザーがマウスをクリックするかキーボードのキーを押すのを待っている場合、待機しているイベントが発生するまで「タイム スライス」はかかりません。これにより、他のプログラムの実行時間が解放され、許容できない速度低下なしに多くのプログラムを同時に実行できます。
マルチプロセッシング

一部のコンピュータは、マルチプロセッシング構成で複数の CPU に作業を分散するように設計されています。この技術は、かつてはスーパーコンピュータ、メインフレーム コンピュータ、サーバーなどの大規模で強力なマシンでのみ使用されていました。マルチプロセッサおよびマルチコア (単一の集積回路上の複数の CPU) のパーソナル コンピュータおよびラップトップコンピュータは現在広く利用可能であり、その結果、ローエンド市場でもますます使用されるようになっています。
特にスーパーコンピュータは、基本的なプログラム内蔵型アーキテクチャや汎用コンピュータとは大きく異なる、非常にユニークなアーキテクチャを備えていることが多い。[g]多くの場合、数千の CPU、カスタマイズされた高速インターコネクト、および特殊なコンピューティング ハードウェアを備えている。このような設計は、利用可能なリソースのほとんどを一度に使用するために大規模なプログラム構成が必要となるため、特殊なタスクにのみ役立つ傾向がある。スーパーコンピュータは通常、大規模シミュレーション、グラフィックス レンダリング、暗号化アプリケーション、およびその他のいわゆる「驚異的並列」タスクで使用されている。
ソフトウェア
ソフトウェアとは、プログラム、データ、プロトコルなど、物理的な形を持たないコンピュータの部分を指します。ソフトウェアは、システムが構築される物理的なハードウェアとは対照的に、エンコードされた情報またはコンピュータ命令で構成されるコンピュータ システムの一部です。コンピュータ ソフトウェアには、コンピュータ プログラム、ライブラリ、およびオンライン ドキュメントやデジタル メディアなどの関連する非実行データが含まれます。多くの場合、システム ソフトウェアとアプリケーション ソフトウェアに分けられます。コンピュータ ハードウェアとソフトウェアは互いに必要であり、どちらも単独では現実的には使用できません。IBM PC 互換コンピュータのBIOS ROMなど、簡単に変更できないハードウェアに格納されているソフトウェアは、「ファームウェア」と呼ばれることがあります。
言語
プログラミング言語には何千種類もあり、その中には汎用目的のものもあれば、高度に特殊化されたアプリケーションにのみ役立つものもあります。
プログラム
現代のコンピュータを他のすべてのマシンと区別する決定的な特徴は、プログラムできることです。つまり、何らかの命令(プログラム) をコンピュータに与えると、コンピュータがそれを処理します。フォン・ノイマン・アーキテクチャに基づく現代のコンピュータは、多くの場合、命令型プログラミング言語の形式でマシンコードを持っています。実際的には、コンピュータプログラムは、ワードプロセッサやウェブブラウザなどのプログラムのように、ほんの数個の命令から構成されることもあれば、何百万もの命令に及ぶこともあります。典型的な現代のコンピュータは、1秒間に数十億の命令 (ギガフロップス) を実行でき、長年の動作で間違いが起こることはほとんどありません。数百万の命令で構成される大規模なコンピュータプログラムは、プログラマーのチームで何年もかけて作成することがあり、タスクの複雑さのためにほぼ確実にエラーが含まれます。
ストアドプログラムアーキテクチャ

このセクションは、最も一般的なRAM マシンベースのコンピューターに適用されます。
ほとんどの場合、コンピュータ命令は単純です。ある数値を別の数値に加算する、あるデータをある場所から別の場所へ移動する、外部デバイスにメッセージを送信するなどです。これらの命令はコンピュータのメモリから読み込まれ、通常は与えられた順序で実行されます。ただし、通常は、コンピュータにプログラム内の別の場所へジャンプまたは戻り、そこから実行を続けるように指示する特殊な命令があります。これらは「ジャンプ」命令 (または分岐) と呼ばれます。さらに、ジャンプ命令は条件付きで実行されるように設定できるため、以前の計算の結果や外部イベントに応じて、異なる命令シーケンスを使用できます。多くのコンピュータは、ジャンプ元の場所を「記憶する」タイプのジャンプと、そのジャンプ命令の次の命令に戻るための別の命令を提供することで、 サブルーチンを直接サポートしています。
プログラムの実行は、本を読むことに例えることができます。通常、人は各単語や行を順番に読みますが、時にはテキストの前の部分に戻ったり、興味のないセクションを飛ばしたりすることもあります。同様に、コンピューターは、内部条件が満たされるまで、プログラムのあるセクションに戻って、その命令を何度も繰り返すことがあります。これはプログラム内の制御フローと呼ばれ、これによってコンピューターは人間の介入なしにタスクを繰り返し実行できます。
それに比べて、ポケット電卓を使う人は、ボタンを数回押すだけで、2 つの数字を足すなどの基本的な算術演算を実行できます。しかし、1 から 1,000 までのすべての数字を足し合わせるには、ボタンを何千回も押す必要があり、かなりの時間がかかり、間違いを犯す可能性が高くなります。一方、コンピューターは、いくつかの簡単な命令だけでこれを行うようにプログラムできます。次の例は、MIPS アセンブリ言語で書かれています。
begin:
addi $8 , $0 , 0 # 合計を 0 に初期化します。addi $9 , $0 , 1 # 追加する最初の数値を 1 に設定します。loop: slti $10 , $9 , 1000 # 数値が 1000 未満かどうかを確認します。beq $10 , $0 ,終了# 奇数が n より大きい場合は終了します。 add $8 , $8 , $9 # 合計を更新します。addi $9 , $9 , 1 # 次の数値jを取得します。 loop # 合計処理を繰り返します。終了: add $2 , $8 , $0 # 合計を出力レジスタに格納します。
このプログラムを実行するように指示されると、コンピューターは人間の介入なしに繰り返し加算タスクを実行します。間違いはほとんど起こらず、最新の PC ではほんの一瞬でタスクを完了できます。
マシンコード
ほとんどのコンピュータでは、個々の命令はマシン コードとして保存され、各命令には一意の番号 (オペレーション コード、略してオペコード) が与えられます。2 つの数値を加算するコマンドには 1 つのオペコードが与えられ、それらを乗算するコマンドには別のオペコードが与えられます。最も単純なコンピュータは、少数の異なる命令のいずれかを実行できます。より複雑なコンピュータでは、それぞれに一意の数値コードを持つ数百の命令から選択できます。コンピュータのメモリは数値を保存できるため、命令コードも保存できます。これにより、プログラム全体 (これらの命令のリストにすぎない) を数値のリストとして表すことができ、数値データと同じようにコンピュータ内で操作できるという重要な事実が生まれます。プログラムを、それが操作するデータと一緒にコンピュータのメモリに保存するという基本的な概念は、フォン ノイマン アーキテクチャ、つまりストアード プログラム アーキテクチャの核心です。[130] [131]場合によっては、コンピュータは、プログラムの一部またはすべてを、それが操作するデータとは別のメモリに保存することがあります。これは、ハーバード マーク Iコンピュータにちなんでハーバード アーキテクチャと呼ばれています。現代のフォン ノイマン コンピュータは、 CPU キャッシュなどの設計にハーバード アーキテクチャの特徴をいくつか示しています。
コンピュータプログラムを長い数字のリスト(機械語)として記述することは可能であり、この手法は多くの初期のコンピュータで使用されていましたが、[h]実際には非常に面倒で、特に複雑なプログラムの場合はエラーが発生しやすくなります。代わりに、各基本命令に、その機能を示して覚えやすい短い名前(ADD、SUB、MULT、JUMPなどのニーモニック)を与えることができます。これらのニーモニックは、総称してコンピュータのアセンブリ言語と呼ばれています。アセンブリ言語で記述されたプログラムをコンピュータが実際に理解できるもの(機械語)に変換するのは、通常、アセンブラと呼ばれるコンピュータプログラムによって行われます。

プログラミング言語
プログラミング言語は、コンピュータで実行するプログラムを指定するためのさまざまな方法を提供します。自然言語とは異なり、プログラミング言語は曖昧さを許さず簡潔になるように設計されています。プログラミング言語は純粋に記述言語であり、読み上げるのが難しいことがよくあります。通常、実行前にコンパイラまたはアセンブラによってマシン コードに変換されるか、実行時にインタープリタによって直接変換されます。プログラムは、2 つの手法を組み合わせた方法で実行されることもあります。
低水準言語
マシン言語とそれを表現するアセンブリ言語(まとめて低水準プログラミング言語と呼ばれる)は、一般的にコンピュータの中央処理装置(CPU)の特定のアーキテクチャに固有のものである。例えば、スマートフォンや携帯型ビデオゲームに見られるようなARMアーキテクチャのCPUは、 PCに搭載されているx86 CPUのマシン言語を理解することはできない。[i]歴史的には、Zilog Z80に加えてMOS Technology 6502と6510を含む、他のCPUアーキテクチャが多数作成され、広く使用されてきた。
高級言語
アセンブリ言語は機械語よりかなり簡単ですが、長いプログラムを書くのは難しく、エラーも発生しがちです。そのため、ほとんどの実用的なプログラムは、プログラマーのニーズをより便利に表現できる(したがってプログラマーのエラーを減らすのに役立つ)より抽象的な高水準プログラミング言語で書かれています。高水準言語は通常、コンパイラーと呼ばれる別のコンピューター プログラムを使用して、機械語(またはアセンブリ言語にコンパイルされてから機械語にコンパイルされる場合もあります)に「コンパイル」されます。[j]高水準言語は、アセンブリ言語ほど対象コンピューターの動作とは関係がなく、最終的なプログラムで解決する問題の言語と構造に関係しています。そのため、同じ高水準言語プログラムをさまざまなタイプのコンピューターの機械語に翻訳するために、異なるコンパイラーを使用することがよくあります。これは、ビデオ ゲームなどのソフトウェアを、パーソナル コンピューターやさまざまなビデオ ゲーム コンソールなどのさまざまなコンピューター アーキテクチャーで利用できるようにするための手段の一部です。
プログラム設計
小規模なプログラムのプログラム設計は比較的単純で、問題の分析、入力の収集、言語内のプログラミング構造の使用、確立された手順とアルゴリズムの考案または使用、出力デバイスへのデータの提供、および該当する場合は問題の解決策が含まれます。[132]問題が大きくなり複雑になるにつれて、サブプログラム、モジュール、正式なドキュメント、およびオブジェクト指向プログラミングなどの新しいパラダイムなどの機能に遭遇します。[133]数千行以上のコードを含む大規模なプログラムには、正式なソフトウェア方法論が必要です。[134]大規模なソフトウェアシステムを開発するタスクは、大きな知的課題を提示します。[135]予測可能なスケジュールと予算内で許容できるほど高い信頼性を備えたソフトウェアを作成することは、歴史的に困難でした。[136]ソフトウェアエンジニアリングの学術的および専門的分野は、特にこの課題に集中しています。[137]
バグ

コンピュータ プログラム内のエラーは「バグ」と呼ばれます。バグは無害でプログラムの有用性に影響を及ぼさないか、またはわずかな影響しか及ぼさない場合があります。ただし、場合によっては、プログラムまたはシステム全体が「ハング」し、マウスのクリックやキー入力などの入力に応答しなくなったり、完全に機能しなくなったり、クラッシュしたりすることがあります。[138]それ以外の場合、無害なバグは、悪意のあるユーザーがエクスプロイト (バグを利用してコンピュータの適切な実行を妨害するように設計されたコード) を作成することによって悪意を持って利用されることがあります。バグは通常、コンピュータのせいではありません。コンピュータは与えられた命令を実行するだけなので、バグはほとんどの場合、プログラマーのエラーまたはプログラムの設計上の見落としの結果です。[k]米国のコンピュータ科学者で最初のコンパイラーを開発したグレースホッパー提督は、 1947 年 9 月にハーバード マーク IIコンピュータのリレーをショートさせた死んだ蛾が発見された後、コンピューティングで「バグ」という用語を初めて使用したと言われています。 [139]
ネットワークとインターネット

1950年代から、コンピュータは複数の場所の間で情報を調整するために使用されてきました。米国軍のSAGEシステムは、そのようなシステムの最初の大規模な例であり、Sabreなどの多くの特殊用途の商用システムにつながりました。[140] 1970年代には、米国中の研究機関のコンピュータエンジニアが、通信技術を使用してコンピュータを相互に接続し始めました。この取り組みはARPA(現在のDARPA)によって資金提供され、結果として得られたコンピュータネットワークはARPANETと呼ばれました。[141] ARPANETを可能にした技術は普及し、進化しました。
やがて、ネットワークは学術機関や軍事機関を超えて広がり、インターネットとして知られるようになりました。ネットワークの出現は、コンピュータの性質と境界の再定義を伴いました。コンピュータのオペレーティング システムとアプリケーションは、周辺機器、保存された情報など、ネットワーク上の他のコンピュータのリソースを個々のコンピュータのリソースの拡張として定義してアクセスする機能を含むように変更されました。当初、これらの機能は主にハイテク環境で働く人々だけが利用できましたが、1990 年代には、電子メールやWorld Wide Webなどのアプリケーションの普及と、イーサネットやADSLなどの安価で高速なネットワーク技術の開発が相まって、コンピュータ ネットワークがほぼどこにでもあるようになりました。実際、ネットワーク化されたコンピュータの数は驚異的に増加しています。非常に多くのパーソナル コンピュータが、定期的にインターネットに接続して通信し、情報を受信しています。多くの場合、携帯電話ネットワークを利用する「ワイヤレス」ネットワークにより、モバイル コンピューティング環境でもネットワークがますますどこにでもあるようになっています。
従来とは異なるコンピュータ
コンピュータは電子的である必要はなく、プロセッサやRAMやハードディスクさえも必要ありません。一般に「コンピュータ」という言葉はパーソナル電子コンピュータと同義ですが、[l]現代の典型的なコンピュータの定義は、「計算を行う装置、特に高速な数学的または論理的演算を実行するか、または情報を収集、保存、相関、またはその他の方法で処理するプログラム可能な [通常は] 電子機械」です。[142]この定義によれば、情報を処理する装置はすべてコンピュータとみなされます。
未来
光コンピュータ、DNAコンピュータ、ニューラルコンピュータ、量子コンピュータなど、多くの有望な新しいタイプの技術から非従来型コンピュータを作成するための研究が活発に行われています。ほとんどのコンピュータは汎用的で、計算可能な任意の関数を計算でき、メモリ容量と動作速度によってのみ制限されます。ただし、コンピュータの設計が異なると、特定の問題に対するパフォーマンスが大きく異なる場合があります。たとえば、量子コンピュータは、一部の最新の暗号化アルゴリズムを(量子因数分解によって)非常に迅速に破る可能性があります。
コンピュータアーキテクチャのパラダイム
コンピュータアーキテクチャには多くの種類があります。
- 量子コンピュータvs.化学コンピュータ
- スカラープロセッサとベクタープロセッサ
- 非均一メモリアクセス(NUMA) コンピュータ
- レジスターマシンとスタックマシン
- ハーバードアーキテクチャとフォンノイマンアーキテクチャ
- 細胞構造
これらすべての抽象マシンの中で、量子コンピュータはコンピューティングに革命を起こす可能性を最も秘めています。[143] 論理ゲートは、上記のデジタルまたはアナログパラダイムのほとんどに適用できる一般的な抽象化です。プログラムと呼ばれる命令のリストを保存して実行する機能により、コンピュータは極めて汎用性が高く、計算機とは異なります。チャーチ–チューリングのテーゼは、この汎用性を数学的に述べたものです。最小限の能力(チューリング完全)を備えたコンピュータは、原理的には、他のどのコンピュータでも実行できるのと同じタスクを実行できます。したがって、十分な時間とストレージ容量があれば、あらゆる種類のコンピュータ(ネットブック、スーパーコンピュータ、セルオートマトンなど)は同じ計算タスクを実行できます。
人工知能
コンピュータは、効率、代替ソリューション、考えられる近道、コード内の考えられるエラーに関係なく、プログラムされたとおりに問題を解決します。学習して適応するコンピュータ プログラムは、人工知能と機械学習という新興分野の一部です。人工知能ベースの製品は、一般に、ルールベース システムとパターン認識システムの 2 つの主要なカテゴリに分類されます。ルールベース システムは、人間の専門家が使用するルールを表現しようとするもので、開発コストが高くなる傾向があります。パターンベース システムは、問題に関するデータを使用して結論を生成します。パターンベース システムの例としては、音声認識、フォント認識、翻訳、新興分野のオンライン マーケティングなどがあります。
職業と組織
コンピュータの利用が社会全体に広がるにつれ、コンピュータに関わる職業も増えています。
コンピュータが連携して動作し、情報を交換できるようにする必要性から、公式および非公式の両方の性質を持つ多くの標準化団体、クラブ、協会の必要性が生じました。
参照
注記
- ^ Schmandt-Besserat 1981 によると、これらの粘土容器にはトークンが入っており、その合計が輸送される物体の数であった。したがって、容器は船荷証券または帳簿のような役割を果たした。容器が破られないようにするために、まず、トークンの粘土の刻印が容器の外側に付けられ、その刻印の形が抽象化されて様式化されたマークになった。最後に、抽象的なマークが数字として体系的に使用され、これらの数字が最終的に数字として形式化された。最終的に、
容器の外側のマークは、数を伝達するために必要なすべてとなり、粘土容器は、数をマークした粘土板へと進化した。Schmandt-Besserat 1999 は、それに 4000 年かかったと推定している。 - ^ Intel 4004(1971)のダイは12 mm 2で、2300個のトランジスタで構成されていました。比較すると、Pentium Proは306 mm 2で、550万個のトランジスタで構成されていました。[113]
- ^ 主要な 64 ビット命令セットアーキテクチャのほとんどは、以前の設計の拡張です。この表にリストされているアーキテクチャはすべて、Alpha を除き、64 ビット版が導入される前は 32 ビット形式で存在していました。
- ^ 命令を解釈する際の制御装置の役割は、過去に多少変化してきました。最近のほとんどのコンピュータでは、命令の解釈は制御装置が単独で行いますが、常にそうであるとは限りません。コンピュータによっては、命令の一部は制御装置によって解釈され、その後の解釈は別のデバイスによって行われます。たとえば、最も初期のプログラム内蔵型コンピュータの 1 つであるEDVAC では、4 つの命令のみを解釈する中央制御装置が使用されていました。演算関連の命令はすべて演算装置に渡され、そこでさらにデコードされました。
- ^ 命令は複数のメモリ アドレスを占有することが多いため、プログラム カウンターは通常、1 つの命令を格納するために必要なメモリ位置の数だけ増加します。
- ^ フラッシュメモリは書き換え回数が限られているため、頻繁にランダムアクセスを行う場合にはあまり役に立ちません。[124]
- ^ しかし、安価なコモディティハードウェアを多数組み合わせてスーパーコンピュータを構築することも非常に一般的です。通常は、ネットワークで接続された個々のコンピュータです。これらのいわゆるコンピュータクラスタは、カスタマイズされた設計よりもはるかに低いコストでスーパーコンピュータのパフォーマンスを提供できることがよくあります。最も強力なスーパーコンピュータのほとんどでは依然としてカスタムアーキテクチャが使用されていますが、近年クラスタコンピュータが急増しています。[129]
- ^ 後期のコンピュータでも、マシンコードで直接プログラムされるものが一般的でした。DEC PDP-8などの一部のミニコンピュータは、スイッチパネルから直接プログラムできました。ただし、この方法は通常、ブートプロセスの一部としてのみ使用されました。最近のコンピュータのほとんどは、不揮発性メモリからブートプログラムを読み取ることで完全に自動的にブートします。
- ^ ただし、異なるコンピュータ間で何らかの機械語の互換性がある場合もあります。AMD Athlon 64などのx86-64互換マイクロプロセッサは、 Intel Core 2マイクロプロセッサと同じプログラムのほとんどを実行できるほか、Intel PentiumやIntel 80486などの以前のマイクロプロセッサ用に設計されたプログラムも実行できます。これは、非常に初期の商用コンピュータとは対照的です。商用コンピュータは、多くの場合、独自のものであり、他のコンピュータとまったく互換性がありませんでした。
- ^ 高級言語も、コンパイルされるのではなく、解釈されることがほとんどです。解釈言語は、実行中に、インタープリタと呼ばれる別のプログラムによって、その場で機械語に変換されます。
- ^ バグの原因がプログラマーの不注意だけであるというのは、必ずしも真実ではありません。コンピューターのハードウェアが故障したり、ハードウェア自体に根本的な問題があり、特定の状況で予期しない結果が生じることがあります。たとえば、1990 年代初頭、一部のIntelマイクロプロセッサーでPentium FDIV バグが発生し、特定の浮動小数点除算演算で不正確な結果が生成されました。これはマイクロプロセッサーの設計上の欠陥が原因で、影響を受けたデバイスの一部がリコールされました。
- ^ ショーターオックスフォード英語辞典(第6版、2007年)によると、コンピュータという言葉は17世紀半ばにまで遡り、「計算を行う人、特に天文台などで計算のために雇用されている人」を指していました。
参考文献
- ^ エヴァンス 2018、23ページ。
- ^ スミス2013、6ページ。
- ^ “computer (n.)”。オンライン語源辞典。2016年11月16日時点のオリジナルよりアーカイブ。 2021年8月19日閲覧。
- ^ ロブソン、エレノア(2008)。古代イラクの数学。プリンストン大学出版局。p. 5。ISBN 978-0-691-09182-2。: イラクでは紀元前 3200~3000 年頃にはすでに原始的な会計システムとして計算が使用されており、商品別の計算表示システムも存在していました。均衡会計は紀元前 3000~2350 年までに使用され、60 進法は紀元前 2350~2000 年に使用されていました。
- ^ フレッグ、グラハム。(1989) 『時代を超えた数字』ハウンドミルズ、ベイジングストーク、ハンプシャー:マクミラン・エデュケーション。ISBN 0-333-49130-0. OCLC 24660570。
- ^ アンティキティラ島の機械研究プロジェクト、Wayback Machineに 2008 年 4 月 28 日にアーカイブ、アンティキティラ島の機械研究プロジェクト。2007 年 7 月 1 日閲覧。
- ^ Marchant, Jo (2006年11月1日). 「失われた時間を求めて」. Nature . 444 (7119): 534–538. Bibcode :2006Natur.444..534M. doi : 10.1038/444534a . ISSN 0028-0836. PMID 17136067. S2CID 4305761.
- ^ G. Wiet、V. Elisseeff、P. Wolff、J. Naudu (1975)。人類の歴史、第3巻:中世の偉大な文明、649ページ。ジョージ・アレン・アンド・アンウィン・リミテッド、ユネスコ。
- ^ Fuat Sezgin. 「アラブ・イスラム科学史研究所(ヨハン・ヴォルフガング・ゲーテ大学)展示会カタログ」、フランクフルト・ブックフェア 2004、35 & 38 ページ。
- ^ Charette, François (2006). 「考古学: 古代ギリシャのハイテク」. Nature . 444 (7119): 551–552. Bibcode :2006Natur.444..551C. doi : 10.1038/444551a . PMID 17136077. S2CID 33513516.
- ^ ベディニ、シルビオ A.マディソン、フランシス R. (1966)。 「機械の宇宙:ジョヴァンニ・デ・ドンディのアストラリウム」。アメリカ哲学協会のトランザクション。56 (5): 1-69。土井:10.2307/1006002。JSTOR 1006002。
- ^ Price, Derek de S. (1984). 「計算機の歴史」. IEEE Micro . 4 (1): 22–52. doi :10.1109/MM.1984.291305.
- ^ Őren, Tuncer (2001). 「コンピュータと情報科学の進歩: そろばんからホロニックエージェントまで」(PDF) . Turk J Elec Engin . 9 (1): 63–70. 2009年9月15日時点のオリジナルよりアーカイブ(PDF) . 2016年4月21日閲覧。
- ^ ドナルド・ラウトレッジ・ヒル(1985年)。「アル・ビルニの機械式カレンダー」、Annals of Science 42、pp. 139–163。
- ^ 「The Writer Automaton, Switzerland」chonday.com、2013年7月11日。2015年2月20日時点のオリジナルよりアーカイブ。 2015年1月28日閲覧。
- ^ ab Ray Girvan、「メカニズムの明らかになった恵み:バベッジ後のコンピューティング」、Wayback Machineに 2012 年 11 月 3 日にアーカイブ、Scientific Computing World、2003 年 5 月/6 月。
- ^ レオナルド・トーレス(1895 年 10 月 10 日)。 「Memória sobre las Máquinas Algébricas」(PDF)。Revista de Obras Públicas (スペイン語) (28): 217–222。
- ^ レオナルド・トーレス。Memoria sobre las máquinas algébricas: con un infome de la Real academia de ciencias strictas, fisicas y Naturales、Misericordia、1895 年。
- ^ Thomas, Federico (2008年8月1日). 「レオナルド・トーレスのエンドレススピンドルに関する短い説明」.メカニズムと機械理論. 43 (8). IFToMM : 1055–1063. doi :10.1016/j.mechmachtheory.2007.07.003. hdl : 10261/30460 . ISSN 0094-114X.
- ^ ゴメス・ヤウレギ、バレンティン;グティエレス・ガルシア、アンドレス。ゴンザレス・レドンド、フランシスコ・A.イグレシアス、ミゲル。マンチャド、クリスティーナ。オテロ、セザール(2022年6月1日)。 「複素係数を含む 2 次方程式用の Torres Quevedo の機械式計算機」。メカニズムと機械理論。172(8)。IFToMM : 104830. doi : 10.1016/j.mechmach Theory.2022.104830。hdl : 10902/24391。S2CID 247503677。
- ^ レオナルド、トーレス・ケベド (1901)。 「機械と計算機」。Mémoires Présentés par Divers Savant à l'Académie des Scienes de l'Institut de France (フランス語)。XXXII .インプレッション国民(パリ)。
- ^ ハラシー、ダニエル・スティーブン(1970年)。チャールズ・バベッジ、コンピュータの父。クロウェル・コリアー・プレス。ISBN 978-0-02-741370-0。
- ^ O'Connor, John J.; Robertson, Edmund F. (1998). 「チャールズ・バベッジ」。MacTutor数学史アーカイブ。スコットランド、セント・アンドリュース大学数学・統計学部。2006 年 6 月 16 日時点のオリジナルよりアーカイブ。2006年6 月 14 日閲覧。
- ^ 「バベッジ」。オンライン スタッフ。サイエンス ミュージアム。2007 年 1 月 19 日。2012 年 8 月 7 日時点のオリジナルよりアーカイブ。2012年8 月 1 日閲覧。
- ^ グレアム・カミング、ジョン(2010年12月23日)。「バベッジの究極の機械式コンピュータを作ろう」。意見。ニューサイエンティスト。2012年8月5日時点のオリジナルよりアーカイブ。 2012年8月1日閲覧。
- ^ L. トーレス・ケベド。Ensayos sobre Automática – Su の定義。 Extension teórica de sus aplicaciones、 Revista de la Academia de Ciencias Exacta、Revista 12、391–418 ページ、1914 年。
- ^ トーレス・ケベド、レオナルド。 Automática: Complemento de la Teoría de las Máquinas、(pdf)、575–583 ページ、Revista de Obras Públicas、1914 年 11 月 19 日。
- ^ ロナルド・T・クヌーゼル『Numbers and Computers』、シュプリンガー、pp.84-85、2017年。ISBN 978-3-319-50508-4
- ^ ランデル1982、6、11-13ページ。
- ^ B. ランデル「電気機械式計算機、デジタルコンピュータの起源」pp.109-120、1982年。
- ^ ブロムリー 1990年。
- ^ クリストファー・ムーア、ステファン・メルテンス『計算の性質』オックスフォード大学出版局、2011年291ページ。ISBN 978-0-199-23321-2。
- ^ Randell, Brian. デジタルコンピュータの起源の歴史、(pdf)、p. 545、デジタルコンピュータ: 起源、コンピュータサイエンス百科事典、2003 年 1 月。
- ^ abcd The Modern History of Computing. Stanford Encyclopedia of Philosophy. 2017年。2010年7月12日時点のオリジナルよりアーカイブ。 2014年1月7日閲覧。
- ^ O'Regan, Gerard 編 (2008). コンピューティングの簡潔な歴史。ロンドン: Springer London。p. 28。doi : 10.1007 /978-1-84800-084-1。ISBN 978-1-84800-083-4。
- ^ Tse, David (2020年12月22日). 「クロード・シャノンはいかにして未来を発明したか」. Quanta Magazine . 2024年11月5日閲覧。
- ^ Zuse, Horst. 「パート 4: Konrad Zuse の Z1 および Z3 コンピューター」。Konrad Zuse の生涯と業績。EPE Online。2008 年 6 月 1 日時点のオリジナルよりアーカイブ。2008年6 月 17 日閲覧。
- ^ Bellis, Mary (2019年5月15日) [2006年にinventors.about.com/library/weekly/aa050298.htmで初版]. 「初期のコンピューターの発明者およびプログラマー、コンラート・ツーゼの伝記」. thoughtco.com . Dotdash Meredith. 2020年12月13日時点のオリジナルよりアーカイブ。 2021年2月3日閲覧。
コンラート・ツーゼは、「現代のコンピューターの発明者」という半公式の称号を獲得しました
[
誰?
]
。
- ^ 「コンピュータの父は誰か?」ComputerHope。
- ^ ズーゼ、コンラッド(2010) [1984]. The Computer – My Lifeマッケンナ、パトリシア、ロス、J. アンドリュー訳、出典: Der Computer, mein Lebenswerk (1984)。ベルリン/ハイデルベルク: Springer-Verlag。ISBN 978-3-642-08151-4。
- ^ Salz Trautman, Peggy (1994年4月20日). 「50年後に再発見されたコンピュータのパイオニア」ニューヨークタイムズ。2016年11月4日時点のオリジナルよりアーカイブ。 2017年2月15日閲覧。
- ^ ズーゼ、コンラッド(1993)。コンピューター。 Mein Lebenswerk (ドイツ語) (第 3 版)。ベルリン: Springer-Verlag。 p. 55.ISBN 978-3-540-56292-4。
- ^ “Crash! The Story of IT: Zuse”. 2016年9月18日時点のオリジナルよりアーカイブ。2016年6月1日閲覧。
- ^ Rojas, R. (1998). 「Zuse の Z3 をユニバーサル コンピュータにする方法」. IEEE Annals of the History of Computing . 20 (3): 51–54. doi :10.1109/85.707574. S2CID 14606587.
- ^ Rojas, Raúl. 「Zuse の Z3 をユニバーサル コンピュータにする方法」(PDF) fu-berlin.de。2017年 8 月 9 日時点のオリジナルよりアーカイブ(PDF) 。2015年9 月 28 日閲覧。
- ^ ab O'Regan, Gerard (2010).コンピューティングの簡潔な歴史. Springer Nature. p. 65. ISBN 978-3-030-66599-9。
- ^ ブルーダラー、ハーバート(2021年)。アナログおよびデジタルコンピューティングのマイルストーン(第3版)。シュプリンガー。pp.1009、1087。ISBN 978-3-03040973-9。
- ^ 「通知」。デモイン・レジスター。1941年1月15日。
- ^ アーサー・W・バークス(1989年)。『世界初の電子コンピュータ』ミシガン大学出版局。ISBN 0-472-08104-7. 2019年6月1日閲覧。
- ^ abcd コープランド、ジャック (2006)。コロッサス:ブレッチリー・パークの暗号解読コンピューターの秘密。オックスフォード:オックスフォード大学出版局。pp. 101–115。ISBN 978-0-19-284055-4。
- ^ ミラー、ジョー(2014年11月10日)。「エニグマ暗号を解読した女性」BBCニュース。2014年11月10日時点のオリジナルよりアーカイブ。 2018年10月14日閲覧。
- ^ Bearne, Suzanne (2018年7月24日). 「Meet the female codebreakers of Bletchley Park」. The Guardian . 2019年2月7日時点のオリジナルよりアーカイブ。 2018年10月14日閲覧。
- ^ “Bletchley's code-cracking Colossus”. BBC . 2010年2月4日時点のオリジナルよりアーカイブ。 2021年11月24日閲覧。
- ^ 「Colossus – The Rebuild Story」。国立コンピューティング博物館。2015年4月18日時点のオリジナルよりアーカイブ。 2014年1月7日閲覧。
- ^ ブライアン・ランデル、ハリー・フェンサム、フランク・A・ミルン(1995年3月15日)。「訃報:アレン・クームズ」インディペンデント。2012年2月3日時点のオリジナルよりアーカイブ。 2012年10月18日閲覧。
- ^ Fensom, Jim (2010年11月8日). 「Harry Fensom obituary」. The Guardian . 2013年9月17日時点のオリジナルよりアーカイブ。 2012年10月17日閲覧。
- ^ John Presper Eckert Jr. と John W. Mauchly、「電子数値積分器およびコンピュータ」、米国特許庁、米国特許第 3,120,606 号、1947 年 6 月 26 日出願、1964 年 2 月 4 日発行、Honeywell v. Sperry Randの判決を受けて 1973 年 10 月 19 日に無効となった。
- ^ エヴァンス 2018、39ページ。
- ^ ライト1999年、459頁。
- ^ 「Generations of Computer」. techiwarehouse.com. 2015年7月2日時点のオリジナルよりアーカイブ。2014年1月7日閲覧。
- ^ チューリング、AM (1937)。「計算可能数について、その計算問題への応用」。ロンドン数学会紀要。2. 42 (1): 230–265。doi :10.1112/ plms /s2-42.1.230。S2CID 73712 。
- ^ コープランド、ジャック(2004)。『チューリングの本質』 p. 22:
フォン・ノイマンは、基本的な概念はチューリングによるものだと私に、そして他の人にも強く強調しました。バベッジ、ラヴレース、その他によって予見されない限りにおいてです。
スタンリー・フランケルがブライアン・ランデルに宛てた手紙、1972年。 - ^ エンティックナップ、ニコラス(1998年夏)。「コンピューティングのゴールデンジュビリー」。Resurrection(20)。ISSN 0958-7403。2012年1月9日時点のオリジナルよりアーカイブ。2008年4月19日閲覧。
- ^ 「マンチェスター大学の初期のコンピューター」。Resurrection . 1 ( 4)。1992年夏。ISSN 0958-7403。2017年8月28日時点のオリジナルよりアーカイブ。2010年7月7日閲覧。
- ^ 「初期の電子コンピュータ (1946–51)」マンチェスター大学。2009年1月5日時点のオリジナルよりアーカイブ。2008年11月16日閲覧。
- ^ Napper, RBE「Mark 1 入門」マンチェスター大学。2008 年 10 月 26 日時点のオリジナルよりアーカイブ。2008年11 月 4 日閲覧。
- ^ 「Our Computer Heritage Pilot Study: Deliveries of Ferranti Mark I and Mark I Star computers」。Computer Conservation Society。2016年12月11日時点のオリジナルよりアーカイブ。 2010年1月9日閲覧。
- ^ ラヴィントン、サイモン。「英国コンピューターの簡潔な歴史:最初の25年間(1948-1973)」。英国コンピューター協会。2010年7月5日時点のオリジナルよりアーカイブ。2010年1月10日閲覧。
- ^ Lee, Thomas H. (2003). CMOS無線周波数集積回路の設計(PDF) . Cambridge University Press . ISBN 978-1-139-64377-1. 2019年12月9日時点のオリジナル(PDF)よりアーカイブ。2019年7月31日閲覧。
- ^ ピュアース、ロバート;バルディ、リビオ。ヴォールデ、マルセル・ヴァン・デ。ヌーテン、セバスチャン E. ヴァン (2017)。ナノエレクトロニクス: 材料、デバイス、アプリケーション、2 冊。ジョン・ワイリー&サンズ。 p. 14.ISBN 978-3-527-34053-8. 2019年7月31日閲覧。
- ^ ab モスコウィッツ、サンフォード L. (2016)。先端材料イノベーション:21世紀のグローバルテクノロジーの管理。ジョン・ワイリー&サンズ。pp. 165–167。ISBN 978-0-470-50892-3. 2019年8月28日閲覧。
- ^ ラヴィントン 1998、34-35ページ。
- ^ ab Cooke-Yarborough, EH (1998年6月). 「英国における初期のトランジスタアプリケーションの一部」. Engineering Science & Education Journal . 7 (3): 100–106. doi :10.1049/esej:19980301. ISSN 0963-7346. 2020年11月8日時点のオリジナルよりアーカイブ。2009年6月7日閲覧。 (サブスクリプションが必要です)。
- ^ Cooke-Yarborough, EH (1957).トランジスタ回路入門. エディンバラ、スコットランド: Oliver and Boyd. p. 139.
- ^ハフ、 ハワード、リオーダン、マイケル(2007年9月1日)。「フロッシュとデリック:50年後(序文)」。電気化学協会インターフェース。16 (3):29。doi :10.1149/2.F02073IF。ISSN 1064-8208 。
- ^ Frosch, CJ; Derick, L (1957). 「シリコンの拡散時の表面保護と選択的マスキング」.電気化学協会誌. 104 (9): 547. doi :10.1149/1.2428650.
- ^ Kahng, D. (1961). 「シリコン-二酸化シリコン表面デバイス」.ベル研究所技術メモ: 583–596. doi :10.1142/9789814503464_0076. ISBN 978-981-02-0209-5。
- ^ Lojek, Bo (2007).半導体工学の歴史. ベルリン、ハイデルベルク: Springer-Verlag Berlin Heidelberg. p. 321. ISBN 978-3-540-34258-8。
- ^ Ligenza, JR; Spitzer, WG (1960). 「蒸気と酸素中でのシリコン酸化のメカニズム」. Journal of Physics and Chemistry of Solids . 14 : 131–136. Bibcode :1960JPCS...14..131L. doi :10.1016/0022-3697(60)90219-5.
- ^ Lojek, Bo (2007).半導体工学の歴史. Springer Science & Business Media . p. 120. ISBN 9783540342588。
- ^ 本吉 正之 (2009). 「シリコン貫通ビア (TSV)」. Proceedings of the IEEE . 97 (1): 43–48. doi :10.1109/JPROC.2008.2007462. ISSN 0018-9219. S2CID 29105721.
- ^ Young, Ian (2018年12月12日). 「トランジスタがムーアの法則を維持する」. EETimes . 2019年9月24日時点のオリジナルよりアーカイブ。2019年7月18日閲覧。
- ^ Laws, David (2013年12月4日). 「トランジスタを発明したのは誰か?」.コンピュータ歴史博物館. 2013年12月13日時点のオリジナルよりアーカイブ。 2019年7月20日閲覧。
- ^ ab Hittinger, William C. (1973). 「金属酸化物半導体技術」. Scientific American . 229 (2): 48–59. Bibcode :1973SciAm.229b..48H. doi :10.1038/scientificamerican0873-48. ISSN 0036-8733. JSTOR 24923169.
- ^ Malmstadt, Howard V.; Enke, Christie G.; Crouch, Stanley R. (1994). 「正しい接続の確立: マイクロコンピュータと電子機器」アメリカ化学会. p. 389. ISBN 978-0-8412-2861-0. 2019年8月28日閲覧。MOSFET
の比較的単純で低消費電力要件が、今日のマイクロコンピュータ革命を促進しました。
- ^ Fossum, Jerry G. ; Trivedi, Vishal P. (2013). 超薄型ボディ MOSFET と FinFET の基礎. Cambridge University Press . p. vii. ISBN 978-1-107-43449-3. 2019年8月28日閲覧。
- ^ Marriott, JW (2019年6月10日). 「2019年国際知的財産会議におけるイアンク所長の発言」。米国特許商標庁。2019年12月17日時点のオリジナルよりアーカイブ。 2019年7月20日閲覧。
- ^ 「Dawon Kahng」。全米発明家の殿堂。2019年10月27日時点のオリジナルよりアーカイブ。2019年6月27日閲覧。
- ^ “Martin Atalla in Inventors Hall of Fame, 2009”. 2019年9月19日時点のオリジナルよりアーカイブ。2013年6月21日閲覧。
- ^ Triumph of the MOS Transistor. Computer History Museum . 2010年8月6日. 2021年8月18日時点のオリジナルよりアーカイブ。 2019年7月21日閲覧– YouTube経由。
- ^ 「ジェフリー・ダマーの不幸な物語」Wayback Machineに 2013 年 5 月 11 日にアーカイブ、(nd)、(HTML)、Electronic Product News、2008 年 7 月 8 日にアクセス。
- ^ キルビー、ジャック(2000)。「ノーベル講演」(PDF)。ストックホルム: ノーベル財団。2008年5月29日時点のオリジナルよりアーカイブ(PDF) 。 2008年5月15日閲覧。
- ^ The Chip that Jack Built Archived 1 May 2015 at the Wayback Machine、(c. 2008)、(HTML)、Texas Instruments、2008年5月29日閲覧。
- ^ Jack S. Kilby、「小型電子回路」、米国特許庁、米国特許第3,138,743号、1959年2月6日出願、1964年6月23日発行。
- ^ ウィンストン、ブライアン (1998)。メディア技術と社会:歴史:電信からインターネットまで。ラウトレッジ。p. 221。ISBN 978-0-415-14230-4. 2020年6月6日閲覧。
- ^ Saxena, Arjun N. (2009). 集積回路の発明: 語られていない重要な事実。World Scientific。p . 140。ISBN 978-981-281-445-6. 2019年8月28日閲覧。
- ^ ab 「集積回路」NASA。2019年7月21日時点のオリジナルよりアーカイブ。2019年8月13日閲覧。
- ^ ロバート・ノイスのユニタリー回路、米国特許 2981877、「半導体デバイスおよびリード構造」、1961 年 4 月 25 日発行、フェアチャイルド セミコンダクター コーポレーションに譲渡。
- ^ 「1959年:実用的なモノリシック集積回路のコンセプトが特許を取得」。コンピュータ歴史博物館。2019年10月24日時点のオリジナルよりアーカイブ。2019年8月13日閲覧。
- ^ Frosch, CJ; Derick, L. (1957). 「シリコンの拡散時の表面保護と選択的マスキング」. Journal of the Electrochemical Society . 104 (9): 547. doi :10.1149/1.2428650.
- ^ US2802760A、リンカーン、デリック、フロッシュ、カール J.、「制御された拡散のための半導体表面の酸化」、1957 年 8 月 13 日発行。
- ^ モスコウィッツ、サンフォード L. (2016)。先端材料イノベーション:21世紀のグローバルテクノロジーの管理。ジョン・ワイリー&サンズ。p. 168。ISBN 978-0-470-50892-3。
- ^ ルキュイエ、クリストフ、ブルック、デビッド C.、ラスト、ジェイ (2010)。マイクロチップのメーカー: フェアチャイルド セミコンダクターのドキュメンタリー史。MIT プレス。pp. 62–63。ISBN 978-0-262-01424-3。
- ^ Claeys, Cor L. (2003). ULSIプロセス統合III: 国際シンポジウム議事録。電気化学協会。pp . 27–30。ISBN 978-1-56677-376-8。
- ^ Lojek, Bo (2007).半導体工学の歴史. Springer Science & Business Media . p. 120. ISBN 9783540342588。
- ^ ab Kuo, Yue (2013年1月1日). 「薄膜トランジスタ技術 - 過去、現在、そして未来」(PDF) . The Electrochemical Society Interface . 22 (1): 55–61. Bibcode :2013ECSIn..22a..55K. doi : 10.1149/2.F06131if . ISSN 1064-8208. 2017年8月29日時点のオリジナルより アーカイブ(PDF) . 2019年7月31日閲覧。
- ^ ab 「トランジスタのカメがレースに勝つ - CHM革命」。コンピュータ歴史博物館。2020年3月10日時点のオリジナルよりアーカイブ。2019年7月22日閲覧。
- ^ 「1964年 – 最初の商用MOS ICの導入」。コンピュータ歴史博物館。2015年12月22日時点のオリジナルよりアーカイブ。2019年7月31日閲覧。
- ^ “1968: IC用シリコンゲート技術が開発される”.コンピュータ歴史博物館. 2020年7月29日時点のオリジナルよりアーカイブ。2019年7月22日閲覧。
- ^ ab “1971: マイクロプロセッサがCPU機能を1つのチップに統合”.コンピュータ歴史博物館. 2021年8月12日時点のオリジナルよりアーカイブ。2019年7月22日閲覧。
- ^ ジャン=ピエール・コリンジュ、ジェームズ・C・グリア(2016年)。ナノワイヤトランジスタ:1次元のデバイスと材料の物理学。ケンブリッジ大学出版局。p.2。ISBN 978-1-107-05240-6. 2019年7月31日閲覧。
- ^ 「Intel 初のマイクロプロセッサ - Intel 4004」。Intel Corp. 1971 年 11 月。2008 年 5 月 13 日時点のオリジナルよりアーカイブ。2008年5 月 17 日閲覧。
- ^ パターソン、デイビッド、ヘネシー、ジョン (1998)。コンピュータの構成と設計。サンフランシスコ:モーガン カウフマン。pp . 27–39。ISBN 978-1-55860-428-5。
- ^ Federico Faggin、「最初のマイクロプロセッサの作成」、IEEE Solid-State Circuits Magazine、2009 年冬、IEEE Xplore。
- ^ ab “Qualcomm の Snapdragon 835 チップによる 7 つの素晴らしいスマートフォンの改良点”. 2017 年 1 月 3 日. 2019 年 9 月 30 日時点のオリジナルよりアーカイブ。2019 年4 月 5 日閲覧。
- ^ Chartier, David (2008年12月23日). 「世界のノートPC出荷台数がついにデスクトップPCを上回る」Ars Technica 2017年7月4日時点のオリジナルよりアーカイブ。2017年6月14日閲覧。
- ^ IDC (2013年7月25日). 「IDCによると、第2四半期の世界の携帯電話およびスマートフォン市場の成長は加速している」。2014年6月26日時点のオリジナルよりアーカイブ。
- ^ 「Google ブックス Ngram ビューア」。books.google.com。
- ^ 「Google ブックス Ngram ビューア」。books.google.com。
- ^ 「Google ブックス Ngram ビューア」。books.google.com。
- ^ 「Google ブックス Ngram ビューア」。books.google.com。
- ^ Eck, David J. (2000).最も複雑なマシン: コンピューターとコンピューティングの調査AK Peters, Ltd. p. 54. ISBN 978-1-56881-128-4。
- ^ Kontoghiorghes, Erricos John (2006).並列コンピューティングと統計のハンドブック. CRC Press. p. 45. ISBN 978-0-8247-4067-2。
- ^ ヴァーマ&ミールケ 1988.
- ^ Eadie, Donald (1968). Introduction to the Basic Computer . Prentice-Hall. p. 12.
- ^ Barna, Arpad; Porat, Dan I. (1976). マイクロコンピュータとマイクロプロセッサ入門. Wiley. p. 85. ISBN 978-0-471-05051-3。
- ^ ピーク、ジェリー、トディーノ、グレース、ストラング、ジョン (2002)。UNIX オペレーティングシステムの学習: 新規ユーザーのための簡潔なガイド。オライリー。p. 130。ISBN 978-0-596-00261-9。
- ^ Davis, Gillian M. (2002).音声アプリケーションにおけるノイズ低減. CRC Press. p. 111. ISBN 978-0-8493-0949-6。
- ^ TOP500 2006、p. [ページが必要]。
- ^ Cragon, Harvey (2000). コンピュータアーキテクチャと実装. ケンブリッジ大学出版局. p. 5. ISBN 978-0-521-65168-4. 2022年7月30日時点のオリジナルよりアーカイブ。2022年6月10日閲覧。
- ^ Xu, Zhiwei; Zhang, Jialin (2021). 計算的思考:コンピュータサイエンスの視点。シンガポール:Springer。p. 60。ISBN 978-981-16-3848-0. 2022年7月30日時点のオリジナルよりアーカイブ。 2022年6月10日閲覧。
これは、ストアードプログラムアーキテクチャまたはストアードプログラムモデルと呼ばれ、フォンノイマンアーキテクチャとしても知られています。これらの用語は同じ意味で使用します。
- ^ リーチ、ロナルド J. (2016 年 1 月 27 日)。ソフトウェア エンジニアリング入門。CRC プレス。p. 11。ISBN 978-1-4987-0528-8. 2022年11月26日閲覧。
- ^ Zhu, Hong (2005 年 3 月 22 日)。ソフトウェア設計方法論: 原則からアーキテクチャ スタイルまで。Elsevier。pp. 47–72。ISBN 978-0-08-045496-2. 2022年11月26日閲覧。
- ^ リーチ、ロナルド J. (2016 年 1 月 27 日)。ソフトウェア エンジニアリング入門。CRC プレス。p. 56。ISBN 978-1-4987-0528-8. 2022年11月26日閲覧。
- ^ ナイト、ジョン(2012年1月12日)。ソフトウェアエンジニアのためのディペンダブルコンピューティングの基礎。CRC Press。p.186。ISBN 978-1-4665-1821-6. 2022年11月26日閲覧。
- ^ Brooks (Jr.), Frederick P. (1975). The Mythical Man-month: Essays on Software Engineering. Addison-Wesley Publishing Company. ISBN 978-0-201-00650-6. 2022年11月26日閲覧。
- ^ サマービル、イアン (2007)。ソフトウェアエンジニアリング。ピアソンエデュケーション。pp. 4–17。ISBN 978-0-321-31379-9. 2022年11月26日閲覧。
- ^ 「なぜコンピューターはクラッシュするのか?」。サイエンティフィック・アメリカン。2018年5月1日時点のオリジナルよりアーカイブ。2022年3月3日閲覧。
- ^ Taylor, Alexander L. III (1984年4月16日). 「The Wizard Inside the Machine」. Time . 2007年3月16日時点のオリジナルよりアーカイブ。 2007年2月17日閲覧。
- ^ ヒューズ、アガサ C. (2000)。システム、エキスパート、およびコンピュータ。MITプレス。p. 161。ISBN 978-0-262-08285-3SAGE の経験により、
初の本格的な大規模商用リアルタイム ネットワークである SABRE コンピューター航空予約システムが実現しました。
- ^ Leiner, Barry M.; Cerf, Vinton G.; Clark, David D.; Kahn, Robert E.; Kleinrock, Leonard; Lynch, Daniel C.; Postel, Jon; Roberts, Larry G.; Wolf, Stephen (1999). 「インターネットの簡潔な歴史」. arXiv : cs/9901011 .
- ^ 「コンピュータの定義」。Thefreedictionary.com。2009年12月26日時点のオリジナルよりアーカイブ。 2012年1月29日閲覧。
- ^ Dumas II, Joseph D. (2005). コンピュータアーキテクチャ: コンピュータ設計の基礎と原則. CRC Press. p. 340. ISBN 978-0-8493-2749-0. 2020年11月9日閲覧。
出典
- ボウデン、BV (1953)。『考えていたよりも速い』ニューヨーク、トロント、ロンドン:ピットマン出版。
- バークレー、エドマンド (1949)。『巨大な脳、あるいは考える機械』。ジョン・ワイリー・アンド・サンズ。
- Bromley, Allan G. (1990)。「差分エンジンと解析エンジン」。Aspray, William (編)。『コンピュータ以前のコンピューティング』(PDF)。エイムズ: アイオワ州立大学出版局。pp. 59–98。ISBN 978-0-8138-0047-92022年10月9日時点のオリジナルよりアーカイブ(PDF) 。
- コーエン、バーナード(2000)。「ハワード・エイケン、コンピュータのパイオニアの肖像」。Physics Today . 53 (3)。マサチューセッツ州ケンブリッジ:MIT 出版:74–75。Bibcode : 2000PhT....53c..74C。doi : 10.1063/ 1.883007。ISBN 978-0-262-53179-5。
- コリアー、ブルース (1970)。『小さな機関車が実現した:チャールズ・バベッジの計算機』ガーランド出版。ISBN 978-0-8240-0043-1. 2007年1月20日時点のオリジナルよりアーカイブ。2013年10月24日閲覧。
- ルイ・クフィナル(1933年)。計算機としての機械。 leurs プリンシペ、leur évolution。パリ:ゴーティエ・ヴィラール。
- Digital Equipment Corporation (1972). PDP-11/40 プロセッサ ハンドブック(PDF) . Maynard, MA : Digital Equipment Corporation. 2017 年 12 月 1 日時点のオリジナルよりアーカイブ(PDF) . 2017 年11 月 27 日閲覧。
- Swade, Doron D. (1993 年 2 月)。「チャールズ・バベッジの機械式コンピュータの復活」。サイエンティフィック・アメリカン。268 (2): 86–91。Bibcode :1993SciAm.268b..86S。doi :10.1038/scientificamerican0293-86。JSTOR 24941379 。
- エッシンジャー、ジェームズ(2004年)。『ジャカードのウェブ:手織り機がいかにして情報化時代の誕生を導いたか』オックスフォード大学出版局。ISBN 978-0-19-280577-5。
- エヴァンス、クレア L. (2018)。『ブロードバンド: インターネットを作った女性たちの知られざる物語』。ニューヨーク: ポートフォリオ/ペンギン。ISBN 978-0-7352-1175-9. 2020年11月9日閲覧。
- フェルト、ドール E. (1916)。『機械算術、または計算機の歴史』シカゴ:ワシントン研究所。
- イフラ、ジョルジュ(2001年)。『コンピューティングの普遍史:そろばんから量子コンピュータまで』ニューヨーク:ジョン・ワイリー・アンド・サンズ。ISBN 978-0-471-39671-0。
- ラヴィントン、サイモン (1998)。マンチェスターコンピュータの歴史(第 2 版)。スウィンドン: 英国コンピュータ協会。ISBN 978-0-902505-01-8。
- ロバート・リゴニエール(1987)。事前履歴と計画履歴。パリ:ロバート・ラフォント。ISBN 978-2-221-05261-7。
- ライト、ジェニファー S. (1999)。「コンピューターが女性だった頃」。テクノロジーと文化。40 (3): 455–483。doi :10.1353 / tech.1999.0128。JSTOR 25147356。S2CID 108407884 。
- Meuer, Hans ; Strohmaier, Erich; Simon, Horst; Dongarra, Jack (2006 年 11 月 13 日)。「Architectures Share Over Time」。TOP500。2007年 2 月 20 日時点のオリジナルよりアーカイブ。2006年11 月 27 日閲覧。
- モーズリー、マボス (1964)。短気な天才、チャールズ・バベッジ、発明家。ロンドン: ハッチンソン。
- Randell, Brian (1982)。「解析エンジンから電子デジタルコンピュータへ: Ludgate、Torres、Bush の貢献」(PDF)。2013 年 9 月 21 日時点のオリジナル(PDF)からアーカイブ。2013年10 月 29 日閲覧。
- Schmandt-Besserat, Denise (1999). 「トークン: 認知的意義」. Documenta Praehistorica . XXVI . 2012年1月30日時点のオリジナルよりアーカイブ。
- Schmandt-Besserat, Denise (1981). 「最古の粘土板の解読」. Science . 211 (4479): 283–285. Bibcode :1981Sci...211..283S. doi :10.1126/science.211.4479.283. PMID 17748027.
- スミス、エリカ E. (2013)。「コンピューティングにおける女性の歴史を通して集合的継承を認識する」CLCWeb:比較文学と文化。15 (1):1–9。doi :10.7771 / 1481-4374.1972。
- Verma, G.; Mielke, N. (1988). ETOX ベースのフラッシュ メモリの信頼性性能。IEEE 国際信頼性物理シンポジウム。
- ズーゼ、コンラッド (1993)。コンピューター – 私の人生。ベルリン: プリングラー・フェルラーク。ISBN 978-0-387-56453-1。
外部リンク
