コンピューター

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

初期のコンピューターで数百本のうち1本の真空管を交換する男
複数のコンピュータキャビネットと操作パネルを備えたコンピュータルーム
虹のようなディスプレイを手に持ったスマートフォン
上部にモニターがあり、前面にキーボードがある黒いデスクトップコンピューター
コントローラーが接続された紫色のビデオゲームコンソール
倉庫のような部屋にある大きくて暗いコンピューターキャビネットの列
さまざまな時代のコンピューターとコンピューティングデバイス–左上から時計回り:
初期真空管コンピューター(ENIAC
メインフレームコンピューター(IBM System 360
デスクトップコンピューター(モニター付きIBM ThinkCentre S50 )
スーパーコンピューター(IBM Summit
ビデオゲームコンソール(Nintendo GameCube
スマートフォンLYFウォーター2)

コンピュータは、算術演算または論理演算計算)のシーケンス自動的に実行するようにプログラムできるデジタル電子 機器です。最近のコンピューターは、プログラムと呼ばれる一般的な一連の操作を実行できます。これらのプログラムにより、コンピューターはさまざまなタスクを実行できます。コンピュータシステムは、ハードウェアオペレーティングシステム(メインソフトウェア)、および周辺機器を含む「完全な」コンピュータです 「完全な」操作に必要で使用される機器。この用語は、コンピュータネットワークコンピュータクラスタなど、リンクされて一緒に機能するコンピュータのグループを指す場合もあります

幅広い産業用および消費者向け製品は、制御システムとしてコンピューターを使用しています電子レンジリモートコントロールなどのシンプルな専用デバイス、産業用ロボットコンピューター支援設計などの工場用デバイス、パーソナルコンピューターなどの汎用デバイスやスマートフォンなどのモバイルデバイスが含まれています。コンピューターは、他の何十億ものコンピューターやユーザーをつなぐ インターネットを支えています。

初期のコンピューターは、計算にのみ使用することを目的としていました。そろばんのような単純な手動の楽器は、古くから人々が計算をするのを助けてきました。産業革命の初期には、織機のガイドパターンなど、面倒な作業を自動化するためにいくつかの機械装置が構築されていましたより洗練された電気機械は、20世紀初頭に特殊なアナログ計算を行いました。最初のデジタル電子計算機は、第二次世界大戦中に開発されました。1940年代後半の最初の半導体 トランジスタの後にはシリコンベースのMOSFETが続きました(MOSトランジスタ)および1950年代後半のモノリシック集積回路(IC)チップ技術は、1970年代にマイクロプロセッサマイクロコンピュータ革命をもたらしました。それ以来、コンピューターの速度、電力、および汎用性は劇的に向上しており、トランジスタ数は急速に増加しており(ムーアの法則で予測)、20世紀後半から21世紀初頭にかけて デジタル革命を引き起こしました。

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

語源

人間のコンピューター。
顕微鏡と電卓を備えた人間のコンピューター、1952年

オックスフォード英語辞典によると、コンピューターの最初の既知の使用法は、英国の作家リチャード・ブレイスウェイトによる1613年の本「TheYong Mans Gleanings」にありました。原文のまま]呼吸し、彼はあなたの日を短い数に減らします。」この用語の使用法は、計算または計算を実行した人間のコンピューターを指します。この言葉は20世紀半ばまで同じ意味で続きました。この期間の後半には、女性は男性よりも賃金が低くなる可能性があるため、コンピューターとして雇われることがよくありました。[1]1943年までに、ほとんどの人間のコンピューターは女性でした。[2]

Online Etymology Dictionaryは、1640年代に最初に証明されたコンピューターの使用法を示しています。これは、「計算する人」を意味します。これは「compute(v。)からの動作主名詞」です。オンライン語源辞書には、「計算機」(あらゆるタイプの)」を意味する用語の使用は1897年のものであると記載されています。オンライン語源辞書は、「プログラム可能なデジタル電子コンピュータ」を意味するこの用語の「現代的な使用」は、「この名前で1945年から、1937年からチューリングマシンとしての理論的意味で」にさかのぼることを示しています。[3]

歴史

20世紀以前

イシャンゴの骨先史時代のアフリカにまでさかのぼる骨ツール

デバイスは、主に指との1対1の対応使用して、何千年もの間計算を支援するために使用されてきました最も初期のカウント装置は、おそらくタリースティックの一種でした。肥沃な三日月地帯全体でのその後の記録管理支援には、中空の未焼成粘土容器に密封された、おそらく家畜や穀物などのアイテムの数を表す結石(粘土球、円錐など)が含まれていました。[4] [5]カウントロッドの使用は一例です。

中国のそろばん(算盘)。このそろばんに描かれている数は6,302,715,408です。

そろばんは当初、算術タスクに使用されていましたローマのそろばんは、紀元前2400年にバビロニアで使用された装置から開発されました。それ以来、他の多くの形式の計算ボードまたはテーブルが発明されました。中世ヨーロッパのカウンティングハウスでは、市松模様の布がテーブルの上に置かれ、金額を計算するための補助として、特定の規則に従ってマーカーがその上を動き回っていました。[6]

紀元前150〜100年頃の古代ギリシャにまでさかのぼるアンティキティラメカニズムは、初期のアナログコンピューティングデバイスです

Derek J. de Solla Priceによると、アンティキティラメカニズムは最も初期の機械式アナログコンピューターである考えられています[7]それは天文学的位置を計算するために設計されました。それは1901年にギリシャのアンティキティラ島のキチラ島とクレタ島の間にあるアンティキティラの難破船で発見され、cと日付が付けられています。 紀元前100年アンティキティラメカニズムに匹敵するレベルの複雑さのデバイスは、1000年後まで再出現しませんでした。

計算と測定のための多くの機械的補助装置は、天文学とナビゲーションの使用のために構築されました。星座早見盤は、11世紀初頭にAbūRayhānal -Bīrūnīによって発明され星図でした。[8]アストロラーベは、紀元前1世紀または2世紀にヘレニズムの世界で発明され、ヒッパルコスに起因することがよくあります。星座早見盤と視度の組み合わせであるアストロラーベは、事実上、球面天文学におけるいくつかの異なる種類の問題を解決できるアナログコンピューターでした機械式カレンダーコンピュータを組み込んだアストロラーベ[9][ 10]ギアホイール1235ペルシャのイスファハンAbiBakrによって発明まし歯車列と歯車を備えた[ 14] c。 1000AD

比例、三角法、乗算、除算、および正方形や立方根などのさまざまな関数の問題を解決するために使用される計算機器であるセクターは、16世紀後半に開発され、砲術、測量、ナビゲーションに応用されまし

プラニメータは、機械的なリンケージでその上をトレースすることにより、閉じた図形の面積を計算するための手動の機器でした

計算尺は、対数の概念が発表された直後に、英国の聖職者ウィリアム・オートレッドによって1620年から1630年頃に発明されました掛け算や割り算をするための手動アナログ計算機です。計算尺の開発が進むにつれて、追加されたスケールは、逆数、二乗および平方根、立方体および立方根、ならびに対数および指数、円形および双曲線三角測量および他の関数などの超越関数を提供しました。特別な目盛りの計算尺は、 E6Bなどの日常的な計算をすばやく実行するために引き続き使用されます 軽飛行機の時間と距離の計算に使用される円形計算尺。

1770年代、スイスの時計職人であるピエールジャケドロズは、羽ペンを持って書くことができる機械人形(オートマトン)を作りました。内部ホイールの数と順序を切り替えることにより、さまざまな文字、つまりさまざまなメッセージを生成できます。事実上、命令を読み取るように機械的に「プログラム」することができます。他の2台の複雑な機械とともに、人形はスイスのヌーシャテル美術館にあり、現在も稼働しています。[15]

1831年から1835年に、数学者でエンジニアのジョヴァンニプラナは、閏年とシリンダーのシステムを介して、AD 0(つまり、紀元前1年)からAD4000までの毎年の閏年を予測できる永久カレンダーマシンを考案しました。うるう年とさまざまな日の長さを追跡します。1872年にスコットランドの科学者ウィリアムトムソン卿によって発明された潮位予測機は、浅瀬での航行に非常に役立ちました。滑車とワイヤーのシステムを使用して、特定の場所で設定された期間の予測潮位を自動的に計算しました。

微分解析機は、積分によって微分方程式を解くように設計された機械式アナログコンピューターであり、ホイールアンドディスクメカニズムを使用して積分を実行しました。1876年に、ウィリアム・トムソン卿はそのような計算機の可能な構造についてすでに話し合っていましたが、ボールとディスクの積分器の限られた出力トルクに悩まされていました。[16]微分解析機では、ある積分器の出力が次の積分器の入力、つまりグラフ出力を駆動していました。トルクアンプは、これらの機械が機能することを可能にした進歩でした1920年代から、VannevarBushらは機械式微分解析機を開発しました。

最初のコンピューター

イギリスの機械エンジニアで博学者のチャールズ・バベッジは、プログラム可能なコンピューターの概念を生み出しました。コンピューターの父」と見なされ[17] 、彼は19世紀初頭に最初の機械式コンピューターを概念化して発明しました。ナビゲーション計算を支援するために設計された革新的な階差機関に取り組んだ後、1​​833年に、彼ははるかに一般的な設計である分析エンジンが可能であることに気づきました。プログラムとデータの入力は、パンチカードを介して機械に提供されることになっており、当時はジャカード織機など機械式織機を使用する方法が使用されていました。出力用に、マシンにはプリンター、カーブプロッター、ベルがあります。マシンは、後で読み込むためにカードに数字を打ち抜くこともできます。エンジンには、算術論理演算装置条件付き分岐ループの形式の制御フロー、および統合メモリが組み込まれており、現代の用語でチューリング完全と表現できる汎用コンピューターの最初の設計になっています。[18] [19]

機械はその時代より約1世紀進んでいました。彼の機械のすべての部品は手作業で作成する必要がありました。これは、何千もの部品を備えたデバイスにとって大きな問題でした。最終的に、プロジェクトは、資金提供を停止するという英国政府の決定により解散しました。バベッジが分析エンジンを完成させなかったのは、主に政治的および財政的困難と、ますます洗練されたコンピューターを開発し、他の誰よりも早く前進したいという彼の願望に起因する可能性があります。それにもかかわらず、彼の息子であるヘンリー・バベッジは、1888年に分析エンジンのコンピューティングユニット(ミル)の簡略版を完成させました。彼は、1906年にテーブルのコンピューティングでの使用のデモンストレーションに成功しました。

アナログコンピューター

ウィリアムトムソン卿の3番目の潮位予測器の設計、1879年から81年

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

機械的アナログ計算の技術は、1927年にMITでHLHazenとVannevarBushによって構築された微分解析機で頂点に達しました。これは、JamesThomsonの機械的積分器とHWNiemanによって発明されたトルク増幅器に基づいて構築されました。これらのデバイスの多くは、廃止が明らかになる前に構築されました。1950年代までに、デジタル電子計算機の成功はほとんどのアナログ計算機の終焉をもたらしましたが、アナログ計算機は1950年代の間、教育(計算尺)や航空機(制御システム)などの特殊なアプリケーションで使用され続けました。

デジタルコンピュータ

電気機械

1938年までに、米国海軍は潜水艦に搭載して使用するのに十分小さい電気機械式アナログコンピュータを開発しましたこれは魚雷発射指揮装置で、三角法を使用して、移動するターゲットに魚雷を発射する問題を解決しました。二次世界大戦中、他の国でも同様のデバイスが開発されました。

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

初期のデジタルコンピュータは電気機械式でした。電気スイッチは、計算を実行するために機械式リレーを駆動しました。これらのデバイスは動作速度が遅く、最終的には元々真空管を使用していたはるかに高速な全電気式コンピューターに取って代わられました1939年にドイツのエンジニアKonradZuseによって作成されたZ2は、電気機械式リレーコンピューターの最も初期の例の1つでした。[21]

1941年、Zuseは以前のマシンに続いて、世界初の電気機械式プログラマブル全自動デジタルコンピューターであるZ3を発表しました。[22] [23] Z3は2000個のリレーで構築され、約5〜10Hzのクロック周波数で動作する22ビットのワード長を実装しています。[24]プログラムコードはパンチフィルムで提供され、データは64ワードのメモリに保存するか、キーボードから提供することができました。これは、いくつかの点で最新のマシンと非常によく似ており、浮動小数点数などの多くの進歩を開拓しました。 実装が難しい10進法(Charles Babbageの以前の設計で使用されていた)ではなく、 2進法を使用することは、当時利用可能な技術を考えると、Zuseのマシンの構築が容易で、信頼性が高い可能性があることを意味しました。[25] Z3自体はユニバーサルコンピューターではありませんでしたが、チューリング完全になるように拡張することができました。[26] [27]

Zuseの次のコンピューターであるZ4は、世界初の商用コンピューターになりました。第二次世界大戦による最初の遅れの後、1950年に完成し、ETHチューリッヒに配達されました。[28]コンピューターは、コンピューターの開発を唯一の目的とした最初の会社として1941年に設立されたZuseの自社会社Zuse KG  [ de ]によって製造されました。[28]

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

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

巨像のコンピューターで2人の女性が見られます。
最初の電子 デジタル プログラマブルコンピューティングデバイスであるColossusは、第二次世界大戦中にドイツの暗号を解読するために使用されました。ここでは1943年にブレッチリーパークで使用されています。

第二次世界大戦中、ブレッチリーパークの英国のコードブレーカーは、暗号化されたドイツの軍事通信を破ることで多くの成功を収めました。ドイツの暗号化マシンであるエニグマは、女性が頻繁に使用する電気機械式爆弾の助けを借りて最初に攻撃されました。[32] [33]高レベルの陸軍通信に使用される、より洗練されたドイツのローレンツSZ 40/42マシンをクラックするために、マックス・ニューマンと彼の同僚はフラワーズに巨像の構築を依頼しました。[31]彼は、1943年2月初旬から11か月間、最初の巨像の設計と建設に費やした。[34]1943年12月の機能テストの後、コロッサスはブレッチリーパークに輸送され、1944年1月18日に配達され[35]、2月5日に最初のメッセージを攻撃しました。[31]

Colossusは、世界初の電子 デジタル プログラマブルコンピュータでした。[20]多数のバルブ(真空管)を使用していました。紙テープ入力があり、データに対してさまざまなブール論理演算を実行するように構成できましたが、チューリング完全ではありませんでした。9台のMkII Colossiが製造されました(MkIはMkIIに変換され、合計10台のマシンが製造されました)。Colossus Mark Iには1,500個の熱電子バルブ(チューブ)が含まれていましたが、2,400個のバルブを備えたMark IIは、Mark Iよりも5倍高速で操作が簡単で、デコードプロセスが大幅に高速化されました。[36] [37]

ENIAC [38]Electronic Numerical Integrator and Computer)は、米国で構築された最初の電子プログラマブルコンピューターでした。ENIACはColossusに似ていましたが、はるかに高速で柔軟性があり、チューリング完全でした。巨像のように、ENIACの「プログラム」は、パッチケーブルとスイッチの状態によって定義されました。これは、後に登場したプログラム内蔵電子機器とはかけ離れています。プログラムを作成したら、プラグとスイッチを手動でリセットして、機械的にマシンに設定する必要がありました。ENIACのプログラマーは6人の女性で、しばしばまとめて「ENIACガールズ」として知られています。[39] [40]

