イーサネットの物理層(2)物理層基礎技術 パラレル通信とシリアル通信 / クロック同期方式

パラレル通信とシリアル通信

コンピュータ間通信方式はパラレル通信とシリアル通信に大別することができる。パラレル( parallel:並列)通信は、複数データを並列に同時送信するため高速通信が可能だが、複数のデータ線が必要になる。片やシリアル( serial:直列)通信は、データを1ビットずつ直列に送受信するため通信速度が遅くなるが、データ線が1セットあれば通信できる。

一見すると高速通信にはパラレル通信が有利に見えるが、高速通信の主流はシリアル通信だ。パラレル通信には次のような欠点があり、最近のコンピュータ間通信での使用例は少ない。一番の技術的問題は、複数データ間の時間ズレ(ビットスキュー)だ。伝送距離の長い通信では、ビットスキューが起き易く制御が難しい。しかし、大量のデータを短時間でかつ短距離で送受信するプロセッサとメモリ間の通信では現在でもパラレル通信が主流だ。パラレル通信とシリアル通信の長所・短所を見極めた使い方が必要だ。パラレル通信とシリアル通信のイメージは、図1図3 を参照いただきたい。

パラレル通信の欠点

信号線数が多くケーブルやコネクタがコスト高
コネクタが大きく実装に不利
複数データ間の時間ずれ(ビットスキュー)制御が困難

パラレル通信は、基本的には1バイト単位の通信を行うが、高速化のため複数バイト通信を行う場合もある。図1 はデータ書込みの例だが、書込みタイミング(クロックの立ち上がり)の前後で、データが安定している時間が必要だ。書込みタイミング以前の安定時間を「セットアップ時間」以後の時間を「ホールド時間」と呼び、これらの時間が不足すると書込みエラーが発生する。

図1 パラレル通信
図1 パラレル通信

複数データを同時送信するパラレル通信では、各ビット間の時間ずれが起きる。この時間ずれを「ビットスキュー(skew)」と呼ぶ。パラレル通信の高速化を阻害する一番の要因だ。図2 では、ビットスキューのため b5 と b1 が受信タイミングから外れ、正しく受信できない。スキューの主な発生要因としては、半導体内部の遅延バラツキやプリント基板やケーブル等の伝送路特性のバラツキがある。

図2 パラレル通信ビットスキュー
図2 パラレル通信ビットスキュー

図3 は、シリアル通信のイメージだ。シリアル通信は1ビットずつ送信し、受信側は送信速度に合わせたクロックでデータを取り込む。データを取り込むクロックの送り方には様々な方法がある。詳細は次節で説明したい。LSB(ビット0)とMSB(ビット7)のどちらから送信を始めるかは、規格毎に異なり注意が必要だ。一般的に、通信文化の影響が強い領域では「LSB」から送信し、コンピュータ文化の影響が強い領域では「MSB」から送信を開始する傾向にある。

図3 シリアル通信
図3 シリアル通信

伝送距離が比較的短距離のコンピュータ内部やコンピュータと周辺機器間には「パラレル通信」、フィールドバスなどの長距離通信には「シリアル通信」が使われてきた。最近では、高速化が進み、CPU-メモリー間の様な一部の通信を除き、シリアル化が進んでいる。

クロック同期方式

通信方式は大きくパラレル通信とシリアル通信に分かれるが、データとクロックの同期に着目すると図4 のように分類することができる。クロックとの同期方式では「共通クロック同期」「送信元クロック同期」「埋込(データ)クロック同期」の3種類があり、これらに加えクロックとの同期を取らない「非同期(調歩同期)」がある。

図4 通信方式分類

共通クロック同期(common clock synchronization)

データ送信側と受信側が共通のクロックに同期してデータ送受信を行う方法だ。PCI 等の従来のパラレルバスでは一般的な手法だ。共通クロック配置場所による遅延バラツキが転送レートに直接影響を与えるため、高速動作が難しい。シリアル通信での共通クロック同期の例は見当たらない。

図5 共通クロック同期
図5 共通クロック同期

送信元クロック同期(source clock synchronization)

クロックを共有しない方法だ。予め送信側と受信側の転送レートを設定しておく。設定値が異なれば、もちろん通信はできず設定の違いを検出する方法はない。古くから RS232C 等で使われている方法で、クロック誤差が大きいため高速化や複数バイト送信に向かない。

図6 送信元クロック同期
図6 送信元クロック同期

埋込クロック同期(embedded clock synchronization)

クロックをデータに埋め込んで送信する方式で、独立したクロック信号がない。受信側は受信データからクロックを取り出すことになる。送信元クロック同期で、高速化の障害になっている「データとクロックのズレ(スキュー)」を解消する手法だ。PCI Express やイーサネットなどで採用されている。データにクロック成分を埋め込むため、定期的なデータ反転が必要になり、コード変換の制約や冗長なデータ送受信が必要になる。

図7 埋込クロック同期
図7 埋込クロック同期

非同期/調歩同期(asynchronous serial communication)

クロックを共有しない方法だ。予め送信側と受信側の転送レートを設定しておく。設定値が異なれば、もちろん通信はできず設定の違いを検出する方法はない。古くから RS232C 等で使われている方法で、クロック誤差が大きいため高速化や複数バイト送信に向かない。

図8 非同期/調歩同期
図8 非同期/調歩同期

イーサネットの物理層

この記事を書いた人

岩崎 有平

早稲田大学 理工学部 電子通信学科にて通信工学を専攻。
安立電気(現 アンリツ)に入社後、コンピュータ周辺機器の開発を経てネットワーク機器の開発やプロモーションに従事する。
おもにEthernetを利用したリアルタイム監視映像配信サービスの実現や、重要データの優先配信、映像ストリームの安定配信に向けた機器の開発行い、Video On Demandや金融機関のネットワークシステム安定化に注力した。
現在は、Ethernetにおけるリアルタイム機能の強化・開発と普及に向けて、Ethernet TSNの普及活動を行っている。