トランジスタが非常に多い場合、CPUはどのように安定しますか?


10

私たちが知っているように、CPUは1つのサムネイル上で何十億ものトランジスタですが、トランジスタの1つが壊れたらどうなるでしょうか。

CPUには自動回復メカニズムがありますか?


6
実際、最近の大きなものには何十億ものトランジスタが含まれています。
starblue

6
「安定」は、おそらくメタスタビリティなどの問題を指すため、正しい言葉ではありません。このトピックのより良い選択は、「欠陥のない」または「歩留まり」のような単語です。または、結果として生じるチップではなく、製造プロセスの安定性について質問することもできます。
Chris Stratton

2
@ChrisStratton、私はOPが利回りよりも信頼性についてもっと尋ねているのではないかと思います。
フォトン

1
トランジスタの1つが故障した場合、チップを廃棄します。冗長性(特定のアプリケーションを除く)や修復オプションはありません。
Dmitry Grigoryev 2016

回答:


18

簡単です。販売する前にテストして、悪いものは捨てます。

これを行う方法はたくさんあります。人によって作業は異なります。多くの場合、次の組み合わせを使用します。

  • 一部のテストは、十分に速くなることを確認するために高速です。

  • 他のテストでは、チップの一部またはすべてのフリップフロップを巨大なシリアルシフトレジスタに変換するモードを使用します。既知のデータをこれらのチェーンにクロックし、チップを1クロック実行して、新しい結果をスキャンし、一致することを確認します。私たちの予測結果-自動テストツールは、チップ上のすべてのランダムゲートまたはトランジスタをテストする「スキャンベクトル」の最小セットを生成します-他のベクトルは、RAMブロックの特別なテストを行います。

  • 他の人は、外部ワイヤがすべて正しくボンディングされていることをテストします

  • 異常な量の電流が流れないようにします

テストには時間のかかる費用がかかります。不良チップをパッケージングする前に、不良チップを破棄するためにいくつかの簡単なテストを行ってから、パッケージングの後にさらにテストを行います。


1
「それは簡単です、私たちはそれらを販売する前にそれらをテストし、悪いものを捨てます。」それが唯一の品質システムである場合、10億個のトランジスタデバイスで0.00000000001%の歩留まりが得られる可能性があります
Federico Russo

2
本当に簡単です。その秘訣は、非常に大量のシミュレーションと、事前にルールチェックを行って、歩留まりが許容範囲内であることを確認することです。CPUロジック自体に冗長性はほとんどありません。オンチップRAMで冗長性が少し得られる場合があります。
pjc50

設計が正しい場合、個々の障害は材料の欠陥、汚染、プロセスエラーなどに起因します。使用されているウエハーサイズは数個しかありませんが、サイズが大きいほど、欠陥の可能性が高まるため、ICのサイズが比例します。範囲。いくつかのケースでは、時々販売されているよりも多くの機能ユニットを備えたチップを使用できるため、不良の場合でも市場に出る可能性がありますが、それは制限されています。場合によっては、FPGAを割引価格で購入して、特定の構成ファイルで使用するのではなく、特定の構成ファイルで使用する場合にのみ動作するようにテストすることができます。
Chris Stratton、

2
AMDのようなメーカーが不良コアを搭載したプロセッサーを不良コアがロックされた別のモデルとして販売していることに言及するのを忘れていたと思います。それは一種の冗長性、またはおそらく賢いマーケティングです。
akaltar 2016

グレーマーケットの部品がどのように供給されるのか疑問に思った人は、もうこれ以上疑問に思わないでください。私はチップファブシステムのソフトウェア側で働いていました。ここで説明する自動テストは、プラントの時間と費用の大きな部分を占めています。

12

他の人が言ったことを少し拡張するには:検証があり、その後にチップの分類があります。

CPUのトランジスタはより高い周波数で問題を示す傾向があるため、1つのCPUを作成し、それをいくつかの異なる製品として販売するのが一般的です。安価なCPUは、実際には高価なCPUの破損したバージョンです。別のオプションは、CPUの特定の部分を無効にすることです。たとえば、AMDはBArtonコアを搭載したプロセッサを作成しました。また、Thortonコアを搭載したプロセッサーも販売しました。ソートンは新しいコアではありませんでした。代わりに、L2キャッシュの半分に欠陥があり、無効になっています。このようにして、AMDはCPUをある程度回復させました。

AMDの3コアプロセッサでも同じことが起こりました。元々は4コアプロセッサでしたが、コアの1つに欠陥があると判断されたため、無効にされました。


2
ヒューズを飛ばすことによって無効にできる機能を備えたチップ設計を作ることは珍しくありません。チップの歩留まりのシンプルな経済性。チップの全体または一部を低速で実行したり、テストに失敗した機能を無効にしたりすると、部品全体を放棄するのではなく、その部品のコストの一部を回収できます。例として、Intel 386 SXおよびDXに戻ることもできます。そして、ほとんどすべてのCPUがスピードグレードされています。遅いものは速い速度で失敗した部品です。
old_timer 2016

