バス
コンピュータ内部の伝送路であるバスの種類と役割、シリアルとパラレルの違い、バス幅とクロック周波数から転送能力を求める考え方を理解できるようになります。
ねらい
プロセッサとメモリ、入出力装置をつなぐ伝送路であるバスを学びます。このレッスンを終えると、バスの種類と役割の分類を説明でき、バス幅とクロック周波数から転送能力を計算できるようになります。
ストーリー
プロセッサとメモリがどれだけ速くても、両者の間でデータが行き来できなければ計算は進みません。装置どうしを結ぶデータの通り道がバスです。道路にたとえると、車線の数が多いほど一度に運べる量が増え、信号のテンポが速いほど流れが速くなります。この「車線数」と「テンポ」が、バスの能力を決める2つの要素です。
バスの種類と役割
場所による分類
バスは、どこを結ぶかで分類できます。プロセッサの内部で使われる内部バス(CPU内部バス)、プロセッサと主記憶などを結ぶ外部バス、拡張カードなどの周辺装置を接続する拡張バスです。拡張バスの代表的な規格にPCIがあります。プロセッサと主記憶を結ぶ幹線はシステムバスやメモリバス、入出力装置との間は入出力バスと呼ばれます。
運ぶ内容による分類
システムバスの中身は、運ぶ情報の種類で3つに分かれます。
| バス | 運ぶもの |
|---|---|
| アドレスバス | 読み書きする場所の番地 |
| データバス | データそのもの |
| コントロールバス(制御バス) | 読みか書きかなどの制御信号 |
「どこの」「何を」「どうする」という3点セットがそろって、初めてメモリの読み書きが成立します。
シリアルとパラレル
信号線1本でデータを1ビットずつ順に送る方式をシリアルバス、複数の信号線で複数ビットを同時に送る方式をパラレルバスといいます。一見パラレルのほうが速そうですが、高速化すると信号どうしのタイミングを揃えるのが難しくなるため、現在の高速な接続では1本の線を極限まで速くするシリアル方式が主流になっています。
バスシステムの構成
バスの構成には、命令の読込みとデータのアクセスを別々のバスに分離するアーキテクチャと、両者を分離せず同一のバスでアクセスするアーキテクチャがあります。分離すれば命令とデータを同時に運べますが、構造は複雑になります。
バスの容量と性能
バスの能力は、一度に運べるビット数であるバス幅と、1秒あたりの転送回数を決めるクロック周波数で決まります。1回の転送で運べる量に転送回数を掛ければ、1秒あたりの転送能力が求められます。
たとえばバス幅が32ビット(4バイト)、クロック周波数が100MHzのバスなら、4バイトかける1億回で、1秒あたり400Mバイトの転送能力になります。バスには読み書きの手順を定めたアクセスモードがあり、実際の性能はその方式にも左右されます。
例題
次の問いに答えてください。
問1 システムバスのうち、読み書きする場所の番地を運ぶバスは何ですか。
問2 信号線1本でデータを1ビットずつ順に送る伝送方式を何といいますか。
解答と解説
問1の答えはアドレスバスです。データそのものはデータバス、制御信号はコントロールバスが運びます。
問2の答えはシリアルバスです。複数の信号線で同時に送る方式はパラレルバスです。高速な接続では、タイミングを揃える難しさのないシリアル方式が主流になっています。
応用
本試験を意識した問題を解いてみましょう。
問 バス幅が64ビット、クロック周波数が200MHzで、1クロックごとに1回転送できるバスの転送能力はおよそいくらでしょうか。次の中から選んでください。
- 200Mバイト/秒
- 800Mバイト/秒
- 1.6Gバイト/秒
- 12.8Gバイト/秒
解答と解説
答えは3の1.6Gバイト/秒です。バス幅64ビットは8バイトに当たります。1回の転送で8バイトを運び、1秒間に2億回転送できるので、8バイトかける2億回で16億バイト、つまり1.6Gバイト/秒になります。1の200Mバイト/秒は、バス幅を1バイトとして数えてしまった誤りです。2の800Mバイト/秒は、バス幅を32ビット(4バイト)と取り違えた誤りです。4の12.8Gバイト/秒は、ビットとバイトの換算を忘れた誤りで、64ビットかける2億回の12.8Gはビット単位の値です。8ビットで1バイトという換算を忘れないようにしましょう。
分からなかった点・気になった点
読み込み中です。