コンピューター

ページは半保護されています

初期のコンピューターで何百本もの真空管のうち1本を交換する男性の白黒画像
複数のコンピュータキャビネットと操作パネルを備えたコンピュータ室
虹のようなディスプレイを備えたスマートフォンを手に持つ
上部にモニター、前面にキーボードを備えた黒のデスクトップ コンピューター
コントローラーが付属した紫色のビデオゲームコンソール
倉庫のような部屋に並ぶ、大きくて暗いコンピューターキャビネット
さまざまな時代のコンピューターとコンピューティング デバイス (左から右、上から下):

コンピュータは、一連の算術演算または論理演算計算)を自動的に実行するようにプログラムできる機械です。現代のデジタル電子コンピュータは、プログラムと呼ばれる一般的な一連の演算を実行でき、これによりコンピュータは幅広いタスクを実行できます。コンピュータシステムという用語は、ハードウェアオペレーティングシステムソフトウェア、および周辺機器を含む、名目上完全なコンピュータを指す場合もあれば、コンピュータネットワークコンピュータクラスタのように、相互にリンクされ連携して機能するコンピュータのグループを指す場合もあります。

電子レンジリモコンなどのシンプルな専用機器から、産業用ロボットなどの工場設備まで、幅広い産業製品消費者製品でコンピュータが制御システムとして利用されています。コンピュータは、パーソナルコンピュータなどの汎用機器やスマートフォンなどのモバイル機器の中核を担っています。また、数十億台のコンピュータとユーザーをつなぐインターネットも、コンピュータによって支えられています。

初期のコンピュータは計算のみに使用することを想定されていました。そろばんなどの簡単な手動器具は、太古の昔から人々の計算に役立ってきました。産業革命の初期には、織機のパターン誘導など、長くて退屈な作業を自動化する機械装置がいくつか作られました。20世紀初頭には、より高度な電気機械が特殊なアナログ計算を行うようになりました。最初のデジタル電子計算機は、電気機械式熱電子バルブを使用したものの両方で、第二次世界大戦中に開発されました。 1940年代後半に最初の半導体トランジスタが登場し、1950年代後半にはシリコンベースのMOSFET(MOSトランジスタ)とモノリシック集積回路チップ技術が続き、1970年代にはマイクロプロセッサマイクロコンピュータ革命が起こりました。それ以来、コンピュータの速度、電力、汎用性は劇的に向上しており、トランジスタ数も急速に増加しています(ムーアの法則によれば、トランジスタ数は2年ごとに倍増します)。これが、20世紀後半から21世紀初頭にかけての デジタル革命につながりました。

一般的に、現代のコンピュータは、少なくとも1つの処理要素(通常はマイクロプロセッサの形態をとる中央処理装置(CPU))と、何らかのタイプのコンピュータメモリ(通常は半導体メモリチップ)で構成されています。処理要素は算術演算と論理演算を実行し、シーケンスおよび制御装置は格納された情報に応じて演算の順序を変更できます。周辺機器には、入力デバイス(キーボードマウスジョイスティックなど)、出力デバイス(モニタープリンターなど)、および両方の機能を実行する入出力デバイスタッチスクリーンなど)が含まれます。周辺機器を使用すると、外部ソースから情報を取得したり、演算結果を保存して取得したりできます。

語源

人間型コンピューター。
顕微鏡と計算機を備えた人間型コンピューター、1952年

この言葉が現代的な意味を獲得したのは20世紀半ばになってからである。オックスフォード英語辞典によると、 「コンピュータ」という言葉が初めて使われたのは、1613年にイギ​​リスの作家リチャード・ブラスウェイトが著し『若者の落穂拾い』という本の中で、別の意味で使われていた。 「私は、この時代の最も真実なコンピュータと、この世に息づく最高の算術師を読んだ。そして彼は汝の日々を短い数字へと縮めたのだ。」この用法は、計算や演算を行う人間、つまり人間コンピュータを指していた。この言葉は20世紀半ばまで同じ意味を持ち続けた。この時期の後半には、男性よりも賃金が低かったため、女性がコンピュータとして雇われることが多かった。[ 1 ] 1943年までに、人間コンピュータのほとんどが女性になった。[ 2 ]

オンライン語源辞典によると、コンピュータという語の最初の使用は1640年代で、「計算する人」という意味で、これは「compute(動詞)の動詞名詞」である。オンライン語源辞典によると、この語が(あらゆるタイプの)計算機」という意味で使われ始めたのは1897年である。オンライン語源辞典によると、この語が「プログラム可能なデジタル電子計算機」という意味で「現代的な用法」として使われるようになったのは、「1945年にこの名称で、理論的な意味では1937年にチューリングマシンとして」である。[ 3 ]現代のコンピュータは多くの高レベル機能を実行できるにもかかわらず、この名称は今も使われている。

歴史

20世紀以前

イシャンゴ骨は先史時代のアフリカに遡る骨の道具である。

計算を助けるための道具は何千年もの間使われてきましたが、そのほとんどは一対一の対応関係をとっています。最も初期の計数器は、おそらく数え棒の一種でした。肥沃な三日月地帯全域で後世に使われた記録保存用具には、中空の未焼成の粘土容器に封入された、家畜や穀物などの物品の数を表す計数器(粘土の球、円錐など)が含まれていました。[ a ] [ 4 ]計数棒の使用はその一例です。

中国の算盤すうはん)。このそろばんで表される数字は6,302,715,408です。

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

アンティキティラ島の機械は、紀元前200~80年頃の古代ギリシャに遡る、初期のアナログ計算装置です。

デレク・J・デ・ソラ・プライスによると、アンティキティラ島の機械は、現存する最古の機械式アナログコンピュータと考えられている[6]。天文位置を計算するために設計されたこの機械は、1901年にギリシャのアンティキティ島沖キティラ島とクレタ島の間にあるアンティキティラ島の沈没船から発見され、 紀元前100年頃のものと推定されている。アンティキティラ島の機械に匹敵する複雑な装置は、14世紀まで再び現れることはなかった[ 7 ] 。

天文学や航海術のために、計算や測定のための多くの機械装置が作られました。星座早見盤は、11世紀初頭にアブー・ライハン・アル=ビールーニーによって発明された星図です。 [ 8 ]アストロラーベは、紀元前1世紀か2世紀にヘレニズム世界で発明され、しばしばヒッパルコスの発明とされています。星座早見盤ジオプトラを組み合わせたアストロラーベは、球面天文学における様々な問題を解くことができるアナログ計算機でした。機械式カレンダーコンピュータ[ 9 ] [ 10 ]歯車を組み込んだアストロラーベは、1235年にペルシャエスファハーンのアビー・バクルによって発明されました。[ 11 ]アブー・ライハーン・アル・ビールーニーは、最初の機械式ギア付き太陰太陽暦アストロラーベ[ 12 ]と、歯車列と歯車を備えた初期の固定ワイヤード知識処理マシン[ 13 ]を発明しまし[ 14 ]

セクター、比例、三角法、乗算、除算、平方根や立方根などのさまざまな関数の問題を解くために使用される計算機器であり、16 世紀後半に開発され、砲術、測量、航海に応用されました。

プラニメーター、機械的なリンクで閉じた図形上をなぞることでその面積を計算する手動の計器でした。

計算尺

計算尺は対数の概念が発表された直後の1620年から1630年頃、イギリスの牧師ウィリアム・オートレッドによって発明されました。これは、掛け算と割り算を行うための手動のアナログ計算機です。計算尺の開発が進むにつれて、目盛りが追加され、逆数、平方と平方根、立方と立方根、さらには対数や指数などの超越関数、円三角法や双曲三角法などの関数が計算できるようになりました。特殊な目盛りを持つ計算尺は、軽飛行機の時間と距離の計算に使用されるE6B円形計算尺のように、日常的な計算を迅速に行うために今でも使用されています。

1770年代、スイスの時計職人ピエール・ジャケ=ドローは、羽根ペンを持って文字を書くことができる機械人形(オートマトン)を製作しました。内部の歯車の数と順序を切り替えることで、異なる文字、ひいては異なるメッセージを生成することができました。つまり、機械的に「プログラム」して指示を読み取ることができたのです。この人形は、他の2つの複雑な機械とともに、スイスヌーシャテル美術史博物館に所蔵されており、現在も稼働しています。[ 15 ]

1831年から1835年にかけて、数学者であり技術者でもあったジョヴァンニ・プラナは、滑車とシリンダーのシステムを用いて、西暦0年(つまり紀元前1年)から西暦4000年までの毎年の永久暦を予測し、閏年や昼の長さの変化も考慮できる万年暦装置を考案しました。1872にスコットランドの科学者ウィリアム・トムソン卿が発明した潮汐予測装置は、浅瀬での航行に非常に役立ちました。この装置は、滑車とワイヤーのシステムを用いて、特定の場所における一定期間の潮位予測を自動的に計算しました。

微分解析装置は、積分によって微分方程式を解くように設計された機械式アナログ計算機で、ホイールとディスクの機構を用いて積分を実行した。1876年、ウィリアム・トムソン卿は既にそのような計算機の構築の可能性について議論していたが、ボールとディスクの積分装置の出力トルクの限界に阻まれていた。[ 16 ]微分解析装置では、1つの積分装置の出力が次の積分装置の入力、つまりグラフ出力を駆動する。トルク増幅器は、これらの機械を動作させる進歩であった。1920年代から、ヴァネヴァー・ブッシュらは機械式微分解析装置を開発した。

1890年代、スペインの技術者レオナルド・トーレス・ケベドは、多項式の実根と複素根を解くことができる一連の高度なアナログ機械の開発を開始し、[ 17 ] [ 18 ] [ 19 ] [ 20 ] 、1901年にパリ科学アカデミーによって出版されました。[ 21 ]

最初のコンピューター

チャールズ・バベッジ
バベッジの階差機関の一部を示す図
シアトルのIntellectual Ventures研究所にあるDifference Engine 2号機

イギリスの機械工学者であり博学者でもあったチャールズ・バベッジは、プログラム可能なコンピュータの概念を創始しました。「コンピュータの父[ 22 ]と称される彼は、19世紀初頭に最初の機械式コンピュータを概念化し、発明しました。

差分機関の開発を終えた彼は、1822年に王立天文学会に提出した論文「天文表および数学表の計算への機械の応用に関する覚書」の中で、その発明を発表しました。[ 23 ]彼は航海計算を支援するための設計も行い、1833年にはより汎用的な設計である解析機関の実現可能性に気づきました。プログラムとデータの入力は、当時ジャカード織機などの機械式織機を制御するために使用されていたパンチカードを介して機械に与えられました。出力には、プリンター、曲線プロッター、ベルが備えられていました。また、カードに数字をパンチして後で読み込むことも可能でした。この機関は算術論理演算装置条件分岐ループによる制御フロー、そして統合メモリを備えており、現代の言葉で言えばチューリング完全と言える汎用コンピュータの最初の設計となりました。[ 24 ] [ 25 ]

この機械は時代を約1世紀も先取りしていました。彼の機械の部品はすべて手作業で作らなければならず、これは数千の部品からなる装置にとって大きな問題でした。最終的に、英国政府が資金提供を打ち切ることを決定したことで、プロジェクトは解散しました。バベッジが解析機関を完成できなかったのは、主に政治的・財政的困難に加え、ますます高度なコンピュータを開発し、誰よりも速く進歩したいという彼の願望によるものでした。しかしながら、彼の息子ヘンリー・バベッジは1888年に解析機関の計算ユニット(ミル)の簡略版を完成させました。彼は1906年に、このミルを使って表を計算するデモンストレーションに成功しました。

電気機械式計算機

レオナルド・トーレス・ケベドによる電気機械式計算機(1920年)。

