FE EXAM

データバス(データを運ぶバス)

CPUとメモリ・I/Oの間で実際のデータを運ぶバス

INTERACTIVE VISUALIZATION
CPU
メモリ
流れるデータ
バス幅
32 bit
1回の転送量
32 bit
256bitを運ぶ回数
8
バス幅(同時に運べる本数)
1本=1ビット。線が多いほど一度にまとめて運べます。
ステップ 1 / 6
STEP 1/6待機状態CPU(中央処理装置=計算の中心)とメモリ(データを一時的に置いておく場所)が、データバスという共通の伝送路でつながっています。まだデータは流れておらず、バスは空いている状態です。
CPU中央処理装置メモリ主記憶装置データバス(32bit幅)待機中(データなし)
バス幅と転送量の関係(256bitを運ぶ場合)
8bit
32
16bit
16
32bit
8
64bit
4
バス幅が広いほど転送回数が減り、同じデータをより速く運べます。
解説

📌
データバスとは

データの中身そのものを運ぶCPU10メモリ数値や文字の中身が線の上を流れる

データバス(data bus)とは、CPU(中央処理装置)とメモリ・入出力装置の間で、実際のデータ(数値や文字の中身)を運ぶための伝送路のことです。バスには役割の異なる3種類がありますが、その中で「中身そのもの」を運ぶのがデータバスです。

身近な例で言うと、宅配便のトラックで運ばれる荷物の中身にあたります。「どの住所へ」を伝えるのがアドレスバス、「届けろ/受け取れ」と指示するのが制御バスなら、データバスは荷物そのものを乗せて運ぶ役割です。

上のツールで▶ボタンを押すと、CPUからメモリへ、そしてメモリからCPUへとデータ(緑の箱)が流れていく様子を確認できます。バス幅のボタンを切り替えると、一度に運べる量がどう変わるかも見られます。

🔁
双方向の流れ

CPUメモリ書き込み →← 読み出し1本のバスを向きを変えて両用

データバスの大きな特徴は、データが両方向(双方向)に流れることです。アドレスバスがCPUからメモリへの一方通行なのに対し、データバスは行きも帰りも使います。
書き込み(ライト):CPU → メモリの向きにデータが流れる
読み出し(リード):メモリ → CPUの向きにデータが流れる

ただし、行きと帰りを同時に流すわけではありません。同じ1本のバスを、ある瞬間は「行き」、別の瞬間は「帰り」と時間で使い分けるのが基本です。どちらの向きで使うかは、制御バスが伝える「読み出せ/書き込め」の指示で決まります。

一車線の道路を、時間帯で上り・下りを切り替えて使うイメージです。上のツールでステップを進めると、書き込み(CPU→メモリ)と読み出し(メモリ→CPU)でデータの流れる向きが反転するのを確認できます。

📐
バス幅と性能

バス幅とは、データバスで同時に通せる信号線の本数のこと。1本の線で1ビットを運べるので、バス幅32ビットなら一度に32ビットをまとめて運べます。高速道路の車線数が多いほど、一度に多くの車が通れるのと同じイメージです。

1回の転送量 = バス幅(ビット数)

例: 256ビットのデータを運ぶとき
・ 8bit幅 → 256 ÷ 8 = 32回
・32bit幅 → 256 ÷ 32 = 8回
・64bit幅 → 256 ÷ 64 = 4回
→ 幅が広いほど少ない回数で運べる

同じデータでも、バス幅が広いほど転送回数が減り、結果として速く運べます。覚えておきたいポイントは次のとおりです。
バス幅が広い=1回でたくさん運べる=高速
多くのCPUは32ビット幅や64ビット幅のデータバスを持つ
・実際の転送速度は、バス幅に加えて動作周波数(1秒に何回転送できるか)も影響する

上のツールでバス幅のボタンを切り替えると、256ビットを運ぶのに必要な転送回数が下のグラフで変化します。幅を広げるほど棒が短く(回数が少なく)なるのを確かめてみてください。

関連コンテンツ

データバス | Vizigo