
フロントサイドバス(FSB )は、1990年代から2000年代にかけてIntelチップベースのコンピュータでよく使われていたコンピュータ通信インターフェース(バス)です。EV6バスは、競合するAMD CPUで同じ機能を果たしていました。どちらも通常、中央処理装置(CPU)とノースブリッジと呼ばれるメモリコントローラハブの間でデータを伝送します。[ 1 ]
実装によっては、CPUとキャッシュを接続するバックサイドバスを備えているコンピュータもあります。このバスとそれに接続されたキャッシュは、フロントサイドバスを介してシステムメモリ(RAM)にアクセスするよりも高速です。フロントサイドバスの速度は、コンピュータの性能を測る重要な指標としてよく用いられます。
当初のフロントサイドバスアーキテクチャは、HyperTransport、Intel QuickPath Interconnect、Direct Media Interfaceに置き換えられ、その後、Intel Ultra Path InterconnectとAMDのInfinity Fabricが登場した。
この用語は、1990年代にPentium ProとPentium II製品が発表された頃に、インテル社によって使用されるようになった。
「フロントサイド」とは、プロセッサからコンピュータシステムの他の部分への外部インターフェースを指し、キャッシュ(および場合によっては他のCPU)を接続するバックサイドバスとは対照的です。 [ 2 ]
フロントサイドバス(FSB)は、主にPC関連のマザーボード(パーソナルコンピュータやサーバーを含む)で使用されています。組み込みシステムや同様の小型コンピュータではほとんど使用されません。FSB設計は、過去数十年の単一システムバス設計に比べて性能が向上したものですが、これらのフロントサイドバスは「システムバス」と呼ばれることもあります。
フロントサイドバスは通常、チップセットを介してCPUとその他のハードウェアを接続します。インテルはこのチップセットをノースブリッジとサウスブリッジとして実装しています。PCI (Peripheral Component Interconnect )、AGP( Accelerated Graphics Port)、メモリバスなどの他のバスもすべてチップセットに接続され、接続されたデバイス間でデータが流れるようになっています。これらのセカンダリシステムバスは通常、フロントサイドバスのクロックに基づいて速度が決定されますが、必ずしも同期しているわけではありません。
AMDのTorrenzaイニシアチブに対抗して、IntelはFSB CPUソケットをサードパーティ製デバイスに開放しました。[ 3 ] 2007年春に北京で開催されたIntel開発者フォーラム で発表される以前は、IntelはFSBへのアクセス権を持つ者を非常に厳重に管理し、CPUソケットにはIntelプロセッサのみを許可していました。最初の例は、 Intel- Xilinx - Nallatech [ 4 ]とIntel- Altera -XtremeData(2008年に出荷)のコラボレーションの成果であるフィールドプログラマブルゲートアレイ(FPGA)コプロセッサでした。 [ 5 ] [ 6 ] [ 7 ]