レオナルド・トーレス・ケベドは1914年に出版した著書『オートマチックに関するエッセイ』の中で、バベッジが機械式階差機関と解析機関の構築に取り組んだ経緯を簡潔に記しています。この論文には、一連の値集合に対して のような式を計算できる機械の設計が記載されています。機械全体は読み取り専用プログラムによって制御され、条件分岐機能も備えていました。彼はまた、浮動小数点演算の概念も導入しました。[ 26 ] [ 27 ] [ 28 ] 1920年、算数計の発明100周年を記念して、トーレスはパリで電気機械算数計を発表しました。これは、ユーザーがキーボードから算数の問題を入力し、結果を計算して印刷することを可能にし、[ 29 ] [ 30 ] [ 31 ] [ 32 ]電気機械解析エンジンの実現可能性を実証しました。[ 33 ]1つの×yz2{\displaystyle a^{x}(yz)^{2}}

アナログコンピュータ

ウィリアム・トムソン卿の3番目の潮汐予測機械の設計、1879~1881年

20 世紀前半、多くの科学計算のニーズは、計算の基礎として問題の直接的な機械的または電気的モデルを使用する、ますます洗練されたアナログコンピュータによって満たされました。しかし、これらはプログラム可能ではなく、一般に現代のデジタルコンピュータのような汎用性や精度を欠いていました。[ 34 ]最初の近代的なアナログコンピュータは、1872 年にウィリアム・トムソン卿(後のケルビン卿)によって発明された潮汐予測機でした。微分解析装置は、ホイールとディスクのメカニズムを使用して積分によって微分方程式を解くように設計された機械式アナログコンピュータで、1876 年に、より有名なウィリアム・トムソン卿の兄であるジェームズ・トムソンによって概念化されました。 [ 16 ]

機械式アナログ計算の技術は、1931年にMITヴァネヴァー・ブッシュが完成させた微分解析装置で頂点に達した。[ 35 ] 1950年代までには、デジタル電子計算機の成功により多くのアナログ計算機は終焉を迎えたが、アナログ計算機は1950年代を通じて、教育(計算尺)や航空機(制御システム)などの特殊な用途で使用され続けた。

デジタルコンピュータ

電気機械

クロード・シャノンの1937年の修士論文はデジタルコンピューティングの基礎を築き、ブール代数をスイッチング回路の分析と合成に適用するという彼の洞察は、すべての電子デジタルコンピュータの基礎となる基本概念となっています。[ 36 ] [ 37 ]

1938年までに、アメリカ海軍は潜水艦用の電気機械式アナログコンピュータである魚雷データコンピュータを開発しました。これは三角法を用いて移動する目標への魚雷発射問題を解くものでした。第二次世界大戦中、同様の装置が他国でも開発されました。[ 38 ]

コンラート・ツーゼZ3のレプリカ。世界初の全自動デジタル(電気機械式)コンピュータ。

初期のデジタルコンピュータは電気機械式で、電気スイッチが機械式リレーを駆動して計算を実行していました。これらの装置は動作速度が遅く、最終的には真空管を用いたはるかに高速な全電気式コンピュータに取って代わられました。 1939年にドイツの技術者コンラート・ツーゼによってベルリンで開発されたZ2は、電気機械式リレーコンピュータの最も初期の例の一つでした。[ 39 ]

コンラート・ズーゼ、現代のコンピューターの発明者[ 40 ] [ 41 ]

1941年、ツーゼは以前のマシンに続き、世界初となる電気機械式プログラマブル全自動デジタルコンピュータZ3を開発した。 [ 42 ] [ 43 ] Z3は2000個のリレーを搭載し、22ビットのワード長を実現し、クロック周波数は約5~10Hzだった。[ 44 ]プログラムコードはパンチフィルムで提供され、データは64ワードのメモリに保存するか、キーボードから入力することができた。いくつかの点で現代のマシンと非常に似ており、浮動小数点数など、数多くの進歩の先駆けとなった。実装が難しい10進法(チャールズ・バベッジの初期の設計で使用されていた)ではなく、2進法を採用したことで、ツーゼのマシンは構築が容易になり、当時の技術では信頼性が高くなる可能性があった。[ 45 ] Z3自体は汎用コンピュータではなかったが、チューリング完全になるように拡張することができた。[ 46 ] [ 47 ]

ツーゼの次のコンピュータZ4は世界初の商用コンピュータとなった。第二次世界大戦による当初の遅延の後、1950年に完成し、チューリッヒ工科大学に納入された。[ 48 ]このコンピュータはツーゼ自身の会社であるZuse KGで製造された。同社は1941年にベルリンでコンピュータ開発を唯一の目的とした最初の会社として設立された。[ 48 ] Z4は、スイスで最初のコンピュータであり、ヨーロッパでも最初のコンピュータの1つであるERMETHの構築のインスピレーションとなった。 [ 49 ]

真空管とデジタル電子回路

純粋に電子的な回路要素が、機械式および電気機械式の同等の要素に取って代わり、同時にデジタル計算がアナログ式に取って代わりました。 1930年代、ロンドンの郵便局研究所で働いていた技術者のトミー・フラワーズは、電話交換機への電子機器の利用可能性を模索し始めました。彼が1934年に製作した実験装置は5年後に稼働し、電話交換機ネットワークの一部を数千本の真空管を用いた電子データ処理システムに変換しました。[ 34 ]米国では、アイオワ州立大学ジョン・ヴィンセント・アタナソフクリフォード・E・ベリーが1942年にアタナソフ・ベリー・コンピュータ(ABC)を開発・試験しました。 [ 50 ]これは最初の「自動電子デジタルコンピュータ」でした。[ 51 ]この設計も完全に電子化されており、約300本の真空管と、メモリ用の機械的に回転するドラムに固定されたコンデンサが使用されていました。[ 52 ]

コロッサス コンピューターのそばに 2 人の女性がいます。
世界初の電子デジタルプログラム可能計算機であるコロッサスは、第二次世界大戦中にドイツの暗号解読に使用されました。写真は1943年、ブレッチリー・パークで使用されている様子です。

第二次世界大戦中、ブレッチリー・パークのイギリスの暗号解読者たちは、ドイツ軍の暗号化された通信を解読することに数々の成功を収めた。ドイツの暗号機エニグマは、しばしば女性が操作していた電気機械式爆弾の助けを借りて初めて攻撃された。[ 53 ] [ 54 ]陸軍の高官級通信に使用されていた、より高度なドイツのロレンツSZ 40/42暗号機を解読するために、マックス・ニューマンと彼の同僚はフラワーズにコロッサスの製造を依頼した。[ 52 ]彼は1943年2月初旬から11ヶ月をかけて最初のコロッサスを設計・製造した。[ 55 ] 1943年12月に機能テストが行​​われた後、コロッサスはブレッチリー・パークに出荷され、1944年1月18日に配達され[ 56 ]、2月5日に最初のメッセージを攻撃した。[ 52 ]

Colossusは世界初の電子デジタルプログラム可能コンピュータでした。[ 34 ]多数の真空管(バルブ)を使用していました。紙テープ入力を備え、データに対して様々なブール論理演算を実行するように設定できましたが、チューリング完全ではありませんでした。Mk II Colossiは9台製造されました(Mk IはMk IIに改造され、合計10台になりました)。Colossus Mark Iには1,500個の熱電子バルブ(真空管)が搭載されていましたが、2,400個のバルブを搭載したMark IIはMark Iよりも5倍高速で操作も簡単で、デコード処理を大幅に高速化しました。[ 57 ] [ 58 ]

ENIAC は世界初の電子式でチューリング完全な装置であり、アメリカ陸軍のために弾道軌道の計算を実行した。

ENIAC [ 59 ] (Electronic Numerical Integrator and Computer)は、アメリカ合衆国で初めて製造された電子式プログラム可能コンピュータでした。ENIACはColossusに類似していましたが、はるかに高速で柔軟性が高く、チューリング完全でした。Colossusと同様に、ENIAC上の「プログラム」はパッチケーブルとスイッチの状態によって定義され、後に登場したプログラム記憶型の電子機械とは大きく異なっていました。プログラムを書き込んだら、プラグとスイッチを手動でリセットして機械に機械的にセットする必要がありました。ENIACのプログラマーは6人の女性で、しばしば「ENIACガールズ」として知られています。[ 60 ] [ 61 ]

ENIACは、電子工学の高速性と多くの複雑な問題に対応するプログラム能力を兼ね備えていました。1秒間に5000回の加減算が可能で、これは他のどの機械よりも1000倍高速でした。また、乗算、除算、平方根を求めるモジュールも備えていました。高速メモリは20ワード(約80バイト)に制限されていました。ペンシルベニア大学のジョン・モークリーJ・プレスパー・エッカートの指揮の下、ENIACの開発と構築は1943年から1945年末の完全稼働まで続きました。この機械は巨大で、重量は30トン、消費電力は200キロワット、18,000本以上の真空管、1,500個のリレー、そして数十万個の抵抗器、コンデンサ、インダクタを搭載していました。[ 62 ]

現代のコンピューター

現代のコンピュータの概念

現代コンピュータの原理は、アラン・チューリングが1936年に発表した画期的な論文[ 63 ]「計算可能数について」で提唱した。チューリングは「万能計算機」と名付けた単純な装置を提案し、これは現在では万能チューリングマシンとして知られている。彼は、この機械はテープ上に保存された命令(プログラム)を実行することで計算可能なあらゆる計算が可能であり、プログラム可能であることを証明した。チューリングの設計の基本概念は、計算のためのすべての命令がメモリに保存されるストアードプログラムである。フォン・ノイマンは、現代コンピュータの中心概念はこの論文によるものだと認めている[ 64 ] 。チューリングマシンは今日に至るまで計算理論の中心的な研究対象となっている。有限のメモリによる制限を除けば、現代のコンピュータはチューリング完全であると言われている。つまり、万能チューリングマシンと同等の アルゴリズム実行能力を持っているということである。

ストアドプログラム

電子回路基板を収納した3つの背の高いラック
最初の電子式プログラム記憶式コンピュータであるマンチェスター・ベイビーの復元された部分

初期の計算機はプログラムが固定されており、機能を変更するには機械の配線と構造を再構築する必要がありました。[ 52 ]プログラム内蔵型計算機の提案により、この状況は変わりました。プログラム内蔵型計算機は設計上命令セットを備えており、計算の詳細を記述した命令セット(プログラム)をメモリに格納できます。プログラム内蔵型計算機の理論的基礎は、アラン・チューリングが1936年の論文で示しました。1945年、チューリングは国立物理学研究所に加わり、電子式プログラム内蔵型デジタル計算機の開発に着手しました。1945年の報告書「提案された電子計算機」は、そのような装置の最初の仕様でした。ペンシルベニア大学のジョン・フォン・ノイマンも、 1945年にEDVACに関する報告書の第一草稿を配布しました。[ 34 ]

マンチェスター・ベイビーは世界初のプログラム内蔵式コンピュータであった。イギリスのマンチェスター大学でフレデリック・C・ウィリアムズトム・キルバーンジェフ・トゥーティルによって製作され、1948年6月21日に最初のプログラムを実行した。[ 65 ]これは、世界初のランダムアクセス・デジタル記憶装置であるウィリアムズ管テストベッドとして設計された。 [ 66 ] 1998年の回顧展ではこのコンピュータは「小型で原始的」と評されたが、現代の電子コンピュータに不可欠な要素をすべて備えた初の実用マシンであった。[ 67 ]ベイビーの設計の実現可能性が実証されるとすぐに、大学ではそれを実用的なコンピュータ、マンチェスター・マーク1に開発するプロジェクトが開始された。

