シリアルデータ送信がパラレルよりも高速なのはなぜですか?


133

直観的には、パラレルデータ送信はシリアルデータ送信よりも高速であると考えるでしょう。並行して多くのビットを同時に転送するのに対し、シリアルでは一度に1ビットを転送します。

それでは、SATAインターフェイスをPATAより速く、PCI-eデバイスをPCIより速く、シリアルポートをパラレルより速くするのはなぜですか?


多分それはですが、howcomeもしそうなら、私はこれらすべてが見るintel.com/content/www/us/en/chipsets/performance-chipsets/... それはPCIe用の複数のレーンを言うと、私はウィキペディアにFDIを見上げ、それが「言いました2つの独立した4ビット固定周波数リンク/チャネル/パイプ」と4つのリンクのDMIトーク。(
追加

2
結局のところ、クロックレートになります。
ダニエルRヒックス

36
既存の3つの答えは、経済学、つまりコストについて言及していません。非常に高速なパラレルインターフェイスよりも、非常に高速なシリアルインターフェイスを作成する方が簡単です。伝送ラインの場合、数本のワイヤのみを使用するシリアルケーブルは、シールドが困難で高価なパラレルケーブルよりも安価です。
おがくず

13
DB25およびDB9接続の時代、幸運なことにシリアルで115 kbit / sをプッシュし、パラレルでは8つのパラレルデータピンで12 Mbit / sを取得しました。
CVn

回答:


145

この方法で定式化することはできません。

同じ信号周波数の場合、シリアル伝送はパラレル伝送より低速です。パラレル転送では、サイクルごとに1ワード(1バイト= 8ビットなど)を転送できますが、シリアル転送では、その一部(1ビットなど)しか転送できません。

最新のデバイスがシリアル伝送を使用する理由は次のとおりです。

  • 設計上、送信機からのすべての信号が同時に受信機に到着する必要があるため、並列伝送の信号周波数を無制限に上げることはできません。これは、信号の通過時間がすべての信号ラインで等しいことを保証できないため、高周波では保証できません(メインボード上の異なるパスを考えてください)。周波数が高いほど、より小さな違いが重要になります。したがって、受信機はすべての信号線が安定するまで待機する必要があります。明らかに、待機すると転送速度が低下します。

  • もう1つの良い点(この投稿から)は、パラレル信号線とのクロストークを考慮する必要があるということです。周波数が高いほど、クロストークがより顕著になり、それにより、破損した単語の可能性が高くなり、それを再送信する必要性が高くなります。1

そのため、シリアル伝送でサイクルあたりのデータ転送量が少なくても、はるかに高い周波数に移動できるため、より高いネット転送速度が得られます。


1これはまた、なぜUDMAケーブル(転送速度が向上したパラレルATA)がピンの2倍の数のワイヤを使用したのかを説明しています。クロストークを減らすために、1本おきのワイヤが接地されました。


9
受信機は、すべての回線が同時に安定するのを待つ必要はありません。現在の高速並列伝送では、各回線の到着遅延個別に測定して補正する必要があります。これはCPU <-> DRAMのような短いオンボードリンクにも当てはまります!これは、組み込みクロック(8b / 10bコーディングなど)やトレーニングシーケンスなどのシリアル技術を採用することで可能になりました。
ベニチェルニアフスキーパスキン

あなたの詳細はあなたの声明と矛盾します。あなたはシリアルが遅いことを述べ始め、なぜそれが速いのかを説明します。私はそれが混乱の原因だと思い、どのように答えられるのだろうかと思います。
ヴァル

11
@Valあなたは答え全体を読んでいない。彼らは同じ速度を行くときのバスは、車よりも多くの人を動かす-しかしための方法物理学作品の、これらの車は行くことができる方法、バスよりも車を使用することによって、人々を移動する方が速いので、バスよりも速いです。データリンクについても同じことが言えます。同じ速度で、パラレルケーブルはシリアルケーブルよりも多くのデータを移動します。ただし、シリアルケーブルを押すと、パラレルケーブルよりもはるかに高速に動作できます。パラレルケーブルを高速化しようとすると、物理的性質によりデータがゴミになります。
ダースアンドロイド

1
実際、逆さまに見えます。乗客と一緒に自動車を輸送するわけではないため、スループットが高いのは乗客(公共)輸送です。人々は個別に、平行した自動車で移動することを好むため、人々をコンパクトな3D都市に詰め込むのではなく、大規模な郊外インフラストラクチャを開発します。シリアルビットのバーストは列車のように見えます。おおよそ、パケットの送信は高価ですが、パケットごとに送信するデータの量は重要ではありません。したがって、1000台のパラレルカーよりも1000ビットのトレインを送信する方が1000倍安くなります。
ヴァル

1
@Valそれは輸送の仕組みです、はい、しかしそれは電磁気物理学の仕組みではなく、類推としては適合しません。ここでは効率については誰も話していません。速度とスループットだけです。パラレルリンクは1クロックサイクルあたりより多くのデータを移動できますが、シリアルリンクは1クロックサイクルあたりより少ないデータを移動できますが、同じ時間枠内で非常に多くのクロックサイクルがあるため、スループットが高くなります。
ダースAndroid

70

問題は同期です。

並行して送信するときは、すべての行を正確に同じ瞬間に測定する必要があります。その瞬間のウィンドウのサイズが速くなるにつれて、徐々に小さくなり、最終的にはいくつかのワイヤがまだ安定している可能性がありますあなたが時間を使い果たす前に他のものが終了している間。

シリアルで送信することにより、すべての行が安定することを心配する必要がなくなり、1行だけになります。また、同じ速度で10本のラインを追加するよりも、1本のラインを10倍速く安定させる方が、コスト効率が高くなります。

PCI Expressのようなものは、両方の長所を最大限に活用し、シリアル接続のパラレルセットを実行します(マザーボードの16xポートには16のシリアル接続があります)。そうすることにより、相手のコントローラーが正しい順序でデータの「パケット」を並べ替えることができる限り、各行が他の行と完全に同期する必要はありません。

PCI-ExpressHow Stuff Worksページでは、シリアルのPCI ExpressがパラレルのPCIまたはPCI-Xよりも高速である方法について詳しく説明しています。


TL; DRバージョン:非常に高い周波数に到達すると、8つの接続が2倍速くなるよりも、1つの接続を16倍速くするほうが簡単です。


1
@barlopイーサネットで並列処理を実行できますが、消費者の使用ではあまり一般的ではないため、この用語はチャネルボンディングと呼ばれます。-修正:ワイヤレス周波数のボンディングを使用して、消費者の使用で一般的になりました。802.11nが最大600 Mbit / sのレートを取得する方法であり、最大4つの同時シリアルストリームを使用します。
スコットチェンバレン

1
@barlop間違った用語を与えましたが、チャネルボンディングはより一般的な用語で、具体的にはイーサネットでは、リンクアグリゲーションと呼ばれる正しい用語を求めています。
スコットチェンバレン

2
リッチサイフェルト、これは確かに任意の技術引数の顔に飛んでいる間(それもIEEE 802.3と同じフレームフォーマットを使用していない)、私はそれと一緒に暮らすことができます。ワイヤレスイーサネット『「確かに、多くの人々がIEEE 802.11コール』を書いた話すとき技術の違いが重要でない人々に。」<-彼の言葉。私は数年前、彼が802.3xの議長を務め、編集し、イーサネットII(DIXイーサネット、明らかに10Mbpsイーサネット)の議長を務めたことを読みました-そして、彼は「IEEE 802.3zギガビットイーサネットタスクフォースの積極的な参加者」だと読みました。したがって、802.11はイーサネットではないと言う権限はかなりあります。
-barlop

1
1000BASE-Tイーサネット(802.3ab、「ギガビットイーサネット」)は、4つのワイヤーペアを並行して使用します。
-MSalters

4
イーサネットの経済性は、SATAなどのバスとは異なります。ケーブルは非常に長く高価であるため、最後に電子機器のアップグレードに集中します。初期のイーサネットは1ペアのワイヤを使用していましたが、将来の使用を予測して4ペアケーブルで標準化されました(その時代、パラレルはより高速な伝送への明白なアプローチでした)。これはクロストークのために困難であることが判明しましたが、ケーブルがすでに存在するため、使用しないのは残念でした。最終的に、非常に複雑なDSP処理-> D2A-> ...ケーブル...-> A2D-> DSP処理でクロストークキャンセルを行うことが可能になりました。
ベニチェルニアフスキーパスキン

19

パラレルは本質的に低速ではありませんが、シリアル通信ではできない課題が発生します。

しかし、最速のリンクの多くは依然として並列です。コンピューターのフロントサイドバスは通常、非常に並列であり、通常はコンピューターの最高速のインターリンクの1つです。光ファイバー接続は、単一のファイバーで複数の波長を伝送することにより、高度に並列化することもできます。ただし、これは費用がかかるため、一般的ではありません。ギガビットイーサネットの最も一般的な形式は、実際には単線の250Mビットイーサネットの4つのパラレルチャネルです。

並列処理によってもたらされる最も顕著な課題は「クロストーク」です。信号電流が開始または停止すると、その隣のワイヤに瞬間的に小さな電流が誘導されます。信号が高速であるほど、これが頻繁に発生し、フィルタ処理が難しくなります。パラレルIDEは、リボンケーブルのワイヤ数を2倍にし、他のすべてのワイヤをグランドに接続することにより、この問題を最小限に抑えようとしました。しかし、その解決策はこれまでのところあなただけを取得します。長いケーブル、折り畳みとループ、および他のリボンケーブルに近いため、これは非常に高速な信号に対して信頼性の低いソリューションです。

ただし、信号線が1本だけの場合は、ハードウェアが許す限り高速に切り替えることができます。また、一部の信号が他の信号よりも速く移動するという微妙な同期の問題も解決します。

理論的には2本のワイヤは常に1本の2倍の速さですが、追加する各信号ラインは物理的に微妙に複雑になるため、回避する方がよい場合があります。


FSBはIntel Core 2時代からメインストリームCPUデザインの一部ではありませんでしたが、AMDはAMD64デザインで数年前にそれを置き去りにしました。その代わりに、両方ともメモリコントローラーをCPU自体に移動し、FSBの(比較的)ワイド/スローデザインではなく、高速/狭バスで他のすべてをCPUに接続しました。
ダン・ニーリー

クロストーク低減技術は何十年も知られていますが、質問へのコメントで述べられているように、追加のコストを導入し、それらのいくつかは同期の問題を悪化させます(異なるツイスト比を持つツイストペアには、わずかなインピーダンス伝送速度の変動、および...)。
dmckee

13

シリアルデータ送信はパラレルよりも高速ではありません。より便利なため、機器ユニット間の高速外部シリアルインターフェースの開発に取り組んでいます。50本以上の導体を持つリボンケーブルを扱うことを望む人はいません。

回路基板上のチップ間では、2本のワイヤのみを必要とするI2Cのようなシリアルプロトコルは、多数の並列トレースをルーティングするよりもはるかに簡単に処理できます。

しかし、帯域幅を大幅に増やすために並列処理が使用されているコンピューターには、多くの例があります。たとえば、ワードは一度に1ビットずつメモリから読み取られるわけではありません。実際、キャッシュは大きなブロックで補充されます。ラスターディスプレイはもう1つの例です。複数のメモリバンクに並列アクセスして、ピクセルを並列に高速化することができます。メモリ帯域幅は、並列性に大きく依存します。

テクトロニクスが「世界最速の市販10ビット高速DAC」と宣伝しているこのDACデバイスは、並列処理を多用してデータを取り込み、320ラインを介してDACに入力します。マスター12 GHZクロックの異なる分割によって駆動されます。単一のシリアル入力ラインを使用して世界最速の10ビットDACを作成できれば、おそらくそうです。


1
50ピンリボンケーブルについて言及する場合は+1。SAS / SATAケーブルを使用する動機の1つは、幅の広いケーブルがボックス内の空気の流れに影響を与えていたことです。
jqa

11

パラレルは、バス/ケーブルおよびオンチップ伝送に同様の電気技術を使用できるほど論理ゲートが遅いときに、速度を上げるための明らかな方法でした。既にトランジスタの許容範囲内でワイヤを切り替えている場合、スケーリングする唯一の方法はより多くのワイヤを使用することです。

時間が経つにつれて、ムーアの法則が電磁的制約を上回り、ケーブル、またはオンボードバスでの伝送もオンチップ速度と比較してボトルネックになりました。速度の不均衡であるOTOHにより、末端での高度な処理がチャネルをより効果的に使用できるようになります。

  • 伝搬遅延が数クロックのオーダーに近づくと、反射などのアナログ効果について心配し始める=>途中でインピーダンスが一致する必要があり(特にコネクタには扱いにくい)、マルチポイントバスよりもポイントツーポイントワイヤを優先します。そのため、SCSIにはターミネーションが必要であり、USBには単純なスプリッターの代わりにハブが必要です。

  • 高速では、ワイヤに沿って任意の瞬間に複数のビットが飛行します=>パイプラインプロトコルを使用する必要があります(これがIntelのFSBプロトコルが非常に複雑になった理由です。PCIeのようなパケット化プロトコルはこの複雑さへの反応だったと思います)。

    もう1つの効果は、信号フローの方向を切り替えるためのマルチサイクルペナルティです。そのため、方向ごとに専用ワイヤを使用するFirewireとSATAおよびPCIeは、USB 2.0よりも優れていました。

  • 誘導ノイズ、別名クロストークは、周波数とともに上昇します。速度における単一の最大の進歩は、クロストークを劇的に減少させる差動信号方式の採用から来ました(数学的には、不平衡電荷の場はR ^ 2になりますが、双極子の場はR ^ 3になります)。

    これが「シリアルはパラレルよりも速い」印象の原因だと思います。ジャンプが大きすぎて、1つか2つの差動ペアになり、LPTやIDEケーブルよりも速くなります。ケーブルに信号ペアが1つしかないことによるクロストークの勝利もありましたが、それはわずかです。

  • ワイヤ伝搬遅延が変化するため(90ºのターン、コネクタなどでワイヤの長さを一致させるのが難しく、他の導体からの寄生効果のため)、同期が問題になります。

    解決策は、すべての受信機で調整可能な遅延を設定し、起動時および/またはデータ自体から継続的に調整することでした。0または1のストリークを回避するためにデータをエンコードすると、小さなオーバーヘッドが発生しますが、電気的な利点があり(DCドリフトを回避し、スペクトルを制御します)、最も重要なことに、クロックワイヤを完全にドロップできます(これは40以上の大したことではありません)信号ですが、シリアルケーブルが2または3)の代わりに1または2ペアを持つことは非常に重要です。

ボトルネックに並列処理が行われていることに注意してください。今日のBGAチップには数百または数千のピンがあり、PCBにはますます多くの層があります。これを古い40ピンマイクロコントローラーと2層PCBと比較してください...

上記の技術のほとんどは、パラレル伝送とシリアル伝送の両方に不可欠になりました。ワイヤーが長いほど、より少ないワイヤーでより高いレートをプッシュすることが魅力的になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.