それは、電子機器の高速性と多くの複雑な問題のためにプログラムされる能力を組み合わせました。1秒間に5000倍、他のどのマシンよりも1000倍速く加算または減算できます。また、乗算、除算、平方根のモジュールもありました。高速メモリは20ワード(約80バイト)に制限されていました。ペンシルベニア大学のジョン・モークリーJ.プレスパー・エッカートの指導の下で建設されたENIACの開発と建設は、1943年から1945年の終わりまで完全に稼働しました。この機械は巨大で、重量は30トン、電力は200キロワットでした。 18,000を超える真空管、1,500のリレー、および数十万の抵抗、コンデンサ、およびインダクタが含まれていました。[41]

現代のコンピューター

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

現代のコンピューターの原理は、アラン・チューリングが1936年の独創的な論文[42] On ComputableNumbersで提案したものです。チューリングは、彼が「ユニバーサルコンピューティングマシン」と呼び、現在はユニバーサルチューリングマシンとして知られているシンプルなデバイスを提案しました。彼は、そのようなマシンがテープに保存された命令(プログラム)を実行することによって計算可能なものすべてを計算できることを証明し、マシンをプログラム可能にすることができます。チューリングの設計の基本的な概念は、計算用のすべての命令がメモリに格納されているストアドプログラムですフォンノイマンは、現代のコンピューターの中心的な概念はこの論文によるものであることを認めました。[43]チューリングマシンは、今日まで、計算理論の研究の中心的な対象となっています。有限のメモリストアによって課せられる制限を除いて、最近のコンピュータはチューリング完全であると言われています。つまり、万能チューリングマシンと同等の アルゴリズム実行機能を備えています。

保存されたプログラム

初期のコンピューティングマシンには固定プログラムがありました。機能を変更するには、機械の再配線と再構築が必要でした。[31]ストアドプログラムコンピュータの提案により、これは変わりました。ストアドプログラムコンピュータは、設計上、命令セットを含み、計算の詳細を示す一連の命令(プログラム)をメモリに格納できます。ストアドプログラムコンピュータの理論的基礎は、1936年の論文でAlanTuringによって築かれました。1945年、チューリングは国立物理研究所に加わりましたそして、電子ストアドプログラムデジタルコンピュータの開発に取り組み始めました。彼の1945年の報告書「提案された電子計算機」はそのような装置の最初の仕様でした。ペンシルベニア大学のジョン・フォン・ノイマンも、1945年にEDVACに関する報告書の最初の草案を回覧しました。 [20]