Mark 1はすぐに、世界初の商用汎用コンピュータであるFerranti Mark 1のプロトタイプになりました。 [ 68 ] Ferrantiによって構築され、1951年2月にマンチェスター大学に納入されました。これらの後期マシンのうち少なくとも7台は1953年から1957年の間に納入され、そのうち1台はアムステルダムのシェル研究所に納入されました。[ 69 ] 1947年10月、英国のケータリング会社J. Lyons & Companyの取締役は、コンピュータの商用開発を促進する上で積極的な役割を果たすことを決定しました。LyonsのLEO Iコンピュータは、1949年のCambridge EDSACを厳密にモデルにしており、1951年4月に運用を開始し[ 70 ]、世界初の日常的なオフィスコンピュータジョブを実行しました。

トランジスタ

バイポーラ接合トランジスタ(BJT)

電界効果トランジスタの概念は、1925年にジュリアス・エドガー・リリエンフェルトによって提唱されました。ベル研究所でウィリアム・ショックレーの指導を受けていたジョン・バーディーンウォルター・ブラッテンは、1947年に最初の実用的なトランジスタである点接触型トランジスタを開発しました。これに続き、 1948年にはショックレーがバイポーラ接合型トランジスタを開発しました。 [ 71 ] [ 72 ] 1955年以降、コンピュータ設計において真空管がトランジスタに置き換えられ、「第二世代」のコンピュータが誕生しました。真空管と比較して、トランジスタには多くの利点があります。小型で消費電力が少ないため、発熱も少なくなります。接合型トランジスタは真空管よりもはるかに信頼性が高く、寿命も長く、無期限でした。トランジスタ化されたコンピュータは、比較的コンパクトなスペースに数万個のバイナリ論理回路を収容できました。しかし、初期の接合型トランジスタは比較的大型で大量生産が困難であり、限られた用途に限定されていました。[ 73 ]

マンチェスター大学では、トム・キルバーン率いるチームが、真空管の代わりに新開発のトランジスタを使った機械を設計・製作した。[ 74 ]彼らが製作した最初の、そして世界初のトランジスタ化コンピュータは1953年に稼働を開始し、2番目のバージョンは1955年4月に完成した。しかし、この機械は125kHzのクロック波形を生成するためと、磁気ドラムメモリの読み書き回路に真空管を使用していたため、完全にトランジスタ化された最初のコンピュータはなかった。その栄誉は、ハーウェル原子力研究所の電子工学部門で製作された1955年のハーウェルCADETに与えられる。[ 75 ] [ 76 ]

MOSFET(MOSトランジスタ)。ゲート(G)、ボディ(B)、ソース(S)、ドレイン(D)端子を示しています。ゲートは絶縁層(ピンク色)によってボディから分離されています。

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

集積回路

集積回路は通常、IC を損傷から保護し、組み立てを容易にするために、プラスチック、金属、またはセラミックのケースにパッケージ化されています。

計算能力における次の大きな進歩は、集積回路(IC)の登場でした。集積回路のアイデアは、国防省王立レーダー研究所に勤務していたレーダー科学者、ジェフリー・W・A・ダマーによって初めて考案されました。ダマー19525月7日、ワシントンD.C.で開催された「電子部品の品質向上に関するシンポジウム」において、集積回路に関する最初の公開説明を発表しました。[ 93 ]

最初の実用的なICは、テキサス・インスツルメンツジャック・キルビーフェアチャイルド・セミコンダクターロバート・ノイスによって発明されました。[ 94 ]キルビーは1958年7月に集積回路に関する最初のアイデアを記録し、1958年9月12日に最初の実用的な集積回路の実演に成功しました。[ 95 ] 1959年2月6日の特許出願において、キルビーは新しいデバイスを「電子回路のすべてのコンポーネントが完全に統合された半導体材料の本体」と説明しました。[ 96 ] [ 97 ]しかし、キルビーの発明はモノリシック集積回路(IC)チップではなく、ハイブリッド集積回路(ハイブリッドIC)でした。[ 98 ]キルビーのICは外部配線接続を備えていたため、量産が困難でした。[ 99 ]

ノイスもキルビーより半年遅れて集積回路のアイデアを思いついた。[ 100 ]ノイスの発明は、世界初の真のモノリシックICチップだった。[ 101 ] [ 99 ]彼のチップは、キルビーのチップが解決できなかった多くの実際的な問題を解決した。フェアチャイルドセミコンダクターで生産されたノイスのチップはシリコン製だったが、キルビーのチップはゲルマニウム製だった。ノイスのモノリシックICは、1959年初頭に同僚のジーン・ホーニが開発したプレーナプロセスを使用して製造された。プレーナプロセスは、カール・フロッシュとリンカーン・デリックの二酸化ケイ素による半導体表面パッシベーションに関する研究に基づいていた。[ 102 ] [ 103 ] [ 104 ] [ 105 ] [ 106 ] [ 107 ]

現代のモノリシック IC は主に MOS (金属酸化膜半導体) 集積回路で、MOSFET (MOS トランジスタ) から作られています。[ 108 ]最も初期の実験的な MOS IC は、1962年にRCAで Fred Heiman と Steven Hofstein が作った 16 個のトランジスタのチップでした。 [ 109 ] その後、General Microelectronics が1964 年に最初の商用MOS IC を発表しました。 [ 110 ]これはRobert Norman が開発しました。[ 109 ] 1967 年に Bell Labs のRobert Kerwin、 Donald Klein 、John Sarace が自己整合ゲート(シリコン ゲート) MOS トランジスタを開発した後、 1968 年に Fairchild Semiconductor のFederico Fagginが自己整合ゲートを持つ最初のシリコン ゲート MOS IC を開発しました。[ 111 ] [ 108 ]

MOS 6502のダイ写真。1970 年代初頭に 3500 個のトランジスタを 1 つのチップに集積したマイクロプロセッサ。

MOS集積回路の開発はマイクロプロセッサの発明につながり、[ 112 ] [ 113 ]、コンピュータの商用利用と個人利用の爆発的な増加を予感させました。どのデバイスが最初のマイクロプロセッサであったかという問題は、「マイクロプロセッサ」という用語の正確な定義に関する合意の欠如などから議論の的となっていますが、最初のシングルチップ・マイクロプロセッサがインテル4004であったことはほぼ異論がありません。 [ 114 ]これは、フェデリコ・ファギンがシリコンゲートMOS IC技術を用いて設計・実現したもので、[ 112 ]インテルテッド・ホフ嶋正敏スタンレー・メイザーと共に設計・実現されました。[ b ] [ 116 ] 1970年代初頭、MOS IC技術により、10,000個以上のトランジスタを1つのチップに集積することが可能になりました。 [ 86 ]

システム オン チップ(SoC) は、コインサイズのマイクロチップ(またはチップ)上の完全なコンピュータです。 [ 117 ] RAMフラッシュメモリが統合されている場合とそうでない場合があります。統合されていない場合、RAM は通常 SoC の真上 (パッケージ オン パッケージと呼ばれる) または下 (回路基板の反対側) に配置され、フラッシュメモリは通常 SoC のすぐ隣に配置されます。これは、データ信号を長距離移動する必要がないため、データ転送速度を向上させるために行われます。1945 年の ENIAC 以来、コンピュータは飛躍的に進歩し、最新の SoC (Snapdragon 865 など) はコインサイズでありながら、ENIAC の何十万倍も強力で、何十億ものトランジスタを統合し、消費電力はわずか数ワットです。

モバイルコンピューター

最初のモバイルコンピュータは重く、主電源で動作していました。50ポンド(23kg)のIBM 5100がその初期の例です。その後のOsborne 1Compaq Portableなどのポータブルコンピュータは大幅に軽量化されましたが、それでも電源に接続する必要がありました。Grid Compassなどの最初のラップトップコンピュータは、バッテリーを内蔵することでこの必要性をなくしました。そして、コンピューティングリソースの小型化とポータブルコンピュータのバッテリー寿命の進歩に伴い、2000年代にはポータブルコンピュータの人気が高まりました。[ 118 ]同様の進歩により、メーカーは2000年代初頭までにコンピューティングリソースを携帯電話に統合できるようになりました。

これらのスマートフォンタブレットは、様々なオペレーティングシステム上で動作し、最近では市場で最も主流のコンピューティングデバイスとなっています。[ 119 ]これらは、コインサイズのマイクロチップ上に完全なコンピュータを搭載したシステムオンチップ(SoC)によって駆動されています。 [ 117 ]

種類

コンピュータは、次のようにさまざまな方法で分類できます。

建築によって

サイズ、フォームファクター、目的別

非従来型コンピューター

コンピュータは電子的である必要はなく、プロセッサRAM 、ハードディスクさえも備えている必要はありません。「コンピュータ」という言葉は一般的にパーソナル電子コンピュータと同義語として用いられていますが、[ c ]現代の典型的なコンピュータの定義は、「計算を行う装置、特に高速な数学的または論理的演算を実行する、または情報を収集、保存、相関させ、その他の方法で処理する、プログラム可能な[通常は]電子機械」です。[ 124 ]この定義によれば、情報を処理するあらゆる装置がコンピュータに該当します。

ハードウェア

「スリムライン」コンピュータの標準コンポーネントを紹介するビデオ

ハードウェアという用語は、コンピュータを構成する実体的な物体であるすべての部品を指します。回路、コンピュータチップ、グラフィックカード、サウンドカード、メモリ(RAM)、マザーボード、ディスプレイ、電源、ケーブル、キーボード、プリンター、そして「マウス」といった入力デバイスはすべてハードウェアです。

コンピューティングハードウェアの歴史

