Julius Iwamura Hardware Page ======= 2002-03-22 Vol.40
登録/変更/退会は http://www.cqpub.co.jp/julius/
------------------------------------------------------------
□目次
 FSBとシステムバス
------------------------------------------------------------
#FSBとシステムバスに関する考察
 一般にCPUの動作クロックといわれるのはCPUの内部動作基準クロック、すなわち
内部クロックであり、次の式で表されます。
 CPUの動作クロック= 外部から与えるクロック x クロック倍数
 そして、この外部クロックがフロントサイドバスFSB、システムバスなどと言わ
れているのです。内部クロックについては、同じシリーズのCPUであれば、2GHzの
CPUは1GHzのCPUより速い、クロックだけなら2倍速い、という感覚でとらえればよ
いわけです。これは、CPU内部の問題です。
 ここで話は最初に戻るのですが、Pentium4の外部クロック400MHz、Celeronの外
部クロック100MHzなら、それだけでもPentium4はCeleronの4倍速いの?、と思う読
者がいてもおかしくないわけです。
 たしかに、数字は4倍ですが、それは、処理全体が4倍速いと考えてはいけない
わけです。何かが4倍なのです。では、その何かとは何なのでしょうか。答えは簡
単で、フロントサイドバスつまりFSBです。
 FSBでは答えになってはいない、と考える読者もいるでしょう。要するにFSBとは
何かそれが問題なのです。この点については、世の中にある情報もかなり錯綜して
いて、どれが正確な答えなのか、よくわからなくなっているのが現状です。
 たとえば、FSB400MHzで動作するというPentium4の場合でも、メインボードによ
っては、CPUの設定で、100xという表示になっている場合があるのです。Pentium4
の1.6GHzでは、400MHz x 4となるべきものが、100MHz x 16と表示されるのです。
いったいシステムバスや外部バスは、何MHzなのでしょうか。さらにマニュアルに
よっては、ホストクロックと呼ばれる場合もあります。
 FSBはフロントサイドバスの頭語です。簡単にいうと、CPUと外部とのデータバス
のことです。フロントサイドバスという名称は、2次キャッシュをCPUのチップ上
に搭載してから使われるようになった名称です。
 x86CPUは、以前、CPUの外部に2次キャッシュがありました。従って、CPUの2次
キャッシュとメモリなどとは同じバス上にあったということがいえます。このと
き、外部バスとかシステムバス、ホストバスとか呼ばれていたものです。
 ところが、2次キャッシュがCPU内に内蔵されるようになると、2次キャッシュは
CPUチップ内部でCPU機能とダイレクトに接続されることになります。このCPU機能
とチップ内部の2次キャッシュをつなぐバスをバックサイドバス:BSBといい、従来
からのCPUが外部とデータのやりとりをするバスをフロントサイドバス:FSBと使い
分けして呼ぶようになったのです。
 このフロントサイドバスは、その意味で外部バスであるということがいえます。
しかし、Pentium4のフロントサイドバスを従来のシステムバスと呼べるかどうか
は、現状では困難な状況になっているのです。このところを理解しなければフロ
ントサイドバスのことは理解できません。つまり、システムクロックとフロント
サイドバスは分離して考える必要があるのです。
●CPUはチップセットとつながっている
 現在のメインボードでは、CPUはチップセットにつながっていて、メモリや外部
バスなどはチップセットに接続されている、と考えると理解しやすいです。
 なお、チップセットというのは、CPUやI/Oを制御するのに必要となる、元来は個
別複数チップの機能をひとつまたは複数のチップにまとめたものです。ふつうは、
ノースブリッジとサウスブリッジとか、ICHとMCHというように2つのチップで構成
されています。
 しかし、SiSのワンチップソリューションのように、ひとつだけでチップセット
を構成していることもあります。なお、ワンチップソリューションでは、チップ
はひとつですが、複数チップで行っていた処理を行うという意味でチップセット
です。ノースブリッジとサウスブリッジで2つだからチップセットというのではあ
りません。この点も誤解している人が多い事項です。

 繰り返しますが、フロントサイドバスというのは、現在では、CPUとチップセッ
トを接続するバスです。そもそもクロックは、メインボード上のクロックジェネ
レータが作り出しているのですが、そのクロック周波数ではありません。また、メ
モリの駆動周波数でもありません。以前は、システムバスは外部バスであり、メモ
リの動作クロックだったのですが、現在はチップセットがこれらを管理しているの
です。少し古い書籍などでは、フロントサイドバスはメモリバスのクロックであ
る、というような記載がなされている場合がありますが、それは、以前はメモリク
ロックとCPUの外部クロックとは一致していたからです。

 以上のことからもわかるように、フロントサイドバス周波数というのは、CPUが
チップセットとデータのやりとりをするときのクロックであるということなので
す。そのため、メモリがクロック133MHzで動作していても、CPUとチップセットが
400MHzでデータのやりとりをしている場合、それをフロントサイドバス:
FSB400MHzという言い方になるのです。
 メインボード全体が400MHzで動作しているわけではないので注意が必要です。
メモリが400MHzで動作している必要もないわけです。この意味では、FSBをシス
テムバスと呼ぶには問題がありそうです。したがって、Pentium4の1.6GHzが100x16
と設定するのは理解できる話です。すくなくとも、システムバス100MHzのBXチップ
セットメインボード(*)では、メインボード全体がPCIはのぞくとしても100MHzで動
作しているという印象であったわけですが、FSB400MHzのメインボードの場合は、
FSBが400MHzすなわちCPUとチップセットが400MHzで通信しているということなので
す。
 Pentium4のパッケージには「400MHzシステムバス」と記載されています。これ
は、従来のシステムバスの定義からの理解では不正確になります。フロントサイド
バス400MHzというのが正しいです。
 クロックジェネレータが400MHzを生成しているのではありません。クロックジェ
ネレータは100MHzを生成し、それを4倍した400MHzでチップセットとPentium4は
データのやりとりをする、という意味です。

 メモリのPC2100であるとか、FSB400MHzとか用語法が複雑になってきましたね。
-----
(*) BXチップセット;PentiumII/III時代に完成度が高く、長く使われた。
============================================================
◆Julius Iwamura Hardware Page 
登録/変更/退会は http://www.cqpub.co.jp/julius/
メールアドレス:julius@cqpub.co.jp
直接の返事は書けませんが、記事内容に反映していきます。直接の返事が必要とな
るメールはご遠慮ください。
著作権は岩村益典にあります。無断転載をお断りします。
[EOF]