2
いいえ、386SX / 386DXではありません。これらのチップには、まったく異なるバスインターフェイスがあります。386DXの一部を無効にして386SXを取得するだけではありません。あなたが言うことは486DX / 486SXに当てはまり、後者はFPUが無効になっています。
Michael Karcher、2016

6

あなたの質問への答えは、「いいえ」です。現在、ハードウェア障害の場合の自動回復方法はありません。

製造業者は、ウェーハから可能な限り最高の歩留まり(ドル)を得るようにプロセスを設計します。トランジスタを縮小することにより、より多くの機能をより少ない面積に収めることができます。これは、ウエハーあたりの(同じ機能の)より多くのチップと考えることができます。チップサイズが縮小するにつれて、ウエハーからより多くのチップを取り出すことができますが、縮小するにつれて不良になるケースが多くなります。製造業者はこれを受け入れており、常にチップを縮小するために技術の枠を押し進めています。彼らが封筒の端にいることを彼らに告げるのは悪いチップです。

会社がフィーチャーサイズを古いフィーチャーサイズの70%に縮小できれば、ウェーハ上のチップ数の約2倍のチップを得ることができます。古いプロセスでの歩留まりが95%(たとえば、ウエハー上の100のうち95のチップが良いチップ)であり、新しいプロセスでの歩留まりが75%(ウエハー上の200のうちの150のチップが良いチップ)である場合、新しいプロセス。


5
NANDフラッシュメモリなどの一部のタイプのチップでは、製造業者は、欠陥のないチップが標準となるポイントを超えて定期的に限界を押し上げますが、ほとんどの故障はある程度予測可能な特性を備えており、チップを使用するデバイスは、それらを回避します。
スーパーキャット2011年

3

小さなノードでは、SRAMなどのメモリがない限り、各「トランジスタ」は2ゲートです。動作しない場合は、遅いドライバーを使用しています。SRAMの場合、合格しなければ、行を「ブロー」するだけです。トランジスタの両方のFETが故障した場合、非常に高価な砂片ができますが、私は個人的にそれを実現したことはありません。現代のFinFETは非常に小さいので、リソグラフィの性質と確率のために、多くの製造上の問題(主に手間)があります。不良セルを「ブロー」してルーティンググラフを変更できるため、新しいプロセスで最初に出るのはFPGAです。数値をお伝えすることはできませんが、x86の世界がどのようにビニングを行うかによって、物事が完璧に進むことはほとんどありません。

XORセルのレイアウトの図は次のとおりです。 XOR

左/右の緑のバーはフィンで、赤はポリです。ブルーはレベル1のカラーメタルです。

市販のCPUには自動回復メカニズムがありませんが、学界や特殊なアプリケーションCPUにはさまざまなものがあります。私は、非同期アーキテクチャを使用して、ゲートの不良が原因で発生するクロックの問題を解決する特殊なコンポーネントをいくつか作成しました。


3

どうやら時代は変わった。この質問での5年前の回答の多くは、最新の状態を反映しておらず、一部は当時正確ではありませんでした。

トランジスタやシリコン上のその他のデバイスは、ICが過熱しない限り、製造後はかなり安定しています。

欠陥を最小限に抑えるために、現在のIC製造プロセスでは次のことが行われています。

  • ICは、設計の検証と検証のレベル、および個々の試験片のテストの両方で、広範囲にわたってテストされています。このペーパーでは、Pentium 4のいくつかのテスト手順について説明します。
  • ICの全体的な設計が複雑すぎて完全に検証できない
  • ICにはプログラム可能なマイクロコードがあり、製造後に欠陥が発見された場合、限られた程度の再プログラムが可能です
  • 最新のICには冗長シリコン層が含まれており、製造中に発見された欠陥を修正することができます
  • CPUコア、キャッシュメモリ、その他のIPのいずれであっても、多くのCPUには冗長ハードウェアモジュールがあります。すべてのユニットが機能しているわけではない場合は、一部を無効にして低コストの部品として「ビニング」することができます。1つの例は、PS4マルチコアICが1つの冗長コアを含み、より高い歩留まりを達成するために無効にされている場合です。
  • 一部のCPUは実行しますが、最高速度ではありません。これらは低速、低コストのCPUとして販売できます
  • 多くのCPUおよびRAMはエラー訂正コーディング(ECC)メモリを使用するか、データ転送のさまざまな段階でメッセージ検証エラー訂正を実行して整合性を確保します
  • 再起動(CMOSラッチアップ)した場合、システムクラッシュの原因となるが、システムの再稼働を妨げないプロセッサーで障害が発生する場合がある

プロセッサの正式な仕様のプログラミングエラーは、特定のトランジスタの故障よりも発生しやすいです。