第一世代(機械式/電気機械式)電卓パスカルの計算機算数計階差機関ケベドの解析機械
プログラム可能なデバイスジャカード織機解析エンジンIBM ASCC/Harvard Mark IHarvard Mark IIIBM SSECZ1Z2Z3
第2世代(真空管)電卓アタナソフ・ベリーコンピュータIBM 604UNIVAC 60UNIVAC 120
プログラム可能なデバイスコロッサスENIACマンチェスター ベイビーEDSACマンチェスター マーク 1フェランティ ペガサスフェランティ マーキュリーCSIRACEDVACUNIVAC IIBM 701IBM 702IBM 650Z22
第3世代(個別トランジスタとSSI、MSI、LSI集積回路メインフレームIBM 7090IBM 7080IBM System/360BUNCH
ミニコンピュータHP 2116AIBM System/32IBM System/36LINCPDP-8PDP-11
デスクトップコンピューターHP9100
第4世代(VLSI集積回路)ミニコンピュータVAXIBM AS/400
4ビットマイクロコンピュータインテル 4004インテル 4040
8ビットマイクロコンピュータIntel 8008Intel 8080Motorola 6800Motorola 6809MOS Technology 6502Zilog Z80
16ビットマイクロコンピュータインテル 8088ザイログ Z8000WDC 65816/65802
32ビットマイクロコンピュータインテル 80386ペンティアムモトローラ 68000ARM
64ビットマイクロコンピュータ[ d ]AlphaMIPSPA-RISCPowerPCSPARCx86-64ARMv8-A
組み込みコンピュータインテル 8048インテル 8051
パソコンデスクトップコンピュータホームコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント(PDA)、ポータブルコンピュータタブレットPCウェアラブルコンピュータ
理論/実験量子コンピュータIBM Q システム ワン
化学コンピュータ
DNAコンピューティング
光コンピュータ
スピントロニクスベースのコンピュータ
ウェットウェア/オーガニックコンピュータ

その他のハードウェアトピック

周辺機器(入出力入力マウスキーボードジョイスティック画像スキャナーウェブカメラグラフィックタブレットマイク
出力モニタープリンタースピーカー
両方フロッピーディスクドライブ、ハードディスクドライブ光ディスクドライブ、テレプリンター
コンピュータバス短距離RS-232SCSIPCIUSB
長距離(コンピュータネットワークイーサネットATMFDDI

汎用コンピュータは、算術論理ユニット(ALU)、制御装置メモリ、そして入出力装置(総称してI/O)という4つの主要コンポーネントで構成されています。これらの部品は、多くの場合、複数の配線で構成されたバスによって相互接続されています。各部品の内部には、電子スイッチによってオン/オフを切り替えることができる、数千から数兆もの小さな電気回路が組み込まれています。各回路は1ビット(2進数)の情報を表し、回路がオンのときは「1」、オフのときは「0」(正論理表現)を表します。これらの回路は論理ゲートに配置されており、1つまたは複数の回路が他の1つまたは複数の回路の状態を制御できます。

入力デバイス

入力デバイスは、コンピュータの動作を制御し、データを提供する手段です。例としては、以下のようなものがあります。

出力デバイス

出力デバイスとは、コンピュータが計算結果を人間が理解できる形式で提供する手段です。例としては、以下のようなものが挙げられます。

制御ユニット

特定のMIPSアーキテクチャ命令が制御システムによってどのようにデコードされるかを示す図

制御ユニット(制御システムまたは中央制御装置と呼ばれることが多い)は、コンピュータのさまざまなコンポーネントを管理します。プログラム命令を読み取って解釈(デコード)し、コンピュータの他の部分を起動する制御信号に変換します。[ e ]高度なコンピュータの制御システムは、パフォーマンスを向上させるために一部の命令の実行順序を変更する場合があります。

すべてのCPUに共通する重要なコンポーネントはプログラムカウンタです。これは、次の命令がメモリ内のどの位置から読み取られるかを追跡する特別なメモリセル(レジスタ)です。 [ f ]

制御システムの機能は次のとおりです。これは簡略化された説明であり、CPU の種類に応じて、これらの手順の一部が同時に実行されたり、異なる順序で実行されたりする場合があります。

  1. プログラム カウンターによって示されるセルから次の命令のコードを読み取ります。
  2. 命令の数値コードを他の各システムのコマンドまたは信号のセットにデコードします。
  3. プログラム カウンターを増分して次の命令を指すようにします。
  4. 命令に必要なデータをメモリ内のセル(または入力デバイス)から読み取ります。必要なデータの場所は、通常、命令コード内に格納されています。
  5. 必要なデータを ALU またはレジスタに提供します。
  6. 命令の完了に ALU または専用のハードウェアが必要な場合は、要求された操作を実行するようにハードウェアに指示します。
  7. ALU からの結果をメモリ位置、レジスタ、または出力デバイスに書き戻します。
  8. 手順(1)に戻ります。

プログラムカウンタは(概念的には)単なるメモリセルの集合体なので、ALUでの計算によって変更される可能性があります。プログラムカウンタに100を加えると、次の命令はプログラム内の100番目以降の場所から読み込まれます。プログラムカウンタを変更する命令はしばしば「ジャンプ」と呼ばれ、ループ(コンピュータによって繰り返される命令)や条件付き命令実行(どちらも制御フローの例)を可能にします。

制御ユニットが命令を処理するために実行する一連の操作自体は、短いコンピュータ プログラムのようなものです。実際、より複雑な CPU 設計の中には、マイクロシーケンサと呼ばれるさらに小さな別のコンピュータがあり、これらすべてのイベントを発生させる マイクロコードプログラムを実行します。

中央処理装置(CPU)

制御ユニット、ALU、レジスタは総称して中央処理装置(CPU)と呼ばれます。初期のCPUは多くの個別のコンポーネントで構成されていました。1970年代以降、CPUは通常、マイクロプロセッサと呼ばれる単一のMOS集積回路チップ上に構築されるようになりました。

算術論理ユニット(ALU)

ALUは、算術演算と論理演算という2種類の演算を実行できます。[ 125 ]特定のALUがサポートする算術演算は、加算と減算に限定される場合もあれば、乗算、除算、正弦、余弦などの三角関数、平方根などを含む場合もあります整数のみ演算できるものもあれば、精度は限られているものの浮動小数点を使用して実数を表すものもあります。しかし、最も単純な演算しか実行できないコンピュータであれば、より複雑な演算を、実行可能な単純なステップに分解するようにプログラムできます。したがって、あらゆるコンピュータであらゆる算術演算を実行できるようにプログラムできます。ただし、ALUがその演算を直接サポートしていない場合は、プログラムに時間がかかります。ALUは数値を比較し、一方が他方と等しいか、大きいか、小さいかに応じてブール値の真理値(真または偽)を返すこともできます(「64は65より大きいか?」)。論理演算にはブール論理ANDORXORNOT)が含まれます。これらは、複雑な条件文の作成やブール論理の処理に役立ちます。

スーパースカラコンピュータには複数のALUが搭載されており、複数の命令を同時に処理することができます。[ 126 ] SIMDおよびMIMD機能を備えたグラフィックスプロセッサやコンピュータには、ベクトル行列の演算を実行できるALUが搭載されていることがよくあります。

メモリ

磁気コアメモリ磁気コアを使用)は、1960 年代にコンピュータ メモリとして好まれていましたが、その後、半導体メモリMOSメモリ セルを使用)に置き換えられました。

コンピュータのメモリは、数値を格納したり読み込んだりできるセルのリストと考えることができます。各セルには番号付きの「アドレス」があり、単一の数値を格納できます。コンピュータに「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はCPUからの命令があればいつでも読み書きできますが、ROMには変更されないデータとソフトウェアがあらかじめロードされているため、CPUは読み取りのみ可能です。ROMは通常、コンピュータの初期起動命令を保存するために使用されます。一般的に、RAMの内容はコンピュータの電源を切ると消去されますが、ROMはデータを無期限に保持します。PCの場合、ROMにはBIOSと呼ばれる特殊なプログラムが含まれており、コンピュータの電源投入時またはリセット時に、ハードディスクドライブからコンピュータのオペレーティングシステムをRAMにロードする処理を制御します。ディスクドライブを搭載していないことが多い組み込みコンピュータでは、必要なソフトウェアはすべてROMに保存されます。ROMに保存されるソフトウェアは、概念的にソフトウェアというよりハードウェアに近いため、ファームウェアと呼ばれることがよくあります。フラッシュメモリは、電源を切ってもデータを保持し、書き換えも可能なため、ROMとRAMの区別が曖昧です。しかし、従来のROMやRAMよりもはるかに低速であるため、高速性が不要なアプリケーションにのみ使用されます。[ g ]

より高度なコンピュータでは、1つまたは複数のRAMキャッシュメモリが搭載されている場合があります。これはレジスタよりも低速ですが、メインメモリよりも高速です。一般的に、この種のキャッシュを搭載したコンピュータは、頻繁に使用されるデータを自動的にキャッシュに移動するように設計されており、多くの場合、プログラマーによる介入は必要ありません。

入出力(I/O)

ハードディスクドライブは、コンピューターで使用される一般的なストレージデバイスです。

I/O は、コンピュータが外部の世界と情報を交換する手段です。[ 128 ]コンピュータに入力または出力を提供するデバイスは、周辺機器と呼ばれます。[ 129 ]一般的なパーソナルコンピュータでは、周辺機器にはキーボードやマウスなどの入力デバイスと、ディスプレイプリンタなどの出力デバイスが含まれます。ハードディスクドライブフロッピーディスクドライブ、光ディスクドライブは、入力デバイスと出力デバイスの両方として機能します。コンピュータネットワーキングは、I/O の別の形式です。I/O デバイスは、独自の CPU とメモリを備えた、それ自体が複雑なコンピュータであることがよくあります。グラフィックス処理装置には、 3D グラフィックスを表示するために必要な計算を実行する 50 台以上の小さなコンピュータが含まれている場合があります。最新のデスクトップコンピュータには、I/O を実行する際にメイン CPU を支援する多くの小さなコンピュータが含まれています。2016 年頃のフラットスクリーンディスプレイには、独自のコンピュータ回路が含まれています。

マルチタスク

コンピュータはメインメモリに格納された巨大なプログラムを1つ実行しているように見えるかもしれませんが、システムによっては、複数のプログラムを同時に実行しているように見せかける必要があります。これはマルチタスク、つまりコンピュータが各プログラムを高速に切り替えて実行することによって実現されます。[ 130 ]これを実現する手段の一つは、割り込みと呼ばれる特殊な信号です。割り込みは、コンピュータが実行中の命令を定期的に停止させ、別の処理を実行させます。割り込み発生前の実行状況を記憶しておくことで、コンピュータは後でそのタスクに戻ることができます。複数のプログラムが「同時に」実行されている場合、割り込みジェネレータは1秒間に数百回の割り込みを発生させ、そのたびにプログラムを切り替える可能性があります。現代のコンピュータは通常、人間の知覚よりも数桁速く命令を実行するため、ある瞬間に実際に実行されているのは1つのプログラムだけであっても、複数のプログラムが同時に実行されているように見えることがあります。このマルチタスク方式は、各プログラムに順番に時間の「スライス」が割り当てられるため、「タイムシェアリング」と呼ばれることもあります。[ 131 ]

安価なコンピュータが登場する以前、マルチタスクの主な用途は、多くの人が同じコンピュータを共有することでした。一見すると、マルチタスクによって複数のプログラムを切り替えながら実行するコンピュータは、実行中のプログラムの数に比例して動作が遅くなるように思われますが、ほとんどのプログラムは、低速な入出力デバイスがタスクを完了するのを待つことに多くの時間を費やしています。ユーザーがマウスをクリックしたり、キーボードのキーを押したりするのを待つプログラムの場合、待機中のイベントが発生するまで「タイムスライス」を取る必要はありません。これにより、他のプログラムの実行時間が確保され、許容できない速度低下なしに多くのプログラムを同時に実行できるようになります。

マルチプロセッシング

Cray は、マルチプロセッシングを多用したスーパーコンピュータを数多く設計しました。

一部のコンピュータは、マルチプロセッサ構成において複数のCPUに処理を分散させるように設計されています。この技術はかつて、スーパーコンピュータメインフレームコンピュータサーバーといった大規模で強力なマシンでのみ採用されていました。現在では、マルチプロセッサおよびマルチコア(単一の集積回路上に複数のCPUを搭載)を搭載したパーソナルコンピュータやラップトップコンピュータが広く普及しており、その結果、ローエンド市場でもますます利用されるようになっています。

特にスーパーコンピュータは、基本的なプログラムストアードアーキテクチャや汎用コンピュータとは大きく異なる、非常に独特なアーキテクチャを持つことが多い。[ h ]多くの場合、数千個のCPU、カスタマイズされた高速インターコネクト、そして特殊なコンピューティングハードウェアを備えている。このような設計は、利用可能なリソースの大部分を一度に使用するために大規模なプログラム構成が必要となるため、特殊なタスクにのみ有効である傾向がある。スーパーコンピュータは通常、大規模シミュレーショングラフィックスレンダリング暗号化アプリケーション、そしていわゆる「驚異的並列」タスクで利用される。

ソフトウェア

ソフトウェアは、コンピュータシステムの一部であり、データやデータ処理方法に関する命令など、コンピュータの動作を決定する符号化された情報で構成されています。システムを構築する物理的なハードウェアとは異なり、ソフトウェアは実体がありません。ソフトウェアには、コンピュータプログラムライブラリ、およびオンラインドキュメントデジタルメディアなどの関連する非実行データが含まれます。ソフトウェアは、システムソフトウェアアプリケーションソフトウェアに分けられます。コンピュータのハードウェアとソフトウェアは互いに必要であり、どちらも単独では役に立ちません。IBM PC互換機のBIOS ROMのように、簡単に変更できないハードウェアに保存されているソフトウェアは、「ファームウェア」と呼ばれることがあります。