マンチェスターベイビーは、世界初のストアドプログラムコンピュータでした。イギリスのマンチェスター大学でフレデリック・C・ウィリアムズトム・キルバーンジェフ・トゥーティルによって建設され、1948年6月21日に最初のプログラムを実行デジタルストレージデバイスにアクセスします。[45]コンピューターは当時の基準では「小型で原始的」と見なされていたが、現代の電子コンピューターに不可欠なすべての要素を搭載した最初の稼働中のマシンでした。[46]赤ちゃんがその設計の実現可能性を実証するとすぐに、大学でプロジェクトが開始され、より使いやすいコンピューターであるマンチェスターマーク1に開発されました。グレースホッパーは、プログラミング言語用のコンパイラを開発した最初の人物でした。[2]

Mark 1は、すぐに世界初の市販の汎用コンピューターであるFerranti Mark1のプロトタイプになりました。[47]フェランティによって製造され、1951年2月にマンチェスター大学に納入された。1953年から1957年の間に少なくとも7台の機械が納入され、そのうちの1台はアムステルダムのシェル研究所に納入された[48] 1947年10月、英国のケータリング会社J. Lyons&Companyの取締役は、コンピューターの商業開発を促進する上で積極的な役割を果たすことを決定しました。LEO Iコンピューターは、1951年4月に稼働を開始しました[ 49]。そして、世界初の定期的なオフィスコンピュータの仕事を実行しました。

トランジスタ

電界効果トランジスタの概念は、1925年にユリウスエドガーリリエンフェルドによって提案されました。ジョンバーディーンウォルターブラッテンは、ベルラボウィリアムショックレーの下で働いていたときに、1947年に最初の動作トランジスタである点接触トランジスタを構築しました。1948年にショックレーのバイポーラ接合トランジスタによって。[50] [51] 1955年以降、トランジスタが真空管に取って代わった。コンピュータの設計では、「第2世代」のコンピュータを生み出します。真空管と比較して、トランジスタには多くの利点があります。トランジスタは真空管よりも小さく、必要な電力が少ないため、放出される熱が少なくなります。接合トランジスタは真空管よりもはるかに信頼性が高く、寿命が長く、無期限でした。トランジスタ化されたコンピュータは、比較的コンパクトなスペースに何万ものブール論理回路を含むことができます。しかし、初期の接合トランジスタは比較的かさばるデバイスであり、大量生産ベースで製造するのは困難であり、多くの特殊なアプリケーションに限定されていました。[52]

マンチェスター大学では、トムキルバーンのリーダーシップの下、チームがバルブの代わりに新しく開発されたトランジスタを使用して機械を設計および製造しました。[53]彼らの最初のトランジスタ化されたコンピュータと世界初のコンピュータは1953年までに稼働し、2番目のバージョンは1955年4月に完成しました。しかし、マシンはバルブを使用して125kHzのクロック波形を生成しました。磁気ドラムメモリの読み取りと書き込みを行うため、完全にトランジスタ化された最初のコンピュータではありませんでした。その区別は、1955年のハーウェルCADET [54]にあり、ハーウェル原子力研究施設[54] [55]

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

MOSトランジスタとしても知られる金属酸化物シリコン電界効果トランジスタ(MOSFET)は、1959年にベル研究所でモハメドM.アタラとダウォンカーンによって発明されまし[ 56 ]これは、小型化され、幅広い用途向けに大量生産されています。[52]その高いスケーラビリティ[57]と、バイポーラ接合トランジスタよりもはるかに低い消費電力と高密度[58]により、MOSFETは高密度集積回路の構築を可能にしました[59] [60]データ処理に加えて、MOSトランジスタの実用化も可能になりました。メモリセルストレージエレメントは、コンピュータの以前の磁気コアメモリに取って代わったMOS半導体メモリの開発につながりました。MOSFETはマイクロコンピューター革命を引き起こし[61] 、コンピューター革命の背後にある原動力となった[62] [63] MOSFETは、コンピュータで最も広く使用されているトランジスタであり[64] [65] 、デジタル電子機器の基本的な構成要素です[66]

集積回路

計算能力の次の大きな進歩は、集積回路(IC)の出現によってもたらされました。集積回路のアイデアは、国防省の王立レーダー研究所、ジェフリー・ダマーで働いているレーダー科学者によって最初に考案されましたダマーは、 1952年5月7日にワシントンDCで開催された高品質電子部品の進歩に関するシンポジウムで、集積回路の最初の公開説明を発表しました。 [67]

最初に機能するICは、 TexasInstrumentsのJackKilbyFairchildSemiconductorRobertNoyceによって発明されましたキルビーは1958年7月に集積回路に関する最初のアイデアを記録し、1958年9月12日に最初の実用的な集積例を示すことに成功した。[ 69 ] 1959年2月6日の特許出願で、キルビーは彼の新しい装置を「電子回路のすべてのコンポーネントが完全に統合されている半導体材料」。[70] [71]しかし、キルビーの発明は、モノリシック集積回路ではなく、ハイブリッド集積回路(ハイブリッドIC)でした。(IC)チップ。[72] KilbyのICには外部ワイヤ接続があり、大量生産が困難でした。[73]

ノイスはまた、キルビーより半年遅れて集積回路についての彼自身の考えを思いついた。[74] Noyceの発明は、最初の真のモノリシックICチップでした。[75] [73]彼のチップは、キルビーが解決できなかった多くの実際的な問題を解決した。フェアチャイルドセミコンダクターで製造されたシリコン製で、キルビーのチップはゲルマニウム製でした。NoyceのモノリシックICは、1959年初頭に同僚のJean Hoerniによって開発されたプレーナープロセスを使用して製造されました。次に、プレーナープロセスは、1950年代後半の二酸化ケイ素による半導体表面パッシベーションに関するMohamed M.Atallaの研究に基づいていました。[76] [77] [78]

最新のモノリシックICは、主にMOSFET(MOSトランジスタ)から構築されたMOS(金属酸化物半導体)集積回路です。[79]製造される最も初期の実験用MOSICは、1962年にRCAFredHeimanとStevenHofsteinによって製造された16トランジスタチップでした[80] General Microelectronicsは、1964年に最初の商用MOSICを発表しました[81]。ノーマン。[80] 1967年にベル研究所でRobertKerwin 、 Donald Klein 、John Saraceが自己整合ゲート(シリコンゲート)MOSトランジスタを開発した後、最初のシリコンゲートMOSICは 自己整合ゲートは、1968年にフェアチャイルドセミコンダクターのフェデリコファジンによって開発されました。 [82]それ以来、MOSFETは最新のICで最も重要なデバイスコンポーネントになりました。[83]

MOS集積回路の開発は、マイクロプロセッサ発明につながり[84] [85]、コンピュータの商用および個人使用の爆発的な増加を告げました。どのデバイスが最初のマイクロプロセッサであったかという問題は議論の余地がありますが、「マイクロプロセッサ」という用語の正確な定義についての合意がないこともありますが、最初のシングルチップマイクロプロセッサがIntel4004であったことはほとんど議論の余地がありません[ 86 ]。フェデリコ・ファジンがシリコンゲートMOS ICテクノロジーを使用して設計および実現し[84]インテルのテッド・ホフ島正敏スタンレー・メイザーとともに[87] [88] 1970年代初頭、MOS ICテクノロジーにより、10,000個を超えるトランジスタを1つのチップに統合することが可能になりました。[60]

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

モバイルコンピューター

最初のモバイルコンピュータは重く、主電源で動作していました。50ポンド(23 kg)のIBM5100は初期の例でした。Osborne1CompaqPortableなどのその後のポータブルはかなり軽量でしたが、プラグインする必要がありました。GridCompassなどの最初のラップトップは、バッテリーを組み込むことでこの要件を取り除き、コンピューティングリソースの継続的な小型化とポータブルの進歩を実現しました。バッテリー寿命、ポータブルコンピューターは2000年代に人気が高まりました。[90]同じ開発により、メーカーは2000年代初頭までにコンピューティングリソースを携帯電話に統合することができました。

これらのスマートフォンタブレットはさまざまなオペレーティングシステムで動作し、最近では市場で主要なコンピューティングデバイスになりました。[91]これらは、コインサイズのマイクロチップ上の完全なコンピューターであるシステムオンチップ(SoC)を搭載しています。[89]

タイプ

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

アーキテクチャ別

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

ハードウェア

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

ハードウェアという用語は、有形の物理オブジェクトであるコンピューターのすべての部分をカバーします。回路、コンピュータチップ、グラフィックカード、サウンドカード、メモリ(RAM)、マザーボード、ディスプレイ、電源、ケーブル、キーボード、プリンタ、および「マウス」入力デバイスはすべてハードウェアです。

計算機の歴史

