システムバス

システムバスとは



システムバスは、コンピュータ内の様々な部品間での情報伝達を担う重要な要素です。具体的には、データバス(情報を運ぶ)、アドレスバス(送信先を決定する)、コントロールバス(動作を制御する)という3つの異なるバスの機能を、単一のバスで実現する技術を指します。

システムバスの歴史的背景



初期のコンピュータは、各部品が独立した筐体に収められ、ケーブルで接続されるという、アドホックな方法で構築されていました。1950年代から1960年代にかけて、CPU、メモリ、入出力装置はそれぞれ別の筐体に入っており、それらを繋ぐケーブルの束が、バスの原型となりました。

このバスという概念は、もともと電気機械の各部に電力を供給する「バスバー」から来ています。集積回路(IC)の登場により、コンピュータの各ユニットは大幅に小型化され、バスはより標準化されました。これにより、モジュールをより均一な方法で相互接続できるようになり、開発や保守が容易になったのです。

システムバスの登場



1970年代に入ると、コスト削減とモジュール性の向上が求められるようになります。そこで、メモリバス、入出力バス、コントロールバス、電源バスといった複数のバスを、一つの「システムバス」に統合するアイデアが生まれました。この統合により、コンピュータの小型化が進み、低コスト化への期待も高まりました。

デジタル・イクイップメント・コーポレーション(DEC)は、ミニコンピュータのコストをさらに削減するため、メモリバスにメモリマップドI/O|メモリマップドI_Oを搭載し、入出力装置とメモリが同じアドレス空間に見えるようにしました。この技術は、1969年頃のPDP-11のUnibusとして実装され、I/Oバスを別に用意する必要がなくなりました。PDP-8のようなメモリマップドI/O|メモリマップドI_Oを持たないコンピュータでも、システムバスが実装され、モジュールを任意のスロットに差し込むことができるようになりました。この革新的なアプローチは、コンピュータアーキテクチャの新たな合理化モデルとみなされました。

初期のマイクロ[コンピュータ]]では、1975年頃のAltair 8800のS-100バスを皮切りに、単一のシステムバスを使用するのが一般的でした。IBM PCも、1981年に[[Industry Standard Architecture]バスをシステムバスとして採用しました。

1983年には、マルチバスがIEEE 796として規格化されました。その後、サン・マイクロシステムズがより小型の拡張カードに対応するSBusを開発しています。

デュアルインディペンデントバスへ



対称型マルチプロセッシングを実装する最も簡単な方法は、複数のCPUを共有システムバスに接続することでした。しかし、共有バスはすぐにボトルネックとなり、より高度な接続技術が模索されるようになります。

CPU設計の進化に伴い、より高速な内部バスと、より低速なペリフェラルバスが使用されるようになります。インテルは、メインシステムメモリとの間の外部フロントサイドバスと、CPUCPUキャッシュ間の内部バックサイドバスを使用する、「デュアルインディペンデントバス(DIB)」という概念を提唱しました。これは、1990年代半ばから後半にかけてPentium ProPentium IIに導入されました。フロントサイドバスCPUとメインメモリ間のデータ通信を担い、バックサイドバスは2次キャッシュにアクセスします。

現代のシステムバス



現代のPCやサーバーでは、HyperTransportインテル QuickPath インターコネクトなどの高性能な相互接続技術が利用されています。しかし、シンプルな組み込みマイクロプロセッサでは、依然としてシステムバス・アーキテクチャが使用されています。

システムバスを単一の集積回路内に内蔵することで、System-on-a-chip(SoC)を実現することもできます。その例として、AMBA、CoreConnect、Wishboneなどがあります。

まとめ



システムバスは、コンピュータの発展において重要な役割を果たしてきました。初期のコンピュータから現代の組み込みシステムまで、その進化の歴史は、コンピュータアーキテクチャの変遷を物語っています。

関連情報



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。