私たちが知っているように、CPUは1つのサムネイル上で何十億ものトランジスタですが、トランジスタの1つが壊れたらどうなるでしょうか。
CPUには自動回復メカニズムがありますか?
私たちが知っているように、CPUは1つのサムネイル上で何十億ものトランジスタですが、トランジスタの1つが壊れたらどうなるでしょうか。
CPUには自動回復メカニズムがありますか?
回答:
簡単です。販売する前にテストして、悪いものは捨てます。
これを行う方法はたくさんあります。人によって作業は異なります。多くの場合、次の組み合わせを使用します。
一部のテストは、十分に速くなることを確認するために高速です。
他のテストでは、チップの一部またはすべてのフリップフロップを巨大なシリアルシフトレジスタに変換するモードを使用します。既知のデータをこれらのチェーンにクロックし、チップを1クロック実行して、新しい結果をスキャンし、一致することを確認します。私たちの予測結果-自動テストツールは、チップ上のすべてのランダムゲートまたはトランジスタをテストする「スキャンベクトル」の最小セットを生成します-他のベクトルは、RAMブロックの特別なテストを行います。
他の人は、外部ワイヤがすべて正しくボンディングされていることをテストします
異常な量の電流が流れないようにします
テストには時間のかかる費用がかかります。不良チップをパッケージングする前に、不良チップを破棄するためにいくつかの簡単なテストを行ってから、パッケージングの後にさらにテストを行います。
他の人が言ったことを少し拡張するには:検証があり、その後にチップの分類があります。
CPUのトランジスタはより高い周波数で問題を示す傾向があるため、1つのCPUを作成し、それをいくつかの異なる製品として販売するのが一般的です。安価なCPUは、実際には高価なCPUの破損したバージョンです。別のオプションは、CPUの特定の部分を無効にすることです。たとえば、AMDはBArtonコアを搭載したプロセッサを作成しました。また、Thortonコアを搭載したプロセッサーも販売しました。ソートンは新しいコアではありませんでした。代わりに、L2キャッシュの半分に欠陥があり、無効になっています。このようにして、AMDはCPUをある程度回復させました。
AMDの3コアプロセッサでも同じことが起こりました。元々は4コアプロセッサでしたが、コアの1つに欠陥があると判断されたため、無効にされました。
あなたの質問への答えは、「いいえ」です。現在、ハードウェア障害の場合の自動回復方法はありません。
製造業者は、ウェーハから可能な限り最高の歩留まり(ドル)を得るようにプロセスを設計します。トランジスタを縮小することにより、より多くの機能をより少ない面積に収めることができます。これは、ウエハーあたりの(同じ機能の)より多くのチップと考えることができます。チップサイズが縮小するにつれて、ウエハーからより多くのチップを取り出すことができますが、縮小するにつれて不良になるケースが多くなります。製造業者はこれを受け入れており、常にチップを縮小するために技術の枠を押し進めています。彼らが封筒の端にいることを彼らに告げるのは悪いチップです。
会社がフィーチャーサイズを古いフィーチャーサイズの70%に縮小できれば、ウェーハ上のチップ数の約2倍のチップを得ることができます。古いプロセスでの歩留まりが95%(たとえば、ウエハー上の100のうち95のチップが良いチップ)であり、新しいプロセスでの歩留まりが75%(ウエハー上の200のうちの150のチップが良いチップ)である場合、新しいプロセス。
小さなノードでは、SRAMなどのメモリがない限り、各「トランジスタ」は2ゲートです。動作しない場合は、遅いドライバーを使用しています。SRAMの場合、合格しなければ、行を「ブロー」するだけです。トランジスタの両方のFETが故障した場合、非常に高価な砂片ができますが、私は個人的にそれを実現したことはありません。現代のFinFETは非常に小さいので、リソグラフィの性質と確率のために、多くの製造上の問題(主に手間)があります。不良セルを「ブロー」してルーティンググラフを変更できるため、新しいプロセスで最初に出るのはFPGAです。数値をお伝えすることはできませんが、x86の世界がどのようにビニングを行うかによって、物事が完璧に進むことはほとんどありません。
左/右の緑のバーはフィンで、赤はポリです。ブルーはレベル1のカラーメタルです。
市販のCPUには自動回復メカニズムがありませんが、学界や特殊なアプリケーションCPUにはさまざまなものがあります。私は、非同期アーキテクチャを使用して、ゲートの不良が原因で発生するクロックの問題を解決する特殊なコンポーネントをいくつか作成しました。
どうやら時代は変わった。この質問での5年前の回答の多くは、最新の状態を反映しておらず、一部は当時正確ではありませんでした。
トランジスタやシリコン上のその他のデバイスは、ICが過熱しない限り、製造後はかなり安定しています。
欠陥を最小限に抑えるために、現在のIC製造プロセスでは次のことが行われています。
プロセッサの正式な仕様のプログラミングエラーは、特定のトランジスタの故障よりも発生しやすいです。
一般的なCPUには自動回復機能のようなものはありませんが、宇宙線の対策として自己リセットCPUに関する作業も行われています。宇宙線は、CPUまたはRAMに十分なエネルギーを蓄積し、ビットフリップを引き起こす可能性があります。
コメントで指摘されているように、ミッションクリティカルなシステムは、長い間、検証のために複数のCPUに依存してきました。スペースシャトル、1976年に戻っては、一例として、同じプログラムを実行し、安全性を確保するために、すべての飛行制御の決定に「投票」4そのうち5台のコンピュータを使用しました。
最新のプロセッサトランジスタのほとんどはFETです。これらには、過負荷になり始めるときにソース/ドレイン抵抗を得るという利点があります。これは、多数を並列に配置することで高出力MOSFETを作成できるようにする1つの要因です。負荷は自動的に分散されます。これは、問題を配布するのに役立つ要因になる可能性があります。しかし、それはそれより本当に簡単だと思います。
ほとんどの電子部品と同様に、仕様内でそれらを駆動すると、それらはかなり長持ちします。マイクロプロセッサーを作る場合、コストには2つの要素があります。シリコン上のスペースと、複雑さのために実際の歩留まり。すべてのチップが製造後に機能するわけではありません。ただし、作成して検証を通過すると、トランジスタは良好であることがわかります。仕様の範囲内で運転されている場合、それらは良好な状態を保つ可能性があります。
なぜ同じチップが異なる速度で販売されるのか不思議に思ったことはありませんか?また、同じGPUチップアーキテクチャが異なる数の内部ユニットで販売されていることにお気付きですか?
シリコンレベルでハードウェアの欠陥を修正する方法はありませんが、設計者は時間をかけて歩留まりを上げる問題に対処することを学びました。先見の明がない場合、歩留まりは製造品質にのみ依存します。ただし、賢い場合は、不良チップの一部を回復できます。
たとえば、18コアのチップデザインがあり、ほぼ独立して動作するとします。テスト中に、完璧なチップを分類し、A18モデルとしてリリースします。故障したチップのほとんどにはエラーが1つしかないため、障害のあるコアが無効になっている限り問題なく動作します。これらをA17モデルとして少し低価格で販売し、不良コアが2つあるモデルをA16モデルとしてさらに低価格で販売します。
同じことがチップの速度定格にも当てはまります。完全に製造されたチップは、設計仕様を超える速度で実行できますが、問題のあるチップはできない場合があります。これらは低速仕様で販売されています。
この方法は、全体の収量を劇的に増加させるため、非常に一般的に見られます。たとえば、PlayStation 3のハードウェアには8つのSPEユニットがありますが、1つは歩留まりの問題を考慮して常に無効になっています。
CPUには自動回復メカニズムがありますか?
上記で説明したとおりです。ただし、それらのキャッシュ、特にL2およびL3には、追加のRAMを搭載できます。デバイスが工場でテストされると、不良RAMブロックが削除され、余分なRAMブロックが使用されます。
一般的にいいえ、チップ画面で不良トランジスタをカバーし、その後の損失の割合は比較的小さいと予想します。チップビジネスは何十年も前からあり、これを管理するための多くのトリックがあります(そして、はい、トリックの1つは、不良部品を取り除いて無料で交換するか、顧客を不満にさせることです)。
放射線耐性のある環境(スペース)の場合、トリプル投票になる可能性が高く、すべての「ビット」には実際には1つの投票に投票する3つのビットがあります。ビット設定を決定するには、3分の2の投票が必要です。そのため、残りの3分の1のトランジスタは不良になる可能性があり、最終的には総線量が増加します。しかし、主な懸念は単一のイベントの混乱です。これらのチップとシステムは、上から下、シリコン、ハードウェア、ソフトウェアなど、これらの環境向けに設計されています。また、最先端ではなく、昔ながらの真の技術を使用しているため、トランジスタの数とサイズは数年前のものです。
COTSは時々しゃっくりと失敗が予想されます。