第一世代(機械的/電気機械的) 電卓 パスカルの計算機アリスモメーター階差機関ケベドの分析機
プログラマブルデバイス ジャカード織機分析エンジンIBM ASCC / Harvard Mark IHarvard Mark IIIBM SSECZ1Z2Z3
第二世代(真空管) 電卓 Atanasoff–Berry ComputerIBM 604UNIVAC 60UNIVAC 120
プログラマブルデバイス ColossusENIACManchester BabyEDSACManchester Mark 1Ferranti PegasusFerranti MercuryCSIRACEDVACUNIVAC IIBM 701IBM 702IBM 650Z22
第3世代(ディスクリートトランジスタとSSI、MSI、LSI集積回路 メインフレーム IBM 7090IBM 7080IBM System / 360BUNCH
ミニコンピューター HP 2116AIBM System / 32IBM System / 36LINCPDP-8PDP-11
デスクトップコンピューター HP 9100
第4世代(VLSI集積回路) ミニコンピューター VAXIBM AS / 400
4ビットマイクロコンピュータ Intel 4004Intel 4040
8ビットマイクロコンピュータ Intel 8008Intel 8080Motorola 6800Motorola 6809MOS Technology 6502Zilog Z80
16ビットマイクロコンピュータ Intel 8088Zilog Z8000WDC 65816/65802
32ビットマイクロコンピュータ Intel 80386PentiumMotorola 68000ARM
64ビットマイクロコンピュータ[92] AlphaMIPSPA-RISCPowerPCSPARCx86-64ARMv8-A
組み込みコンピュータ Intel 8048Intel 8051
パソコン デスクトップコンピューターホームコンピューターラップトップコンピューター、携帯情報端末(PDA)、ポータブルコンピュータータブレットPCウェアラブルコンピューター
理論的/実験的 量子コンピューター化学コンピューターDNAコンピューティング光学コンピュータースピントロニクスベースのコンピューター、ウェットウェア/有機コンピューター

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

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

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

入力デバイス

未処理のデータが入力デバイスを使用してコンピューターに送信されると、データは処理されて出力デバイスに送信されます。入力デバイスは、手動または自動化することができます。処理の動作は主にCPUによって制御されます。入力デバイスの例は次のとおりです。

出力デバイス

コンピュータが出力を提供する手段は、出力デバイスとして知られています。出力デバイスの例は次のとおりです。

コントロールユニット

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

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

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

制御システムの機能は次のとおりです。これは簡単な説明であり、これらの手順の一部は、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つのクラスの演算を実行できます。[95]特定のALUがサポートする算術演算のセットは、加算と減算に限定される場合があります。または、乗算、除算、正弦、余弦などの三角関数、および平方根が含まれる場合があります。整数(整数のみを操作できるものもあれば、浮動小数点を使用して実数を表すものもあります。、精度は限られていますが。ただし、最も単純な操作のみを実行できるコンピューターは、より複雑な操作を実行可能な単純なステップに分割するようにプログラムできます。したがって、任意のコンピューターをプログラムして、任意の算術演算を実行できます。ただし、そのALUが演算を直接サポートしていない場合は、実行に時間がかかります。ALUは、数値を比較し、一方が他方と等しいか、大きいか、または小さいか( "64が65より大きい?")に応じて、ブール値の真理値(trueまたはfalse)を返す場合もあります。論理演算にはブール論理が含まれます:ANDORXOR、およびNOTこれらは、複雑な作成に役立ちます条件文と処理ブール論理

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

メモリー

磁気コアメモリ磁気コアを使用)は、半導体メモリMOSメモリセルを使用)に置き換えられるまで、1960年代に選択されたコンピュータメモリでした。

コンピュータのメモリは、数値を配置または読み取ることができるセルのリストとして表示できます。各セルには番号付きの「アドレス」があり、単一の番号を格納できます。コンピュータは、「番号123をセル番号1357に入れる」か、「セル1357にある番号をセル2468にある番号に追加して、答えをセル1595に入れる」ように指示できます。メモリに保存されている情報は、事実上何でも表すことができます。文字、数字、さらにはコンピュータ命令も同じように簡単にメモリに配置できます。CPUはさまざまな種類の情報を区別しないため、メモリが一連の数字と見なすものに重要性を与えるのはソフトウェアの責任です。

最近のほとんどすべてのコンピュータでは、各メモリセルは8ビット(バイトと呼ばれる)のグループで2進数を格納するように設定されています各バイトは256の異なる数値を表すことができます(2 8 = 256)。0から255または-128から+127のいずれか。より大きな数を格納するために、いくつかの連続したバイトが使用される場合があります(通常、2、4、または8)。負の数が必要な場合、通常は2の補数表記で格納されます。他の取り決めも可能ですが、通常、特殊なアプリケーションや歴史的な文脈の外では見られません。コンピュータは、数値で表すことができれば、あらゆる種類の情報をメモリに保存できます。最近のコンピュータには、数十億バイト、さらには数兆バイトのメモリがあります。

CPUには、レジスタと呼ばれる特別なメモリセルのセットが含まれており、メインメモリ領域よりもはるかに高速に読み書きできます。CPUのタイプに応じて、通常は200から100のレジスタがあります。レジスタは、データが必要になるたびにメインメモリにアクセスする必要がないように、最も頻繁に必要なデータ項目に使用されます。データは常に処理されているため、メインメモリ(ALUやコントロールユニットに比べて遅いことが多い)にアクセスする必要性を減らすと、コンピュータの速度が大幅に向上します。

コンピュータのメインメモリには、主に2つの種類があります。

RAMは、CPUがコマンドを実行するたびに読み取りと書き込みを行うことができますが、ROMには変更されないデータとソフトウェアがプリロードされているため、CPUはRAMからのみ読み取ることができます。ROMは通常、コンピュータの初期起動命令を保存するために使用されます。通常、RAMの内容はコンピュータの電源を切ると消去されますが、ROMはそのデータを無期限に保持します。PCの場合、ROMにはBIOSと呼ばれる特殊なプログラムが含まれており、コンピューターの電源を入れたりリセットしたりするたびに、コンピューターのオペレーティングシステムをハードディスクドライブからRAMにロードするように調整します。多くの場合ディスクドライブを備えていない組み込みコンピュータでは、必要なすべてのソフトウェアがROMに保存されている場合があります。ROMに保存されているソフトウェアは、ファームウェアと呼ばれることがよくあります、それは概念的にはソフトウェアよりもハードウェアに似ているからです。フラッシュメモリは、オフにしたときにデータを保持するだけでなく、書き換えもできるため、ROMとRAMの区別を曖昧にします。ただし、通常は従来のROMやRAMよりもはるかに低速であるため、高速が不要なアプリケーションに限定して使用します。[97]

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

入出力(I / O)

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

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

マルチタスク

コンピュータはメインメモリに保存された1つの巨大なプログラムを実行しているように見えるかもしれませんが、一部のシステムでは、複数のプログラムを同時に実行しているように見せかける必要があります。これは、マルチタスク、つまり、各プログラムの実行を順番にコンピューターですばやく切り替えることによって実現されます。[100]これを行う1つの手段は、割り込みと呼ばれる特別な信号を使用することです。、これにより、コンピュータは定期的に命令の実行を停止し、代わりに何か他のことを行うことができます。割り込み前に実行されていた場所を記憶することにより、コンピューターは後でそのタスクに戻ることができます。複数のプログラムが「同時に」実行されている場合。その場合、割り込みジェネレータは1秒あたり数百の割り込みを引き起こし、毎回プログラムスイッチを引き起こす可能性があります。最近のコンピューターは通常、人間の知覚よりも数桁速く命令を実行するため、特定の瞬間に1つしか実行されていなくても、多くのプログラムが同時に実行されているように見える場合があります。このマルチタスクの方法は、各プログラムに時間の「スライス」が順番に割り当てられるため、「タイムシェアリング」と呼ばれることもあります。[101]

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

マルチプロセッシング

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

一部のコンピューターは、マルチプロセッシング構成で複数のCPUに作業を分散するように設計されています。これは、スーパーコンピューターメインフレームコンピューターサーバーなどの大規模で強力なマシンでのみ使用されていた手法です。マルチプロセッサおよびマルチコア(単一の集積回路上に複数のCPU)パーソナルコンピュータおよびラップトップコンピュータが現在広く利用可能であり、その結果、ローエンド市場でますます使用されています。

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

ソフトウェア

ソフトウェアとは、プログラム、データ、プロトコルなど、物質的な形式を持たないコンピューターの部分を指します。ソフトウェアは、物理的なハードウェアとは対照的に、エンコードされた情報またはコンピューター命令で構成されるコンピューターシステムの部分です。システムが構築されます。コンピュータソフトウェアには、コンピュータプログラムライブラリ、およびオンラインドキュメントデジタルメディアなどの関連する実行不可能なデータが含まれます。多くの場合、システムソフトウェアアプリケーションソフトウェアに分けられますコンピュータのハードウェアとソフトウェアは相互に必要であり、どちらもそれ自体で現実的に使用することはできません。IBMPC互換機のBIOSROM のように、ソフトウェアが簡単に変更できないハードウェアに格納されている場合、「ファームウェア」と呼ばれることもあります。

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

言語

何千もの異なるプログラミング言語があります。一部は汎用を目的としており、その他は高度に専門化されたアプリケーションにのみ役立ちます。