オペレーティングシステム/システムソフトウェア UnixBSDUNIX System VIBM AIXHP-UXSolarisSunOS)、IRIXBSDオペレーティングシステムの一覧
リナックスLinuxディストリビューションの一覧Linuxディストリビューションの比較
ウィンドウズWindows 95Windows 98Windows NTWindows 2000Windows MEWindows XPWindows VistaWindows 7Windows 8Windows 8.1Windows 10Windows 11
MS-DOS互換MS-DOSIBM PC DOSDR-DOSFreeDOS
マッククラシック Mac OSmacOS(以前の OS X および Mac OS X)
組み込み型リアルタイム組み込みオペレーティングシステムの一覧
実験的AmoebaOberonAOS、Bluebottle、A2Bell LabsのPlan 9
図書館マルチメディアDirectXOpenGLOpenALVulkan (API)
プログラミングライブラリC標準ライブラリ標準テンプレートライブラリ
データプロトコルTCP/IPカーミットFTPHTTPSMTP
ファイル形式HTMLXMLJPEGMPEGPNG
ユーザーインターフェースグラフィカルユーザーインターフェースWIMPWindowsGNOMEKDEQNX Photon、CDEGEMAqua
テキストベースのユーザーインターフェースコマンドラインインターフェーステキストユーザーインターフェース
アプリケーションソフトウェア オフィススイートワードプロセッサデスクトップパブリッシングプレゼンテーションプログラムデータベース管理システム、スケジュール管理と時間管理、スプレッドシート会計ソフトウェア
インターネットアクセスブラウザ電子メールクライアントWebサーバーメール転送エージェントインスタントメッセージング
設計と製造コンピュータ支援設計コンピュータ支援製造、プラント管理、ロボット製造、サプライチェーン管理
グラフィックラスターグラフィックエディターベクターグラフィックエディター3Dモデラーアニメーションエディター3Dコンピュータグラフィックスビデオ編集画像処理
オーディオデジタルオーディオエディターオーディオ再生ミキシングオーディオ合成コンピューターミュージック
ソフトウェアエンジニアリングコンパイラアセンブラインタプリタデバッガテキストエディタ統合開発環境ソフトウェア性能分析リビジョン管理ソフトウェア構成管理
教育エデュテインメント教育ゲームシリアスゲームフライトシミュレーター
ゲームストラテジーアーケードパズルシミュレーション一人称シューティングプラットフォーム大規模マルチプレイヤーインタラクティブフィクション
その他人工知能ウイルス対策ソフトウェアマルウェアスキャナインストーラ/パッケージ管理システムファイルマネージャ

プログラム

現代のコンピュータを他のすべての機械と区別する決定的な特徴は、プログラムできることです。つまり、何らかの命令(プログラム) をコンピュータに与えると、コンピュータがそれを処理します。フォン ノイマン アーキテクチャに基づく現代のコンピュータでは、多くの場合、命令型プログラミング言語の形式でマシン コードが使用されています。実際には、コンピュータ プログラムは、ワード プロセッサWeb ブラウザなどのプログラムのように、わずか数個の命令で構成されることもあれば、数百万個の命令に及ぶこともあります。一般的な現代のコンピュータは、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 , finish # 奇数が n より大きい場合は終了します。add $8 , $8 , $9 # 合計を更新します。addi $9 , $9 , 1 # 次の数jを取得します。 loop # 合計処理を繰り返します。 finish: add $2 , $8 , $0 # 合計を出力レジスタに格納します。

このプログラムを実行するよう指示されると、コンピューターは人間の介入なしに繰り返しの加算タスクを実行します。間違いはほとんど起こらず、現代のPCであればほんの一瞬でタスクを完了できます。

マシンコード

ほとんどのコンピュータでは、個々の命令は機械語として保存され、各命令には固有の番号(オペレーションコード、略してオペコード)が割り当てられます。2つの数値を加算するコマンドには1つのオペコードが割り当てられ、それらを乗算するコマンドには異なるオペコードが割り当てられます。最も単純なコンピュータは、少数の異なる命令のいずれかを実行できますが、より複雑なコンピュータでは、それぞれ固有の数値コードを持つ数百の命令から選択できます。コンピュータのメモリは数値を保存できるため、命令コードも保存できます。このことから、プログラム全体(これらの命令のリストに過ぎません)を数値のリストとして表現し、数値データと同じようにコンピュータ内で操作できるという重要な事実が導き出されます。プログラムを、それが操作するデータと共にコンピュータのメモリに保存するという基本的な概念は、フォン・ノイマン・アーキテクチャ、つまりストアード・プログラム・アーキテクチャの核心です。[ 133 ] [ 134 ]場合によっては、コンピュータはプログラムの一部またはすべてを、操作するデータとは別のメモリに保存することがあります。これは、ハーバード・マークIコンピュータにちなんでハーバード・アーキテクチャと呼ばれています。現代のフォン・ノイマン型コンピュータは、 CPUキャッシュなど、その設計にハーバード・アーキテクチャの特徴をいくつか取り入れています。

コンピュータプログラムを長い数字のリスト(機械語)として記述することは可能であり、この手法は初期のコンピュータの多くで使用されていましたが、[ i ]実際には非常に面倒で、特に複雑なプログラムの場合はエラーが発生しやすくなります。代わりに、各基本命令に、その機能を示して覚えやすい短い名前( ADD、SUB、MULT、JUMP などのニーモニック)を与えることができます。これらのニーモニックは総称してコンピュータのアセンブリ言語と呼ばれています。アセンブリ言語で記述されたプログラムをコンピュータが実際に理解できるもの(機械語)に変換するのは、通常、アセンブラと呼ばれるコンピュータプログラムによって行われます。

1970年代のFortranプログラムの1行が記されたパンチカード。カードには「Z(1) = Y + W(1)」と記されており、識別のために「PROJ039」というラベルが貼られている。

プログラミング言語

プログラミング言語とは、コンピュータプログラムを作成するためのソースコードを記述するための表記法です。プログラミング言語は、コンピュータが実行するプログラムを指定するための様々な方法を提供します。自然言語とは異なり、プログラミング言語は曖昧さを許さず簡潔に記述するように設計されています。純粋に記述言語であるため、読み上げるのが難しい場合が多くあります。通常、実行前にコンパイラまたはアセンブラによって機械語に変換されるか、実行時にインタプリタによって直接変換されます。場合によっては、この2つの手法を組み合わせた方法でプログラムが実行されます。

プログラミング言語は何千種類もあり、その中には汎用プログラミングを目的とした言語もあれば、高度に特殊化されたアプリケーションにのみ役立つ言語もあります。

プログラミング言語
プログラミング言語のリストプログラミング言語の年表カテゴリ別プログラミング言語一覧プログラミング言語の世代別一覧プログラミング言語一覧英語以外のプログラミング言語
よく使われるアセンブリ言語ARMMIPSx86
一般的に使用される高水準プログラミング言語AdaBASICCC++C#COBOLFortranPL/IREXXJavaLispPascalObject Pascal
よく使われるスクリプト言語BourneスクリプトJavaScriptPythonRubyPHPPerl
低水準言語

機械語とそれを表現するアセンブリ言語(総称して低水準プログラミング言語と呼ばれる)は、一般的にコンピュータの中央処理装置(CPU)の特定のアーキテクチャに固有のものである。例えば、スマートフォン携帯型ビデオゲームに搭載されているARMアーキテクチャのCPUは、PCに搭載されているx86 CPUの機械語を理解することができない。[ j ]歴史的には、Zilog Z80に加えて、MOS Technology 6502と6510など、他にも多数のCPUアーキテクチャが開発され、広く利用されてきた。

高級言語

アセンブリ言語で長いプログラムを書くのは、機械語で書くよりもかなり簡単ですが、しばしば難しく、エラーも発生しやすくなります。そのため、実用的なプログラムのほとんどは、プログラマーのニーズをより簡潔に表現できる(したがってプログラマーのエラーを減らすのに役立つ)より抽象的な高水準プログラミング言語で書かれています。高水準言語は通常、コンパイラーと呼ばれる別のコンピュータプログラムによって機械語(またはアセンブリ言語にコンパイルされ、さらに機械語にコンパイルされる場合もあります)に「コンパイル」されます。[ k ]高水準言語は、アセンブリ言語ほど対象コンピュータの動作とは関係がなく、最終的なプログラムが解決する問題の言語と構造に関係しています。そのため、同じ高水準言語プログラムを、異なる種類のコンピュータの機械語に変換するために、異なるコンパイラーを使用することがしばしば可能です。これは、ビデオゲームなどのソフトウェアを、パーソナルコンピュータや各種ビデオゲームコンソールなどの異なるコンピュータアーキテクチャーで利用できるようにするための手段の一部です。

プログラム設計

小規模なプログラムのプログラム設計は比較的単純で、問題の分析、入力の収集、言語内のプログラミング構造の使用、確立された手順とアルゴリズムの考案または使用、出力デバイスへのデータの提供、および該当する場合は問題の解決策が含まれます。[ 135 ]問題が大きくなり複雑になるにつれて、サブプログラム、モジュール、正式なドキュメント、オブジェクト指向プログラミングなどの新しいパラダイムなどの機能が登場します。[ 136 ]数千行以上のコードを含む大規模プログラムでは、正式なソフトウェア方法論が必要です。[ 137 ]大規模ソフトウェアシステムの開発作業は、大きな知的挑戦となります。[ 138 ]予測可能なスケジュールと予算内で許容できるほど高い信頼性を備えたソフトウェアを作成することは、歴史的に困難でした。[ 139 ]ソフトウェア工学の学術的および専門的分野は、特にこの課題に集中しています。[ 140 ]

バグ

実際の最初のコンピュータバグは、ハーバードマークIIコンピュータのリレーに閉じ込められていた蛾でした。

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

ネットワークとインターネット

インターネット上のルートの一部を可視化

1950年代以降、コンピュータは複数の物理的な場所間での情報調整に使用されてきました。米軍のSAGEシステムは、このようなシステムの最初の大規模な例であり、その後、 Sabreのような多くの特殊用途の商用システムへと発展しました。[ 143 ]

1970年代、米国中の研究機関のコンピュータ技術者は通信技術を使用してコンピュータを接続し始めました。この取り組みはARPA(現在のDARPA)によって資金提供され、その結果生まれたコンピュータネットワークはARPANETと呼ばれました。[ 144 ]論理ゲートは、上記のデジタルまたはアナログパラダイムのほとんどに適用できる共通の抽象化です。プログラムと呼ばれる命令のリストを保存して実行する機能により、コンピュータは極めて汎用性が高く、計算機とは異なります。チャーチ–チューリングのテーゼは、この汎用性を数学的に述べたものです。最小限の能力(チューリング完全)を持つコンピュータは、原理的には、他のコンピュータが実行できるのと同じタスクを実行できます。したがって、十分な時間とストレージ容量があれば、あらゆる種類のコンピュータ(ネットブックスーパーコンピュータセルラーオートマトンなど)は同じ計算タスクを実行できます。

人工知能

20世紀の人工知能システムは主にシンボリックであり、ソフトウェア開発者によって明示的にプログラムされたコードを実行していました。[ 145 ]しかし、機械学習モデルには、トレーニング中に調整される一連のパラメータがあり、モデルは提供されたデータに基づいてタスクを達成することを学習します。機械学習(特にニューラルネットワーク)の効率は、主にグラフィックス処理装置(GPU)を中心とする並列コンピューティング用ハードウェアの進歩により急速に向上しました。[ 146 ]一部の大規模言語モデルは、コンピューターやロボットを制御できます。[ 147 ] [ 148 ] AIの進歩は、少なくとも人間と同様にあらゆる知的タスクを実行できるタイプのAIである汎用人工知能(AGI)の創出につながる可能性があります。[ 149 ]

職業と組織

コンピュータの利用が社会全体に広がるにつれ、コンピュータに関わる職業も増えています。

コンピュータ関連の職業
ハードウェア関連電気工学電子工学コンピュータ工学電気通信工学光工学ナノ工学
ソフトウェア関連コンピュータサイエンスコンピュータエンジニアリングデスクトップパブリッシングヒューマンコンピュータインタラクション、情報技術、情報システム計算科学、ソフトウェアエンジニアリング、ビデオゲーム産業ウェブデザイン

