カテゴリー: CPU

CPU

  • コンピューティングパワーとは何ですか?

    スーパーコンピューターはなぜそこまで優れているのでしょうか?高層ビルを一気に飛び越えることができるのか、それとも無実の人々の権利を守ることができるのか?真実はもう少しありふれたものです。スーパーコンピューターは複雑な計算を非常に高速に処理できます。

    結局のところ、それがコンピューティング能力の秘密です。すべては、マシンがどれだけ速く操作を実行できるかにかかっています。コンピューターが行うことはすべて数学に分類されます。コンピュータのプロセッサは、実行するコマンドを一連の数学の問題として解釈します。高速なプロセッサは、低速なプロセッサよりも 1 秒あたりに多くの計算を処理でき、非常に難しい計算の処理にも優れています。

    コンピュータの CPU には電子時計が内蔵されています。時計の仕事は、一定の間隔で一連の電気パルスを生成することです。これにより、コンピュータはすべてのコンポーネントを同期できるようになり、コンピュータがメモリからデータを取得して計算を実行できる速度が決まります。

    プロセッサーのギガヘルツ数について話すとき、実際にはクロック速度について話します。この数値は、CPU が 1 秒間に送信する電気パルスの数を表します。 3.2 ギガヘルツのプロセッサは、毎秒約 32 億パルスを送信します。一部のプロセッサーを、宣伝されている制限よりも高速にすることは可能ですが、オーバークロックと呼ばれるプロセスですが、最終的にはクロックが制限に達し、速度が上がらなくなります。

    2010 年 3 月の時点で、処理能力の記録は Jaguar と呼ばれる Cray XT5 コンピュータにあります。 Jaguar スーパーコンピューターは、1 秒あたり最大 2.3 京の計算を処理できます 。

    コンピュータのパフォーマンスは、1 秒あたりの浮動小数点演算、つまりフロップ数でも測定できます。現在のデスクトップ コンピューターには、1 秒あたり数十億回の浮動小数点演算、つまりギガフロップスを処理できるプロセッサが搭載されています。マルチプロセッサを搭載したコンピュータは、各プロセッサ コアが 1 秒あたり一定数の計算を処理できるため、シングルプロセッサ マシンよりも有利です。マルチコアプロセッサは、消費電力を削減しながらコンピューティング能力を向上させます

    高速なコンピューターであっても、特定のタスクを完了するには何年もかかることがあります。非常に大きな数の 2 つの素因数を見つけることは、ほとんどのコンピューターにとって困難な作業です。まず、コンピュータは大きな数の因数を決定する必要があります。次に、コンピューターは因数が素数かどうかを判断する必要があります。信じられないほど多数の場合、これは骨の折れる作業です。コンピュータが計算を完了するには何年もかかることがあります。

    将来のコンピュータでは、そのようなタスクは比較的簡単になるかもしれません。十分な能力を備えた量子コンピューターが動作していれば、因数を並行して計算し、最も可能性の高い答えをほんの数分で得ることができます。ただし、量子コンピューターには独自の課題があり、すべてのコンピューティング タスクに適しているわけではありませんが、コンピューティング能力に対する私たちの考え方を変える可能性があります。

    コンピューターとプロセッサーの詳細については、次のページのリンクを参照してください。

    その他の素晴らしいサイト

    • ディスカバリーニュース: テクノロジー
  • CPU はどこまで小型化できるのでしょうか?

    20 世紀、発明家たちは、人々が定期的に依存するデバイスを作成しました。おそらく、最も重要な発明の 1 つはトランジスタです。 1947 年にベル研究所で働くエンジニアによって開発されたこのトランジスタの本来の目的は、電話回線を通じて音声を増幅することでした。トランジスタは古い技術である真空管に取って代わりました。真空管は信頼性が低く、かさばり、また大量の熱を発生しました。

    最初のトランジスタは、高さ 0.5 インチ (1.27 センチメートル) の点接触型トランジスタでした。このトランジスタはそれほど強力ではありませんでしたが、物理学者はこのデバイスの可能性を認識していました。やがて、物理学者や技術者はさまざまな電子機器にトランジスタを組み込み始めました。そして時間が経つにつれて、彼らはトランジスタをより小さく、より効率的にする方法も学びました。

    1958 年、エンジニアはシリコン結晶に 2 つのトランジスタを取り付け、世界初の集積回路を作成しました 。次に、集積回路はマイクロプロセッサの開発への道を開きました。コンピューターを人間にたとえると、マイクロプロセッサーは脳に相当します。計算を行ってデータを処理します。

    1960 年代までに、コンピューター科学者 (インテルの共同創設者) ゴードン ムーアは興味深い観察をしました。彼は、エンジニアが 12 か月ごとに 1 平方インチのシリコン片上のトランジスタの数を 2 倍にできることに気づきました。時計仕掛けのように、エンジニアはトランジスタのサイズを縮小する方法を見つけていました。パソコン、スマートフォン、 mp3プレーヤーなどの電子機器は、この小さなトランジスタのおかげで作られています。トランジスタがなければ、私たちは依然として真空管と機械式スイッチを使用して計算を行っていたでしょう。

    ムーア氏の観察以来、縮小傾向は続いている。しかし、ムーア氏が観察したペースには追いついていない。最近では、トランジスタの数は 24 か月ごとに 2 倍になります。しかし、そうすると興味深い疑問が生じます。トランジスタ、ひいては CPU はどこまで小さくできるのでしょうか? 1947 年、単一のトランジスタの高さは 100 分の 1 メートル強でした。 2010 年代までに、インテルは幅わずか 45 ナノメートルのトランジスタを備えたマイクロプロセッサを製造しました。ナノメートルは10億分の1メートルです!

    Intel および他のマイクロプロセッサ メーカーは、すでに次世代チップの開発に取り組んでいます。これらには、幅わずか 32 ナノメートルのトランジスタが使用されます。しかし、物理学者や技術者の中には、トランジスタのサイズに関して、根本的な物理的限界にぶつかっているのではないかと考える人もいます。

    トランジスタの構造

    Xeonプロセッサ

    トランジスタの物理的な制限に入る前に、トランジスタが何で構成され、実際に何をするのかを知ることが役立ちます。基本的に、トランジスタは特殊な種類の物質で作られたスイッチです。物質を分類する方法の 1 つは、物質がどの程度電気を通すことができるかを調べることです。これにより、物質は導体絶縁体半導体の 3 つのカテゴリに分類されます。導体とは、電子のための自由空間を持つ原子で作られたあらゆる種類の材料です。電流は導電性材料を通過できます。金属は良導体である傾向があります。絶縁体は、利用可能な電子空間を持たない原子で構成される物質です。その結果、これらの材料には電気が流れなくなります。セラミックやガラスは絶縁体の良い例です。

    半導体は少し異なります。それらは、電子が入るスペースはあるものの、金属のように電気を通すには十分ではない原子を含む物質で構成されています。シリコンとはそういう素材です。状況によっては、シリコンが導体として機能することがあります。他の環境では絶縁体として機能します。これらの状況を微調整することで、電子の流れを制御することが可能です。このシンプルなコンセプトが、世界で最も先進的な電子機器の基礎となっています。

    エンジニアたちは、シリコンにドーピング、つまり特定の種類の材料を導入することで、その導電性を制御できることを発見しました。彼らは基板と呼ばれるベースから開始し、それに負に帯電した材料または正に帯電した材料をドープします。負に帯電した材料には過剰な電子があり、正に帯電した材料には過剰な正孔(電子が収まる場所)が存在します。この例では、正に帯電した基板を持つn 型トランジスタを考えます。

    この基盤の上に、ソースドレインゲートの 3 つの端子があります。ゲートはソースとドレインの間にあります。これは、電圧がシリコンに通過することはできますが、そこから外へ戻ることはできないドアとして機能します。ゲートには酸化層と呼ばれる薄い絶縁層があり、電子が端子を通過して戻るのを防ぎます。この例では、絶縁体はゲートと正に帯電した基板の間にあります。

    この例のソースとドレインは、負に帯電した端子です。ゲートに正の電圧を印加すると、正に帯電した基板内の少数の自由電子がゲートの酸化層に引き寄せられます。これにより、ソース端子とドレイン端子の間に電子チャネルが形成されます。次にドレインに正の電圧を印加すると、電子はソースから電子チャネルを通ってドレインに流れます。ゲートから電圧を取り除くと、基板内の電子はゲートに引き寄せられなくなり、チャネルが破壊されます。つまり、ゲートに電荷が蓄積されると、トランジスタが「オン」に切り替わります。電圧がなくなると、トランジスタは「オフ」になります。

    電子機器は、この切り替えをビットとバイトの形式の情報として解釈します。これが、コンピューターやその他の電子デバイスがデータを処理する方法です。しかし、エレクトロニクスは電子の動きに依存して情報を処理するため、特別な物理法則の影響を受けます。次のセクションで詳しく見ていきます。

    私はポジティブです!

    この例では n 型トランジスタを使用していますが、 p 型トランジスタを構築することも可能です。その場合、基板にマイナスに帯電した材料をドープすると、端子はプラスに帯電することになります。

    ナノスケールのトランジスタ

    Pentium 4プロセッサ

    毎年のようにジャーナリストが、トランジスタはこれまでにないほど小さくなり、ムーアの法則はもう存在しないという記事を発表しているようです。その後、エンジニアはさらに小さなトランジスタを作成する革新的な方法を見つけ、ジャーナリストの間違いを証明します。多くの作家がムーアの法則の終焉を予測することを躊躇する段階に達しています。

    しかし、いつか従来のトランジスタの小型化の物理的限界に達するのは事実です。それは、ナノスケールに達すると、量子力学の奇妙な世界を扱うことになるからです。この世界では、物質とエネルギーは直感に反しているように見えます。量子物理学は古典的な物理学とは大きく異なります。その動作に影響を与えずに量子スケールで何かを観察することさえできません。

    量子効果の 1 つは電子トンネリングで、これはテレポーテーションに少し似ています。材料が非常に薄い場合、つまり 1 ナノメートル (原子の厚さ約 10 個) の厚さである場合、電子は、まるでそこに存在しないかのように、材料をトンネルで通過することができます。電子は実際には物質に穴を開けません。代わりに、電子は障壁の一方の側から消え、もう一方の側に再び現れます。ゲートは電子の流れを制御するものであるため、これは問題です。いかなる状況下でも電子がゲートを通過できる場合、その流れを制御する方法はありません。リーキーなトランジスタでは電子の流れを制御できないため、プロセッサは非効率になるか、まったく機能しなくなる可能性があります。

    インテルのような企業が幅わずか 32 ナノメートルのトランジスタに取り組んでいると、酸化物層が薄すぎて従来のトランジスタを使用して電子のゲートとして機能できなくなる日もそう長くはかからないでしょう。エンジニアはこれまでにもトランジスタの縮小競争でいくつかの障害にぶつかりましたが、常に問題を回避し、ムーアの法則に従う何らかの方法を見つけてきました。しかし、私たちが基本的な物理法則に直面すれば、その時代は終わるかもしれません。

    技術者が、たとえ 1 ナノメートルの厚さでも効果的な絶縁体を作成する方法を発見する可能性があります。しかし、たとえそれができたとしても、今日私たちが知っているトランジスタではそれ以上のことはできません。結局のところ、ナノスケールを超えたものは原子スケールであり、原子数個のサイズしかない材料を扱うことになります。

    これはトランジスタがなくなるという意味ではありません。しかしそれは、マイクロプロセッサ開発の進歩が鈍化し、横ばいになることを意味するかもしれない。処理能力の向上は、今後も指数関数的に向上するとは限りません。しかし、それでも企業はマイクロプロセッサの効率とパフォーマンスを向上させる方法を見つけるだろう。

    マイクロプロセッサメーカーがトランジスタの代替品を見つける可能性もある。そして、ナノスケールの量子効果を活用する方法、つまりナノレモンをナノレモネードに効果的に変える方法をすでに検討している企業もいる。

    マイクロプロセッサメーカーがムーアの法則を維持できるのはあと数年だけのようだ。しかし、数十年前の予測を振り返ってみると、ジャーナリストが同じ主張をしているのがわかります。おそらくエンジニアは、これらの予測を、一見克服不可能な障害を回避する方法を見つけるための個人的な挑戦であると考えています。

    小型パッケージ

    Intel Atom は、スマートフォンで動作するように設計された、小さいながらも強力なプロセッサの集合体です 。

    関連する仕組みの記事

  • 分散コンピューティングの仕組み

    計算問題が非常に複雑な場合、1 台のコンピューターで処理するのに長い時間がかかり、場合によっては数百万日かかることがあります。スーパーコンピューターにも処理限界があります。幸いなことに、分散コンピューティングシステムは、複雑な計算タスクを効率的に処理するために導入できます。

    非常に重い車を押して丘を登るという任務を割り当てられたと想像してください。車の移動を手伝うために、他に何もしていない人を募集することは許可されています。選択肢は 2 つあります。1 人ですべてをこなせるほど大きくて強い人を 1 人探すか、平均的な人を数人集めて一緒に押してもらうかです。ほとんどの場合、平均的な体格の人々のグループを集める方が簡単です。奇妙に聞こえるかもしれませんが、分散コンピュータ システムも同じ原理を使用します。

    ハイパフォーマンス コンピューティングに代わる手頃な価格の代替品です。ハイ パフォーマンス コンピューティングでは が使用されますが、分散コンピューティングではネットワークに接続された多数のコンピューターが活用されます。よりスケーラブルであり、リソース プーリングを利用します。

    分散コンピューティング システムは、特定のタスクを達成するために連携して動作するコンピューターのネットワークです。各コンピューターは、目標の達成を支援するために、その処理能力の一部 (場合によっては他のリソース) を寄付します。数千台のコンピュータをネットワークで接続することにより、分散コンピューティング システムはスーパーコンピュータの処理能力と同等、あるいはそれを超えることができます。

    ほとんどの場合、コンピューターはすべての計算リソースを使用しているわけではありません。コンピュータの電源は入っていても、実際には使用していない場合もあります。分散コンピューティング システムは、共有コンピューティング システムとも呼ばれ、使用されないままになるこれらのリソースを利用します。

    共有コンピューティング システムは、特定の複雑な問題には最適ですが、他の問題には役に立ちません。設計と管理が複雑になる場合があります。数人のコンピュータ科学者が共有コンピューティング システムを標準化する方法に取り組んでいますが、既存のシステムの多くは独自のハードウェア、ソフトウェア、アーキテクチャに依存しています。

    典型的な分散コンピューティング システムを構成する要素は何ですか?読み続けて調べてください。

    分散システム

    従来のハイ パフォーマンス コンピューティング システムでは、すべてのコンピュータが同じモデルであり、同じオペレーティング システム上で実行されます。多くの場合、システム上で実行されるすべてのアプリケーションには、独自の専用サーバーがあります。ネットワーク全体が有線接続に依存している場合があります。これは、システム内のすべての要素がさまざまなハブを介して相互に接続されていることを意味します。システム全体が効率的でエレガントです。

    分散コンピューティング システムも同様に効率的ですが、必ずしも見た目が非常にエレガントであるとは限りません。分散システムは、コンピュータを相互に接続するために依存するソフトウェアによってのみ制限されます。適切なソフトウェアを使用すると、共有コンピューティング システムは、異なるオペレーティング システムで実行されているさまざまな種類のコンピュータ上で動作できます。ネットワーク接続は、有線ネットワーク、ローカル エリア ネットワーク ( LAN )、ワイヤレス エリア ネットワーク (WAN)、またはインターネット上に存在する場合があります。分散システムが従来の HPC システムに比べて持つ最大の利点は、共有コンピューティング システムにリソースを追加しやすいことです。システムのソフトウェアを実行できるコンピュータを持っている人なら誰でも参加できます。

    システムのソフトウェアは、各コンピュータの未使用の処理能力にアクセスできるようにするものです。参加するには、システムに接続されているすべてのコンピューターにこのソフトウェアがインストールされている必要があります。決定的な共有コンピューティング ソフトウェア キットはありませんが、一般に、ソフトウェアは次のことを実行する必要があります。

    • システムの管理サーバーに連絡してデータのチャンクを取得します
    • ホストコンピュータのCPU使用率を監視し、利用可能な場合には処理能力を利用します。
    • 新しいデータと引き換えに、分析されたデータを管理サーバーに送り返す

    分散コンピューティングの用途は比較的狭いです。これらは、科学者が小さなセクションに分割できる大きな計算問題を解決するのに最適です。問題を小さな塊に分割することが特に簡単な場合、それは恥ずかしいほどの並列問題と呼ばれます。

    小規模な計算問題や分解するのが難しい問題の場合、共有コンピューティング システムはあまり役に立ちません。このシステムの重要な点は、複雑な計算を完了するのにかかる時間を短縮することです。ネットワーク上の単純な計算の速度が必ずしも向上するとは限りません。

    分散コンピューティング システムのさまざまな部分は何ですか?読み続けて調べてください。

    別の名前のシステム

    分散コンピューティング システムは、数百または数千のコンピュータのアイドル処理能力を利用するため、CPU スカベンジング、サイクル スカベンジング、サイクル スティーリングなどとも呼ばれます。それぞれの名前は、共有コンピューティング システムがそのネットワークに属するすべてのコンピュータの CPU を利用する方法を指します。

    分散コンピューティング アーキテクチャ

    理論的にはユーザーの数と同じ数のネットワーク インターフェイス ポイントを持つことができるグリッド コンピューティング システムとは異なり、分散コンピューティング システムには通常、制御ポイントがわずかしかありません。それは、ほとんどの共有コンピューティング システムには特定の目的があり、汎用ユーティリティではないためです。

    典型的な共有コンピューティング システムにはフロントエンドとバックエンドがあると想像するとわかりやすいでしょう。フロントエンドには、プロジェクトにCPUリソースを提供しているすべてのコンピューターがあります。バックエンドには、プロジェクト全体を管理し、主要なタスクを小さなチャンクに分割し、フロントエンドのコンピューターと通信し、分析完了後にフロントエンド コンピューターが送信する情報を保存するコンピューターとサーバーがあります。

    一般に、計算問題をより小さなチャンクに分割する仕事は、バックエンド コンピューター (通常はサーバー) 上のプログラムにあります。このコンピュータは、特定のソフトウェアを使用して、平均的なコンピュータ システムで管理しやすいようにタスクを小さな部分に分割します。フロントエンド コンピューターにインストールされているコンパニオン ソフトウェアからアクセスされると、サーバーは分析のためにネットワーク経由でデータを送信します。完了した分析ジョブを受信すると、サーバーはデータを適切なデータベースに送信します。

    システム管理者は通常、別のコンピュータを使用して、完了した分析をつなぎ合わせます。最終的な目標は、非常に大きな問題を少しずつ解決することで解決策に到達することです。多くの場合、システム管理者は他の人がその情報から利益を得られるように結果を公開します。

    このアーキテクチャの説明が少し曖昧に見える場合は、分散コンピューティング システムを作成および管理する単一の方法がないためです。各システムには独自のソフトウェアとアーキテクチャがあります。ほとんどの場合、プログラマーは特定のシステムの目的に合わせてソフトウェアをカスタマイズします。 2 つの異なる共有コンピュータ システムは、一般的には同じように動作する可能性がありますが、詳細を掘り下げてみると、大きく異なって見えることがあります。

    分散コンピューティング アプリケーションにはどのようなものがありますか?なぜ特殊なソフトウェアが必要なのでしょうか?次のセクションで調べてください。

    仮想サーバー

    分散コンピューティング システムの中には、仮想サーバーを使用するものもあります。仮想サーバーを作成するには、エンジニアは単一の物理サーバーに特別なソフトウェアをインストールします。ソフトウェアはサーバーを複数の専用プラットフォームに分割し、それぞれが他のプラットフォームから独立してオペレーティング システムを実行できます。なぜこれを行うのでしょうか?平均的なコンピュータの所有者が自分のコンピュータの処理能力をすべて使用することはめったにないのと同様に、平均的なサーバーがフル稼働することはまれです。仮想サーバーを使用すると、単一の物理サーバーが最大限の潜在能力に近い状態で稼働し、追加のハードウェアの必要性が減ります。

    分散コンピューティング アプリケーション

    顕微鏡とコンピューターを使用する科学者 

    アクティブな分散コンピューティング システム プロジェクトが数十件あり、それぞれに独自のネットワークと計算タスクがあります。これらのネットワークの一部は重複しています。ユーザーが複数のネットワークに参加することは可能ですが、異なるプロジェクトがアイドル状態のリソースを分割する必要があることを意味します。その結果、個々のタスクには少し時間がかかります。

    共有コンピュータ システムの一例は、 です。ウィスコンシン大学マディソン校は、複数のプロジェクトに GLOW を使用しており、これはある意味、ほとんどの共有コンピューティング システムとは一線を画しています。あるプロジェクトでは、GLOW ネットワークを使用してヒトゲノムを研究しています。別の企業は、GLOW のリソースを利用して、がんの潜在的な治療法を研究しています。単一タスク専用の分散コンピューティング システムとは異なり、GLOW は複数のプロジェクトに対応できます。

    GLOW を実現するソフトウェアは Condor と呼ばれます。 Condor の仕事は、GLOW ネットワーク内でアイドル状態のプロセッサを探し出し、それらを個々のプロジェクトの作業に使用することです。 1 つのプロジェクトが非アクティブな場合、Condor は他のプロジェクトのリソースを借用します。ただし、以前は非アクティブだったプロジェクトがオンラインに戻った場合、Condor はそれぞれのコンピューターのプロセッサを解放します。

    他の共有コンピューティング システムには次のようなものがあります。

    • SETI @home: 知的地球外生命体を探索するために電波望遠鏡からのデータを分析するプロジェクト。
    • Africa@home: このプロジェクトは、マラリア対策の取り組みに重点を置き、アフリカの生活の質を向上させるために設計されたプログラムの研究にコンピュータの能力を投入します。
    • Proteins@home、Predictor@home、Rosetta@home、Folding@home: これらのプロジェクトはそれぞれ、さまざまな方法でタンパク質を研究しています。
    • Einstein@home、Cosmology@home、Milkyway@home、Orbit@home: これらのプロジェクトは天文データを研究します。

    他のプロジェクトでは、流体力学の物理学から模擬ナノテクノロジー環境に至るまで、あらゆるものを研究しています。

    分散コンピューティング システムは非常に便利ですが、何か危険があるのでしょうか?怖くないなら読み続けてください。

    分散コンピューティングに関する懸念

    システムが 1 つのコンピュータから別のコンピュータのリソースへのアクセスを許可するときは常に、安全性とプライバシーに関する疑問が生じます。プログラムの管理者が特定のユーザーのコンピュータを覗き見するのを阻止するものは何でしょうか?管理者が CPU パワーを利用できる場合、ファイルや機密データにもアクセスできるでしょうか?

    この質問に対する簡単な答えは、参加しているコンピュータがシステムの一部となるためにインストールする必要があるソフトウェアに依存するということです。共有コンピューティング システムが個々のコンピュータで実行できることはすべて、そのソフトウェア アプリケーションに依存します。ほとんどの場合、このソフトウェアではホスト コンピューター上のコンテンツに直接アクセスすることはできません。すべてが自動化されており、アクセスできるのは CPU の処理能力のみです。

    ただし例外もあります。ゾンビ コンピュータシステムまたはボットネットは、悪意のある共有コンピューティング システムの一例です。ハッカーが率いるゾンビ コンピュータ システムは、無実のコンピュータ所有者を犠牲者にします。まず、ハッカーがコンピュータにアクセスできるようになる前に、被害者は自分のコンピュータに特定のソフトウェアをインストールする必要があります。通常、このようなソフトウェア アプリケーションは無害なプログラムに見せかけられます。インストールされると、ハッカーは被害者のコンピュータにアクセスして、直接サービス拒否 (DDoS) 攻撃などの悪意のあるタスクを実行したり、大量のスパムを送信したりすることができます。ボットネットは数百、数千のコンピュータにまたがる可能性があり、被害者は何が起こっているかを認識することはありません。

    分散コンピューティング システムでは、特定のコンピューターがオフラインになったり、長期間使用できなくなったりした場合に備えた計画を立てる必要もあります。ほとんどのシステムには、各タスクに時間制限を設ける手順が導入されています。参加者のコンピュータが一定の時間内にタスクを完了しない場合、コントロール サーバーはそのコンピュータのタスクをキャンセルし、そのタスクを新しいコンピュータに割り当てます。

    共有コンピューティングに対する批判の 1 つは、アイドル状態のプロセッサを活用する一方で、消費電力と発熱量が増加するということです。コンピュータがより多くの処理能力を使用すると、より多くの電力が必要になります。共有コンピューティング システム管理者の中には、システムがリソースに常にアクセスできるようにするために、参加者にコンピューターを常にオンにしたままにするよう勧めている人もいます。共有コンピューティング システムの取り組みは、エネルギー節約を重視する環境に優しい取り組みと衝突することがあります。

    おそらく、分散コンピューティング システムに対する最大の批判は、分散コンピューティング システムが十分に包括的ではないということです。処理能力リソースをプールしますが、ストレージなどの他のリソースは利用しません。そのため、多くの組織は、より多くのリソースを活用し、より多様なアプリケーションがネットワークを利用できるようにするグリッド コンピューティング システムの実装を検討しています。

    グリッドと共有

    分散コンピューティング システムは、制限されたグリッド コンピューティング システムの一種です。分散コンピューティング システムは、特定のタスク用のデータの塊をコンピュータのネットワーク全体に分散し、未使用の CPU パワーを活用します。グリッド コンピューティング システムでは、ネットワーク コンピュータが処理能力、メモリ、ストレージ スペースなどの複数のリソースを共有します。共有コンピューティング システムには通常、特定の目標があります。その目標が達成されれば、システムは必要ありません。将来のグリッド コンピューティング システムは組織指向になるでしょう。つまり、システムは組織や企業の一般的な資産として使用され、特定の 1 つの目標に特化したものではなくなります。

  • 並列コンピューティングの仕組み

    コンピューターが人間である場合、中央処理装置 (CPU) はその脳になります。 CPU はマイクロプロセッサ、つまりチップ上のコンピューティング エンジンです。一部の計算問題は、強力な の恩恵を受けても解決するのに何年もかかります。そのため、コンピューター科学者は、並列処理と呼ばれる並列計算アプローチを使用することがあります。

    並列コンピューティングとは何ですか?

    タスクを複数の小さな部分に分割し、複数のプロセッサで同時に処理することを意味する広義の用語です。単一のプロセッサに依存して一度に 1 つずつタスクを実行する従来の逐次コンピューティングとは異なり、並列コンピューティングでは並列プログラムと複数の処理ユニットを利用して効率を高め、計算時間を短縮します。このアプローチは、現代のコンピューティングで複雑な問題や大規模なデータセットを処理し、複数のタスクの同時実行を可能にするために重要です。

    並列処理とは何を意味しますか?

    並列処理は並列コンピューティングの一種です。コンセプトは非常にシンプルです。コンピューター科学者は、そのタスクのために特別に設計された特別なソフトウェアを使用して、複雑な問題を構成要素に分割します。次に、各コンポーネント部分を専用のプロセッサに割り当てます。各プロセッサは、全体的な計算問題のうちのその部分を解決します。ソフトウェアはデータを再構築して、元の複雑な問題の最終的な結論に達します。

    これは、負荷を分散できれば仕事をやり遂げるのが容易になるというハイテクな言い方です。同じコンピュータに搭載されている異なるプロセッサ間で負荷を分割することも、複数のコンピュータをネットワークで接続してそれらすべての間で負荷を分割することもできます。同じ目標を達成するにはいくつかの方法があります。

    並列処理アプローチ

    並列処理を理解するには、4 つの基本的なプログラミング モデルを確認する必要があります。コンピューター科学者は、コンピューターが処理する命令ストリームの数とデータ ストリームの数という 2 つの要素に基づいてこれらのモデルを定義します。命令ストリームはアルゴリズムです。アルゴリズムは、特定の問題を解決するために設計された一連のステップにすぎません。データ ストリームは、アルゴリズムへの入力値として使用されるコンピューター メモリから引き出された情報です。プロセッサは、データ ストリームからの値を命令ストリームからのアルゴリズムに組み込みます。次に、結果を取得するための操作を開始します。

    単一命令、単一データ (SISD)コンピューターには、一度に 1 つのデータ ソースを使用して 1 つのアルゴリズムを処理する 1 つのプロセッサが搭載されています。コンピューターは各タスクに順番に取り組み、処理するため、SISD コンピューターを説明するために「シーケンシャル」という言葉が使われることがあります。単独で並列処理を実行することはできません。

    複数命令単一データ (MISD) コンピューターには複数のプロセッサが搭載されています。各プロセッサは異なるアルゴリズムを使用しますが、同じ共有入力データを使用します。 MISD コンピューターは、複数の異なる操作を同時に使用して、同じデータ セットを分析できます。操作の数はプロセッサの数によって異なります。 MISD コンピューターが計算できる問題が一般的ではなく特殊であることもあり、MISD コンピューターの実例はあまり多くありません。

    並列コンピュータの重要性

    並列コンピュータは、単一プロセッサを備えた単一コンピュータよりも効率的に複雑な計算問題に取り組むように設計されたシステムです。 2 つ以上のプロセッサの能力を利用することで、これらのシステムは複数のタスクを同時に実行できるため、大規模なデータ セットの処理や複雑な計算の解決に必要な時間を大幅に短縮できます。このアプローチは、科学研究からビッグデータ分析に至るまでの分野の基本です。

    単一命令複数データ (SIMD) コンピューターには、同じ命令セットに従う複数のプロセッサがありますが、各プロセッサはそれらの命令に異なるデータを入力します。 SIMD コンピューターは、同じアルゴリズムを通じて異なるデータを実行します。これは、同じ基準に基づいて大量のデータを分析する場合に役立ちます。多くの複雑な計算問題はこのモデルに適合しません。

    複数命令、複数データ (MIMD) コンピューターには複数のプロセッサーがあり、それぞれが他のプロセッサーから独立して独自の命令ストリームを受け入れることができます。各プロセッサは、個別のデータ ストリームからもデータを取得します。 MIMD コンピューターは、複数の異なるプロセスを同時に実行できます。 MIMD コンピューターは SIMD コンピューターや MISD コンピューターよりも柔軟性がありますが、これらのコンピューターを動作させる複雑なアルゴリズムを作成するのはより困難です。 SPMD (Single Program, Multiple Data) システムは、MIMD のサブセットです。 SPMD コンピューターは MIMD のように構造化されていますが、すべてのプロセッサーで同じ命令セットを実行します。

    これら 4 つのコンピュータのうち、SIMD および MIMD コンピュータは並列処理システムで最も一般的なモデルです。 SISD コンピューターは単独で並列処理を実行することはできませんが、複数のコンピューターをネットワークで接続してクラスターにすることは可能です。各コンピュータの CPU は、より大規模な並列システムのプロセッサとして機能できます。これらのコンピューターは一緒になって 1 つのスーパーコンピューターのように動作します。この技術には、グリッド コンピューティングという独自の名前が付いています。 MIMD コンピューターと同様、グリッド コンピューティングシステムは、適切なソフトウェアを使用することで非常に柔軟になります。

    意見の相違

    グリッド コンピューティングと並列処理は 2 つの異なる分野であると言う人もいます。両方をハイ パフォーマンス コンピューティングの傘下にグループ化する企業もいます。並列処理とグリッド コンピューティングは類似しており、収束に向かっているものの、今のところは依然として別個の技術であることに同意する人もいます。

    並列処理計算

    個別には、各プロセッサは他のマイクロプロセッサと同じように動作します。プロセッサはアセンブリ言語で書かれた命令に基づいて動作します。これらの命令に基づいて、プロセッサはコンピュータ メモリから取得したデータに対して数学的演算を実行します。プロセッサは、データを別のメモリの場所に移動することもできます。

    シーケンシャル システムでは、プロセッサの動作の結果としてデータ値が変化しても問題はありません。プロセッサーは新しい値を将来のプロセスに組み込んで続行できます。並列システムでは、値の変更が問題となる可能性があります。複数のプロセッサが同じデータを使用して動作しているが、データの値が時間の経過とともに変化する場合、値の衝突によりシステムが不安定になったり、クラッシュしたりする可能性があります。これを防ぐために、多くの並列処理システムはプロセッサ間で何らかの形式のメッセージングを使用します。

    並列プログラミングを理解する

    並列プログラミングでは、問題を複数の並列タスクに分割し、各タスクを異なるプロセッサ上で同時に実行できるソフトウェアを作成する必要があります。これは、解決する問題と、ソリューションが実行される並列コンピュータ アーキテクチャの両方についての深い理解が必要なため、簡単な作業ではありません。並列プログラムは、リソースを無駄にしたりデータの競合を引き起こすことなく、すべてのプロセッサが連携して効率的に動作するように慎重に設計する必要があります。

    プロセッサはソフトウェアに依存してメッセージを送受信します。このソフトウェアにより、プロセッサは他のプロセッサと情報を通信できるようになります。メッセージを交換することで、プロセッサはデータ値を調整し、相互の同期を保つことができます。すべてのプロセッサがタスクを完了すると、CPU はすべての個別のソリューションを元の計算問題の全体的なソリューションに再構築する必要があるため、これは重要です。これをパズルのように考えてください。すべてのプロセッサが同期していれば、パズルのピースはシームレスに組み合わされます。プロセッサが同期していないと、パズルのピースがまったく噛み合わない可能性があります。

    システムのパフォーマンスに影響を与える可能性のある主な要因は、遅延と帯域幅の 2 つです。待ち時間とは、プロセッサが結果をシステムに送信するのにかかる時間を指します。プロセッサがアルゴリズムを実行するのにかかる時間が、結果として得られた情報をシステム全体に送信するのにかかる時間よりも短い場合は、良くありません。このような場合には、シーケンシャル コンピュータ システムの方が適切です。帯域幅とは、プロセッサが特定の時間内に送信できるデータ量を指します。優れた並列処理システムは、低遅延と高帯域幅の両方を備えています。

    場合によっては、並列処理は逐次コンピューティングよりも高速ではありません。コンピュータの CPU が個々の並列プロセッサ ソリューションをすべて再構築するのに時間がかかりすぎる場合は、シーケンシャル コンピュータの方が適切な選択肢となる可能性があります。コンピューター科学者が並列処理技術を改良し、プログラマーが効果的なソフトウェアを作成するにつれて、これは問題ではなくなるかもしれません。

    並列システムによるコンピューティングの未来

    将来を見据えると、テクノロジーと科学の進歩における並列コンピューティングの役割は否定できません。計算問題の複雑さが増すにつれて、より高度な並列コンピュータ アーキテクチャとプログラミング技術の必要性も高まります。並列処理をサポートするハードウェアを備えた現代のコンピューターは、人工知能から気候モデリングに至るまで、あらゆる分野でのイノベーションへの道を切り開いています。この時代では、現代の最も困難な問題を解決しようとする人にとって、並列コンピューティングの力を理解し、活用することが不可欠です。

    私を迎えてくれていますか?

    メッセージ交換システムは、メッセージ パッシング インターフェイス (MPI) と呼ばれることもあります。優れた MPI は、共有データの値を知る必要があるプロセッサにのみメッセージを送信します。別の方法は、システム内のすべてのプロセッサにメッセージを送信することですが、これによりシステムのパフォーマンスが低下する可能性があります。

  • ムーアの法則の仕組み

    パーソナル コンピュータに関するジョークは、デバイスが市場に出回った頃からずっと存在しています。新しいコンピュータを購入して家に持ち帰り、開梱し終えた瞬間に新しいコンピュータの広告が表示され、そのせいで自分のコンピュータが時代遅れになってしまうというものです。 。あなたが最速で最も強力なマシンを求めるタイプの人であれば、イライラしてコンピュータ ストアに何度も足を運ぶ運命にあるようです。

    このジョークは明らかに誇張ですが、それほど的外れではありません。今日の控えめなパーソナル コンピューターの 1 台でも、有名な Cray-1スーパーコンピューターよりも多くの処理能力とストレージ容量を備えています。 1976 年当時、Cray-1 は最先端技術でした。1秒あたり 1 億 6,000 万回の浮動小数点演算(フロップ) を処理でき、8 メガバイト (MB) のメモリを搭載していました。

    現在、多くのパーソナル コンピューターは 1 秒間に 10 倍以上の浮動小数点演算を実行でき、100 倍のメモリを搭載しています。一方、スーパーコンピューターの分野では、オークリッジ国立研究所の Cray XT5 Jaguar が 2008 年に 1.4 ペタフロップスの持続的なパフォーマンスを達成しました 。接頭語のペタは 10 の 15 乗、つまり 1を意味します。つまり、Cray XT5 は Cray-1 の 875 万倍のフロップを処理できます。そのマイルストーンに到達するまでに、わずか 30 年強しかかかりませんでした。

    処理能力の観点からコンピューターの進化をグラフにすると、飛躍的に進歩していることがわかります。この有名な観察を最初に行った人物は、マイクロプロセッサ会社インテルの共同創設者であるゴードン・ムーアです。コンピュータ科学者、電気技術者、製造業者、ジャーナリストは、彼の最初の観察からムーアの法則を推定しました。一般に、ほとんどの人はムーアの法則を、直径 1 インチ (2.5 センチメートル) のシリコン上のトランジスタの数が x か月ごとに 2 倍になることを意味すると解釈しています。

    マイクロプロセッサ市場の状況が変化すると、月数も変化します。 18 か月かかるという人もいれば、24 か月かかるという人もいます。この法律はトランジスタの数ではなく、処理能力の 2 倍に関するものだと解釈する人もいます。そして、法則は、実際の法則、原則、観察というよりも、自己成就する預言のように見えることがあります。その理由を理解するには、最初に戻るのが最善です。

    半導体、トランジスタ、集積回路

    最初のトランジスタレプリカ

    半導体の発見、トランジスタの発明、集積回路の作成により、ムーアの法則、ひいては現代のエレクトロニクスが可能になりました。トランジスタが発明される前、エレクトロニクスで最も広く使用されていた要素は真空管でした。電気技術者は真空管を使用して電気信号を増幅しました。しかし、真空管は故障する傾向があり、また多量の熱を発生します。

    ベル研究所は、1930 年代に成長を続ける全国電話ネットワークを安定化および強化するために、真空管に代わるものを探し始めました。 1945 年、研究所は半導体を活用する方法を見つけることに集中しました。半導体は、導体としても絶縁体としても機能する材料です。導体は電子の流れを可能にする材料であり、電気を伝導します。絶縁体は、電子の流れを阻害する原子構造を持っています。半導体は両方を実現できます。

    電子の流れを制御することでエレクトロニクスが機能します。半導体の独特の性質を利用する方法を見つけることは、ベル研究所にとって最優先事項になりました。 1947 年、ジョン バーディーンとウォルター ブラッテンは最初に動作するトランジスタを構築しました。トランジスタは、電子の流れを制御するように設計されたデバイスです。ゲートが閉じていると、電子がトランジスタを通って流れるのを防ぎます。この基本的な考え方は、実際にすべての電子機器が動作する方法の基礎となります。

    初期のトランジスタは、今日のメーカーが製造するトランジスタと比較すると巨大でした。一番最初のものは高さが 0.5 インチ (1.3 センチ) でした。しかし、エンジニアが実際に動作するトランジスタの作り方を学ぶと、より優れた、より小型のトランジスタを構築する競争が始まりました。最初の数年間、トランジスタはエンジニアが設計を改良したため、科学研究所にのみ存在していました。

    1958 年、ジャック キルビーは、集積回路というエレクトロニクスの世界に次の大きな貢献をしました。以前の電気回路は、一連の個別のコンポーネントで構成されていました。電気技師は各部品を構築し、それを基板と呼ばれる基礎に取り付けます。キルビーは、単一の半導体材料から回路を構築し、その上に回路のさまざまな部分を接続するために必要な金属部品を重ねることを実験しました。その結果、集積回路が誕生しました。

    次の大きな開発はプレーナー トランジスタでした。プレーナ トランジスタを作成するには、コンポーネントを半導体基板上に直接エッチングします。これにより、基板の一部の部分が他の部分よりも高くなります。次に、蒸着した金属膜を基板に貼り付けます。フィルムは半導体材料の隆起部分に付着し、半導体材料を金属でコーティングします。金属は、さまざまなコンポーネント間の接続を作成し、電子が 1 つのコンポーネントから別のコンポーネントに流れることを可能にします。これは、半導体ウェハー上に回路を直接印刷するようなものです。

    ムーアの観察

    真空管を持つゴードン・ムーア

    物理学者のジャン・ヘルニは、1959 年にプレーナー トランジスタを作成する技術を開発しました。1961 年までに、フェアチャイルド セミコンダクターという会社が最初のプレーナー集積回路を製造しました。その瞬間から、テクノロジーは急速に進歩しました。物理学者とエンジニアは、集積回路を作成するためのより効率的な新しい方法を発見しました。彼らはコンポーネントをより小さく、よりコンパクトにするために使用するプロセスを改良しました。これは、前世代の技術よりも多くのトランジスタを 1 枚の半導体ウェーハ上に搭載できることを意味しました。

    この間、フェアチャイルド社の研究開発責任者はゴードン・ムーアでした。エレクトロニクス誌はムーア氏に、エレクトロニクス分野の今後 10 年間の発展で何が起こるかを予測するよう依頼した。ムーア氏は、「集積回路にさらに多くのコンポーネントを詰め込む」という気の利いたタイトルの記事を書きました。同誌は1965年4月19日にその記事を掲載した。

    ムーア氏は、集積回路の導入以来の産業の急速な発展に基づいて予測を立てました。彼は、技術が向上し、回路上のコンポーネントが縮小するにつれて、個々のコンポーネントの製造価格が低下すると考えました。半導体企業には、生産技術を改良するインセンティブがあり、新しい回路がより強力になっただけでなく、個々の要素のコスト効率も向上しました。その関係が真実である限り、この傾向は続くだろうとムーア氏は語った。

    しかしムーア氏は、回路がより複雑になるにつれて、回路全体の製造コストが上昇するという警告も加えた。したがって、個々のコンポーネントの製造コストは安くなりますが、実際に複雑な回路の開発コストは高くなります。技術が向上するにつれて、複雑な回路を作成するコストは減少します。コンポーネントあたりのコストと回路あたりのコストは、業界にバランス効果をもたらし、対数線形の進化傾向をもたらしました。

    ムーア氏はまた、12カ月間で直径1インチ(2.5センチメートル)の半導体ウェーハ上の部品の数が2倍になったことも指摘した。ムーア氏は、これは 2 つの大きなトレンドによるものだと考えています。1 つは、企業がより小型のコンポーネントを製造する方法を見つけていること、もう 1 つはウェハ上のスペースを節約するためにコンポーネントを配置することが上手になっているということです。

    ムーア氏は、このデータを見て今後 10 年間の予測を外挿しました。この記事を執筆した時点で、ムーア氏は回路上の最適な部品数は 50 個であると述べました。彼は、1975 年までにその数は 65,000 個に近づくだろうと予測しました。この予測は当てはまり、1975 年までに集積回路には 65,000 近くのコンポーネントが含まれていました。

    ムーアの法則の解釈

    1975 年、ムーアは電気電子学会 (IEEE) の国際電子デバイス会議に向けて論文を書きました。彼はこの論文に「デジタル統合エレクトロニクスの進歩」というタイトルを付けました。ムーア氏は、回路技術の進歩速度に関する自身の予測が当たったことを認め、この傾向が続く可能性について議論した。

    ムーア氏は、技術が向上するにつれて欠陥が発生する可能性は減少したと指摘しました。これは、回路メーカーがより大きなウェーハを扱うことができ、ウェーハあたりにより多くのチップを生産できることを意味します。生産は引き続き効率化され、さらに小型のコンポーネントを作成するためのイノベーションが促進されました。

    ムーア氏は、10年前に予測した傾向は少なくともあと数年間は同じペースで進むだろうと述べた。しかしムーア氏はまた、半導体業界は回路上のスペースの節約など、一部の技術では限界に近づいていると考えているとも述べた。彼はこの要素を「回路の賢さ」と呼びました。彼は、コンポーネントをいかに賢く配置できるかには限界が来て、最終的にはスペースを最適に利用できるようになるだろうと信じていました。その要素が方程式から取り除かれると、進歩の速度は遅くなるはずです。同氏は、数年後にはコンポーネントが 24 か月ごとにのみ 2 倍になると信じていると述べた。

    ムーア氏の当初の観察は技術の進歩と回路製造の背後にある経済性に焦点を当てていましたが、多くの人は彼の観察を私たちがムーアの法則と呼ぶ単純な主張に還元します。ムーアの法則の最も一般的なバージョンは、回路上のトランジスタの数が 18 (または 24) か月ごとに 2 倍になるというものです。驚くべきことに、この予測は的中しました。現在、Intel の Core i7 マイクロプロセッサには 7 億 3,100 万個のトランジスタが搭載されているのに対し、Xeon プロセッサには 19 億個のトランジスタが搭載されています 。

    集積回路上により多くのコンポーネントを詰め込むことは、デバイスがより強力になることを意味するだけではなく、デバイスが小型化することも意味します。コンパクトな集積回路上の小さなコンポーネントは、あらゆる種類のポータブル電子機器に電力を供給します。今日の小さなマイクロプロセッサチップでも、数年前のフルサイズのチップと同じくらい強力です。回路製造の進歩により、スマートフォンやネットブックなどのデバイスが可能になります。

    回路の力

    ムーアの法則の 1 つの大雑把な解釈では、基板上に配置されるコンポーネントの数の重要性が無視されます。この法律では、CPU チップの処理能力が 18 か月ごとに 2 倍になると規定されています。それがムーアの法則の素晴らしい点です。誰に尋ねるかによって意味が変わります。

    ムーアの法則の実際の動作

    なぜムーアの観察と予測は何十年にもわたって真実であったのでしょうか?ムーアの法則は実際には法則ではありません。実際、その背後には基本的な物理法則はありません。ムーアの法則は人間の行動によってのみ成立します。しかし、より強力な回路を作るという課題が増大しているにもかかわらず、何がサイクルを続けさせているのでしょうか?

    理由の多くは心理的なものであり、市場によって引き起こされます。集積回路を製造する企業は互いに競争しており、ムーアの法則については誰もが知っています。つまり、すべての企業幹部がこのことを念頭に置いているということです。もし当社が 18 か月以内に回線の電力を 2 倍にしなければ、他社に負けてしまうだろうということです。

    企業は競合他社に優位性を与えたくないため、研究開発(R&D)に多額の資金を注ぎます。これらの研究開発部門は、より小さなコンポーネントを作成し、そのパフォーマンスを最大化するように配置するための新しい技術の開発に取り組んでいます。研究サイクルを維持するには多額の費用がかかりますが、この費用は、競合他社が足場を築き、市場を支配するという脅威とバランスが取れています。

    もう一つの要因は、困難を克服したいという単純な願望です。長年にわたって多くの人がムーアの法則の終焉を予測してきました。 1980年代に終わりを迎えると考えていた人もいた。 90年代半ばにも他の人が同じことを言っていました。エンジニアは最終的には根本的に突破不可能な壁にぶつかるようでした。しかし、エンジニアたちは毎回なんとか解決策を見つけ、ムーアの法則を生かし続けています。

    消費者もムーアの法則を推進します。エレクトロニクスの急速な発展により、消費者には期待感が生まれています。毎年、より高速で高度なエレクトロニクスが市場に登場します。消費者の観点からすると、来年はさらに良いものを期待しない理由はありません。

    ムーアの法則とナノスケール

    回路基板

    今日、集積回路上のトランジスタは非常に小さいサイズに達しており、人間の髪の毛の太さと同じになるには、トランジスタを 2,000 個以上並べて積み上げる必要があるほどです。 Intel の最新チップ上のトランジスタの幅はわずか 45 ナノメートルです。平均的な人間の髪の毛の太さは約 100,000 ナノメートルです 。

    このような幅の狭いトランジスタを作成することは驚くべき成果です。可視光の波長は 400 ~ 700 ナノメートルの範囲です。従来の光学顕微鏡レンズは、可視光の波長の半分以上のサイズの物体にしか焦点を合わせることができません。非常に小さなスケールで何かの画像を作成するには、走査型電子顕微鏡などの特別な装置に頼る必要があります。

    このような小さなデバイスを扱うときに考慮しなければならないことの 1 つは、ナノスケールに近づくと古典物理学の世界を離れ、量子力学の領域に入るということです。量子の世界における物理の法則は、マクロスケールでの物事の仕組みとは大きく異なります。たとえば、電子のような量子粒子は、障壁を突破するのに必要な運動エネルギーを持たない場合でも、非常に薄い壁を通過できます。量子物理学者はこの現象を量子トンネルと呼んでいます。

    エレクトロニクスは電子の流れの制御に依存して機能するため、量子トンネルなどの問題は深刻な問題を引き起こします。これらの問題により、電気技術者は回路設計方法の再評価を余儀なくされます。場合によっては、別の素材に変更することで問題が解決することがあります。回路を構築する全く新しい方法を見つけることがうまくいく場合もあります。

    誰かがトランジスタや集積回路を時代遅れにする革新的なアイデアを思いつく可能性さえあります。突飛な話に聞こえるかもしれないが、多くの技術専門家や技術者がムーアの法則の終焉を宣言しているにもかかわらず、回路メーカーは依然としてムーアの法則を存続させる方法を模索しているという事実は変わらない。結局のところ、この課題は一部の人が信じているほど不可能ではない可能性があります。

    ムーアの法則の未来

    ゴードン・ムーアでさえ、イノベーションと生産のサイクルが過去 40 年間の熱狂的なペースをどれだけ維持できるかについて疑問を抱いています。同氏はまた、インテルのような企業が、当初は克服不可能だと思われた問題を回避する新たな方法を見つけ出す方法にも驚きを表明した。ムーアの法則に終わりは来るのでしょうか?

    答えは「はい」ですが、それがいつ起こるかを特定するのは困難です。 1 つには、エンジニアがより小型のコンポーネントを作成する方法を見つけることを妨げる技術的な障壁にぶつかる可能性があります。しかし、たとえ技術的な障壁に遭遇しなかったとしても、経済性が問題になる可能性があります。より小型のトランジスタを使用して回路を製造することが経済的に実現可能でない場合、さらなる開発を追求する理由はないかもしれません。あるいは、光の速度などの基本的な物理法則に反する可能性もあります。

    これらの障壁の 1 つまたは複数が進歩を妨げる特定の日付を予測する際の問題は、現在わかっていることに基づいて予測する必要があることです。しかし、エンジニアは毎日、回路を設計、構築、生産する新しい方法を学んでいます。明日は私たちが知っていることによって、今日は不可能に思えることが完全に実現可能になるかもしれません。

    ムーアの法則は今日でも意味があるのでしょうか?パーソナル コンピューターの時代は、消費者は市場にある最新かつ最高のマシンを必要としているという感覚に支配されてきました。しかし今日、その哲学に疑問を抱く人もいます。その一部は、消費者の行動の変化によるものです。多くのコンピュータ所有者は、Web の閲覧や電子メールの送信などの単純なタスクにコンピュータを使用しています。これらのアプリケーションは、コンピューターのハードウェアに大きな負荷をかけません。

    強力な PC がそれほど必要でないもう 1 つの理由は、クラウド コンピューティングの人気の高まりです。クラウド コンピューティングは、データの処理と保存の負担をコンピューターのネットワークに移します。ユーザーはインターネットを使用してアプリケーションや情報にアクセスできるため、クラウド コンピューティングを利用するために必ずしも独自の強力なマシンを必要とするわけではありません。

    その結果、スマートフォンやネットブックなどのデバイスの人気が高まっています。これらのデバイスには、最新のデスクトップ コンピューターやラップトップ コンピューターのようなそのままの処理能力はありません。ただし、ユーザーは依然として必要なアプリケーションやデータにアクセスできます。

    ムーアの法則から学んだ教訓

    消費者がスマートフォンやネットブックなどのデバイスを購入し続けると、マイクロプロセッサメーカーはムーアの法則の期待に応える動機が薄れます。超強力なプロセッサの市場が存在しない場合、このサイクルに終止符を打つ可能性がある経済的障壁にぶつかることになります。

    とはいえ、一部の施設では依然として集積回路生産の限界を押し上げている可能性があります。平均的な消費者は強力な PC の価値を理解していないかもしれませんが、研究施設は依然として実稼働環境で最速のプロセッサーに依存しています。より強力なマイクロプロセッサは、天気予報から宇宙論の研究まであらゆる分野で役立ちます。

    ムーアの法則と半導体業界から得られる教訓の 1 つは、純粋な研究が社会に有益な結果をもたらす可能性があるということです。ベル研究所のエンジニアには、初期のトランジスタ モデルを使った実験作業が肯定的な結果をもたらすという保証はありませんでした。しかし、彼らの研究と努力は、私たちの生活様式を変える産業を生み出しました。これは、たとえ明白な、または即時の利益がない場合でも、科学研究が私たちの生活に劇的な影響を与える可能性があることを示す一例です。

    おそらく、ムーアの法則から得られる最も重要な教訓は、何かを不可能だと性急に言ってはいけないということです。 1843 年に米国特許庁長官だったヘンリー L. エルズワースは、かつてこう述べました。「年々の芸術の進歩は、私たちの軽率さに負担をかけており、人類の進歩が終わらなければならない時代の到来を予感させるようだ」 [出典:サス』。エルズワース氏は、人間の創意工夫と革新の速度は信じられないほど驚異的であると指摘していました。一部の人がほのめかしているように、彼は、発明できるものはすべてすでに発明されていると示唆しているわけではありません。そして実際、それ以来、イノベーションの速度は増加するばかりです。

    私たちはエレクトロニクスの構築について多くのことを知っていますが、まだ知らないこともたくさんあるかもしれません。ムーアの法則は、発明力のあるエンジニアのモチベーションを高める手段として役立ちます。彼らは、一見不可能に見える問題に対する独自の解決策を見つけなければならないとしても、ゴードン・ムーアを失望させたくありません。

    ムーアの法則とその他の関連トピックについて詳しくは、次のページのリンクをご覧ください。

  • CPUをオーバークロックする方法

    オーバークロックとは、簡単に言えば、コンピューター ハードウェアをメーカーの意図した速度よりも高速に実行できるようにすることです。オーバークロック中、コンピューターのCPUまたは中央処理装置(コンピューター プログラム命令を実行する電子回路) は、より多くのタスクを一度に実行したり、メディアをより高速にレンダリングしたり、より高いフレーム レートでビデオ ゲームを表示したりできます。ただし、この方法には電力消費量と熱の蓄積が増えるという欠点があり、メーカーによって推奨されない場合があります。

    CPU であってもGPU (グラフィックス プロセッシング ユニット) であっても、すべてのコンピュータ プロセッサには工場出荷時の速度定格が設定されています。この定格は、ヘルツ単位の周波数として測定されるクロック速度の倍数です。特定の CPU のクロック速度は、 BIOSと呼ばれるそのコントローラー ソフトウェアによって管理されます。クロック速度は、CPU が 1 秒あたりに実行できるサイクル数を測定し、ギガヘルツ単位で測定され、1 秒あたり数十億サイクルになります。 2021 年には、消費者向けプロセッサは 2 ~ 5 ギガヘルツの速度で動作するのが一般的です。古い CPU はメガヘルツ、つまり 1 秒あたり数百万サイクルで測定されます。

    シリコンの生産では、同じプロセッサーの 2 つの例が互いに 100% 同一であることはまだ許可されていないため、これらの企業は通常、速度定格を控えめに設定しています。レベルは、1 つの組立ライン上の各製品の機能がわずかに異なることを意味します。これらのばらつきは、マルチコア CPU の各コアにも存在します。その結果、チップメーカーは製品ライン間の均一性を保つために性能数値を低く設定することになります。これらのプロセッサの真のパフォーマンスしきい値は BIOS にロックされていますが、オーバークロックのプロセスを通じてアクセスできます。

    コンピューターのプロセッサーまたは CPU をオーバークロックすると、工場出荷時の速度制限を超えて、通常よりも速くタスクを完了できるようになります。 GPU やRAMなどの他のタイプのハードウェアも同様にオーバークロックして、パフォーマンスをさらに向上させることができます。

    古いコンピュータや低予算のコンピュータを、より高価なコンピュータと同じ速度で動作させることは素晴らしい提案のように聞こえるかもしれませんが、経験の浅いユーザーにとっては、オーバークロック自体が問題を引き起こす可能性があります。これは万能のテクニックではなく、アップグレードされたハードウェアを搭載した PC で最も効果的です。

    試してみたい場合は、以下のアドバイスがあります。

    今、それは興味深いです

    CPU メーカーは、Intel プロセッサや AMD と呼ばれる、オーバークロックに代わるよりユーザーフレンドリーな代替手段を提供しています。これら 2 つの関数には多くの共通点があります。どちらも、CPU がその基本周波数を超えて短時間の速度のバーストを実現すると同時に、電力と温度を自動的に監視して信頼性を維持します。ターボ機能は完全に自動であり、デフォルトでオンになっているため、チップメーカーはオーバークロックとはみなしておらず、保証に影響することはありません。

    オーバークロックを有効にする方法

    ほこりがあると過熱やパフォーマンスの問題が悪化するため、システムが清潔でほこりがないことを確認してください。

    チップがオーバークロックできることを確認したら、オペレーティング システムでそれを有効にする方法がいくつかあります。昔ながらの方法は BIOS を使用することですが、現在では Intel と AMD からソフトウェア アシスタントが提供されており、デスクトップから互換性のある CPU を制御できます。また、クロック速度、消費電力、デバイスの温度も簡単に監視します。 Intel のクライアントは と呼ばれますが、AMD のクライアントは と呼ばれます。インストールとセットアップの詳細な手順については、これらのリンクのいずれかに従ってください。

    PC を BIOS メニューで起動したい場合は、Windows 8 または 10 では、コンピュータの起動と同時に実行できます。このキーはメーカーによって異なりますが、多くの場合は F1、F2、または Delete のいずれかです。代わりに、起動時にすぐに Esc キーを押してから、F10 キーを押して BIOS に入る必要があります。

    ユーザーは、ハードウェアの起動が非常に速く、ホットキーを押すタイミングが難しいと感じる場合があります。このような場合には、より長い代替方法があります。

    1. Windows 10 の場合: スタート パネルの「歯車」アイコンの下にある設定に移動します。
    2. [更新とセキュリティ] > [回復] > [高度なスタートアップ] > [今すぐ再起動] を選択します。
    3. 再起動すると、特別なブート メニューが表示されます。
    4. [トラブルシューティング] > [詳細オプション] > [UEFI ファームウェア設定] > [再起動の確認] を選択します。
    5. BIOS が開きます。
    6. BIOS の CPU セクションに移動します。 [プロセッサ設定]、[オーバークロック]、または [OC] というオプションを選択します。

    Windows 11 では、プロセスはほとんど同じですが、回復が [更新とセキュリティ] ではなく [システム] の下にある点が異なります。

    BIOS またはソフトウェア クライアントのいずれかに、 CPU MultiplierCPU Voltage という2 つの重要な設定があります。

    CPU マルチプライヤは、プロセッサが同期する仮想「クロック」です。デフォルトでは、おそらく に設定されています。これを 200 メガヘルツまで上げてブート プロセスを終了し、オーバークロックを開始します。システムが安定して動作していることを確認したら、さらに 100 メガヘルツ単位でクロック速度を上げることを検討できます。 Intel の XTU は、各構成での安定性を検証するためのベンチマーク アプリとストレス テスト アプリを提供します。プロセス全体を通じてシステムの温度に注意してください。 CPU の温度が 175 度 (80 ℃) を超えている場合は、おそらく速度を戻すか、ファンのアップグレードを開始する時期です。

    CPU電圧はCPU に投入される電力量を制御し、デフォルトで設定されます。電圧が上昇すると過熱しやすくなるため、初心者の場合はこの設定をそのままにすることをお勧めします。多くのチップでは、1.5 ボルトを超える電圧がかかると永久的な損傷が生じる可能性があるため、ここではわずかな調整が非常に役立ちます。適切な冷却と電源のアップグレードにより、電圧を上げてパフォーマンスをさらに向上させることができます。

    オーバークロックの欠点

    コンピュータの動作が速くなるほど消費電力が増加し、標準の電源を圧倒する可能性があります。定格を超える電流を消費するパワーパックは、最終的にフェールセーフ状態になり、予期しないシャットダウンが強制される可能性があります。オーバークロックする前に、コンセントに接続されているか、PC に組み込まれている電源ブリックに記載されている仕様を確認してください。 65 ワットなどの比較的低い電流定格の場合は、125 ワット以上のユニットにします。

    CPU がより多くのエネルギーを吸収すると、より多くの熱も放出します。長時間オーバークロックすると が発生し、パフォーマンスの低下やクラッシュにつながる可能性があります。最悪の場合、コンポーネントが早期に故障する可能性があるため、オーバークロック中の熱管理は非常に重要です。ハードウェアを冷却し、スムーズな動作を維持するには、より大きなファンやより高速なファンを取り付けることを検討してください。究極のパフォーマンスを求める人は、液体冷却システムの構築を検討することもできます。これらは一般的な空冷よりも複雑ですが、多くの場合、より効率的に熱を放散することもできます。

    すべてのマシンと同様に、プロセッサは熱力学の影響を受けます。プロセッサは、速度が上がるにつれて、線形速度を超える速度で電力を消費し、熱を排出します。より高い周波数では、CPU は最終的に「パワーウォール」と呼ばれるものにぶつかり、実用的なレベルを超えてパフォーマンスのリターンが低下します。このため、チップメーカーは近年、クロック速度をあまり重視せず、代わりに、最速のシングルコアプロセッサよりもはるかに効率的に動作できるマルチコアプロセッサに依存しています。

    メーカーのオーバークロックポリシー

    近年、Intel と AMD はオーバークロックを採用し始め、プロセスを容易にするための独自のリソースとソフトウェアを提供しています (詳細については補足を参照)。

    「インテルは、ゲームのパワーとパフォーマンスをさらに高めるために CPU をオーバークロックしたいユーザーに、ロック解除された ‘K’ SKU を提供します」とインテルのテクニカル PR マネージャー、ベネット ベンソンは述べています。 「適切なロック解除されたチップセットと組み合わせると、ユーザーはオーバークロックを通じてさらに多くのコンポーネントの電力、電圧、コア、メモリ設定、その他の主要なシステム値を調整できます。」ただし、「クロック周波数や電圧をインテルの仕様外に変更すると、プロセッサの保証が無効になり、プロセッサの安定性、セキュリティ、パフォーマンス、寿命が低下する可能性があります。」と付け加えています。

    Intel はかつて、パフォーマンス チューニング プロテクション プランと呼ばれる「問答無用」の延長保証を提供していました。このポリシーでは、オーバークロックによって引き起こされるあらゆる損害を明示的にカバーしていましたが、実際はそうではありませんでした。

    同社は AMD の Web サイトで、「指定された動作しきい値を超えてコンポーネントをオーバークロックすると、CPU やその他のシステム コンポーネントの過熱により、システムのクラッシュやハングが発生する可能性があります。システムのクラッシュやハングは、損失を招く可能性があります。」と述べています。 CPU が仕様を超えて動作した場合も、製品保証は無効になります。」

    言い換えれば、コンポーネントの損傷が特にオーバークロックによって引き起こされたと判明した場合、メーカーは交換保証を受け入れない可能性が高くなります。クロック速度を控えめに上げても、それ自体で異常な摩耗が発生することはおそらくありませんが、この機能を有効にすると、オーバークロックに固有のリスクを想定する準備ができている必要があります。

    PC をオーバークロックする必要がありますか?

    オーバークロックを試みる前に、タスク マネージャーでコンピューターのパフォーマンスと不足していると思われる箇所に細心の注意を払ってください。メモリが常に最大値に達している場合は、単純なRAM アップグレードの方が、オーバークロックよりも多くの問題を解決できます。通常の使用で CPU が最大に近い能力で動作している場合は、新しいプロセッサが適している可能性があります。オーバークロックによるパフォーマンスの向上は、より多くのコアを備えた新しいプロセッサーをインストールする場合と比べてわずかですが、はるかに安価に実行できます。

    マルチコア CPU やターボ ブースト機能などの新しいテクノロジーにより、おそらく平均的なユーザーにとってオーバークロックは不要になっています。最新のプロセッサーは、箱から出してすぐに、10 年前のテクノロジー中毒者が夢見ることしかできなかったパフォーマンスを実現します。それでも、このテクニックは、ゲームやメディアのレンダリング中に余分な速度を引き出すのに最適です。定期的に使用し、メーカーの保証ポリシーを常に最新の状態に保つ予定がある場合は、サポートする電源と冷却のアップグレードを必ずインストールしてください。

  • Pentium プロセッサと Celeron プロセッサの違いは何ですか?

    Intel の最も人気のある 2 つのマイクロプロセッサは、 と です。類似点と相違点は次のとおりです。

    • コア:どちらのプロセッサも同じ基本的なデュアルコア アーキテクチャを共有しており、Celeron がエントリー レベルのチップで、Pentium がその上にスロットされています。どちらもグラフィックスを内蔵しており、最大 128 GB のRAM (コンピュータ メモリ) をサポートしています。
    • キャッシュ: Celeron と Pentium の両方の 2021 ラインには、通常、2 ~ 4 MB のキャッシュ メモリがあります (キャッシュ メモリは、頻繁に使用されるデータが保存される場所です)。
    • クロック速度: 2021 Celeron ラインには最大 3.6 GHz のクロック速度のオプションがありますが、Pentium のランクはわずかに速く、最大 4.3 GHz です。クロック速度は、CPU がデータを処理できる速度を測定します。
    • バス速度:どちらも非常に似たバス速度を実現し、1 秒あたり最大 8 ギガ転送を実現します。 (バスは、マザーボードの一部を別の部分に接続する回路です。バスが一度に処理できるデータが多いほど、情報の伝達が速くなります)。各プロセッサは、USB ドライブなどからのファイル転送を迅速かつ効果的に処理できます。

    2021 年において Pentium が Celeron に対して持つ主な利点は、「」と呼ばれる機能です。この機能により、オペレーティング システムは各プロセッサ コアを仮想的に 2 つに「分割」できます。したがって、デュアルコア Pentium はクアッドコアと同様のパフォーマンスを効果的に発揮できます。ハイパースレッディングにより、CPU を集中的に使用するタスク中のコンピューティング速度が最大 30% 向上します。

    Pentium はかつて Intel の高級プロセッサでしたが、その後 に置き換えられ、中級製品に格下げされました。 Core ラインはビジネスや起業家を対象としており、総合的に優れた統計情報を備えています。 Pentium チップと同様のクロック速度を備えていますが、2 つの CPU コアに制限されていません。実際、最上位の製品にはなんと 18 コアが搭載されており、安価な製品よりも数倍高速になります。

    Core プロセッサにはさらに多くのメガバイトのキャッシュ メモリが搭載されていますが、バス速度は Intel の他のオプションと同じです。さらに、CPU が短期間自動的にオーバークロックできるようにする「」も追加されています。ハイパースレッディングも有効になっており、マルチコアのパフォーマンスがさらに優れています。この速度には代償が伴い、価格は 500 ドルを超えます。 Celeron プロセッサの価格は 100 ドル未満、Pentium プロセッサの価格はおよそ 100 ドルから 200 ドルの間です。

    Celeron は、手頃な価格のラップトップ、タブレット、その他のコンパクトなスマート デバイスにプリインストールされていることがよくあります。その目的には十分ですが、PC でマルチタスクを行う場合は、Pentium で利用できるハイパー スレッディング機能がおそらく便利です。 Photoshop、メディア プロダクション スイート、最新の 3D ゲームなどのリソースを大量に使用するプログラムを定期的に使用する場合は、Intel の Core プロセッサや AMD Ryzen などのマルチコア CPU を選択する必要があります。

  • ムーアの法則は時代遅れですか?

    1965 年、出版物エレクトロニクスに、フェアチャイルド セミコンダクターの研究開発ディレクター、ゴードン E. ムーア博士が書いた記事が掲載されました。ムーア氏は記事のタイトルを「集積回路上にさらに多くのコンポーネントを詰め込む」とした。同氏は、フェアチャイルドのような半導体企業は、12 か月ごとに 1 平方インチのシリコン上のディスクリート部​​品の数を 2 倍にすることができると観察しました。

    これは一種の指数関数的成長です。 1964年に製造された平方インチ(6.5平方センチメートル)のチップは、1965年に製造されたチップに比べて、トランジスタなどのコンポーネントの数が半分になる。ムーア氏は、チップメーカーがそれを妨げる根本的な障壁に遭遇するまで、この傾向は無期限に続くだろうと予測した。彼らの進歩。

    ムーア氏の観察は、技術の進歩と大量生産の経済性という 2 つの重要な要素に依存していました。彼の観察が有効であり続けるためには、チップ上にますます小さな要素を作成する新しい方法を革新し、見つける必要があります。しかし、製造プロセスが経済的に実行可能であることも確認する必要があります。そうしないと、さらなる開発をサポートする方法がなくなります。

    今日、私たちはムーアの観察をムーアの法則と呼んでいます。名前とは裏腹に、実際には法律ではありません。新しく作られた集積回路がその時点でどれほど強力になるかを示す基本的な規則は宇宙に存在しません。しかし、チップメーカーが1965年にムーア博士が述べた予測に追いつくように努めたため、ムーアの法則は一種の自己成就的予言となった。それが誇りからか、単に市場で主導権を握りたいという願望からかは分からないが、インテルのような企業は、遅れを取り戻すために研究開発に何十億ドルも費やしてきました。

    では、この 50 年近く前の観察は今でも意味があるのでしょうか?

    量子の飛躍

    トランジスタモデル

    年が経つごとに、一部のテクノロジー専門家やジャーナリストが、ムーアの法則は終焉を迎えると予測しているようです。現在のマイクロプロセッサのコンポーネントはナノスケールになっています。そのスケールは非常に小さいため、強力な光学顕微鏡を使用しても個々の要素を見ることさえできません。このサイズでは物理学は異なる振る舞いをし、量子力学が古典物理学を引き継ぎ始めます。事態はかなり奇妙になります。

    たとえば、量子トンネルがあります。電子は位置が定義された粒子ではないと想像してください。代わりに、それは波のように動作する粒子です。電子の位置の確率は波内で変化します。ある意味、この波は釣鐘曲線のように見えます。狭い端は、電子が存在する可能性はあるものの、存在する可能性は低い領域を表しています。中央の広いセクションは、電子が見つかる可能性が最も高い領域を表します。

    この波が 2 本の導体間のギャップなどの障壁に近づくと、波の一方の端が障壁に重なり、もう一方の導体に接触する可能性があります。これは、電子がギャップの反対側に存在する可能性があることを意味します。ポテンシャルがあるということは、電子が反対側にあることがあるということです。まるで電子が障壁を突き抜けたかのようです。

    マイクロプロセッサでは、これはいわゆる「悪いこと」です。マイクロプロセッサは、電子が通過するための複雑な道路システムと考えることができます。マイクロプロセッサ内のトランジスタはゲートであり、トラフィック フローを制御します。閉じたゲートでは電子が通過できません。しかし、ゲートを十分に薄くすると、つまりムーアの法則に従うために要素をさらに縮小すると、電子のトンネリングなどの量子問題が発生し始めます。電子の漏れは、マイクロプロセッサが計算で間違った結果を取得するため、コンピュータエラーを引き起こします。

    長年にわたり、エンジニアは量子トンネルなどの影響を最小限に抑えながら、ナノスケールでトランジスタを構築する新しい方法を発見してきました。場合によっては、トランジスタのゲート内で異なる種類の材料を使用する必要があります。場合によっては、マイクロプロセッサの効率を高めるために 3 次元のゲートを作成することを意味します。これらは、企業がムーアの法則の予測に歩調を合わせるのに役立ちました。しかし、ムーアの法則が消えないもう一つの理由は、私たちが定義をいじり続けているためです。

    法律の再定義

    インテル Xeon E7

    もともと、ムーアの法則は、新しく製造される集積回路上のディスクリート コンポーネントの数が 12 か月ごとに 2 倍になるという、かなり特殊な概念を対象としていました。今日、私たちはこの数字を少しごまかしています。テクノロジー業界の人々は、それが 18 ~ 24 か月ごとだと言っているのが聞こえるでしょう。そして、私たちはチップ上の要素の数についてだけ話しているわけではありません。

    ムーア氏の観察を言い換える一般的な方法の 1 つは、一定期間 (通常は 18 ~ 24 か月) の間、マイクロプロセッサの処理能力が 2 倍になるということです。これは必ずしも、2012 年のチップ上のトランジスタ数が 2010 年の 2 倍であることを意味するわけではありません。代わりに、チップをより効率的に設計する新しい方法が見つかり、チップを必要とせずに処理速度が向上する可能性があります。指数関数的な成長。

    物理コンポーネントではなく処理能力に注目するようにムーアの法則を再定義することで、観察の有用性が広がりました。企業は、製造技術の進歩とより優れたマイクロプロセッサ アーキテクチャ設計を組み合わせて、法律に対応することができます。

    このようにムーアの法則を再定義することは不正行為に似ていますか?関係ありますか? 1965 年にムーアは、彼の観察が真実であれば、1975 年に製造されたチップには 65,000 個のトランジスタが搭載されるだろうと予測しました。現在、インテルは 26 億個のトランジスタを備えたプロセッサを製造しています 。今日のコンピューターは、数十年前よりもはるかに高速にデータを処理できるようになりました。家庭用 PC は、初期のスーパーコンピューターと同じくらい強力な機能を備えています。

    この問題を捉えるもう 1 つの方法は、今日のコンピューターの能力が 2 年前の 2 倍であることが重要なのかどうかを問うことです。スティーブ・ジョブズがかつて示唆したように、私たちがポスト PC の時代に生きているとしたら、より高速なマイクロプロセッサーは以前ほど重要ではなくなる可能性があります。私たちのデバイスがエネルギー効率が高く、ポータブルであることの方が重要かもしれません。もしそうなら、ムーアの法則が終焉を迎えるのは、ある種の根本的な限界に達したからではなく、私たちができることの限界を押し広げ続けることが経済的に意味がないからであるかもしれない。

    コンピューター購入者の一部の層は、処理において最高水準を要求し続けるでしょう。ビデオ ゲーム愛好家や高解像度メディアを扱う人々は、入手できるすべての処理能力を必要としています、または切望しています。しかし、残りの私たちはどうでしょうか?

    たとえすべてのパーソナル コンピューターがクラウド経由であらゆるものにアクセスするダム端末になったとしても、どこかには強力なプロセッサを搭載したコンピューターが必要になるでしょう。おそらく、プロセッサの能力が 2 倍になるまでのリードタイムが長くなった、ムーアの法則の新たな定義が現れることになるでしょう。その変遷の歴史を考えると、ムーアの法則は何らかの形でもう少し長く存続しそうだ。

    著者のメモ

    私にとって、ムーアの法則の最も魅力的な側面は、マイクロプロセッサ業界への影響です。それは誰もが達成したい目標です。それはエンジニアに、後れを取るリスクを冒すのではなく、新しいアプローチや材料を試してみようという動機を与えます。最終的に、この観察が業界を導き、PC およびポスト PC 時代への道を切り開きました。

  • マイクロプロセッサの仕組み

    このページを読むために使用しているコンピュータは、マイクロプロセッサを使用して動作します。マイクロプロセッサは、デスクトップ マシンサーバーラップトップなど、通常のコンピュータの心臓部です。マイクロプロセッサには多くの種類がありますが、それらはすべてほぼ同じことをほぼ同じ方法で実行します。

    マイクロプロセッサ ( CPUまたは中央処理装置とも呼ばれます) は、単一チップ上に製造された完全な計算エンジンです。最初のマイクロプロセッサは、1971 年に発売された Intel 4004 でした。4004 はそれほど強力ではありませんでした。実行できるのは加算と減算だけであり、一度に実行できるのは 4ビットだけでした。しかし、すべてがワンチップ上にあるのは驚きでした。 4004 が登場する前は、エンジニアはチップの集合体または個別のコンポーネント (トランジスタを1 つずつ配線したもの) からコンピュータを構築していました。 4004 は、最初のポータブル電子計算機の 1 つに動力を供給しました。

    コンピュータのマイクロプロセッサが何をしているのか疑問に思ったことがある場合、またはマイクロプロセッサの種類の違いについて疑問に思ったことがある場合は、読み続けてください。この記事では、非常に単純なデジタル ロジック技術を使用して、ゲームをプレイする場合でも文書のスペル チェックを行う場合でも、コンピューターがその仕事をどのように実行できるかを学びます。

    マイクロプロセッサの進歩: インテル

    インテル 8080

    1974 年に発表された、家庭用コンピュータ (ワン チップ上の完全な 8 ビット コンピュータ) に組み込まれた最初のマイクロプロセッサです。市場で本格的な話題となった最初のマイクロプロセッサは、1979 年に発表され、IBM PC に組み込まれた Intel 8088 でした。 (1982年頃に初めて登場しました)。 PC 市場とその歴史に詳しい方は、PC 市場が 8088、80286、80386、80486、Pentium シリーズ、Core シリーズ、Xeon シリーズへと移行したことをご存知でしょう。これらのマイクロプロセッサはすべてインテル製であり、すべて 8088 の基本設計を改良したものです。

    2004 年以来、インテルは複数のコアと数百万個以上のトランジスタを備えたマイクロプロセッサを導入してきました。しかし、これらのマイクロプロセッサでも、以前のチップと同じ一般規則に従っています。

    Intel Core i9 プロセッサには最大 8 つのコアを搭載でき、各コアはオリジナルの 8088 で実行されていたあらゆるコードを実行できますが、その速度はわずか約 6,700 倍です。各コアは複数の命令スレッドを処理できるため、コンピューターはタスクをより効率的に管理できます。

    インテルの製品範囲は 1970 年代から大幅に拡大しました。この記事の執筆時点で、同社は依然としてコンピューター用の Pentium および Core CPU を製造していますが、より高性能な PC やサーバーには Xeon チップが使用される可能性があります。さらに、Intel は Celeron および Atom プロセッサラインを提供しています。 Celeron は初心者レベルのコンピュータ ユーザーを対象としており、Atom プロセッサはモバイル デバイスやモノのインターネットの一部であるデバイスに適しています。

    インテルは依然として市場の大部分を占めていますが、競合他社と比べて相当以上のシェアを持っています。 AMD は PC プロセッサ市場で Intel と競合していますが、PC ゲーマーに人気のグラフィックス プロセッサ チップでも大きなビジネスを行っています。グラフィックチップで有名なNvidiaはCPUも製造しています。 2020年、AppleはMシリーズチップを導入しました。これは、AppleがMacintoshコンピュータに使用していたIntelチップを置き換えるものです。サムスンは独自のプロセッサ設計を採用しています。さらに多くの企業が、自動車やスマートホーム製品など、他のエレクトロニクス用途向けのプロセッサを開発しています。市場の競争はますます激化しています。

    チップとは何ですか?

    チップは集積回路とも呼ばれます。一般に、これはマイクロプロセッサを構成するトランジスタがエッチングされた小さくて薄いシリコン片です。チップは一辺が 1 インチほどの大きさで、数千万個のトランジスタを含む場合があります。より単純なモデルは、わずか数ミリメートル四方のチップ上にエッチングされた数千個のトランジスタで構成される場合があります。あらゆる種類のデバイスに、それぞれがプロセッサーである複数のコアを備えたチップが搭載されているのが一般的になってきました。

    マイクロプロセッサロジック

    インテル Pentium 4 プロセッサー。

    マイクロプロセッサがどのように動作するかを理解するには、内部を調べてマイクロプロセッサを作成するために使用されるロジックについて学ぶことが役立ちます。その過程で、マイクロプロセッサのネイティブ言語であるアセンブリ言語や、プロセッサの速度を上げるためにエンジニアができることの多くについても学ぶことができます。

    マイクロプロセッサは、プロセッサに何をすべきかを指示する一連の機械命令を実行します。命令に基づいて、マイクロプロセッサは 3 つの基本的なことを実行します。

    • マイクロプロセッサは、ALU (算術論理演算ユニット) を使用して、加算、減算、乗算、除算などの数学演算を実行できます。最新のマイクロプロセッサには、大きな浮動小数点数に対して非常に高度な演算を実行できる完全な浮動小数点プロセッサが組み込まれています。
    • マイクロプロセッサは、あるメモリ位置から別のメモリ位置にデータを移動できます。
    • マイクロプロセッサは決定を下し、その決定に基づいて新しい命令セットにジャンプできます。

    マイクロプロセッサが行うことは非常に高度なものかもしれませんが、これらは 3 つの基本的な動作です。次の図は、これら 3 つのことを実行できる非常に単純なマイクロプロセッサを示しています。

    マイクロプロセッサ

    これはマイクロプロセッサとしては非常に簡単です。このマイクロプロセッサには次の機能があります。

    • アドレスをメモリに送信するアドレス バス(8、16、32、または 64 ビット幅)
    • メモリにデータを送信したり、メモリからデータを受信したりできるデータ バス(8、16、32、または 64 ビット幅)
    • アドレス指定された位置を設定するか取得するかをメモリに伝えるためのRD (読み取り) およびWR (書き込み) ライン
    • プロセッサーにクロックパルスをシーケンスさせるクロックライン
    • プログラム カウンタをゼロ (またはその他) にリセットし、実行を再開するリセット行

    この例では、アドレス バスとデータ バスの幅が両方とも 8 ビットであると仮定します。

    この単純なマイクロプロセッサのコンポーネントは次のとおりです。

    • レジスタ A、B、および C は、フリップフロップで作られた単純なラッチです。 (詳細については、 「ブール ロジックの仕組み」の「エッジ トリガー ラッチ」のセクションを参照してください。)
    • アドレス ラッチはレジスタ A、B、C と同じです。
    • プログラム カウンタは、指示されたときに 1 ずつインクリメントし、指示されたときに 0 にリセットする追加機能を備えたラッチです。
    • ALU は 8 ビット加算器と同じくらい単純なものにすることもできます (詳細については、 「ブール論理の動作方法」の加算器に関するセクションを参照してください)。あるいは、8 ビット値の加算、減算、乗算、除算ができる場合もあります。ここでは後者を仮定しましょう。
    • テスト レジスタは、ALU で実行される比較からの値を保持できる特殊なラッチです。 ALU は通常、2 つの数値を比較して、それらが等しいかどうか、一方が他方より大きいかどうかなどを判断します。また、テスト レジスタは通常、加算器の最終ステージからのキャリー ビットを保持することもできます。これらの値をフリップフロップに保存すると、命令デコーダはその値を使用して決定を下すことができます。
    • 図には「3-State」とマークされたボックスが 6 つあります。これらはトライステート バッファです。トライステート バッファは 1、0 を渡すことも、本質的にその出力を切断することもできます (出力が向かうワイヤから出力ラインを完全に切断するスイッチを想像してください)。トライステート バッファを使用すると、複数の出力をワイヤに接続できますが、実際にラインに 1 または 0 を駆動できるのはそのうちの 1 つだけです。
    • 命令レジスタと命令デコーダは、他のすべてのコンポーネントの制御を担当します。

    この図には示されていませんが、命令デコーダからの制御ラインは次のとおりです。

    • 現在データバス上の値をラッチするように A レジスタに指示します。
    • 現在データバス上の値をラッチするように B レジスタに指示します。
    • ALU が現在出力している値をラッチするように C レジスタに指示します。
    • プログラム カウンタ レジスタに、現在データ バス上の値をラッチするように指示します。
    • 現在データバス上の値をラッチするようにアドレスレジスタに指示します。
    • 現在データバス上の値をラッチするように命令レジスタに指示します。
    • プログラムカウンタにインクリメントするように指示します
    • プログラムカウンタにゼロにリセットするように指示します
    • 6 つのトライステート バッファのいずれかをアクティブ化します (6 つの個別の行)
    • ALU に実行する操作を指示します
    • ALUのテストビットをラッチするようにテストレジスタに指示します。
    • RDラインをアクティブにする
    • WRラインをアクティブにする

    命令デコーダには、命令レジスタからのビットだけでなく、テスト レジスタとクロック ラインからのビットも入ります。

    マイクロプロセッサメモリ

    前のセクションでは、アドレス バスとデータ バス、および RD ラインと WR ラインについて説明しました。これらのバスとラインは、RAM または ROM のいずれか (通常は両方) に接続します。私たちのサンプル マイクロプロセッサには、8 ビット幅のアドレス バスと 8 ビット幅のデータ バスがあります。これは、マイクロプロセッサが 256 バイトのメモリをアドレス指定でき、一度に 8 ビットのメモリを読み書きできることを意味します。この単純なマイクロプロセッサには、アドレス 0 から始まる 128 バイトの ROM と、アドレス 128 から始まる 128 バイトの RAM があると仮定します。

    ROM は読み取り専用メモリの略です。 ROM チップは、事前に設定されたバイトの永続的なコレクションでプログラムされています。アドレス バスは、どのバイトを取得してデータ バスに配置するかを ROM チップに指示します。 RD ラインの状態が変化すると、ROM チップは選択されたバイトをデータ バス上に表示します。

    RAMはランダムアクセスメモリの略です。 RAM には情報バイトが含まれており、マイクロプロセッサは、RD ラインまたは WR ラインに信号が送られているかどうかに応じて、それらのバイトを読み書きできます。現在の RAM チップの問題の 1 つは、電源が切れるとすべてを忘れてしまうということです。そのため、コンピュータにはROMが必要です。

    ちなみに、ほぼすべてのコンピュータにはある程度の ROM が含まれています (RAM を含まない単純なコンピュータを作成することは可能です。多くのマイクロコントローラは、プロセッサ チップ自体に数バイトの RAM を配置することでこれを実現しています)。しかし、一般に、RAM を含まない単純なコンピュータを作成することは不可能です。 ROMは含まれていません)。 PCでは、ROM はBIOS (Basic Input/Output System) と呼ばれます。マイクロプロセッサが起動すると、BIOS で見つかった命令の実行を開始します。 BIOS 命令は、マシン内のハードウェアのテストなどを実行し、ハード ディスクに移動してブート セクターをフェッチします (詳細については、 「ハード ディスクの仕組み」を参照してください)。このブート セクターも小さなプログラムであり、BIOS はディスクから読み取った後、RAM に保存します。次に、マイクロプロセッサは RAM からブート セクタの命令の実行を開始します。ブート セクター プログラムは、ハードディスクから何か他のものを RAM にフェッチするようにマイクロプロセッサに指示し、マイクロプロセッサはそれを実行します。これは、マイクロプロセッサがオペレーティング システム全体をロードして実行する方法です。

    マイクロプロセッサの命令

    前の例で示した信じられないほど単純なマイクロプロセッサであっても、実行できるかなり大規模な命令セットがあります。命令のコレクションはビット パターンとして実装されており、それぞれが命令レジスタにロードされるときに異なる意味を持ちます。人間はビット パターンを記憶するのがあまり得意ではないため、さまざまなビット パターンを表すために一連の短い単語が定義されます。この単語の集合はプロセッサのアセンブリ言語と呼ばれます。アセンブラはワードをそのビット パターンに非常に簡単に変換でき、アセンブラの出力はマイクロプロセッサが実行できるようにメモリに配置されます。

    この例では、設計者が単純なマイクロプロセッサ用に作成するアセンブリ言語命令のセットを次に示します。

    • LOADA mem – メモリ アドレスからレジスタ A をロードします
    • LOADB mem – メモリ アドレスからレジスタ B をロードします
    • CONB con – 定数値をレジスタ B にロードします
    • SAVEB mem – レジスタ B をメモリ アドレスに保存します
    • SAVEC mem – レジスタ C をメモリ アドレスに保存します
    • ADD – AとBを加算し、結果をCに格納します。
    • SUB – A と B を減算し、結果を C に保存します
    • MUL – A と B を乗算し、結果を C に格納します
    • DIV – A と B を除算し、結果を C に格納します
    • COM – A と B を比較し、結果をテストに保存します
    • JUMP addr – アドレスにジャンプします
    • JEQ addr – 等しい場合、アドレスにジャンプします
    • JNEQ addr – 等しくない場合はアドレスにジャンプします
    • JG addr – アドレスより大きい場合は、そのアドレスにジャンプします
    • JGE addr – アドレス以上の場合、アドレスにジャンプします
    • JL addr – アドレスより小さい場合は、そのアドレスにジャンプします
    • JLE addr – 以下の場合、アドレスにジャンプします
    • STOP – 実行を停止します

    「How C Programming Works」を読んだことがあれば、この単純な C コードが 5 の階乗を計算することをご存知でしょう (5 の階乗 = 5! = 5 * 4 * 3 * 2 * 1 = 120)。

    a=1;f=1;while (a <= 5){ f = f * a; a = a + 1;}

    プログラムの実行が終了すると、変数fには 5 の階乗が含まれます。

    アセンブリ言語

    C コンパイラは、この C コードをアセンブリ言語に変換します。このプロセッサの RAM がアドレス 128 から始まり、ROM (アセンブリ言語プログラムを含む) がアドレス 0 から始まると仮定すると、単純なマイクロプロセッサの場合、アセンブリ言語は次のようになります。

    // a がアドレス 128 にあると仮定します。// F がアドレス 1290 にあると仮定します。 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // a > 5 の場合、175 にジャンプしますCONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // if17 STOP にループバック

    ロム

    ここで問題となるのは、「これらすべての命令は ROM 内でどのように見えるのか?」ということです。これらのアセンブリ言語命令はそれぞれ 2 進数で表す必要があります。わかりやすくするために、次のように、各アセンブリ言語命令に一意の番号が与えられていると仮定します。

    • ローダ – 1
    • ロードブ – 2
    • コンブ – 3
    • セーブ – 4
    • SAVEC メモリ – 5
    • 追加 – 6
    • サブ-7
    • MUL-8
    • DIV-9
    • COM-10
    • ジャンプアドレス – 11
    • JEQ アドレス – 12
    • JNEQ アドレス – 13
    • JGアドレス – 14
    • JGE アドレス – 15
    • JLアドレス – 16
    • JLE アドレス – 17
    • ストップ – 18

    この番号はオペコードとして知られています。 ROM では、この小さなプログラムは次のようになります。

    // a がアドレス 128 にあると仮定します。// F がアドレス 129 にあると仮定します。Addr opcode/value0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 // コンブ 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // ジャンプ 430 831 18 // 停止

    7 行の C コードが 18 行のアセンブリ言語になり、ROM では 32 バイトになったことがわかります。

    デコード

    命令デコーダは、各オペコードを、マイクロプロセッサ内のさまざまなコンポーネントを駆動する一連の信号に変換する必要があります。 ADD 命令を例として、その命令が何を行う必要があるかを見てみましょう。

    1. 最初のクロック サイクル中に、命令をロードする必要があります。したがって、命令デコーダは次のことを行う必要があります。
    2. プログラムカウンターのトライステートバッファーをアクティブにする
    3. RDラインをアクティブにする
    4. データイントライステートバッファをアクティブにする
    5. 命令を命令レジスタにラッチする
    6. 2 番目のクロック サイクル中に、ADD 命令がデコードされます。必要なことはほとんどありません。
    7. ALUの演算を加算に設定します
    8. ALUの出力をCレジスタにラッチします。
    9. 3 番目のクロック サイクル中に、プログラム カウンタがインクリメントされます (理論的には、これを 2 番目のクロック サイクルに重ねることができます)。

    すべての命令は、マイクロプロセッサのコンポーネントを適切な順序で操作する、このような一連の一連の操作として分解できます。この ADD 命令のような一部の命令は、2 クロック サイクルまたは 3 クロック サイクルかかる場合があります。他のものは 5 または 6 クロック サイクルかかる場合があります。

    マイクロプロセッサのパフォーマンスと傾向

    利用可能なトランジスタの数は、プロセッサのパフォーマンスに大きな影響を与えます。前に示したように、8088 などのプロセッサの一般的な命令の実行には 15 クロック サイクルかかりました。乗算器の設計により、8088 で 1 回の 16 ビット乗算を実行するだけで約 80 サイクルかかりました。トランジスタの数が増えると、シングル サイクル速度が可能なさらに強力な乗算器が可能になります。

    トランジスタを増やすと、 と呼ばれる技術も可能になります。パイプライン アーキテクチャでは、命令の実行が重複します。したがって、各命令の実行に 5 クロック サイクルかかるとしても、実行のさまざまな段階で 5 つの命令が同時に存在する可能性があります。こうすることで、1 つの命令が各クロック サイクルで完了するように見えます。

    最新のプロセッサの多くには複数の命令デコーダがあり、それぞれに独自のパイプラインがあります。これにより、複数の命令ストリームが可能になり、各クロック サイクル中に複数の命令を完了できることになります。この手法は実装が非常に複雑になる可能性があるため、多くのトランジスタが必要になります。

    トレンド

    最近ではプロセッサがどこにでも普及しているように見えますが、その傾向は衰えていないようです。研究者たちは、 などのアイテムを有効にする方法を発見しました。研究者たちは、プロセッサを操作するために を使用する方法に取り組んできました。おそらく、今後の最大の変化は、問題解決に 1 と 0 の使用に限定されない量子コンピューターの開発です。これらのコンピューターはより効率的に機能しますが、デスクトップに量子コンピューターがすぐに登場する可能性は低いでしょう。

    64ビットマイクロプロセッサ

    マイクロプロセッサ

    64 ビット プロセッサは 1992 年から使用されており、21 世紀には主流になりました。これらのプロセッサには、64 ビット ALU、64 ビット レジスタ、64 ビット バスなどが備わっています。

    世界が 64 ビット プロセッサを必要とする理由の 1 つは、アドレス空間が拡大しているためです。 32 ビット チップは、多くの場合、最大 2 GB または 4 GB のRAM アクセスに制限されます。ほとんどの家庭用コンピュータが 256 MB ~ 512 MB の RAM しか使用していなかった時代には、これは大変な量のように思えました。しかし、21 世紀の家庭用コンピューターは、データ (非常に複雑なデータには多くの実数が含まれる) をより速く処理できるようになりました。ビデオ編集を行う人や、非常に大きな画像の写真編集を行う人は、この種のコンピューティング能力の恩恵を受けます。ハイエンドのゲーマーも、より詳細な高解像度のゲームから恩恵を受けることができます。

    64 ビット RAM アドレス空間は当面は本質的に無限であるため、64 ビット チップによりさらに多くの選択肢が広がります。2^64 バイトの RAM は 10 億ギガバイトのオーダーに相当します。マザーボード上の 64 ビット アドレス バスと幅広の高速データ バスにより、64 ビット マシンはハードディスク ドライブビデオ カードなどへの I/O (入出力) 速度も高速になります。これらの機能により、システムのパフォーマンスが大幅に向上します。

  • Nehalem マイクロプロセッサのマイクロアーキテクチャの仕組み

    2 という数字を 2 倍にすると 4 になります。さらに2倍にすると8個になります。以前の製品の 2 倍になるこの傾向を継続すると、10 ラウンド以内に最大 1,024 になります。 20ラウンドまでに1,048,576を達成しました。これを指数関数的成長といいます。これは、エレクトロニクスの進化における最も重要な概念の 1 つを支える原理です。

    1965 年、インテルの共同創設者であるゴードン・ムーアは、それ以来半導体業界の方向性を決定づけた観察を行いました。ムーア氏は、チップ上のトランジスタの密度が毎年倍増していると指摘した。これは、チップ メーカーが 12 か月ごとに、チップ基板上に 2 倍のトランジスタを搭載できるようにトランジスタのサイズを縮小する方法を見つけていたことを意味します。

    ムーア氏は、チップ上のトランジスタの密度とチップの製造コストは密接に関係していると指摘した。しかし、メディアは、そして他のほとんどすべてのメディアは、マイクロチップ産業が指数関数的な速度で発展しているという考えに固執しました。ムーアの観察と予測は、私たちがムーアの法則と呼ぶ概念に形を変えました。

    長年にわたって、人々はチップ開発のパラメータに合わせてムーアの法則を微調整してきました。ある時点では、チップ上のトランジスタの数が 2 倍になるまでの期間が 18 か月にまで増加しました。今日でもう2年くらい経ちます。今日のトップマイクロプロセッサが1 つのチップ上に 10 億個以上のトランジスタを搭載していることを考えると、これは依然として素晴らしい成果です。

    ムーアの法則を別の見方で見ると、マイクロチップの処理能力は 2 年ごとに 2 倍になります。これは、トランジスタの数が 2 倍になるということとほぼ同じです。マイクロプロセッサはトランジスタから処理能力を引き出します。しかし、プロセッサの能力を向上させるもう 1 つの方法は、チップをより効率的に設計する新しい方法を見つけることです。

    ここでインテルの話に戻ります。インテルの哲学は、チクタク戦略に従うことです。このチェックマークは、より小型のトランジスタを構築する新しい方法を作成することを指します。タックとは、マイクロプロセッサのパワーと速度を最大化することを指します。 (この記事の執筆時点で) 市場に投入された最新の Intel ティック チップは、45 ナノメートル スケールのトランジスタを備えたPenrynチップです。ナノメートルは 1 メートルの 10 億分の 1 です。正確に言うと、平均的な人間の髪の毛の直径は約 100,000 ナノメートルです。

    それで、何ですか?それはIntelの新しいCore i7マイクロプロセッサだろう。 Penryn と同じサイズのトランジスタを搭載していますが、Intel の新しいNehalem マイクロアーキテクチャを使用して電力と速度を向上させています。このチックタックの哲学に従うことで、インテルは今後数年間、ムーアの法則の期待に応える目標を達成したいと考えています。

    Nehalem マイクロプロセッサはどのようにして Penryn と同じサイズのトランジスタを使用しながら、より良い結果を得ることができるのでしょうか?マイクロプロセッサを詳しく見てみましょう。

    ネハレムの建築

    Nehalem マイクロプロセッサのマイクロアーキテクチャの仕組み

    Nehalemマイクロプロセッサは、コアアンコアと呼ばれる周囲のコンポーネントという 2 つの主要セクションを持つチップとして見ることができます。マイクロプロセッサのコアには次の要素が含まれています。

    • 実際の数値処理を行うプロセッサ。これには、加算や減算などの単純な数学演算から、より複雑な関数まで、あらゆるものが含まれます。
    • このセクションは、順不同のスケジューリングとリタイア ロジックに特化しています。言い換えれば、この部分により、マイクロプロセッサは最速の順序で命令に取り組むことができ、より効率的になります。
    • キャッシュ メモリはマイクロプロセッサのコアの約 3 分の 1 を占めます。キャッシュにより、マイクロプロセッサはチップ自体に情報を一時的に保存できるため、コンピュータの他の部分から情報を取得する必要性が減ります。コアにはキャッシュ メモリの 2 つのセクションがあります。
    • コア上の分岐予測セクションにより、マイクロプロセッサは以前の入力に基づいて機能を予測できます。関数を予測することにより、マイクロプロセッサはより効率的に動作できるようになります。予測が間違っていることが判明した場合、チップは動作を停止し、機能が変更される可能性があります。
    • 残りのコアは機能を命令し、情報を解読し、データを整理します。

    非コア セクションには、L3 キャッシュに含まれる追加の 8 メガバイトのメモリがあります。 L3 キャッシュがコアにない理由は、Nehalem マイクロプロセッサがスケーラブルでモジュール式であるためです。つまり、Intelは複数のコアを備えたチップを構築できるということだ。すべてのコアは同じ L3 メモリ キャッシュを共有します。つまり、複数のコアが同じ情報に基づいて同時に動作できるということです。

    スケーラブルなマイクロプロセッサを開発する理由これは、プロセッサ自体を再発明することなく、より多くの処理能力を構築するという、難しい問題に対する洗練された解決策です。ある意味、複数の電池を直列に接続しているようなものです。 Intel は、Nehalem マイクロプロセッサをデュアル、クアッド、および 8 コア構成で構築することを計画しています。デュアルコアプロセッサはスマートフォンなどの小型デバイスに適しています。デスクトップ コンピューターまたはラップトップコンピューターにはクアッドコア プロセッサーが搭載されていることがよくあります。インテルは、サーバーなどのマシン、つまり重いワークロードを処理するコンピューター向けに 8 コア プロセッサーを設計しました。

    Intelは、アンコアにグラフィックス処理装置(GPU)を組み込んだNehalemマイクロプロセッサを提供するとしている。 GPU は専用グラフィックス カードとほぼ同じように機能します。

    次に、ネハレムが情報を送信する方法を見てみましょう。

    混乱した?

    マイクロプロセッサについてより深く理解するには、次の記事を読むとよいでしょう。

    ネハレムとクイックパス

    Nehalem マイクロプロセッサのマイクロアーキテクチャの仕組み

    Intel によると、Nehalem マイクロアーキテクチャでは、同社が QuickPath と呼ぶシステムが使用されています。 QuickPath には、プロセッサ、メモリ、その他のコンポーネント間の接続が含まれます。

    古い Intelマイクロプロセッサでは、コマンドは入出力( I/O )コントローラを介して集中メモリ コントローラに送られます。メモリ コントローラーはプロセッサに接続し、データを要求する可能性があります。メモリ コントローラーはこのデータをメモリ ストレージから取得し、プロセッサに送信します。プロセッサはそのデータに基づいて計算を行い、結果をメモリ コントローラを介して I/O コントローラに送り返します。マイクロプロセッサが単一チップ上に複数のプロセッサを搭載して複雑になるにつれて、このモデルの効率は低下します。

    古いマイクロアーキテクチャを使用するインテルのチップは、毎秒最大 21 ギガバイトのメモリ帯域幅を実現しました。 QuickPath 接続によりメモリ帯域幅が向上し、毎秒より多くの情報を送信できるようになります。

    新しいテクノロジーを使用したプロセッサーは、プロセッサーとメモリー間の通信を分散化します。つまり、集中型メモリ コントローラの代わりに、各プロセッサが独自のメモリ コントローラ、専用メモリ、およびキャッシュメモリを備えています。プロセッサは I/O コントローラと直接通信します。コマンドは I/O コントローラーからプロセッサーに送信されます。各プロセッサには専用のメモリ コントローラ、メモリ、キャッシュが搭載されているため、情報の流れがより自由になります。各プロセッサは、毎秒 32 ギガバイトの速度で専用メモリと通信できます。

    Nehalem ベースのプロセッサも、相互にポイントツーポイント相互接続を備えています。つまり、あるプロセッサが別のプロセッサのキャッシュ内のデータにアクセスする必要がある場合、それぞれのプロセッサにリクエストを直接送信して応答を取得できます。各相互接続内には個別のデータ経路があります。データは同時に両方向に流れることができるため、データ転送が高速化されます。複数のプロセッサと I/O コントローラ間の転送速度は、1 秒あたり最大 25.6 ギガバイトです。

    Nehalem マイクロプロセッサのマイクロアーキテクチャの仕組み

    QuickPath を使用すると、プロセッサは他のプロセッサに情報を要求するときにショートカットを実行できます。プロセッサ A、B、C、D を備えたクアッドコア マイクロプロセッサを想像してください。各プロセッサ間にはリンクがあります。古いアーキテクチャでは、プロセッサ A が D からの情報を必要とする場合、リクエストを送信します。次に、D はプロセッサ B と C にリクエストを送信して、D がそのデータの最新のインスタンスを持っているかどうかを確認します。 B と C は結果を D に送信し、D は情報を A に送り返すことができます。メッセージの各ラウンドはホップと呼ばれます。この例では 4 つのホップがありました。

    QuickPath では、これらの手順の 1 つがスキップされます。プロセッサ A は、「スヌープ」と呼ばれる最初の要求を B、C、D に送信し、D を応答者として指定します。プロセッサ B と C はデータを D に送信します。D は結果を A に送信します。このメソッドはメッセージを 1 ラウンドスキップするため、ホップは 3 つだけです。小さな改善のように見えますが、数十億回の計算を経ると大きな違いが生じます。

    さらに、他のプロセッサの 1 つが A が要求する情報を持っている場合、データを A に直接送信できます。これにより、ホップが 2 に減ります。QuickPath は、情報をよりコンパクトなペイロードに詰め込みます。

    Nehalem のブランチとループ

    Nehalem マイクロプロセッサのマイクロアーキテクチャの仕組み

    マイクロプロセッサでは、すべてがクロック サイクルで実行されます。クロック サイクルは、マイクロプロセッサが命令を実行するのにかかる時間を測定する方法です。これは、マイクロプロセッサが 1 秒間に実行できる命令の数と考えてください。クロック速度が速いほど、マイクロプロセッサが 1 秒あたりに処理できる命令の数が増えます。

    Core i7 のようなマイクロプロセッサが効率を向上させようとする 1 つの方法は、古い命令に基づいて将来の命令を予測することです。それは分岐予測と呼ばれます。分岐予測が機能すると、マイクロプロセッサは命令をより効率的に完了します。しかし、予測が不正確であることが判明した場合、マイクロプロセッサは補正する必要があります。これはクロック サイクルが無駄になる可能性があり、パフォーマンスの低下につながります。

    Nehalem には 2 つの分岐ターゲット バッファ(BTB) があります。これらのバッファーは、プロセッサーが次に何を必要とするかを予測して、プロセッサー用の命令をロードします。予測が正しいと仮定すると、プロセッサはコンピュータのメモリから情報を呼び出す必要はありません。 Nehalem の 2 つのバッファにより、より多くの命令をロードできるようになり、1 つのセットが間違っていることが判明した場合の遅延時間が減少します。

    もう 1 つの効率向上には、ソフトウェア ループが関係します。ループは、ソフトウェアが実行中に繰り返す一連の命令です。一定の間隔で発生する場合もあれば、断続的に発生する場合もあります。ループを使用すると、分岐予測は不要になります。特定のループの 1 つのインスタンスは、他のループと同じように実行される必要があります。 Intel は、ループを認識し、他の命令とは異なる方法でループを処理するように Nehalem チップを設計しました。

    ループ ストリーム検出のないマイクロプロセッサは、分岐予測器から始まり、命令を取得 (またはフェッチ) し、命令をデコードして実行するように設計されたハードウェアに移行するハードウェア パイプラインを持つ傾向があります。ループ ストリーム検出では、このプロセスの一部をバイパスして、繰り返される命令を識別できます。

    Intel は、Penryn マイクロプロセッサでループ ストリーム検出を使用しました。 Penryn のループ ストリーム検出ハードウェアは、古いマイクロプロセッサのフェッチ コンポーネントとデコード コンポーネントの間に位置します。 Penryn チップの検出器がループを検出すると、マイクロプロセッサは分岐予測をシャットダウンしてコンポーネントをフェッチできます。これによりパイプラインが短くなります。しかし、ネハレムはさらに一歩先を行きます。 Nehalem のループ ストリーム ディテクタはパイプラインの最後にあります。ループを検出すると、マイクロプロセッサは適切な命令をバッファに送信するループ ストリーム検出器を除くすべてをシャットダウンできます。

    分岐予測とループ ストリーム検出の改善はすべて、Intel の「tock」戦略の一部です。 Nehalem チップのトランジスタは Penryn のものと同じサイズですが、Nehalem の設計はハードウェアをより効率的に使用します。

    次に、Nehalem マイクロプロセッサがデータ ストリームをどのように処理するかを見ていきます。

    Nehalem とマルチスレッド

    Nehalem マイクロプロセッサのマイクロアーキテクチャの仕組み

    ソフトウェア アプリケーションがより高度になるにつれて、プロセッサへの命令の送信は複雑になります。プロセスを簡素化する 1 つの方法は、スレッド化を使用することです。スレッド化はソフトウェア側から始まります。プログラマは、プロセッサが複数のストリームまたはスレッドに分割できる命令を使用してアプリケーションを構築します。プロセッサーは命令の個別のスレッドを処理し、チームを組んでタスクを完了できます。マイクロプロセッサの世界では、複数のプロセッサがデータの並列スレッドを同時に処理するため、これを並列処理と呼びます。

    Nehalem のアーキテクチャにより、各プロセッサは 2 つのスレッドを同時に処理できます。つまり、8 コアの Nehalem マイクロプロセッサは同時に 16 スレッドを処理できます。これにより、Nehalem マイクロプロセッサは複雑な命令をより効率的に処理できるようになります。 Intel によれば、マルチスレッド機能は、マイクロプロセッサに処理コアを追加するよりも効率的です。 Nehalem マイクロプロセッサは、ビデオ編集プログラムやハイエンド ビデオ ゲームなどの高度なソフトウェアの要求を満たすことができる必要があります。

    マルチスレッドのもう 1 つの利点は、プロセッサが複数のアプリケーションを同時に処理できることです。これにより、ウイルススキャナなどの他のアプリケーションをバックグラウンドで実行しながら、複雑なプログラムで作業することができます。古いプロセッサでは、これらの動作によりコンピュータの速度が低下したり、クラッシュする可能性があります。

    Intelは、同社がターボ・ブーストと呼ぶ追加テクノロジーをNehalemのアーキテクチャ内に組み込んだ。プロセッサーが消費電力、処理能力、温度レベルの制限を下回って実行されている場合、クロック周波数を上げることができます。これにより、アクティブなプロセッサの動作が高速になります。シングルスレッドを備えた古いアプリケーションでは、チップはクロック速度をさらに向上させることができます。

    ターボ ブースト機能は動的です。チップが動作パラメータの範囲内にある場合、作業負荷が増加するにつれて Nehalem マイクロプロセッサの動作がより激しくなります。ワークロードが減少すると、マイクロプロセッサは通常のクロック周波数で動作できるようになります。マイクロチップには監視システムが備わっているため、チップが過熱したり、能力を超えて動作したりすることを心配する必要はありません。また、プロセッサーに大きな負荷を与えていないときは、チップが電力を節約します。

    Nehalem がインテルの最新の「ティック」である場合、次の「ティック」は何になるでしょうか?そしてその後は何が起こるのでしょうか?次のセクションで調べてください。

    ロック・アラウンド・ザ・オーバークロック

    Nehalem のターボ ブースト機能は、オーバークロックと呼ばれる古いハッキング手法に似ています。マイクロプロセッサをオーバークロックするとは、チップの通常のパラメータを超えて処理周波数を高めることです。ゲーマーの中には、高度なビデオ ゲームをプレイするときにパフォーマンスを向上させるために、マシンのプロセッサをオーバークロックする人もいます。ただし、オーバークロックは常に良い考えであるとは限りません。チップが過熱する可能性があります。

    インテルのチクタク

    Nehalem マイクロプロセッサのマイクロアーキテクチャの仕組み

    マイクロプロセッサの開発には何年もかかります。 Intel は 2008 年に Nehalem を発表しましたが、このプロジェクトは当時 5 年以上前から行われていました。つまり、人々が発表されたマイクロチップがさまざまな電子機器やコンピューターに搭載されるのを待っている間にも、インテルのようなメーカーはマイクロプロセッサーの進化の次のステップに取り組んでいることを意味します。ムーアの法則を守りたいのであれば、そうしなければなりません。

    インテルの次のステップは、別の「ティック」な開発です。これは、トランジスタを幅 32 ナノメートルまで縮小することを意味します。このサイズのトランジスタを備えたマイクロプロセッサを 1 つ製造することは、驚くべき成果です。しかし、さらに困難なのは、これほど小さなトランジスタを備えた数百万個のチップを、効率的で信頼性が高く、コスト効率の高い方法で大量生産する方法を見つけることです。

    次期インテルチップのコードネームはWestmereです。 WestmereはNehalemと同じマイクロアーキテクチャを使用しますが、32ナノメートルのトランジスタを搭載します。つまり、ウェストメアはネハレムよりも強力になるということです。しかし、それは、Westmereのアーキテクチャが、これほど小さなトランジスタを備えたマイクロプロセッサにとって最も合理的であるという意味ではない。それは次の「トック」マイクロプロセッサに委ねられます。

    そして、このトックにはすでに「Sandy Bridge」という名前が付いています。 Sandy Bridge マイクロチップは、32 ナノメートルのトランジスタに最適化されたアーキテクチャを備えています。 Sandy Bridge が商業市場に展開されるまでには数年かかるかもしれませんが、実際に商業市場に投入されると、おそらく今日の Nehalem と同じくらい革命的なものになるでしょう。

    その後、インテルはどこへ向かうのでしょうか?言うのは難しいです。トランジスタは 10 年前にはほとんど想像もできなかったサイズまで縮小していますが、急速な発展に歯止めをかける可能性のあるいくつかの基本的な物理法則に到達しつつあります。それは、より小さな材料を扱うにつれて、量子力学の領域に入り始めるからです。量子力学の世界は、古典的な物理学しか知らない人にとっては奇妙に見えるかもしれません。粒子とエネルギーは、古典的な観点からは直感に反するように見えます。

    マイクロプロセッサに関しては、これらの動作の 1 つである電子トンネリングが特に問題になります。通常、トランジスタはリークの危険をほとんど伴わずに電子を集中させることができます。しかし、障壁が薄くなるにつれて、電子トンネリングの可能性が高くなります。電子が非常に薄い障壁(幅が 1 ナノメートル程度のもの)に遭遇すると、電子のエネルギー レベルが通常では起こりえないように見えても、障壁の一方の側からもう一方の側に通過することができます。電子が障壁に物理的な穴を開けないにもかかわらず、科学者はこの現象をトンネリングと呼んでいます。

    これはマイクロプロセッサにとって大きな問題です。マイクロプロセッサは、トランジスタ スイッチを介して電子を流すことによって機能します。ナノスケールのトランジスタを備えたマイクロプロセッサは、すでにある程度のレベルの電子漏れに対処する必要があります。リークによりマイクロプロセッサの効率が低下します。 Intelのトランジスタ設計方法に劇的な変化がなければ、ムーアの法則が最終的に無効になる危険性がある。

    それでも、エンジニアは完全に克服できないと思われる問題を回避する方法を考える傾向があります。たとえあと 1 ~ 2 世代経ってもトランジスタをこれ以上小さくできなかったとしても、エレクトロニクスが終わるわけではありません。それは、私たちが慣れているよりも少しゆっくりと前進することを意味するかもしれません。

    マイクロプロセッサと関連主題の詳細については、次のページのリンクを参照してください。

    関連する仕組みの記事