プログラミング言語
プログラミング言語のリスト プログラミング言語のタイムライン、カテゴリ別のプログラミング言語のリスト、プログラミング言語世代別リスト、プログラミング言語リスト英語以外のプログラミング言語
一般的に使用されるアセンブリ言語 ARMMIPSx86
一般的に使用される高級プログラミング言語 AdaBASICCC ++C#COBOLFortranPL / IREXXJavaLispPascalObject Pascal
一般的に使用されるスクリプト言語 ボーンスクリプトJavaScriptPythonRubyPHPPerl

プログラム

他のすべてのマシンと区別する最新のコンピューターの特徴は、プログラムできることです。つまり、ある種の命令プログラム)をコンピュータに与えることができ、それがそれらを処理します。フォンノイマンアーキテクチャに基づく最近のコンピュータには、命令型プログラミング言語の形式のマシンコードが含まれていることがよくあります実際には、コンピュータプログラムは、たとえばワードプロセッサWebブラウザ用のプログラムのように、ほんの数個の命令である場合もあれば、数百万個の命令に拡張される場合もあります典型的な最新のコンピューターは、1秒あたり数十億の命令を実行できます(ギガフロップス)そして、長年の運用で間違いを犯すことはめったにありません。数百万の命令で構成される大規模なコンピュータープログラムは、プログラマーのチームが作成するのに何年もかかる場合があり、タスクの複雑さのために、ほぼ確実にエラーが含まれています。

ストアドプログラムアーキテクチャ

イギリスのマンチェスターにある科学産業博物館にある、世界初の電子ストアドプログラムコンピュータであるマンチェスターベイビーのレプリカ

このセクションは、最も一般的なRAMマシンベースのコンピューターに適用されます。

ほとんどの場合、コンピュータの指示は単純です。ある番号を別の場所に追加したり、データをある場所から別の場所に移動したり、メッセージを外部のデバイスに送信したりします。これらの指示はコンピュータのメモリから読み取られ、通常は実行(実行)されます。それらが与えられた順序で。ただし、通常、プログラム内の別の場所にジャンプして前後にジャンプし、そこから実行を続行するようにコンピューターに指示する特殊な命令があります。これらは「ジャンプ」命令(または分岐)と呼ばれます。さらに、ジャンプ命令が条件付きで発生するようにすることができます以前の計算または外部イベントの結果に応じて、異なるシーケンスの命令を使用できるようにします。多くのコンピュータは、ジャンプ元の場所を「記憶」するタイプのジャンプと、そのジャンプ命令に続く命令に戻るための別の命令を提供することにより、 サブルーチンを直接サポートします。

プログラムの実行は、本を読むことに例えることができます。通常、人は各単語と行を順番に読みますが、テキストの前の場所に戻ったり、興味のないセクションをスキップしたりすることもあります。同様に、コンピュータは時々戻って、プログラムのあるセクションの指示を、ある内部条件が満たされるまで何度も繰り返すことがあります。これはプログラム内の制御フローと呼ばれ、コンピューターが人間の介入なしにタスクを繰り返し実行できるようにするものです。

それに比べて、ポケット電卓を使用している人は、ボタンを数回押すだけで2つの数値を加算するなどの基本的な算術演算を実行できます。しかし、1から1,000までのすべての数字を合計すると、数千回のボタンの押下と多くの時間がかかり、間違いを犯すことはほぼ確実です。一方、コンピュータは、いくつかの簡単な指示でこれを行うようにプログラムされている場合があります。次の例は、MIPSアセンブリ言語で記述されています。

  begin:
  addi  $ 8  $ 0、0 #合計を0に初期化addi  $ 9 $ 0、1 #追加する最初数値を設定= 1ループ:slti $ 10 $ 9、1000#数値1000未満かどうかを確認beq $ 10 $ 0 finish #奇数がnより大きい場合は、exit add $ 8 $ 8 $ 9 #sum addi $ 9 $ 9、1を更新します#次の数値を取得しますjループ           
                
  
            
           
                
                
                      #合計プロセスを繰り返します
  finish:
  add  $ 2  $ 8  $ 0            #合計を出力レジスタに入れます

このプログラムを実行するように指示されると、コンピューターはさらに人間の介入なしに反復加算タスクを実行します。間違いを犯すことはほとんどなく、最新のPCはほんの一瞬でタスクを完了できます。

機械語

ほとんどのコンピューターでは、個々の命令はマシンコードとして保存され、各命令には一意の番号(操作コードまたはオペコード)が付けられます。略して)。2つの数値を足し合わせるコマンドには、1つのオペコードがあります。それらを乗算するコマンドは、異なるオペコードなどを持ちます。最も単純なコンピューターは、いくつかの異なる命令のいずれかを実行できます。より複雑なコンピューターには数百の選択肢があり、それぞれに固有の数値コードが付いています。コンピュータのメモリは数字を保存できるので、命令コードも保存できます。これは、プログラム全体(これらの命令の単なるリスト)を数値のリストとして表すことができ、数値データと同じようにコンピューター内で操作できるという重要な事実につながります。プログラムを操作するデータと一緒にコンピュータのメモリに保存する基本的な概念は、フォンノイマンの核心、つまり保存されたプログラムです[要出典]、アーキテクチャ。場合によっては、コンピュータは、操作するデータとは別に保持されているメモリにプログラムの一部またはすべてを格納することがあります。これはハーバードマークIコンピュータちなんでハーバードアーキテクチャ最新のフォンノイマン型コンピューターは、 CPUキャッシュなどの設計で、ハーバードアーキテクチャのいくつかの特徴を示してい

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

Fortranプログラムからの1行を含む1970年代のパンチカード。カードには「Z(1)= Y + W(1)」と表示され、識別のために「PROJ039」というラベルが付けられています。

プログラミング言語

プログラミング言語は、コンピューターが実行するプログラムを指定するさまざまな方法を提供します。自然言語とは異なり、プログラミング言語はあいまいさを許さず、簡潔になるように設計されています。それらは純粋に書かれた言語であり、しばしば声に出して読むのは難しいです。これらは通常、実行前にコンパイラまたはアセンブラによってマシンコードに変換されるか、実行時にインタプリタによって直接変換されます。プログラムは、2つの手法のハイブリッド方式で実行される場合があります。

低水準言語

機械語とそれらを表すアセンブリ言語(まとめて低水準プログラミング言語と呼ばれる)は、一般に、コンピューターの中央処理装置( CPU )の特定のアーキテクチャーに固有のものです。たとえば、ARMアーキテクチャCPU(スマートフォンハンドヘルドビデオゲームなど)は、 PCに搭載されている可能性のあるx86CPUの機械語を理解できません[104]歴史的に、他のかなりの数のCPUアーキテクチャが作成され、広く使用されていました。特に、ZilogZ80に加えてMOSテクノロジー6502および6510が含まれています。

高水準言語

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

プログラム設計

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

バグ

実際の最初のコンピューターのバグ、ハーバードマークIIコンピューターのリレーに閉じ込められた蛾が見つかりました

コンピュータプログラムのエラーは「バグ」と呼ばれます。それらは良性であり、プログラムの有用性に影響を与えないか、または微妙な効果しかありません。ただし、場合によっては、プログラムまたはシステム全体が「ハング」し、マウスクリックやキーストロークなどの入力に応答しなくなったり、完全に失敗したり、クラッシュしたりする可能性があります。そうしないと、悪意のあるユーザーがエクスプロイトを作成することにより、悪意のある目的で良性のバグが利用されることがあります。、バグを利用してコンピュータの適切な実行を妨害するように設計されたコード。バグは通常、コンピュータのせいではありません。コンピューターは与えられた命令を実行するだけなので、バグはほとんどの場合、プログラマーのエラーまたはプログラムの設計で行われた見落としの結果です。[106]アメリカのコンピューター科学者であり、最初のコンパイラーの開発者であるグレース・ホッパー 提督は、1947年9月にハーバードマークIIコンピューターのリレーをショートさせた死んだ蛾が発見された後、コンピューティングで「バグ」という用語を最初に使用したとされています。 [107]

ネットワーキングとインターネット

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