コンピュータが連携して動作し、情報を交換できるようにする必要性から、公式および非公式の両方の性質を持つ多くの標準化団体、クラブ、協会の必要性が生まれました。

組織
標準化団体ANSIIECIEEEIETFISOW3C
専門団体ACMAISIETIFIPBCS
フリー/オープンソースソフトウェアグループフリーソフトウェア財団Mozilla財団Apacheソフトウェア財団

参照

注記

  1. ^ Schmandt-Besserat 1981によると、これらの粘土容器にはトークンが入っており、その合計が輸送される物体の数であった。そのため、容器は船荷証券や帳簿のような役割を果たした。容器が壊されるのを避けるため、まずトークンの粘土の跡が容器の外側に付けられ、それが数を示すものであった。跡の形は抽象化されて様式化された記号となり、最終的に抽象的な記号は数字として体系的に使用され、これらの数字は最終的に数字として形式化された。最終的に、容器の外側の記号だけで数を伝えることができるようになり、粘土容器は数を示す記号が刻まれた粘土板へと進化した。Schmandt -Besserat 1999 はこれに4000年かかったと推定している。
  2. ^ Intel 4004(1971年)のダイは12 mm 2で、2300個のトランジスタで構成されていました。比較すると、Pentium Proは306 mm 2で、550万個のトランジスタで構成されていました。 [ 115 ]
  3. ^ショーター・オックスフォード英語辞典(第6版、2007年)によると、コンピュータという言葉は17世紀半ばにまで遡り、当時は「計算を行う人、具体的には天文台などで計算のために雇われた人」を指していました。
  4. ^主要な64ビット命令セットアーキテクチャのほとんどは、以前の設計の拡張です。この表に記載されているアーキテクチャはすべて、Alphaを除き、64ビット版が導入される前は32ビット形式で存在していました。
  5. ^命令解釈における制御装置の役割は、過去には多少変化してきました。現代のコンピュータのほとんどでは、制御装置が命令解釈の責任を単独で負っていますが、必ずしもそうとは限りません。一部のコンピュータでは、命令の一部は制御装置によって解釈され、残りの解釈は別の装置によって行われます。例えば、最も初期のプログラム内蔵型コンピュータの一つであるEDVACは、4つの命令のみを解釈する中央制御装置を使用していました。演算関連の命令はすべて演算装置に渡され、そこでさらにデコードされました。
  6. ^命令は複数のメモリ アドレスを占有することが多いため、プログラム カウンタは通常、1 つの命令を格納するために必要なメモリ位置の数だけ増加します。
  7. ^フラッシュメモリは書き換え回数が限られているため、頻繁にランダムアクセスを行う場合にはあまり適していません。 [ 127 ]
  8. ^しかし、安価な汎用ハードウェアを多数組み合わせてスーパーコンピュータを構築することも非常に一般的です。通常は、個々のコンピュータをネットワークで接続します。これらのいわゆるコンピュータクラスタは、カスタム設計よりもはるかに低コストでスーパーコンピュータの性能を実現できる場合が多いです。最も高性能なスーパーコンピュータのほとんどは依然としてカスタムアーキテクチャを使用していますが、近年、クラスタコンピュータが急増しています。 [ 132 ]
  9. ^後期のコンピュータの中には、機械語で直接プログラムすることが一般的でした。DEC PDP-8のようなミニコンピュータの中には、スイッチパネルから直接プログラムできるものもありました。しかし、この方法は通常、起動プロセスの一部としてのみ使用されていました。現代のコンピュータのほとんどは、不揮発性メモリからブートプログラムを読み出すことで、完全に自動的に起動します。
  10. ^ただし、異なるコンピュータ間で何らかの機械語の互換性が見られる場合もあります。AMD Athlon 64のようなx86-64互換マイクロプロセッサは、 Intel Core 2マイクロプロセッサとほぼ同じプログラムを実行できるだけでなく、Intel PentiumIntel 80486といった初期のマイクロプロセッサ向けに設計されたプログラムも実行できます。これは、初期の商用コンピュータとは対照的です。初期の商用コンピュータは、多くの場合、独自仕様で他のコンピュータと全く互換性がありませんでした。
  11. ^高級言語は、コンパイルされるのではなく、インタプリタで実行される場合が多い。インタプリタ言語は、実行中にインタプリタと呼ばれる別のプログラムによって、即座に機械語に変換される。
  12. ^バグの原因がプログラマーの不注意だけにあるというのは、必ずしも真実ではありません。コンピュータハードウェア自体に故障が生じたり、特定の状況で予期せぬ結果をもたらす根本的な問題があったりする場合もあります。例えば、1990年代初頭、一部のIntel製マイクロプロセッサでPentium FDIVのバグが発生し、特定の浮動小数点除算演算で不正確な結果が出ました。これはマイクロプロセッサの設計上の欠陥が原因で、影響を受けたデバイスの一部がリコールされました。

