複数の信号線で同時に複数ビットを送る転送方式
パラレル転送とは、複数の信号線(=電気信号を流す配線)を並べて、同時に複数ビットを送る転送方式のことです。たとえば8本の線を用意すれば、8ビット(1バイト)を一度に運べます。
身近な例で考えると、高速道路のレーンに似ています。1車線(シリアル)だと車は1台ずつ順番に通りますが、8車線(パラレル)あれば8台が横並びで同時に通れます。1回で運べる量が増えるぶん速くなる、というイメージです。
上のツールで▶ボタンを押すと、まず1本の線で1ビットずつ送るシリアル転送、続いて8本の線で同時に送るパラレル転送を順番に見られます。両者の所要時間の違いに注目してください。
パラレル転送では、送りたいビット数と同じ本数の信号線を用意します。各線は「1本につき1ビット」を担当し、すべての線がせーので一斉に信号を送り出します。
シリアル転送と比べると次のような違いがあります。
・シリアル転送:信号線は1本。ビットを1個ずつ順番に送るので、8ビット送るには8回ぶんの時間がかかる
・パラレル転送:信号線は複数本(8本など)。8ビットを同時に送るので、理論上は1回ぶんの時間で済む
・配線の違い:パラレルは線が多いぶん、ケーブルが太く・コネクタも大きくなる
計算例で考えてみましょう。1回の転送で運べるビット数が線の本数と等しいので、8本なら1回で8ビット、16本なら1回で16ビットを運べます。同じデータ量なら、線が多いほど転送回数が減ります。これがパラレル転送が速いとされる理由です。
理論上はパラレルが速いはずですが、実際にはスキュー(skew=ずれ)という問題があります。複数の信号線は1本ずつ長さや電気的な特性がわずかに違うため、全部の線が同時には到着しないのです。
受信側は8ビットがそろって初めて1バイトとして読み取れます。つまり一番遅く届いた線を待つ必要があり、これが速度の足かせになります。スキューの影響は次のような場面で大きくなります。
・クロックを上げたとき:1ビットの送出間隔が短くなり、ズレが相対的に目立つ
・線を増やしたとき:本数が多いほどズレる線が出やすい
・ケーブルが長いとき:距離が長いほど線ごとの差が積み重なる
このため、線を増やしても速度は単純には上がらず頭打ちになります。身近な例では、8人で手をつないでゴールするリレーのようなもので、一番遅い人に全体が引っ張られます。近年は1本の線を極限まで高速化したシリアル転送(USBやPCI Expressなど)が主流になっています。