1950年代以降、複数の場所の間で情報を調整するためにコンピューターが使用されてきました。米軍のSAGEシステムは、そのようなシステムの最初の大規模な例であり、セイバーなどの多くの特殊用途の商用システムにつながりました[108] 1970年代に、米国中の研究機関のコンピューターエンジニアは、電気通信技術を使用してコンピューターを相互にリンクし始めました。この取り組みはARPA(現在はDARPAによって資金提供され、結果として得られたコンピューターネットワークはARPANETと呼ばれていました[109] Arpanetを可能にした技術は普及し、進化しました。

やがて、ネットワークは学術機関や軍事機関を超えて広がり、インターネットとして知られるようになりました。ネットワークの出現には、コンピューターの性質と境界の再定義が含まれていました。コンピュータのオペレーティングシステムとアプリケーションは、個々のコンピュータのリソースの拡張として、周辺機器や保存された情報など、ネットワーク上の他のコンピュータのリソースを定義してアクセスする機能を含むように変更されました。当初、これらの施設は主にハイテク環境で働く人々が利用できましたが、1990年代には、イーサネットADSLなどの安価で高速なネットワーク技術の開発と相まって、電子メールやワールドワイドウェブなどのアプリケーションが普及しました。コンピュータネットワークがほぼユビキタスになるのを見た。実際、ネットワーク化されているコンピューターの数は驚異的に増加しています。非常に多くのパソコンが定期的にインターネットに接続して情報をやり取りしています。多くの場合携帯電話ネットワークを利用する「ワイヤレス」ネットワーキングは、ネットワーキングがモバイルコンピューティング環境においてさえますますユビキタスになっていることを意味しています。

型破りなコンピューター

コンピュータは電子機器である必要はなく、プロセッサRAMハードディスクさえも備えている必要はありません。「コンピュータ」という言葉の一般的な使用法はパーソナル電子コンピュータと同義ですが、コンピュータの現代の[110]定義は、文字通り次とおりです。論理演算、または情報を組み立て、保存、相関、またはその他の方法で処理する演算。」[111]情報を処理するデバイスは、特に処理が目的を持っている場合は、コンピューターとしての資格があります。[要出典]

未来

光コンピューターDNAコンピューター神経コンピューター量子コンピューターなど、多くの有望な新しいタイプの技術からコンピューターを作るための活発な研究がありますほとんどのコンピュータはユニバーサルであり、計算可能な関数を計算することができ、メモリ容量と動作速度によってのみ制限されます。ただし、コンピューターの設計が異なると、特定の問題に対して非常に異なるパフォーマンスが得られる可能性があります。たとえば、量子コンピューターは、(量子因数分解によって)いくつかの最新の暗号化アルゴリズムを非常に迅速に破ることができる可能性があります。

コンピュータアーキテクチャのパラダイム

コンピュータアーキテクチャには多くの種類があります。

これらすべての抽象機械の中で、量子コンピューターはコンピューティングに革命を起こす可能性が最も高いです。[112] 論理ゲートは、上記のデジタルまたはアナログのパラダイムのほとんどに適用できる一般的な抽象概念です。プログラムと呼ばれる命令のリストを保存して実行する機能により、コンピューターは非常に用途が広く、電卓とは区別されますチャーチチューリングの論文は、この多様性を数学的に表したものです。最小限の機能(チューリング完全)を備えたコンピューター原則として、他のコンピューターと同じタスクを実行できます。したがって、あらゆるタイプのコンピュータ(ネットブックスーパーコンピューターセルオートマトンなど)は、十分な時間とストレージ容量があれば、同じ計算タスクを実行できます。

人工知能

コンピューターは、効率、代替ソリューション、考えられるショートカット、またはコード内の考えられるエラーに関係なく、プログラムされた方法で問題を正確に解決します。学習して適応するコンピュータプログラムは、人工知能機械学習の新しい分野の一部です人工知能ベースの製品は、一般に、ルールベースのシステムパターン認識システムの2つの主要なカテゴリに分類されます。ルールベースのシステムは、人間の専門家が使用するルールを表現しようとし、開発に費用がかかる傾向があります。パターンベースのシステムは、問題に関するデータを使用して結論を​​生成します。パターンベースのシステムの例には、音声認識が含まれます、フォント認識、翻訳、およびオンラインマーケティングの新たな分野。

職業と組織

コンピュータの使用が社会全体に広がるにつれて、コンピュータに関わるキャリアが増えています。

コンピューター関連の職業
ハードウェア関連 電気工学電子工学コンピュータ工学通信工学光工学ナノ工学
ソフトウェア関連 コンピュータサイエンスコンピュータエンジニアリングデスクトップパブリッシング人間とコンピュータの相互作用情報技術情報システム計算科学ソフトウェアエンジニアリングビデオゲーム業界Webデザイン

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

組織
標準グループ ANSIIECIEEEIETFISOW3C
専門家協会 ACMAISIETIFIPBCS
フリー/オープンソースソフトウェアグループ フリーソフトウェアファウンデーションMozillaファウンデーションApacheソフトウェアファウンデーション

も参照してください

参考文献

  1. ^ Evans 2018、p。23。
  2. ^ a b Smith 2013、p。6.6。
  3. ^ 「コンピュータ(n。)」オンライン語源辞書
  4. ^ Schmandt-Besserat 1981によると、これらの粘土容器にはトークンが含まれており、その合計が転送されたオブジェクトの数でした。したがって、コンテナは船荷証券または会計帳簿のようなものとして機能しました。コンテナを壊さないようにするために、最初に、トークンの粘土の印象をコンテナの外側に配置しました。印象の形は様式化されたマークに抽象化されました。最後に、抽象的なマークは体系的に数字として使用されました。これらの数字は最終的に数字として形式化されました。最終的に( Schmandt-Besseratは、WaybackMachineで2012年1月30日にアーカイブされた4000年かかったと見積もっます )コンテナの外側のマークは、カウントを伝えるために必要なすべてであり、粘土コンテナは、カウントのマークが付いた粘土板に進化しました。
  5. ^ Robson、Eleanor(2008)、古代イラクの数学ISBN 978-0-691-09182-2p。5:イラクでは、紀元前3200年から3000年にかけて、商品固有のカウント表現システムを備えた原始的な会計システムに結石が使用されていました。バランスの取れた会計は紀元前3000年から2350年までに使用され、六十進法は紀元前2350年から2000年まで使用されていました。
  6. ^ 年齢による数フレッグ、グラハム。ハウンドミルズ、ベイジングストーク、ハンプシャー:マクミラン教育。1989年。ISBN 0-333-49130-0OCLC24660570 _{{cite book}}: CS1 maint: others (link)
  7. ^ 2008年4月28日にウェイバックマシンでアーカイブされたアンティキティラメカニズム 研究プロジェクト、アンティキティラメカニズム研究プロジェクト。2007年7月1日取得。
  8. ^ G. Wiet、V。Elisseeff、P。Wolff、J。Naudu(1975)。人類の歴史、第3巻:偉大な中世文明、p。649. George Allen&Unwin Ltd、ユネスコ
  9. ^ Fuat Sezgin「アラビア・イスラム科学史研究所の展示会のカタログ(ヨハン・ヴォルフガング・ゲーテ大学」、フランクフルト、ドイツ)フランクフルト・ブックフェア2004、35&38ページ。
  10. ^ シャレット、フランソワ(2006)。「考古学:古代ギリシャのハイテク」ネイチャー444(7119):551–552。Bibcode2006Natur.444..551C土井10.1038 / 444551aPMID17136077_ S2CID33513516_  
  11. ^ Bedini、Silvio A。; マディソン、フランシスR.(1966)。「機械的宇宙:ジョバンニ・デ・ドンディのアストラリウム」。アメリカ哲学協会の取引56(5):1–69。土井10.2307 / 1006002JSTOR1006002_ 
  12. ^ 価格、Derek de S.(1984)。「計算機の歴史」。IEEEマイクロ4(1):22–52。土井10.1109 /MM.1984.291305
  13. ^ Őren、Tuncer(2001)。「コンピュータと情報科学の進歩:そろばんからホロニックエージェントまで」(PDF)Turk J ElecEngin9(1):63–70。
  14. ^ ドナルドルートレッジヒル(1985)。「ビールーニーの機械暦」、 Annals of Science 42、139〜163ページ。
  15. ^ 「作家オートマトン、スイス」chonday.com。2013年7月11日。
  16. ^ a b Ray Girvan、「メカニズムの明らかにされた恵み:バベッジ後のコンピューティング」 2012年11月3日、Wayback MachineScientific Computing World、2003年5月/ 6月にアーカイブ
  17. ^ ハラシー、ダニエル・ステファン(1970)。コンピューターの父、チャールズ・バベッジクロウェル-コリアープレス。ISBN 978-0-02-741370-0
  18. ^ 「バベッジ」オンラインのもの科学博物館。2007年1月19日2012年8月1日取得
  19. ^ 「バベッジの究極の機械式コンピューターを作ろう」意見ニューサイエンティスト。2010年12月23日2012年8月1日取得
  20. ^ a b cdコンピューテ ィング の近代史スタンフォード哲学百科事典。2017年。
  21. ^ ツーゼ、ホルスト。「パート4:コンラートツーゼのZ1およびZ3コンピューター」コンラート・ツーゼの生涯と仕事EPEオンライン。2008年6月1日にオリジナルからアーカイブされました2008年6月17日取得
  22. ^ Zuse、Konrad(2010)[1984]、The Computer – My Life Translated by McKenna、Patricia and Ross、J。Andrew from:Der Computer、mein Lebenswerk(1984)、Berlin / Heidelberg:Springer-Verlag、ISBN 978-3-642-08151-4
  23. ^ Salz Trautman、Peggy(1994年4月20日)。「コンピューターのパイオニアが再発見され、50年が経ちました」ニューヨークタイムズ
  24. ^ ツーゼ、コンラート(1993)。DerComputer。Mein Lebenswerk(ドイツ語)(第3版)。ベルリン:Springer-Verlag。p。55. ISBN 978-3-540-56292-4
  25. ^ 「クラッシュ!ITの物語:Zuse」2016年9月18日にオリジナルからアーカイブされました2016年6月1日取得
  26. ^ Rojas、R。(1998)。「ZuseのZ3をユニバーサルコンピュータにする方法」。コンピューティングの歴史のIEEE年報20(3):51–54。土井10.1109 /85.707574S2CID14606587_ 
  27. ^ Rojas、Raúl。「ZuseのZ3をユニバーサルコンピュータにする方法」(PDF)
  28. ^ a b O'Regan、Gerard(2010)。コンピューティングの簡単な歴史シュプリンガーネイチャー。p。65. ISBN 9783030665999
  29. ^ 1941年1月15日、デモインレジスターでの通知、
  30. ^ アーサー・W・バークス(1989)。最初の電子計算機ISBN 0472081047
  31. ^ a b c d Copeland、Jack(2006)、Colossus:The Secrets of Bletchley Park's Codebreaking Computers、Oxford:Oxford University Press、pp。101–115、ISBN 978-0-19-284055-4
  32. ^ ミラー、ジョー(2014年11月10日)。「エニグマ暗号を解読した女性」BBCニュース2018年10月14日取得
  33. ^ Bearne、Suzanne(2018年7月24日)。「ブレッチリーパークの女性のコードブレーカーに会いましょう」ガーディアン2018年10月14日取得
  34. ^ 「ブレッチリーのコードクラッキング巨像」BBCニュース、2010年2月2日、 2012年10月19日取得
  35. ^ 「巨像–再建物語」国立コンピューティング博物館2015年4月18日にオリジナルからアーカイブされました2014年1月7日取得
  36. ^ ランデル、ブライアン; フェンソム、ハリー; ミルン、フランクA.(1995年3月15日)、「死亡記事:アレン・クームス」インデペンデント、 2012年10月18日検索
  37. ^ Fensom、Jim(2010年11月8日)、「Harry Fensom obituary」The Guardian 、 2012年10月17日取得
  38. ^ John Presper EckertJr。およびJohnW。Mauchly、米国特許庁、米国特許庁、米国特許第3,120,606号、1947年6月26日出願、1964年2月4日発行、ハネウェル対スペリーの裁判所判決後、1973年10月19日無効ランド
  39. ^ Evans 2018、p。39。
  40. ^ Light 1999、p。459。
  41. ^ 「コンピュータの世代」techiwarehouse.com。2015年7月2日にオリジナルからアーカイブされました2014年1月7日取得
  42. ^ チューリング、AM(1937)。「計算可能数について、Entscheidungsproblemへの適用とともに」。ロンドン数学会の議事録2. 42(1):230–265。土井10.1112 / plms /s2-42.1.230
  43. ^ 「フォンノイマン...私、そして他の人たちには、基本的な概念はチューリングによるものだと確信しています。バベッジやラブレースなどでは予想されていなかったようなものです。」スタンリー・フランケルからブライアン・ランデルへの手紙、1972年、ジャック・コープランド(2004) The Essential Turing、p22で引用。
  44. ^ Enticknap、Nicholas(1998年夏)、"Computing's Golden Jubilee"Resurrection(20)、ISSN 0958-7403 、 2012年1月9日にオリジナルからアーカイブ、2008年4月19日取得 
  45. ^ 「マンチェスター大学の初期のコンピューター」復活1(4)、1992年夏、ISSN 0958-7403 、 2017年8月28日にオリジナルからアーカイブ、2010年7月7日取得 
  46. ^ 初期の電子コンピュータ(1946–51)、マンチェスター大学、2009年1月5日にオリジナルからアーカイブ、 2008年11月16日に取得
  47. ^ Napper、RBE、Introduction to the Mark 1 、マンチェスター大学、 2008年10月26日にオリジナルからアーカイブ、2008年11月4日取得
  48. ^ Computer Conservation Society、私たちのComputer Heritage Pilot Study: 2016年12月11日にオリジナルからアーカイブされ、 2010年1月9日に取得されたFerranti MarkIおよびMarkIStarコンピューターの配信
  49. ^ ラビングトン、サイモン。「英国のコンピューターの簡単な歴史:最初の25年間(1948–1973)」英国コンピュータ協会2010年1月10日取得
  50. ^ Lee、Thomas H.(2003)。CMOS無線周波数集積回路の設計(PDF)ケンブリッジ大学出版局ISBN  9781139643771
  51. ^ プアーズ、ロバート; バルディ、リビオ; Voorde、Marcel Van de; Nooten、Sebastiaan E. van(2017)。ナノエレクトロニクス:材料、デバイス、アプリケーション、2巻John Wiley&Sonsp。14. ISBN 9783527340538
  52. ^ a b Moskowitz、Sanford L.(2016)。Advanced Materials Innovation:21世紀のグローバルテクノロジーの管理John Wiley&Sonspp。165–167。ISBN 9780470508923
  53. ^ Lavington、Simon(1998)、A History of Manchester Computers(2 ed。)、Swindon:The British Computer Society、pp。34–35
  54. ^ a b Cooke-Yarborough、EH(1998年6月)、「英国におけるいくつかの初期トランジスタアプリケーション」Engineering Science&Education Journal7(3):100–106、doi10.1049 / esej:19980301ISSN 0963-7346 、 2009年6月7日取得  (サブスクリプションが必要です)
  55. ^ Cooke-Yarborough、EH(1957)。トランジスタ回路入門エジンバラ:オリバーとボイド。p。139。
  56. ^ 「1960年:金属酸化物半導体(MOS)トランジスタのデモンストレーション」シリコンエンジン:コンピュータにおける半導体のタイムラインコンピュータ歴史博物館2019年8月31日取得
  57. ^ 元吉正明(2009)。「シリコン貫通電極(TSV)」。IEEEの議事録97(1):43–48。土井10.1109 /JPROC.2008.2007462ISSN0018-9219_ S2CID29105721_  
  58. ^ 「トランジスタはムーアの法則を生き続ける」EETimes2018年12月12日2019年7月18日取得
  59. ^ 「トランジスタを発明したのは誰ですか?」コンピュータ歴史博物館2013年12月4日2019年7月20日取得
  60. ^ a b Hittinger、William C.(1973)。「金属酸化物半導体技術」。サイエンティフィックアメリカン229(2):48–59。Bibcode1973SciAm.229b..48H土井10.1038 / scientificamerican0873-48ISSN0036-8733_ JSTOR24923169_  
  61. ^ マルムシュタット、ハワードV。; エンケ、クリスティーG。; クラウチ、スタンリーR.(1994)。適切な接続の確立:マイクロコンピューターと電子機器アメリカ化学会p。389. ISBN 9780841228610MOSFETの比較的単純で低電力の要件は、今日のマイクロコンピュータ革命を促進しました。
  62. ^ Fossum、Jerry G .; Trivedi、Vishal P.(2013)。超薄型MOSFETとFinFETの基礎ケンブリッジ大学出版局p。vii。ISBN 9781107434493
  63. ^ 「2019年国際知的財産会議でのIancu所長の発言」米国特許商標庁2019年6月10日。2019年12月17日のオリジナルからアーカイブ2019年7月20日取得
  64. ^ 「DawonKahng」国立発明者の殿堂2019年6月27日取得
  65. ^ 「発明家の殿堂のマーティンアタラ、2009年」2013年6月21日取得
  66. ^ 「MOSトランジスタの勝利」YouTubeコンピュータ歴史博物館2010年8月6日。2021年8月18日のオリジナルからアーカイブ2019年7月21日取得
  67. ^ 「ジェフリーダマーの不幸な物語」 2013年5月11日にウェイバックマシンでアーカイブ、(nd)、(HTML)、電子製品ニュース、2008年7月8日にアクセス。
  68. ^ Kilby、Jack(2000)、ノーベル講演(PDF)、ストックホルム:ノーベル財団、 2008年5月15日検索
  69. ^ Jackが構築したチップ、(c。2008)、(HTML)、Texas Instruments、2008年5月29日取得。
  70. ^ Jack S. Kilby、小型電子回路、米国特許庁、米国特許3,138,743、1959年2月6日出願、1964年6月23日発行。
  71. ^ ウィンストン、ブライアン(1998)。メディア技術と社会:歴史:電信からインターネットへラウトレッジ。p。221. ISBN 978-0-415-14230-4
  72. ^ Saxena、Arjun N.(2009)。集積回路の発明:語られていない重要な事実世界科学p。140. ISBN 9789812814456
  73. ^ ab 集積回路」NASA2019年8月13日取得
  74. ^ Robert Noyceの単一回路、米国特許2981877、「半導体デバイスおよびリード構造」、1961-04-25発行、Fairchild SemiconductorCorporationに譲渡 
  75. ^ 「1959年:実用的なモノリシック集積回路の概念は特許を取得しました」コンピュータ歴史博物館2019年8月13日取得
  76. ^ Lojek、Bo(2007)。半導体工学の歴史シュプリンガーサイエンス&ビジネスメディアp。 120ISBN 9783540342588
  77. ^ Bassett、Ross Knox(2007)。デジタル時代へ:研究所、新興企業、そしてMOSテクノロジーの台頭ジョンズホプキンス大学プレス。p。46. ISBN 9780801886393
  78. ^ ハフ、ハワードR。; ツヤ、H。; Gösele、U。(1998)。シリコン材料科学技術:シリコン材料科学技術に関する第8回国際シンポジウムの議事録電気化学会pp。181–182。ISBN 9781566771931
  79. ^ Kuo、Yue(2013年1月1日)。「薄膜トランジスタ技術—過去、現在、そして未来」(PDF)電気化学会インターフェース22(1):55–61。Bibcode2013ECSIn..22a..55K土井10.1149 /2.F06131ifISSN1064-8208_  
  80. ^ a b "トランジスタのカメがレースに勝つ-CHM革命"コンピュータ歴史博物館2019年7月22日取得
  81. ^ 「1964年–最初の商用MOSICが導入されました」コンピュータ歴史博物館
  82. ^ 「1968年:ICのために開発されたシリコンゲート技術」コンピュータ歴史博物館2019年7月22日取得
  83. ^ Kuo、Yue(2013年1月1日)。「薄膜トランジスタ技術—過去、現在、そして未来」(PDF)電気化学会インターフェース22(1):55–61。Bibcode2013ECSIn..22a..55K土井10.1149 /2.F06131ifISSN1064-8208_  
  84. ^ a b "1971:マイクロプロセッサはCPU機能をシングルチップに統合します"コンピュータ歴史博物館2019年7月22日取得
  85. ^ コリンゲ、ジャンピエール; グリーア、ジェームズC.(2016)。ナノワイヤトランジスタ:一次元のデバイスと材料の物理学ケンブリッジ大学出版局p。2. ISBN 9781107052406
  86. ^ Intelの最初のマイクロプロセッサ—Intel 4004 、Intel Corp.、1971年11月、 2008年5月13日にオリジナルからアーカイブ、2008年5月17日に取得
  87. ^ Intel 4004(1971)ダイは12 mm 2で、2300個のトランジスタで構成されていました。比較すると、PentiumProは306mm 2で、550万個のトランジスタで構成されていたとDavidのPatterson氏は述べています。Hennessy、John(1998)、Computer Organisation and Design、San Francisco:Morgan Kaufmann、  pp。27–39ISBN 978-1-55860-428-5
  88. ^ Federico Faggin The Making of the First Microprocessor IEEE Solid-State Circuits Magazine、2009年冬号、 IEEE Xplore
  89. ^ a b "クアルコムのSnapdragon835チップによる7つの見事なスマートフォンの改善"2017年1月3日。
  90. ^ Chartier、David(2008年12月23日)。「世界のノートブックの出荷は、ついにデスクトップを追い越しました」ArsTechnica
  91. ^ IDC(2013年7月25日)。「IDCによると、成長は第2四半期に世界の携帯電話およびスマートフォン市場で加速します」2014年6月26日にオリジナルからアーカイブされました。
  92. ^ ほとんどの主要な64ビット命令セットアーキテクチャは、以前の設計の拡張です。この表にリストされているすべてのアーキテクチャーは、Alphaを除いて、64ビットの化身が導入される前は32ビット形式で存在していました。
  93. ^ 命令の解釈におけるコントロールユニットの役割は、過去に多少異なりました。最近のほとんどのコンピューターでは、制御装置が命令の解釈に単独で責任を負っていますが、常にそうであるとは限りません。一部のコンピューターには、制御装置によって部分的に解釈され、別のデバイスによってさらに解釈される命令があります。たとえば、最も初期のストアドプログラムコンピュータの1つであるEDVACは、4つの命令のみを解釈する中央制御装置を使用していました。算術関連のすべての命令は、その算術ユニットに渡され、そこでさらにデコードされました。
  94. ^ 命令は多くの場合、複数のメモリアドレスを占有するため、プログラムカウンターは通常、1つの命令を格納するために必要なメモリ位置の数だけ増加します。
  95. ^ デビッド・J・エック(2000)。最も複雑なマシン:コンピューターとコンピューティングの調査AK Peters、Ltd.p。54. ISBN 978-1-56881-128-4
  96. ^ エリコスジョンコントギオルゲス(2006)。並列計算と統計のハンドブックCRCプレス。p。45. ISBN 978-0-8247-4067-2
  97. ^ フラッシュメモリは、使い古されるまでに限られた回数しか書き換えられないため、ランダムアクセスを頻繁に使用する場合にはあまり役立ちません。 Verma&Mielke 1988
  98. ^ ドナルドイーディー(1968)。基本的なコンピュータの紹介プレンティスホール。p。12.12。
  99. ^ アールパードバルナ; ダンI.ポラット(1976)。マイクロコンピューターとマイクロプロセッサーの紹介ワイリー。p。 85ISBN 978-0-471-05051-3
  100. ^ ジェリーピーク; グレーストディノ; ジョン・ストラン(2002)。UNIXオペレーティングシステムの学習:新規ユーザー向けの簡潔なガイドオライリー。p。 130ISBN 978-0-596-00261-9
  101. ^ Gillian M. Davis(2002)。スピーチアプリケーションのノイズリダクションCRCプレス。p。111. ISBN 978-0-8493-0949-6
  102. ^ ただし、安価なコモディティハードウェアの多くからスーパーコンピューターを構築することも非常に一般的です。通常、ネットワークで接続された個々のコンピューター。これらのいわゆるコンピュータークラスターは、多くの場合、カスタマイズされた設計よりもはるかに低いコストでスーパーコンピューターのパフォーマンスを提供できます。最も強力なスーパーコンピューターのほとんどにカスタムアーキテクチャーがまだ使用されていますが、近年、クラスターコンピューターが急増しています。 TOP500 2006
  103. ^ 後のコンピュータでさえ、一般的に機械語で直接プログラムされていました。DEC PDP-8のような一部のミニコンピューターは、スイッチのパネルから直接プログラムすることができます。ただし、この方法は通常、起動プロセスの一部としてのみ使用されていました。最近のほとんどのコンピュータは、不揮発性メモリから起動プログラムを読み取ることにより、完全に自動的に起動します
  104. ^ ただし、異なるコンピューター間で何らかの形の機械語の互換性がある場合があります。AMD Athlon 64のようなx86-64互換マイクロプロセッサは、 Intel Core 2マイクロプロセッサと同じプログラムのほとんどを実行できます。また、 IntelPentiumsIntel80486などの以前のマイクロプロセッサ用に設計されたプログラムもます。これは、非常に初期の商用コンピュータとは対照的です。これは、多くの場合、他に類を見ないものであり、他のコンピュータとは完全に互換性がありませんでした。
  105. ^ 高級言語も、コンパイルされるのではなく、解釈されることがよくあります。インタプリタと呼ばれる別のプログラムによって、実行中に、解釈された言語がその場で機械語に翻訳されます
  106. ^ バグがプログラマーの監視のみに起因するということは普遍的に真実ではありません。コンピュータハードウェアに障害が発生したり、特定の状況で予期しない結果を引き起こす根本的な問題が発生したりする場合があります。たとえば、 Pentium FDIVのバグにより、1990年代初頭の一部のIntel マイクロプロセッサは、特定の浮動小数点除算演算に対して不正確な結果を生成していましたこれはマイクロプロセッサ設計の欠陥が原因であり、影響を受けたデバイスの部分的なリコールが発生しました。
  107. ^ テイラー、アレクサンダーL.、III(1984年4月16日)。「マシン内のウィザード」時間2007年3月16日にオリジナルからアーカイブされました2007年2月17日取得
  108. ^ アガサC.ヒューズ(2000)。システム、専門家、およびコンピューターMITプレスp。161. ISBN 978-0-262-08285-3SAGEの経験は、最初の真に大規模な商用リアルタイムネットワークであるSABREコンピューター化航空予約システムを可能にするのに役立ちました。
  109. ^ Leiner、Barry M。; サーフ、ヴィントンG。; クラーク、デビッドD。; カーン、ロバートE。; クラインロック、レナード; リンチ、ダニエルC。; ポステル、ジョン; ロバーツ、ラリーG。; ウルフ、スティーブン(1999)。「インターネットの簡単な歴史」インターネットソサエティarXivcs / 9901011Bibcode1999cs ........ 1011L 2008年9月20日取得 {{cite journal}}: Cite journal requires |journal= (help)
  110. ^ Shorter Oxford English Dictionary(6th ed、2007)によると、コンピューターという言葉は17世紀半ばにさかのぼり、「計算を行う人、具体的には天文台などでこれに雇われた人」を指していました。
  111. ^ 「コンピュータの定義」Thefreedictionary.com 2012年1月29日取得
  112. ^ II、Joseph D. Dumas(2005)。コンピュータアーキテクチャ:コンピュータ設計の基礎と原則CRCプレス。p。340. ISBN 9780849327490

ノート

外部リンク