1本の信号線で1ビットずつ順番にデータを送る転送方式
シリアル転送(serial transfer)とは、1本の信号線を使って、データを1ビットずつ順番に送る転送方式のことです。「シリアル(serial)」は「直列・連続した」という意味で、ビットが一列に並んで流れていくイメージです。
身近な例で言うと、1人ずつしか通れない細い橋を、列をつくって順番に渡るのに似ています。一度に1人しか渡れないので時間はかかりますが、橋(線)が1本で済むのでシンプルです。
上のツールで▶ボタンを押すと、送信側のビット列(01000001)が1ビットずつ線の上を流れ、受信側に順番に並んでいく様子を確認できます。1本の線でビットが時間差で送られていくのを見てください。
シリアル転送では、複数のビットを時間をずらして(タイミングを変えて)1本の線に順番に乗せます。同じ1本の線でも、時刻 t1 では1ビット目、t2 では2ビット目…というように、時間で区切って送り分けるのです。
正しく受け取るために大事なのが、送信側と受信側のタイミングの合わせ方です。受信側は「いつが1ビット目で、いつが2ビット目か」を知る必要があります。代表的な方法は次の2つです。
・調歩同期(非同期)方式:データの前後にスタートビット・ストップビットという目印を付けて区切る
・同期方式:別途クロック(拍子)信号を使って、両者のタイミングをそろえる
受信側は届いたビットを順番に並べ直して、元のデータを復元します。8ビットのデータなら8回に分けて送るので、ビット数だけ時間がかかります。これがシリアル転送の基本的な仕組みです。
シリアル転送と対になるのがパラレル転送(parallel transfer)です。パラレルは複数の信号線を使って、複数ビットを同時に送る方式です。「パラレル(parallel)」は「並列」という意味です。
| 項目 | シリアル転送 | パラレル転送 |
|---|---|---|
| 信号線の本数 | 1本(少ない) | 複数本(多い) |
| 1回に送るビット数 | 1ビット | 複数ビット同時 |
| 配線コスト | 安い | 高い |
| 長距離の安定性 | 高い(ズレに強い) | 低い(線ごとにズレやすい) |
| 代表例 | USB・LANケーブル | 昔のプリンタ接続・内部バス |
直感的には「同時に複数ビット送れるパラレルの方が速い」と思えますが、現在は長距離・高速の用途ほどシリアルが主流です。理由は次のとおりです。
・パラレルは線が多いほど線ごとに信号の到着時刻がわずかにズレ(スキューと呼ぶ)、高速化すると同時に揃えるのが難しい
・シリアルは線が1本なのでズレの問題が起きにくく、結果的に1本あたりを超高速にできる
・線が少ない=配線コストが安く、ケーブルも細くできる
身近な例では、USB・LANケーブル・HDMIなどはシリアル転送です。一方、昔のプリンタ接続や、コンピュータ内部の一部の古いバスはパラレル転送でした。「少ない線で速く、安定して送る」という方向に技術が進んだ結果、シリアルが広く使われるようになった、と覚えておくとよいでしょう。