一般的なCPUには自動回復機能のようなものはありませんが、宇宙線の対策として自己リセットCPUに関する作業も行われています。宇宙線は、CPUまたはRAMに十分なエネルギーを蓄積し、ビットフリップを引き起こす可能性があります。

コメントで指摘されているように、ミッションクリティカルなシステムは、長い間、検証のために複数のCPUに依存してきました。スペースシャトル、1976年に戻っては、一例として、同じプログラムを実行し、安全性を確保するために、すべての飛行制御の決定に「投票」4そのうち5台のコンピュータを使用しました。


ECCとエラー検出はかなり長い間使用されてきました(メモリと通信、算術および類似の論理機能のために、一部のハイエンドシステムには何年もエラー検出がありました)。同様に、冗長実行(空間的または一時的)は、ハードウェア/実行時間のコストが正当化されると思われるシステムでかなり長い間エラーを検出するために使用されてきました。
ポールA.クレイトン

@ PaulA.ClaytonもしあなたがItaniumとその後Xeon RAS機能について投稿をするなら、私は確かにそれに投票して喜んでいるでしょう。
Oleksandr

2

最新のプロセッサトランジスタのほとんどはFETです。これらには、過負荷になり始めるときにソース/ドレイン抵抗を得るという利点があります。これは、多数を並列に配置することで高出力MOSFETを作成できるようにする1つの要因です。負荷は自動的に分散されます。これは、問題を配布するのに役立つ要因になる可能性があります。しかし、それはそれより本当に簡単だと思います。

ほとんどの電子部品と同様に、仕様内でそれらを駆動すると、それらはかなり長持ちします。マイクロプロセッサーを作る場合、コストには2つの要素があります。シリコン上のスペースと、複雑さのために実際の歩留まり。すべてのチップが製造後に機能するわけではありません。ただし、作成して検証を通過すると、トランジスタは良好であることがわかります。仕様の範囲内で運転されている場合、それらは良好な状態を保つ可能性があります。


2

なぜ同じチップが異なる速度で販売されるのか不思議に思ったことはありませんか?また、同じGPUチップアーキテクチャが異なる数の内部ユニットで販売されていることにお気付きですか?

シリコンレベルでハードウェアの欠陥を修正する方法はありませんが、設計者は時間をかけて歩留まりを上げる問題に対処することを学びました。先見の明がない場合、歩留まりは製造品質にのみ依存します。ただし、賢い場合は、不良チップの一部を回復できます。

たとえば、18コアのチップデザインがあり、ほぼ独立して動作するとします。テスト中に、完璧なチップを分類し、A18モデルとしてリリースします。故障したチップのほとんどにはエラーが1つしかないため、障害のあるコアが無効になっている限り問題なく動作します。これらをA17モデルとして少し低価格で販売し、不良コアが2つあるモデルをA16モデルとしてさらに低価格で販売します。

同じことがチップの速度定格にも当てはまります。完全に製造されたチップは、設計仕様を超える速度で実行できますが、問題のあるチップはできない場合があります。これらは低速仕様で販売されています。

この方法は、全体の収量を劇的に増加させるため、非常に一般的に見られます。たとえば、PlayStation 3のハードウェアには8つのSPEユニットがありますが、1つは歩留まりの問題を考慮して常に無効になっています。


1

CPUには自動回復メカニズムがありますか?

上記で説明したとおりです。ただし、それらのキャッシュ、特にL2およびL3には、追加のRAMを搭載できます。デバイスが工場でテストされると、不良RAMブロックが削除され、余分なRAMブロックが使用されます。


1

一般的にいいえ、チップ画面で不良トランジスタをカバーし、その後の損失の割合は比較的小さいと予想します。チップビジネスは何十年も前からあり、これを管理するための多くのトリックがあります(そして、はい、トリックの1つは、不良部品を取り除いて無料で交換するか、顧客を不満にさせることです)。

放射線耐性のある環境(スペース)の場合、トリプル投票になる可能性が高く、すべての「ビット」には実際には1つの投票に投票する3つのビットがあります。ビット設定を決定するには、3分の2の投票が必要です。そのため、残りの3分の1のトランジスタは不良になる可能性があり、最終的には総線量が増加します。しかし、主な懸念は単一のイベントの混乱です。これらのチップとシステムは、上から下、シリコン、ハードウェア、ソフトウェアなど、これらの環境向けに設計されています。また、最先端ではなく、昔ながらの真の技術を使用しているため、トランジスタの数とサイズは数年前のものです。

COTSは時々しゃっくりと失敗が予想されます。


-1

それは奇跡のように思えるかもしれませんが、トランジスタの故障の量を減らすために使用されるいくつかのメカニズムがあります。ただし、トランジスタで発生する障害の種類と場所によっては、特定の条件下でCPUがまだ使用できる場合とできない場合があります。

現在、多くの場合、自動回復メカニズムは組み込まれていませんが、この問題を最小限に抑えるための再構成可能なコンピューティング、冗長性、およびその他の技術については多くの研究があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.