現在はUSBに代表されるように殆どの通信規格がシリアル伝送のものになってしまいました。しかし、伝送効率を上げるには並列伝送の方が有利なはず。何故、シリアルが主流になったのでしょう。
パラレルとシリアル
ここで説明するのは信号の伝送規格や伝送方式です。
シリアル伝送
シリアル伝送とはデータを1ビットずつ順番に伝送するものです。
1ビットずつ伝送するとどこがデータの始まりでどこがデータの終わりか分かりません。そのためスタートビット、ストップビットというデータを追加して伝送します。
8ビットCPUの8080やZ80の時代、8251というシリアル伝送専用LSIがあり、パソコン通信やカセットテープへのプログラムの保存に使われていました。
シリアル伝送の問題点はデータの伝送速度を上げられないことです。スタートビット、ストップビットという冗長データに加えて、伝送速度を上げようとするとエラーが増大し、結局データを伝送できないためです。
そのため伝送線が限られている電話線を使ったパソコン通信やFAX、音声変調を利用したカセットテープへの記録などに使われました。
パラレル伝送
パラレル伝送とはデータを複数ビット同時に伝送するものです。
自由に伝送線を増やせるので、送るデータの準備ができた(DSR)と伝えると受け取り側がデータを受信します。受信が終わると次のデータを準備するように(RTS)伝えます。DSRとRTSはデータを送る線とは別なのでデータを並行してどんどん送れます。
8ビットCPU時代は、8255というパラレル伝送専用のLSIがあり、キーボードの読み取りやプリンターへの出力に使われました。
パラレルとシリアルの優劣
パラレル伝送の規格例
パラレル伝送の規格で代表的なものにSCSIというものがあります。スカジーと呼びます。
SCSIはSmall Computer System Interfaceの頭文字を取ったもので、主にハードディスクの接続規格として使われました。
私が使っていたPC-8801やPC9801、FM-TOWNSなどもSCSI規格でハードディスクを接続していました。
SCSI規格は個人向けパソコンだけでなく、企業などのサーバーでも使われたため速度が重要でした。
最初の規格ではバス幅が8ビット、伝送周波数が5MHzで、5MB/Secの伝送速度でしたが、バス幅と伝送周波数を上げることでデータ伝送速度を向上させた新しいSCSI規格が次々と出てきました。
現在の最高規格はUltra320でバス幅16ビット、伝送周波数80MHzで、320MB/Secの伝送速度となっています。
シリアル伝送の規格例
シリアル伝送の規格で代表的なものは、USBとIEEE 1394があります。
どちらもシリアルでデータを転送する規格なのですが競合した規格で、当初IEEE 1394の方が伝送速度が速かったのでIEEE 1394はハードディスクやビデオに使われ、USBはマウス、キーボード、プリンターなど遅くても問題無いものに使われました。
ビデオというのはBetamaxやVHSというアナログビデオからDVというデジタルビデオに世代交代したことで、デジタルデータとなったビデオをダビングしたり編集したりするために使われました。これらビデオデータの伝送に使われる場合は、IEEE 1394ではなくi-Linkと呼ばれました。
その後、USBとIEEE 1394は双方とも規格を更新して伝送速度を上げていきましたが、結局USBが生き残りました。今ではi-Linkが搭載されたBDレコーダーも販売されておらず、新製品にはi-Linkが搭載されないと知って慌てて古いBDレコーダーを入手したくらいi-Linkは貴重な規格となってしまいました。
パラレル伝送の問題点
現在、外付けハードディスクを接続する場合、USBで接続するのが当たり前の状態です。では何故SCSIでは無いのか、これには回路の説明が必要になります。
データを電気信号で伝送する場合は電線を使います。8ビットのデータを並行して伝送する場合8本の電線を使います。電線はいろいろな材質のものがありますが、8本の電線で純度を正確に一致させることはできません。そのため電線の抵抗値にバラツキが出ます。あるタイミングで送り出した電気信号も抵抗値のバラツキのために相手側に到達するまでにかかる時間にバラツキが出ます。これをスキューと呼びます。
スキューは伝送速度が遅い場合は問題になりませんが、速くなると問題が発生します。ある速度を越えるとスキューによる到達タイミングのずれで、データを正しく読み取れなくなります。これがパラレルの限界となります。すなわちパラレルはスキューが許容できる速度までしか伝送速度を上げられなくなるのです。
一方、シリアル伝送では「1」か「0」かを正確に読み取れればいくらでも速度は上げられます。
最速のSCSI規格Ultra 320が320MB/Sec=2.56Gbpsに対して、USB 4.0では40Gbpsですから、シリアル伝送が主流になったことも頷けるでしょう。
まとめ
IoTでもセンサーとの接続はGrove規格などのシリアル伝送が主流です。少ない信号線で伝送できるという理由もありますが、スキューの問題があることも知っておくべきでしょう。
これは回路設計において「FFによる叩き直し」が必要になる原因でもあり、非常に高速なクロックを扱うようになった現在では避けられない問題です。
コメント