CPUが通常1つのバスのみに接続するのはなぜですか?


24

ここでマザーボードアーキテクチャを見つけました。

ここに画像の説明を入力してください

これは、マザーボードの典型的なレイアウトのようです。編集:まあ、どうやらそれはもはや典型的ではありません。

CPUが1つのバスしか接続しないのはなぜですか?そのフロントサイドバスは大きなボトルネックのようです。2つまたは3つのバスをCPUに直接接続する方が良いと思いませんか?

RAM用に1つ、グラフィックカード用に1つ、ハードドライブ、USBポート、その他すべてへの何らかのブリッジ用に1つのバスを想像します。このように分割した理由は、ハードドライブのデータレートがメモリに比べて遅いためです。

この方法で行うことについて非常に難しいことはありますか?既存の図にはすでに7つ以上のバスがあるため、コストがどのようになるかわかりません実際、より多くの直通バスを使用することで、バスの合計数を減らし、場合によっては橋の1つを減らすこともできます。

これで何か問題がありますか?どこかに大きな欠点はありますか?私が考えることができる唯一のことは、おそらくCPUとカーネルのより複雑さです。これは、このボトルネックバスアーキテクチャが、物事があまり洗練されておらず、標準化のために設計が同じままであった昔のやり方だと思うようにします。

編集:ウォッチドッグモニターについて言及するのを忘れました。私はいくつかの図でそれを見たことを知っています。おそらく、ボトルネックバスは、ウォッチドッグがすべてを監視しやすくするでしょう。それは何か関係があるのでしょうか?


9
これは非常に古いアプローチです。現在、CPUにはルートコンプレックスとメモリコントローラーが組み込まれているため、PCIeデバイス、RAM、および実質的にサウスブリッジと直接接続します。たとえば、この
トム・カーペンター

@TomCarpenterうん、もっと似てきそうだね。私が投稿した図は、学校を含む「どこでも」見たものなので、より典型的であると考えました。
-DrZ214

7
上記の図は依然として関連しています。最近では、マザーボードの図ではなく、CPU自体の図です。「CPU」を「コア」に、「チップセット」を「CPU」に置き換えます。
スリーブマン

回答:


43

あなたが示すアプローチは、マザーボードのための非常に古いトポロジーです-それは実際に'00年代のどこかにそれを戻すPCIeより前のことです。その理由は主に統合の難しさによるものです。

基本的に15年前、すべてを単一のダイに統合する技術は、商業的な観点からは事実上存在していなかったため、それを行うことは非常に困難でした。すべてを統合すると、シリコンダイのサイズが非常に大きくなり、ひいては歩留まりが大幅に低下します。歩留まりは基本的に、欠陥によってウェーハ上でどれだけ多くのダイを失うかです。ダイが大きいほど、欠陥の可能性が高くなります。

これに対処するには、単にデザインを複数のチップに分割します。マザーボードの場合、これはCPU、ノースブリッジ、サウスブリッジになります。CPUは、高速インターコネクトを備えたプロセッサのみに制限されています(思い出す限り、フロントサイドバスと呼ばれます)。次に、メモリコントローラー、グラフィックス接続(AGP、コンピューティング用語での古代のテクノロジーなど)、およびサウスブリッジへの低速リンクを統合したノースブリッジがあります。サウスブリッジは、拡張カード、ハードドライブ、CDドライブ、オーディオなどの処理に使用されました。


過去20年で、ますます小型のプロセスノードで半導体をより高い信頼性で製造できるようになったことで、すべてを1つのチップに統合できるようになりました。トランジスタが小さいということは密度が高いため、より適合することができ、製造プロセスの改善は歩留まりの向上を意味します。実際、費用対効果が高いだけでなく、現代のコンピューターの速度の向上を維持することが重要になっています。

正しく指摘すると、ノースブリッジへの相互接続が1つあることがボトルネックになります。PCIeルートコンプレックスとシステムメモリコントローラーを含むすべてをCPUに統合できる場合、グラフィックスとコンピューティングの主要なデバイス間で突然非常に高速なリンクができます-PCBでは、おそらくGbps程度の速度を話しますダイは、Tbpsのオーダーの速度を達成できます!

この新しいトポロジは、次の図に反映されています。

新しいトポロジー

画像ソース

ご覧のように、この場合、グラフィックとメモリコントローラーはどちらもCPUダイに統合されています。ノースブリッジとサウスブリッジの一部のビットで作られた単一のチップセット(図中のチップセット)へのリンクはまだ1つありますが、これは現在、信じられないほど高速な相互接続(おそらく100 + Gbps)です。ダイよりもまだ遅いですが、古いフロントサイドバスよりもはるかに高速です。

