本ページの内容をPDFファイルでダウンロードできます >> PDFダウンロード |
|||
「コンピュータ講座 応用編」でのご意見やご要望をお寄せください >> アンケート |
|||
第4回 バスの基礎知識マザーボード上のバスは、PCの動脈です。 バスとは何かバスの新しい技術を知るために知っておきたい基礎的な知識を紹介します。PC全体が高速化する中で、内部のデータ伝送路であるバスも大きく変化しています。最新のバスの姿を交えながらバスの基礎的な知識を説明します。 バスは信号線の束アドレスバス、データバス、システムバス、メモリバス、PCIバス、PCI Express、USB(ユニバーサルシリアルバス)、FSB(フロントサイドバス)など、PCには実に多くのバスと呼ばれる部分があります。実は、PCのマザーボード上の配線は、電源やビデオ、オーディオなどの一部を除いてほとんどがバス配線になっています。 バスについては前回CPUの説明の中で、データをやり取りするための信号線の束と説明しましたが、もう少し詳しく述べると、「バスとは、複数の回路や装置、機器間を結び、データなどのやりとりのために共有される伝送路」です。次の図のように、複数の装置(図中のA〜D)でひとつの伝送路を共有します。伝送路というのは信号の通り道です。 ひとつのバス上で、AからBへ(青線)、逆にBからAへ(緑線)、CからAへ(赤線)というようにデータを送ったり、受けたりします。もちろん複数の装置が同時に送信することはできません。クロックに同期させて、ある瞬間にはAからBへのデータだけというように1種類のデータだけがバスに載せられます。バスコントローラーが、どの装置のデータをどのタイミングでバスに載せるかをコントロールしています。32本の信号線を用意すれば1クロックで32ビットのデータを送ることができます。このようにクロックに同期させて、複数のデータを同時並行して転送する方法をパラレル転送といいます。PC内部では多くのバスが、パラレル転送によりデータのやりとりを行っています。 バスを知るためのキーワードバスの性能を表すキーワードが「バス幅」、「バスクロック」、「帯域」です。
帯域の数値が大きければ大きいほど高速なバスということになり、これを帯域が広いといいます。Pentium3では、メモリとCPU間を結ぶバスのクロックは最高133MHzでした。したがって、帯域は最大値で1.06GB/secとなり、クロック1.4GHzでデータバス幅64ビットの処理能力を持つCPUの性能をフルに発揮することはできません。このように、PC全体の性能向上の阻害要因となる状態をボトルネックといいます。なお、CPUからメモリへのバスが性能上の制限になるというボトルネックのことを特に「フォンノイマンボトルネック」と呼び、ノイマン型コンピュータ特有の弱点とされています。 いろいろなバスマザーボード上は多くのバス配線があり、それぞれ名称、規格、信号線の本数などが異なっています。それらを概説します。 バスを分類するマザーボード上には、次のようなバスが搭載されています。いずれも複数の機器間で伝送路を共有してデータのやりとりをしています。
上記のうち、5.については、HDDやMO、DVDドライブなど、ほとんどの場合、外部の補助記憶装置に接続されます。また、IDE(アイディーイー)、s-ATA(シリアルエーティーエー)、SCSI(スカジー)など、これらは一般にバスというよりも、インターフェースの規格として広く知られていますので、別の機会に説明する予定です。また、拡張スロットに取り付けられた拡張基板に接続されるバス(GPIBなど)や拡張基板上のバス(グラフィック基板上のRAMBUSなど)については、今回は触れません。 上図の1.から4.までのバスを大別すると、内部バス、外部バス、拡張バスに分けることができます。それぞれの概要を説明します。 内部バスと外部バス「内部バス」はCPU内部の回路間を結ぶ伝送路です。CPU内部の各種レジスタ群、命令レジスタ、汎用レジスタ、アキュムレータ(演算処理装置)、キャッシュメモリなどとデータバスを結ぶ伝送路です。CPUの処理速度は内部バスのバス幅に大きく左右されますので、8ビット、16ビットなど、バス幅がCPUの性能指標としてよく使われます。 拡張バス「拡張バス」は、PCの機能を拡張するために、外部の周辺機器とPC間を結ぶためのバスです。拡張バスとしてはPCIスロットやPCI Expressスロットが一般的です。これらの拡張スロットは、それぞれ、PCIバスやPCI Expressの伝送路に接続するための差し込み口です。PCIバスもPCI Expressもチップセットに接続されています。 データの伝送方式接続する装置やバスの用途に応じてバス上のデータ伝送方式が異なります。データの伝送方式によってバスを分類することができます。 マスタースレーブ方式バスは複数の機器が伝送経路を共有するため、クロックに合わせて信号を交通整理する必要があります。この交通整理をするのが、バスコントローラーです。 コントロール機能もバス自体もシンプルな方式で、処理速度が低速なうちは有用でした。 DMA(ダイレクトメモリアクセス)方式DMA方式は、データ転送を、接続された装置からメモリへ、または装置どうしなど、CPUを介さずに行う方法です。
データ転送にCPUが関与しないので、大容量のデータ転送でもCPUに負荷がかからず、PC全体の性能に影響しません。しかも、データの転送にバースト転送と呼ばれるひとかたまりのデータをまとめて転送する方式をとるので高速に転送することができます。 バスマスター方式前項の問題を解決するために、各装置がコントローラーを持つ方式が登場します。この方式をマルチコントローラーといいますが、バスマスター方式の呼称の方が一般的になっています。各装置のコントローラーをDMAC(Direct Memory Access Controller:ダイレクトメモリアクセスコントローラー)といいます。 データを送り出す装置のDMACが、バスの管理権を持つバスマスターとなり、バスコントローラーに送信要求を送ります。バスコントローラーは、複数のバスマスターから同時に送信要求があったときの調停作業を行います。この方式はPCIバスでも採用されています。 二つの転送方式信号線を通じてデータを転送する方法には、大別すると二通りあります。送りたいデータのビット数分の信号線を用意して1クロックで同時に複数のビットを並列に送受信するパラレル転送と、1本の信号線で1ビットずつ送受信するシリアル転送です。 パラレル転送8ビットなり16ビットのデータを送信するのに、ビット数分の信号線を用意して、クロックに同期させて送信すれば、1クロックで8ビットなり16ビットを送受信できます。 シリアル転送シリアル転送は、1本の信号線を使って1ビットずつデータを転送する方式です。パラレル転送に比べて転送速度が遅いといわれますが、信号線の本数が少なく、取り回しのよいケーブルが使用できます。接続性がよく、最大伝送距離も長いので、PCと外部周辺機器との接続に使用されています。モデムなどとの接続に使われるRS232Cが最も普及していますが、現在では、より高速で使い勝手のよいUSB(ユニバーサルシリアルバス)の普及が進んでいます。USB以外にも外部との接続に使用されるIrDAやIEEE 1394などもシリアル転送方式を採用しています。 バス技術のこれからCPU、メモリ、チップセットの高速化に伴って、マザーボード上のバスも広帯域化しています。しかし、マルチコアCPUやDDRメモリのようにいっきに倍近い性能向上を実現する場合があり、従来の技術の延長では限界が見えてきました。 高速化への対応の限界現在のバスのように複数の機器で伝送路を共有する形態では、伝送速度を上げにくくなってきています。伝送速度を上げるには、「バス幅を広くする」か「バスクロックを上げる」のどちらかになります。 バスクロックを上げる方法もありますが、800MHzや1.06GHzなどの高速なクロックでは、バスに接続された機器が増えると波形が乱れるという問題が生じます(※)。バスクロックが高速になればなるほど、接続される機器が多くなればなるほど顕著になり、正確なデータ伝送が難しくなります。 ※超高速でオンとオフを繰り返すと、立ち上がり・立ち下がりの遅延、立ち上げ時に予定の電圧を超える(オーバーシュート)、立ち下げ時に下がりすぎる(アンダーシュート)、その後規定電圧に戻ろうとする(リングバック)ことにより波形が乱れる。接続機器が増えると電気的な負荷が大きくなり、いっそう波形が乱れる。 次世代はシリアル、そして伝送路は光へGHzのオーダーでは高速化によるパラレル転送の問題点が表面化してきました。 しかし、さらなるPCの高速化へのニーズはより広帯域なバスを求めています。 今回は、バスの基礎的な知識を説明しました。この基礎知識をベースに、次回は「内部バスと外部バス」、次々回は「拡張バス」と続きます。
All Rights Reserved, Copyright(C) FUJITSUファミリ会
|