プロセッサ(CPU)の動作周波数は、場合によってはフロントサイドバス(FSB)速度にクロック乗数を適用することによって決定されます。たとえば、3200 MHzで動作するプロセッサは、400 MHzのFSBを使用している可能性があります。これは、内部クロック乗数設定(バス/コア比とも呼ばれます)が8であることを意味します。つまり、CPUはフロントサイドバスの周波数の8倍で動作するように設定されています。400 MHz × 8 = 3200 MHz。異なるCPU速度は、FSB周波数またはCPU乗数のいずれかを変更することによって実現され、これはオーバークロックまたはアンダークロック と呼ばれます。
FSB速度の設定は、システムが使用するメモリの速度グレードに直接関係します。メモリバスはノースブリッジとRAMを接続し、フロントサイドバスはCPUとノースブリッジを接続します。多くの場合、これら2つのバスは同じ周波数で動作する必要があります。 ほとんどの場合、フロントサイドバスを450MHzに上げると、メモリも450MHzで動作させることになります 。
最新のシステムでは、「4:5」などのメモリ比率が見られることがあります。この場合、メモリはFSBの5/4倍の速度で動作するため、400MHzの バスでメモリを500MHzで動作させることができます 。これはしばしば「非同期」システムと呼ばれます。CPUやシステムアーキテクチャの違いにより、FSBとメモリの比率が異なると、システム全体のパフォーマンスが予想外に変化する可能性があります。
画像、音声、動画、ゲーム、FPGA合成、科学計算など、大規模なデータセットの各要素に対して少量の処理を実行するアプリケーションでは、FSB速度が主要なパフォーマンス問題となります。FSBが遅いと、CPUはシステムメモリからデータが到着するまでにかなりの時間を費やすことになります。しかし、各要素に関わる計算がより複雑であればあるほど、プロセッサはこれらの処理に長い時間を費やすことになります。そのため、メモリへのアクセス速度が低下するため、FSBは処理速度に追いつくことができます。
メモリバスと同様に、PCIバスとAGPバスもフロントサイドバスとは非同期で動作させることができます。古いシステムでは、これらのバスはフロントサイドバスの周波数の一定の割合で動作していました。この割合はBIOSによって設定されていました。新しいシステムでは、PCI、AGP、およびPCI Express周辺バスは独自のクロック信号を受け取ることが多く、これによりタイミングに関してフロントサイドバスに依存する必要がなくなります。
オーバークロックとは、コンピューター部品の動作周波数を操作し、必要に応じて部品に送られる電圧を変更することで、部品がより高い周波数でより安定して動作するようにし、標準性能レベルを超えて動作させる手法のことです。
多くのマザーボードでは、ジャンパーやBIOS設定を変更することで、クロック乗数とFSB設定をユーザーが手動で設定できます。現在、ほとんどすべてのCPUメーカーは、チップにプリセットの乗数設定を「ロック」しています。ロックされたCPUの中には、ロックを解除できるものもあります。例えば、一部のAMD Athlonプロセッサは、CPU表面の複数のポイントに電気接点を接続することでロックを解除できます。AMDやIntelの一部のプロセッサは、この機能のおかげで工場出荷時からロックが解除されており、エンドユーザーや小売業者によって「エンスージアストグレード」プロセッサとして販売されています。すべてのプロセッサにおいて、FSB速度を上げることで、 CPUとノースブリッジ間のレイテンシを低減し、処理速度を向上させることができます。
この方法は、コンポーネントの仕様を超える負荷をかけるため、動作の不安定化、過熱、または早期故障を引き起こす可能性があります。コンピュータが正常に動作しているように見えても、高負荷時には問題が発生する可能性があります。ヒューレット・パッカードやデルなどの小売店やメーカーから購入したほとんどのPCは、動作の不安定化や故障の可能性を考慮して、ユーザーが乗数やFSB設定を変更することを許可していません。カスタムマシンを構築するために別途購入したマザーボードは、PCのBIOSで乗数やFSB設定を編集できる可能性が高くなります。
フロントサイドバスは、設計当初は高い柔軟性と低コストという利点を持っていた。シンプルな対称型マルチプロセッサでは、複数のCPUが共有FSB上に配置されたが、帯域幅のボトルネックにより性能が直線的に向上することはなかった。
フロントサイドバスは、2008 年頃まですべてのIntel Atom、Celeron、Pentium、Core 2、およびXeonプロセッサ モデルで使用され[ 8 ]、2009 年に廃止されました[ 9 ]。元々、このバスはすべてのシステム デバイスと CPU の中央接続点でした。
より高速な CPU の可能性は、命令やデータを実行するのと同じ速さでフェッチできない場合は無駄になります。CPU はメインメモリへのデータの読み書きを待っている間にかなりの時間をアイドル状態で過ごす可能性があり、そのため高性能プロセッサはメモリへの高帯域幅かつ低遅延のアクセスを必要とします。フロントサイドバスは、システムのパフォーマンスを制限する古くて遅い技術であるとAMDから批判されました。[ 10 ]
より現代的な設計では、AMD のHyperTransportや Intel のDMI 2.0またはQuickPath Interconnect (QPI)のようなポイントツーポイントおよびシリアル接続が使用されています。これらの実装では、従来のノースブリッジが廃止され、CPU からシステムメモリ、高速周辺機器、プラットフォームコントローラハブ、サウスブリッジ、または I/O コントローラへの直接リンクが採用されています。[ 11 ] [ 12 ] [ 13 ]
従来のアーキテクチャでは、フロントサイドバスはCPUとメインメモリを含むシステム内の他のすべてのデバイスとの間の直接的なデータリンクとして機能していました。HyperTransportおよびQPIベースのシステムでは、システムメモリはCPUに統合されたメモリコントローラを介して独立してアクセスされるため、HyperTransportまたはQPIリンクの帯域幅は他の用途に利用できます。これによりCPU設計の複雑さは増しますが、スループットの向上とマルチプロセッサシステムにおける優れたスケーリングが実現します。
フロントサイドバスの帯域幅、つまり理論上の最大スループットは、データパスの幅、クロック周波数(1秒あたりのサイクル数)、およびクロックサイクルあたりのデータ転送回数の積によって決まります。例えば、 100MHzの周波数で動作し、1サイクルあたり4回の転送を行う64ビット(8バイト)幅のFSBの 帯域幅は、3200メガバイト/秒(MB/s)です。
クロックサイクルあたりの転送回数は、使用する技術によって異なります。例えば、GTL+は1サイクルあたり1回の転送、EV6は2回、AGTL+は4回の転送を実行します。インテルは、1サイクルあたり4回の転送を行うこの技術をクワッドポンピングと呼んでいます。
多くのメーカーはフロントサイドバスの周波数をMHz単位で公表していますが、マーケティング資料では理論上の実効信号伝送速度(一般的にメガトランスファー/秒、MT/sと呼ばれる)が記載されていることがよくあります。例えば、マザーボード(またはプロセッサ)のバス周波数が200MHzに設定され 、クロックサイクルごとに4回の転送を行う場合、FSBの定格は800MT/sとなります。
以下に、数世代にわたる人気プロセッサの仕様を示します。