なぜすべてを完全に統合しないのですか?マザーボードメーカーは、いくつかのカスタマイズ可能性(PCIeスロットの数、SATA接続の数、オーディオコントローラーなど)を求めています。

実際、一部のモバイルプロセッサはCPUダイにさらに統合されています。ARMプロセッサバリアントを使用するシングルボードコンピュータを考えてください。この場合、ARMはCPU設計をリースしているため、メーカーは必要に応じてダイをカスタマイズし、必要なコントローラ/インターフェイスを統合できます。


+1、あなたは私にそれを打ち負かしました:)特にアーキテクチャ設計の歴史的な理由から、素晴らしい答えです。
uint128_t

ありがとう、特に2番目の段落は家に帰りました。しかし、on the die you can achieve speeds on the order of Tbps!Yikes、それは十分に速くそれを処理するCPUの能力を使い果たし始めていませんか?
DrZ214

3
@ DrZ214 PCIではなく、PCIeはパラレルバスではなくシリアルバスです。PCIeは両方向のレーンあたり2.5Gbps、5Gpbs、または8Gbpsのいずれかです(全二重)-通常見られる16レーンが両方向で理論的な最大128Gbpsを提供します。そして、はい、プロセッサの速度に関する上記のコメントは意図的に過度に単純化されていますが、非現実的ではありません-CPUとは関係なく、現時点では315Gbpsでデータを処理するFPGA設計に取り組んでいますFPGAの限界は、データの不足です。
トムカーペンター

1
興味深いのは、これが、メモリやストレージバス(など)が直接CPUに送られる古いシステムのアーキテクチャへのシフトバックを表していることです。
クリスH

1
@ DrZ214「レーン」はシングルビット幅であり、クロック/データ信号は2つのペアとして送信されます。たとえば、DDRバスと比較した場合のPCIeのユニークな点は、PCIeがレーンを自由に集約および分解できることです。一方、ほとんどのバスはすべてを使用するか、まったく使用しないかです。
pjc50

9

私がコンピュータアーキテクチャの専門家だとは言えませんが、あなたの質問に答えてみましょう。

これは、マザーボードの典型的なレイアウトのようです。

トムが言ったように、これはもはや真実ではありません。最新のCPUのほとんどには、統合されたノースブリッジがあります。サウスブリッジは通常、新しいアーキテクチャによって統合されるか不要になります。Intelのチップセットは、サウスブリッジをPlatform Controller Hubに「置き換え」ます。PlatformController Hubは、DMIバスを介してCPUと直接通信します。

CPUが1つのバスにしか接続しないのはなぜですか?そのフロントサイドバスは大きなボトルネックのようです。2つまたは3つのバスをCPUに直接接続する方が良いと思いませんか

ワイド(64ビット)バスは高価であり、多数のバストランシーバーと多くのI / Oピンが必要です。絶叫する高速バスを必要とするデバイスは、グラフィックカードとRAMだけです。他のすべて(SATA、PCI、USB、シリアルなど)は比較的低速であり、常にアクセスされるわけではありません。したがって、なぜ上記のアーキテクチャでは、すべての「遅い」周辺機器が単一のバスデバイスとしてサウスブリッジを介してひとまとめにされます。そしてサウスブリッジによって管理されます。サウスブリッジは、他の周辺機器とはるかにゆったりとした速度で接続します。

さて、上記でSATA / PCI / USB /シリアルが「遅い」と言った場合、それは主に歴史的なポイントであり、今日では真実ではなくなっていることに言及することが重要です。USB 3.0、Thunderbolt、および多分10Gイーサネット(まもなく)に加えて、Spinnyディスクや高速PCIe周辺機器を介したSSDの採用により、「低速」周辺機器帯域幅が急速に非常に重要になります。過去には、ノースブリッジとサウスブリッジの間のバスはあまりボトルネックではありませんでしたが、今ではそうではありません。そのため、はい、アーキテクチャはCPUに直接接続されたより多くのバスに向かっています。

この方法で行うことについて非常に難しいことはありますか?既存の図にはすでに7つ以上のバスがあるため、コストがどのようになるかわかりません。

プロセッサが管理するバスが増え、バスを処理するプロセッサシリコンが増えます。それは高価です。上の図では、すべてのバスが同じというわけではありません。FSBは速く叫びますが、LPCは速くありません。高速バスには高速シリコンが必要ですが、低速バスには必要ありません。したがって、低速バスをCPUから別のチップに移動できれば、作業が楽になります。

ただし、前述のように、特にSoC /高集積アーキテクチャでは、高帯域幅デバイスの人気が高まるにつれて、ますます多くのバスがプロセッサに直接接続されます。CPUダイにますます多くのコントローラーを配置することで、非常に高い帯域幅を実現しやすくなります。