参考文献

  1. ^エヴァンス 2018、23ページ。
  2. ^スミス 2013、6ページ。
  3. ^ "computer (n.)" .オンライン語源辞典. 2016年11月16日時点のオリジナルよりアーカイブ。 2021年8月19日閲覧
  4. ^ロブソン、エレノア(2008). 『古代イラクの数学』プリンストン大学出版局. p. 5. ISBN 978-0-691-09182-2イラクでは、紀元前3200年から3000年頃にはすでに原始的な会計システムとして計算が使用されており、商品ごとに異なる計数表示システムが用いられていました。均衡会計は紀元前3000年から2350年までに、六十進法は紀元前2350年から2000年までに使用されていました。
  5. ^フレッグ、グラハム (1989). 『時代を超えた数字』ハウンドミルズ、ベイジングストーク、ハンプシャー: マクミラン・エデュケーション. ISBN 0-333-49130-0. OCLC  24660570 .
  6. ^アンティキティラ島の機械研究プロジェクト( Wayback Machineで2008年4月28日にアーカイブ)、アンティキティラ島の機械研究プロジェクト。2007年7月1日閲覧。
  7. ^ 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 .   
  8. ^ G. Wiet, V. Elisseeff, P. Wolff, J. Naudu (1975).『人類の歴史 第3巻 中世の偉大な文明』p. 649. George Allen & Unwin Limited, UNESCO .
  9. ^ Fuat Sezgin. 『アラブ・イスラム科学史研究所(ヨハン・ヴォルフガング・ゲーテ大学)展覧会カタログ』、フランクフルト・ブックフェア2004、35~38ページ。
  10. ^シャレット、フランソワ (2006). 「考古学:古代ギリシャハイテク」 . Nature . 444 (7119): 551– 552. Bibcode : 2006Natur.444..551C . doi : 10.1038/444551a . PMID 17136077. S2CID 33513516 .  
  11. ^ベディニ、シルビオ A.マディソン、フランシス R. (1966)。 「機械の宇宙:ジョヴァンニ・デ・ドンディのアストラリウム」。アメリカ哲学協会のトランザクション56 (5): 1–69 .土井: 10.2307/1006002JSTOR 1006002 
  12. ^ Price, Derek de S. (1984). 「計算機の歴史」. IEEE Micro . 4 (1): 22– 52. Bibcode : 1984IMicr...4a..22S . doi : 10.1109/MM.1984.291305 .
  13. ^ Őren, Tuncer (2001). 「コンピュータと情報科学の進歩:アバカスからホロニックエージェントへ」(PDF) . Turk J Elec Engin . 9 (1): 63– 70. 2009年9月15日時点のオリジナルよりアーカイブ(PDF) . 2016年4月21日閲覧
  14. ^ドナルド・ラウトレッジ・ヒル(1985). 「アル=ビルニの機械式暦」 Annals of Science 42 , pp. 139–163.
  15. ^ 「The Writer Automaton, Switzerland」 chonday.com、2013年7月11日。2015年2月20日時点のオリジナルよりアーカイブ。 2015年1月28日閲覧
  16. ^ a b Ray Girvan、「メカニズムの明らかになった恵み:バベッジ後のコンピューティング」Wayback Machineに2012年11月3日アーカイブScientific Computing World、2003年5月/6月。
  17. ^レオナルド・トーレス(1895 年 10 月 10 日)。「Memória sobre las Máquinas Algébricas」(PDF)Revista de Obras Públicas (スペイン語) (28): 217–222
  18. ^レオナルド・トーレス。 Memoria sobre las máquinas algébricas: con un infome de la Real academia de ciencias strictas, fisicas y Naturales、Misericordia、1895 年。
  19. ^ Thomas, Federico (2008年8月1日). 「レオナルド・トーレスのエンドレススピンドルに関する簡潔な説明」 .メカニズムと機械理論. 43 (8). IFToMM : 1055–1063 . doi : 10.1016/j.mechmachtheory.2007.07.003 . hdl : 10261/30460 . ISSN 0094-114X . 
  20. ^ゴメス・ヤウレギ、バレンティン;グティエレス・ガルシア、アンドレス。ゴンザレス・レドンド、フランシスコ・A.イグレシアス、ミゲル。マンチャド、クリスティーナ。オテロ、セザール(2022年6月1日)。「複素係数を含む 2 次方程式用の Torres Quevedo の機械式計算機」メカニズムと機械理論172 (8) 104830.IFToMM土井10.1016/j.mechmach Theory.2022.104830hdl : 10902/24391S2CID 247503677 
  21. ^レオナルド、トーレス・ケベド (1901)。「機械と計算機」Mémoires Présentés par Divers Savant à l'Académie des Scienes de l'Institut de France (フランス語)。XXXII .インプレッション国民(パリ)。
  22. ^ハラシー、ダニエル・スティーブン(1970年)『チャールズ・バベッジ、コンピュータの父』クロウェル・コリアー出版、ISBN 978-0-02-741370-0
  23. ^ O'Connor, John J.; Robertson, Edmund F. (1998). 「チャールズ・バベッジ」 . MacTutor 数学史アーカイブ. スコットランド、セント・アンドリュース大学数学・統計学部. 2006年6月16日時点のオリジナルよりアーカイブ。 2006年6月14日閲覧
  24. ^ 「バベッジ」 .オンラインコンテンツ. サイエンスミュージアム. 2007年1月19日. 2012年8月7日時点のオリジナルよりアーカイブ。 2012年8月1日閲覧
  25. ^グレアム=カミング、ジョン(2010年12月23日)「バベッジの究極の機械式コンピュータを作ろう」オピニオン。ニューサイエンティスト。2012年8月5日時点のオリジナルよりアーカイブ。 2012年8月1日閲覧
  26. ^ L. トーレス・ケベド。 Ensayos sobre Automática – Su の定義。 Extension teórica de sus aplicaciones、 Revista de la Academia de Ciencias Exacta、Revista 12、391–418 ページ、1914 年。
  27. ^トーレス・ケベド、レオナルド。 Automática: Complemento de la Teoría de las Máquinas、(pdf)、575–583 ページ、Revista de Obras Públicas、1914 年 11 月 19 日。
  28. ^ロナルド・T・クヌーゼル『 Numbers and Computers』シュプリンガー、pp.84-85、2017年。ISBN 978-3-319-50508-4
  29. ^ランデル 1982、6、11–13ページ。
  30. ^ B. ランデル「電気機械式計算機」『デジタルコンピュータの起源』109~120頁、1982年。
  31. ^ブロムリー 1990 .
  32. ^クリストファー・ムーア、ステファン・メルテンス著『計算の性質オックスフォード大学出版局、2011年、291頁。ISBN 978-0-199-23321-2
  33. ^「デジタルコンピュータの歴史」『コンピュータサイエンス百科事典』ジョン・ワイリー・アンド・サンズ社、2003年1月、  545~ 570頁。ISBN 978-0-470-86412-8
  34. ^ a b c d『コンピューティングの現代史』スタンフォード哲学百科事典、2017年。2010年7月12日時点のオリジナルよりアーカイブ2014年1月7日閲覧。
  35. ^ 「シリコン以前のコンピューティング」 MITテクノロジーレビュー、2000年5月1日。 2025年5月18日閲覧
  36. ^ O'Regan, Gerard編 (2008). 『コンピューティングの簡潔な歴史』 ロンドン: Springer London. p. 28. doi : 10.1007/978-1-84800-084-1 . ISBN 978-1-84800-083-4
  37. ^ Tse, David (2020年12月22日). 「クロード・シャノンはいかにして未来を発明したか」 . Quanta Magazine . 2024年11月5日閲覧
  38. ^ Parmar, Sunil (2021年9月23日). 「USS PAMPANITO搭載TDC MARK IIIの修復」NSLアーカイブ. 2025年5月17日閲覧
  39. ^ Zuse, Horst. 「第4部:コンラッド・ツーゼのZ1およびZ3コンピュータ」 .コンラッド・ツーゼの生涯と業績. EPE Online. 2008年6月1日時点のオリジナルよりアーカイブ。 2008年6月17日閲覧
  40. ^ Bellis, Mary (2019年5月15日) [初出2006年、inventors.about.com/library/weekly/aa050298.htm]. 「初期のコンピュータの発明者でありプログラマー、コンラート・ツーゼの伝記」 thoughtco.com . Dotdash Meredith. 2020年12月13日時点のオリジナルよりアーカイブ2021年2月3日閲覧。コンラート・ツーゼは「現代コンピュータの発明者」という半ば公式な称号を得た。
  41. ^ 「コンピュータの父は誰か?ComputerHope
  42. ^ズーゼ、コンラッド(2010) [1984]. The Computer – My Lifeマッケンナ、パトリシア、ロス、J. アンドリュー訳、出典: Der Computer, mein Lebenswerk (1984)。ベルリン/ハイデルベルク: Springer-Verlag。ISBN 978-3-642-08151-4
  43. ^ Salz Trautman, Peggy (1994年4月20日). 「50年後、コンピューターのパイオニアが再発見される」 . The New York Times . 2016年11月4日時点のオリジナルよりアーカイブ。 2017年2月15日閲覧
  44. ^ズーゼ、コンラッド(1993)。コンピューター。 Mein Lebenswerk (ドイツ語) (第 3 版)。ベルリン: Springer-Verlag。 p. 55.ISBN 978-3-540-56292-4
  45. ^ “Crash! The Story of IT: Zuse” . 2016年9月18日時点のオリジナルよりアーカイブ2016年6月1日閲覧。
  46. ^ Rojas, R. (1998). 「ZuseのZ3を汎用コンピュータにする方法」. IEEE Annals of the History of Computing . 20 (3): 51– 54. Bibcode : 1998IAHC...20c..51R . doi : 10.1109/85.707574 . S2CID 14606587 . 
  47. ^ Rojas, Raúl. 「ZuseのZ3ユニバーサルコンピュータにする方法」(PDF) fu-berlin.de 2017年8月9日時点のオリジナルよりアーカイブ(PDF) 2015年9月28日閲覧
  48. ^ a b O'Regan, Gerard (2010). 『コンピューティングの簡潔な歴史』 Springer Nature. p. 65. ISBN 978-3-030-66599-9
  49. ^ブルーダラー、ハーバート(2021年)『アナログ・デジタルコンピューティングのマイルストーン』(第3版)シュプリンガー、1009~1087頁。ISBN 978-3-03040973-9
  50. ^「notice」。デモイン・レジスター紙。1941年1月15日。
  51. ^アーサー・W・バークス (1989). 『世界初の電子計算機』ミシガン大学出版局. ISBN 0-472-08104-7. 2019年6月1日閲覧
  52. ^ a b c dコープランド、ジャック (2006). 『コロッサス:ブレッチリー・パークの暗号解読コンピューターの秘密』 オックスフォード:オックスフォード大学出版局. pp.  101– 115. ISBN 978-0-19-284055-4
  53. ^ミラー、ジョー(2014年11月10日)「エニグマ暗号を解読した女性」 BBCニュース2014年11月10日時点のオリジナルよりアーカイブ。 2018年10月14日閲覧
  54. ^ Bearne, Suzanne (2018年7月24日). 「Meet the female codebreakers of Bletchley Park」 . The Guardian . 2019年2月7日時点のオリジナルよりアーカイブ2018年10月14日閲覧。
  55. ^ 「ブレッチリーの暗号解読コロッサス」 BBC 2010年2月4日時点のオリジナルよりアーカイブ2021年11月24日閲覧。
  56. ^ 「Colossus – The Rebuild Story」国立コンピューティング博物館. 2015年4月18日時点のオリジナルよりアーカイブ2014年1月7日閲覧。
  57. ^ブライアン・ランデル、ハリー・フェンサム、フランク・A・ミルン(1995年3月15日)「訃報:アレン・クームズ」インディペンデント紙2012年2月3日時点のオリジナルよりアーカイブ2012年10月18日閲覧
  58. ^ Fensom, Jim (2010年11月8日). 「Harry Fensom obituary」 . The Guardian . 2013年9月17日時点のオリジナルよりアーカイブ。 2012年10月17日閲覧
  59. ^ John Presper Eckert Jr. と John W. Mauchly、「電子数値積分器およびコンピュータ」、米国特許庁、米国特許第 3,120,606 号、1947 年 6 月 26 日出願、1964 年 2 月 4 日発行、 Honeywell v. Sperry Randの判決後の 1973 年 10 月 19 日無効。
  60. ^エヴァンス 2018、39ページ。
  61. ^ライト 1999、459ページ。
  62. ^ “Generations of Computer” . techiwarehouse.com. 2015年7月2日時点のオリジナルよりアーカイブ2014年1月7日閲覧。
  63. ^チューリング, AM (1937). 「計算可能数について、そして計算問題への応用」.ロンドン数学会報. 2. 42 (1): 230– 265. Bibcode : 1937PLMS...42..230T . doi : 10.1112/plms/s2-42.1.230 . S2CID 73712 . 
  64. ^コープランド、ジャック(2004). 『チューリングの本質』 p. 22:フォン・ノイマンは…私に対して、そしておそらく他の人たちに対しても、その基本的な概念はチューリングによるものだと強く強調しました。ただし、バベッジ、ラヴレース、その他によって予見されない限りは。スタンリー・フランケルがブライアン・ランデルに宛てた手紙、1972年。
  65. ^エンティックナップ、ニコラス(1998年夏)「コンピューティングのゴールデンジュビリー」Resurrection 』 (20)ISSN 0958-7403 。 2012年1月9日時点のオリジナルよりアーカイブ。 2008年4月19日閲覧 
  66. ^ 「マンチェスター大学の初期のコンピューター」Resurrection1 (4)、1992年夏。ISSN 0958-7403 2017年8月28日時点のオリジナルよりアーカイブ2010年7月7日閲覧。 
  67. ^ 「初期の電子コンピュータ(1946–51)」マンチェスター大学。2009年1月5日時点のオリジナルよりアーカイブ。 2008年11月16日閲覧
  68. ^ Napper, RBE 「Mark 1入門」マンチェスター大学。2008年10月26日時点のオリジナルよりアーカイブ。 2008年11月4日閲覧
  69. ^ 「Our Computer Heritage Pilot Study: Deliveries of Ferranti Mark I and Mark I Star computers」コンピュータ保存協会. 2016年12月11日時点のオリジナルよりアーカイブ。 2010年1月9日閲覧
  70. ^ラヴィントン、サイモン. 「英国コンピュータの簡潔な歴史:最初の25年間(1948~1973年)」 .英国コンピュータ協会. 2010年7月5日時点のオリジナルよりアーカイブ。 2010年1月10日閲覧
  71. ^ Lee, Thomas H. (2003). CMOS無線周波数集積回路の設計(PDF) .ケンブリッジ大学出版局. ISBN 978-1-139-64377-1. 2019年12月9日時点のオリジナル(PDF)からアーカイブ。2019年7月31日閲覧。
  72. ^ピュアース、ロバート;バルディ、リビオ。ヴォールデ、マルセル・ヴァン・デ。ヌーテン、セバスチャン E. ヴァン (2017)。ナノエレクトロニクス: 材料、デバイス、アプリケーション、2 巻ジョン・ワイリー&サンズ。 p. 14.ISBN 978-3-527-34053-8. 2019年7月31日閲覧
  73. ^ a bモスコウィッツ、サンフォード・L. (2016). 『先端材料イノベーション:21世紀におけるグローバル技術のマネジメントジョン・ワイリー・アンド・サンズpp.  165– 167. ISBN 978-0-470-50892-3. 2019年8月28日閲覧
  74. ^ラヴィントン 1998、34~35ページ。
  75. ^ a b Cooke-Yarborough, EH (1998年6月). 「英国における初期のトランジスタ応用例」 . Engineering Science & Education Journal . 7 (3): 100– 106. doi : 10.1049/esej:19980301 (2025年7月11日現在非アクティブ). ISSN 0963-7346 . 2020年11月8日時点のオリジナルよりアーカイブ。 2009年6月7日閲覧 {{cite journal}}: CS1 maint: DOIは2025年7月時点で非アクティブです(リンク(サブスクリプションが必要です)
  76. ^ Cooke-Yarborough, EH (1957).トランジスタ回路入門. エディンバラ, スコットランド: Oliver and Boyd. p. 139.
  77. ^ハフ、ハワード;リオーダン、マイケル(2007年9月1日)フロッシュとデリック:50年後(序文)」電気化学協会インターフェース誌。163):29。doi 10.1149/2.F02073IF。ISSN 1064-8208 
  78. ^ Frosch, CJ; Derick, L (1957). 「シリコンの拡散時における表面保護と選択的マスキング」 . Journal of the Electrochemical Society . 104 (9): 547. doi : 10.1149/1.2428650 .
  79. ^ Kahng, D. (1961). 「シリコン-二酸化シリコン表面デバイス」.半導体デバイス:先駆的論文. pp.  583– 596. doi : 10.1142/9789814503464_0076 . ISBN 978-981-02-0209-5{{cite book}}: ;無視されました (ヘルプ)ISBN / 日付の非互換性(ヘルプ|journal=
  80. ^ Lojek, Bo (2007).半導体工学の歴史. ベルリン、ハイデルベルク: Springer-Verlag Berlin Heidelberg. p. 321. ISBN 978-3-540-34258-8
  81. ^ 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 .
  82. ^ Lojek, Bo (2007).半導体工学の歴史. Springer Science & Business Media . p. 120. ISBN 978-3-540-34258-8
  83. ^本吉 正之 (2009). 「シリコン貫通ビア (TSV)」. Proceedings of the IEEE . 97 (1): 43– 48. doi : 10.1109/JPROC.2008.2007462 . ISSN 0018-9219 . S2CID 29105721 .  
  84. ^ Young, Ian (2018年12月12日). 「トランジスタがムーアの法則を維持」 EETimes . 2019年9月24日時点のオリジナルよりアーカイブ2019年7月18日閲覧。
  85. ^ Laws, David (2013年12月4日). 「トランジスタを発明したのは誰か?」コンピュータ歴史博物館. 2013年12月13日時点のオリジナルよりアーカイブ2019年7月20日閲覧。
  86. ^ a bヒッティンガー, ウィリアム・C. (1973). 「金属酸化物半導体技術」. Scientific American . 229 (2): 48– 59. Bibcode : 1973SciAm.229b..48H . doi : 10.1038/scientificamerican0873-48 . ISSN 0036-8733 . JSTOR 24923169 .  
  87. ^マルムシュタット, ハワード V.; エンケ, クリスティ G.; クラウチ, スタンレー R. (1994). 『正しい接続方法:マイクロコンピュータと電子機器アメリカ化学会. p. 389. ISBN 978-0-8412-2861-02019年8月28日閲覧。MOSFET比較的シンプルさと低消費電力が、今日のマイクロコンピュータ革命を促進しました。
  88. ^ Fossum, Jerry G. ; Trivedi, Vishal P. (2013). 『超薄型MOSFETとFinFETの基礎』ケンブリッジ大学出版局. p. vii. ISBN 978-1-107-43449-3. 2019年8月28日閲覧
  89. ^ Marriott, JW (2019年6月10日). 「2019年国際知的財産会議におけるイアンク所長の発言」 .米国特許商標庁. 2019年12月17日時点のオリジナルよりアーカイブ。 2019年7月20日閲覧
  90. ^ 「Dawon Kahng」全米発明家殿堂2019年10月27日時点のオリジナルよりアーカイブ。 2019年6月27日閲覧
  91. ^ “Martin Atalla in Inventors Hall of Fame, 2009” . 2019年9月19日時点のオリジナルよりアーカイブ2013年6月21日閲覧。
  92. ^ MOSトランジスタの勝利コンピュータ歴史博物館。2010年8月6日。2021年8月18日時点のオリジナルよりアーカイブ2019年7月21日閲覧- YouTube経由。
  93. ^「The Hapless Tale of Geoffrey Dummer」、Wayback Machineに 2013 年 5 月 11 日にアーカイブ、(nd)、(HTML)、 Electronic Product News、2008 年 7 月 8 日にアクセス。
  94. ^キルビー、ジャック(2000). 「ノーベル講演」(PDF) . ストックホルム: ノーベル財団. 2008年5月29日時点のオリジナルよりアーカイブ(PDF) . 2008年5月15日閲覧
  95. ^ The Chip that Jack Built Archived 1 May 2015 at the Wayback Machine、(c. 2008)、(HTML)、Texas Instruments、2008年5月29日閲覧。
  96. ^ Jack S. Kilby、「小型電子回路」、米国特許庁、米国特許第3,138,743号、1959年2月6日出願、1964年6月23日発行。
  97. ^ウィンストン、ブライアン(1998年)『メディア技術と社会:歴史:電信からインターネットまで』ラウトレッジ、221頁。ISBN 978-0-415-14230-4. 2020年6月6日閲覧
  98. ^ Saxena, Arjun N. (2009).集積回路の発明:知られざる重要事実. World Scientific . p. 140. ISBN 978-981-281-445-6. 2019年8月28日閲覧
  99. ^ a b「集積回路」 NASA . 2019年7月21日時点のオリジナルよりアーカイブ2019年8月13日閲覧。
  100. ^ロバート・ノイスのユニタリー回路、米国特許2981877、「半導体デバイスおよびリード構造」、1961年4月25日発行、フェアチャイルドセミコンダクターコーポレーション に譲渡。
  101. ^ 「1959年:実用的なモノリシック集積回路のコンセプトが特許を取得」コンピュータ歴史博物館2019年10月24日時点のオリジナルよりアーカイブ2019年8月13日閲覧。
  102. ^ Frosch, CJ; Derick, L. (1957). 「シリコンの拡散時における表面保護と選択的マスキング」 . Journal of the Electrochemical Society . 104 (9): 547. doi : 10.1149/1.2428650 .
  103. ^ US2802760A、リンカーン、デリック、フロッシュ、カール J.、「制御された拡散のための半導体表面の酸化」、1957年8月13日発行 
  104. ^モスコウィッツ、サンフォード・L. (2016). 『先端材料イノベーション:21世紀におけるグローバル技術のマネジメントジョン・ワイリー・アンド・サンズ168頁. ISBN 978-0-470-50892-3
  105. ^ルキュイエ, クリストフ; ブルック, デイビッド・C.; ラスト, ジェイ (2010). 『マイクロチップのメーカーたち:フェアチャイルド・セミコンダクターのドキュメンタリー史』 MITプレス. pp.  62– 63. ISBN 978-0-262-01424-3
  106. ^ Claeys, Cor L. (2003). ULSIプロセス統合III:国際シンポジウム議事録.電気化学会. pp.  27– 30. ISBN 978-1-56677-376-8
  107. ^ Lojek, Bo (2007).半導体工学の歴史. Springer Science & Business Media . p. 120. ISBN 978-3-540-34258-8
  108. ^ a b 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日閲覧 
  109. ^ a b「トランジスタのカメがレースに勝つ - CHM革命」コンピュータ歴史博物館. 2020年3月10日時点のオリジナルよりアーカイブ。 2019年7月22日閲覧
  110. ^ 「1964年 – 初の商用MOS ICの導入」コンピュータ歴史博物館. 2015年12月22日時点のオリジナルよりアーカイブ2019年7月31日閲覧。
  111. ^ “1968年:IC向けシリコンゲート技術の開発” .コンピュータ歴史博物館. 2020年7月29日時点のオリジナルよりアーカイブ2019年7月22日閲覧。
  112. ^ a b「1971年:マイクロプロセッサがCPU機能をシングルチップに統合」コンピュータ歴史博物館. 2021年8月12日時点のオリジナルよりアーカイブ。 2019年7月22日閲覧
  113. ^ジャン=ピエール・コリンジュ、ジェームズ・C・グリア(2016年)『ナノワイヤトランジスタ:一次元デバイスと材料の物理学ケンブリッジ大学出版局、p.2、ISBN 978-1-107-05240-6. 2019年7月31日閲覧
  114. ^ 「Intel初のマイクロプロセッサ—Intel 4004」 Intel Corp. 1971年11月。2008年5月13日時点のオリジナルよりアーカイブ2008年5月17日閲覧。
  115. ^パターソン, デイビッド; ヘネシー, ジョン (1998). 『コンピュータの構成と設計』 サンフランシスコ:モーガン・カウフマンpp.  27–39 . ISBN 978-1-55860-428-5
  116. ^ Federico Faggin「最初のマイクロプロセッサの作成」 IEEE Solid-State Circuits Magazine、2009 年冬、 IEEE Xplore
  117. ^ a b「QualcommのSnapdragon 835チップによる7つの素晴らしいスマートフォンの改良点」。2017年1月3日。2019年9月30日時点のオリジナルよりアーカイブ2019年4月5日閲覧。
  118. ^ Chartier, David (2008年12月23日). 「世界のノートパソコン出荷台数がついにデスクトップパソコンを上回る」 Ars Technica . 2017年7月4日時点のオリジナルよりアーカイブ。 2017年6月14日閲覧
  119. ^ IDC (2013年7月25日). 「IDCによると、第2四半期の世界の携帯電話・スマートフォン市場の成長は加速」 。2014年6月26日時点のオリジナルよりアーカイブ
  120. ^ 「Google ブックス Ngram ビューア」 . books.google.com .
  121. ^ 「Google ブックス Ngram ビューア」 . books.google.com .
  122. ^ 「Google ブックス Ngram ビューア」 . books.google.com .
  123. ^ 「Google ブックス Ngram ビューア」 . books.google.com .
  124. ^ 「コンピュータの定義」 Thefreedictionary.com。2009年12月26日時点のオリジナルよりアーカイブ2012年1月29日閲覧。
  125. ^エック、デイビッド・J. (2000). 『最も複雑な機械:コンピュータとコンピューティングの概観』AKピーターズ社、p.54. ISBN 978-1-56881-128-4
  126. ^ Kontoghiorghes, Erricos John (2006).並列コンピューティングと統計ハンドブック. CRC Press. p. 45. ISBN 978-0-8247-4067-2
  127. ^ Verma & Mielke 1988 .
  128. ^イーディー、ドナルド (1968). 『ベーシックコンピュータ入門』 プレンティス・ホール出版. p. 12.
  129. ^ Barna, Arpad; Porat, Dan I. (1976). マイクロコンピュータとマイクロプロセッサ入門』 Wiley. p.  85. ISBN 978-0-471-05051-3
  130. ^ピーク, ジェリー; トディーノ, グレース; ストラング, ジョン (2002). 『UNIXオペレーティングシステム学習:初心者のための簡潔なガイド』 O'Reilly. p.  130. ISBN 978-0-596-00261-9
  131. ^ Davis, Gillian M. (2002).音声アプリケーションにおけるノイズ低減. CRC Press. p. 111. ISBN 978-0-8493-0949-6
  132. ^ TOP500 2006、p. .
  133. ^ Cragon, Harvey (2000).コンピュータアーキテクチャと実装. Cambridge University Press. p. 5. ISBN 978-0-521-65168-4. 2022年7月30日時点のオリジナルよりアーカイブ。2022年6月10日閲覧。
  134. ^ Xu, Zhiwei; Zhang, Jialin (2021).計算的思考:コンピュータサイエンスの視点シンガポール: Springer. p. 60. ISBN 978-981-16-3848-0. 2022年7月30日時点のオリジナルよりアーカイブ。 2022年6月10日閲覧これはストアード・プログラム・アーキテクチャまたはストアード・プログラム・モデル、あるいはフォン・ノイマン・アーキテクチャとも呼ばれます。本稿ではこれらの用語を互換的に使用します。
  135. ^ Leach, Ronald J. (2016年1月27日). 『ソフトウェア工学入門』 . CRC Press. p. 11. ISBN 978-1-4987-0528-8. 2022年11月26日閲覧
  136. ^ Zhu, Hong (2005年3月22日).ソフトウェア設計方法論:原則からアーキテクチャスタイルへ. エルゼビア. pp.  47– 72. ISBN 978-0-08-045496-2. 2022年11月26日閲覧
  137. ^ Leach, Ronald J. (2016年1月27日). 『ソフトウェア工学入門』 CRC Press. p. 56. ISBN 978-1-4987-0528-8. 2022年11月26日閲覧
  138. ^ナイト、ジョン(2012年1月12日)『ソフトウェアエンジニアのためのディペンダブルコンピューティングの基礎』 CRC Press、186ページ。ISBN 978-1-4665-1821-6. 2022年11月26日閲覧
  139. ^ 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日閲覧
  140. ^サマービル、イアン (2007).ソフトウェアエンジニアリング. ピアソン・エデュケーション. pp.  4– 17. ISBN 978-0-321-31379-9. 2022年11月26日閲覧
  141. ^ 「なぜコンピューターはクラッシュするのか?」サイエンティフィック・アメリカン2018年5月1日時点のオリジナルよりアーカイブ2022年3月3日閲覧。
  142. ^ Taylor, Alexander L. III (1984年4月16日). 「The Wizard Inside the Machine」 . Time . 2007年3月16日時点のオリジナルよりアーカイブ2007年2月17日閲覧。
  143. ^ヒューズ、アガサ・C. (2000).システム、エキスパート、そしてコンピュータ. MITプレス. p. 161. ISBN 978-0-262-08285-3SAGE の経験により、初の本格的な大規模商用リアルタイム ネットワークである SABRE コンピューター航空予約システムが実現しました。
  144. ^ライナー, バリー・M.; サーフ, ヴィントン・G.; クラーク, デイビッド・D.; カーン, ロバート・E.; クラインロック, レナード; リンチ, ダニエル・C.; ポステル, ジョン; ロバーツ, ラリー・G.; ウルフ, スティーブン (1999). 「インターネットの簡潔な歴史」. arXiv : cs/9901011 .
  145. ^ 「シンボリックAIへの優しい入門」KDnuggets . 2025年5月17日閲覧
  146. ^ 「Nvidia:AI超大国となったチップメーカー」 BBC 2023年5月25日。 2025年5月17日閲覧
  147. ^ Jindal, Siddharth (2024年10月22日). 「AnthropicのClaude 3.5があなたのコンピューターをあなたのようにコントロール」 . Analytics India Magazine . 2025年5月17日閲覧
  148. ^ Edwards, Benj (2025年2月20日). 「Microsoftの新しいAIエージェントはソフトウェアとロボットを制御できる」 Ars Technica . 2025年5月17日閲覧
  149. ^ 「汎用人工知能(AGI)の定義」 TIME、2025年4月3日。 2025年5月17日閲覧

出典