編集:ウォッチドッグモニターについて言及するのを忘れました。私はいくつかの図でそれを見たことを知っています。おそらく、ボトルネックバスは、ウォッチドッグがすべてを監視しやすくするでしょう。それは何か関係があるのでしょうか?

いいえ、それはウォッチドッグが実際に行うことではありません。ウォッチドッグとは、さまざまなものがロックされた場合、またはそれらがロックされた場合に単に再起動することです。バス上を移動するすべてを実際に見るわけではありません(それよりもはるかに洗練されていません!)。


2
Fast buses require fast silicon, slow buses don't高速シリコンとはどういう意味ですか?高純度シリコン?または、低速バスはシリコンとは異なる要素を使用できると言っていますか?いずれにせよ、シリコンはかなり安価な材料だと思いました。ウォッチドッグについても興味深い。関連する質問をするかもしれません。
-DrZ214

1
高速バスは通常、CPUなどの高性能デバイスの一部です。バスインターフェイスには、スペースとチップの他の部分への接続が必要です。プロセスサイズが小さく、製造/パッケージングがより難しいため、プロセッサダイ上のシリコン領域は、はるかに遅いチップよりもはるかに高価です。したがって、FSB上のデバイスを実際にそのような帯域幅を必要とするデバイスのみに制限する方が安価です。ただし、同じダイ(SoC)上のCPUと統合されるコントローラーが増えるにつれて、これはもはや真実ではなくなります。
uint128_t

低速バスには高速シリコンは必要ありません、低速インターフェイスで非常に高速なドライバを見つけることは珍しくありません。これにより、PCBレイアウトに大きな頭痛の種ができます。ベンダーが標準I / Oセルを使用しているため、300 ps未満の立ち上がり時間と立ち下がり時間を持つ通常のPCI(PCI-Xでは最大速度133MHz)を見てきました。インターフェイスとしてのPCIは、通常、新しいプロセッサでは使用できませんが、この問題は他の場所でも当てはまります。
ピータースミス

6

CPUが直接接続するバスの数は、一般に、物事に同時にアクセスできるCPUの別個の部分の数に制限されます。特に組み込みプロセッサとDSPの世界では、CPUがプログラム用のバスとデータ用のバスを持ち、両方が同時に動作できるようになることは珍しくありません。ただし、一般的なユニプロセッサは、命令サイクルごとに1つの命令をフェッチすることで恩恵を受けるだけであり、命令サイクルごとに1つのデータメモリロケーションにしかアクセスできないため、1つのプログラムメモリバスと1つのバスデータメモリバス。2つの異なるストリームから取得したデータに対して特定の種類の数学を実行できるようにするには、

複数の実行ユニットを備えたプロセッサでは、それぞれに個別のバスを用意すると役立つ場合があります。複数の「外部」バスユニットがある場合は、異なる「外部」バスから物事を取得する必要があります。ただし、異なる実行ユニットによってアクセスされるものがCPUの外部の異なるバスを介してアクセスできるという論理的な理由がない限り、CPUからの個別のバスは、一度に1つのリクエストのみを中継できる調停ユニットに送ります特定の外部デバイスは何の助けにもなりません。バスは高価であるため、1つのバスに2つの実行ユニットを配置するほうが、個別のバスを使用するよりも一般的に安価です。別々のバスを使用することで大幅なパフォーマンスの改善が可能になる場合は、コストを正当化できますが、それ以外の場合はリソース(チップ領域など)


-1

複数のワイドバスを使用するには、CPUパッケージに必要なピンの数を考慮してください。たとえば、それぞれが64ビットのデータバスを備えた8つのCPUコアに加えて、他の目的のために他のピンを分類します。現在、おそらく800ピンのCPUパッケージはありますか?


なぜないのですか?32x32ボールグリッドアレイと多層PCBは、(相対的な規模で)難しい問題のようには聞こえません。ハードウェアエンジニアは素晴らしいです。// RAMカードの幅と不格好さを考え、1.6 GHz(625ピコ秒)でクロックインします。電気信号が2/3 cで伝わる場合、最長のトレースの長さはわずか6 cmであり、わずか数mmの長さの違いで顕著なタイミングオフセットが生じます。//そして、レイヤー間のクロストークは、同じレイヤーのトレース間のクロストークよりもそれほど悪くないと思います。
オスカースコグ

「おそらく800ピンのCPUパッケージが現在入手可能ですか?」そうそう。この回答が書かれたとき、1100 +ピンのパッケージはすでに一般的でした。そして最近では、Skylake-EXサーバーCPUの一部にLGA3647があります
...-夕暮れ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.