Mengapa pengiriman data serial lebih cepat daripada paralel?

133

Secara intuitif, Anda akan berpikir bahwa transmisi data paralel harus lebih cepat daripada transmisi data serial; secara paralel Anda mentransfer banyak bit pada saat bersamaan, sedangkan secara serial Anda melakukan sedikit demi sedikit.

Jadi apa yang membuat antarmuka SATA lebih cepat dari PATA, perangkat PCI-e lebih cepat dari PCI, dan port serial lebih cepat dari paralel?

sederhana
sumber
Mungkin begitu, tetapi jika demikian, bagaimana saya melihat semua intel.com/content/www/us/en/chipsets/performance-chipsets/… ini mengatakan beberapa jalur untuk PCIe, dan saya mencari FDI di wikipedia dan katanya " 2 tautan / saluran / pipa frekuensi tetap independen 4-bit "dan pembicaraan DMI tentang 4 tautan. (ditambahkan- Jawaban Scott mungkin mencakup sebagian)
barlop
2
Semuanya bermuara pada clock rate.
Daniel R Hicks
36
Tiga jawaban yang ada gagal menyebutkan ekonomi, yaitu biaya . Ini lebih murah untuk membuat antarmuka serial yang sangat cepat daripada antarmuka paralel yang sangat cepat. Untuk saluran transmisi, kabel serial yang hanya menggunakan beberapa kabel lebih murah daripada kabel paralel yang akan sulit dan mahal untuk dilindungi.
serbuk gergaji
13
Kembali pada hari-hari koneksi DB25 dan DB9 , Anda beruntung dapat mendorong 115 kbit / s melalui serial sementara paralel memberi Anda 12 Mbit / s dengan delapan pin data paralel.
CVn

Jawaban:

145

Anda tidak dapat memformulasikannya dengan cara ini.

Transmisi serial lebih lambat daripada transmisi paralel karena frekuensi sinyal yang sama . Dengan transmisi paralel Anda dapat mentransfer satu kata per siklus (mis. 1 byte = 8 bit) tetapi dengan transmisi serial hanya sebagian kecil dari itu (mis. 1 bit).

Alasan perangkat modern menggunakan transmisi serial adalah sebagai berikut:

  • Anda tidak dapat meningkatkan frekuensi sinyal untuk transmisi paralel tanpa batas, karena, secara desain, semua sinyal dari pemancar harus tiba di penerima pada saat yang bersamaan . Ini tidak dapat dijamin untuk frekuensi tinggi, karena Anda tidak dapat menjamin bahwa waktu transit sinyal sama untuk semua jalur sinyal (pikirkan jalur yang berbeda di mainboard). Semakin tinggi frekuensinya, semakin kecil perbedaan perbedaannya. Oleh karena itu penerima harus menunggu sampai semua jalur sinyal diselesaikan - jelas, menunggu menurunkan kecepatan transfer.

  • Poin bagus lainnya (dari pos ini ) adalah seseorang harus mempertimbangkan crosstalk dengan garis sinyal paralel. Semakin tinggi frekuensinya, semakin tinggi tanda silang didapat dan semakin tinggi kemungkinan kata yang rusak dan kebutuhan untuk mentransmisikannya. 1

Jadi, bahkan jika Anda mentransfer lebih sedikit data per siklus dengan transmisi serial, Anda dapat pergi ke frekuensi yang jauh lebih tinggi yang menghasilkan tingkat transfer bersih yang lebih tinggi.


1 Ini juga menjelaskan mengapa Kabel-kabel UDMA (ATA Paralel dengan peningkatan kecepatan transfer) memiliki kabel dua kali lebih banyak daripada pin. Setiap kabel kedua ditanahkan untuk mengurangi crosstalk.

mpy
sumber
9
Penerima tidak harus menunggu semua saluran untuk menyelesaikan pada saat yang sama - transmisi paralel cepat saat ini melibatkan pengukuran dan kemudian mengkompensasi keterlambatan kedatangan pada setiap kawat secara terpisah . Ini bahkan berlaku untuk tautan on-board pendek seperti CPU <-> DRAM! Ini menjadi mungkin dengan mengadopsi beberapa teknik serial seperti jam tertanam (mis. 8b / 10b coding) dan / atau urutan pelatihan.
Beni Cherniavsky-Paskin
Elaborasi Anda bertentangan dengan pernyataan Anda. Anda mulai menyatakan bahwa serial lebih lambat dan menjelaskan mengapa lebih cepat. Saya pikir itu adalah sumber kebingungan dan bertanya-tanya bagaimana itu bisa menjawab.
Val
11
@ Val Anda tidak membaca seluruh jawaban. Sebuah Bus bergerak lebih banyak orang daripada mobil ketika mereka pergi kecepatan yang sama - tetapi karena karya-karya fisika cara, mobil-mobil ini bisa jalan lebih cepat dari bus, sehingga lebih cepat untuk memindahkan orang dengan menggunakan mobil dari bus. Hal yang sama berlaku untuk tautan data: pada kecepatan yang sama, kabel paralel memindahkan lebih banyak data daripada kabel serial; namun, kita dapat mendorong kabel serial agar beroperasi jauh lebih cepat daripada kabel paralel. Jika kita mencoba mempercepat kabel paralel, fisika menyebabkan data menjadi sampah.
Darth Android
1
Bahkan saya melihat terbalik. Ini adalah transportasi penumpang (publik) yang memiliki throughput yang lebih tinggi, karena Anda tidak mengangkut mobil dengan semua orang, meskipun orang lebih suka bergerak secara individu, dalam mobil paralel dan oleh karena itu, mengembangkan infrastruktur pinggiran kota yang luas alih-alih mengemas orang ke kota 3d yang padat. Saya melihat ledakan bit serial sebagai kereta. Secara kasar, mengirim paket itu mahal tetapi tidak masalah berapa banyak data yang Anda kirim per paket. Oleh karena itu 1000 kali lebih murah untuk mengirim kereta 1000 bit daripada 1000 mobil paralel.
Val
1
@Val Begitulah cara transportasi bekerja, ya, tapi itu bukan cara kerja fisika elektro-magnetisme, dan tidak cocok sebagai analogi. Tidak ada yang berbicara tentang efisiensi di sini, hanya kecepatan dan hasil. Meskipun tautan paralel dapat memindahkan lebih banyak data per siklus clock, tautan serial dapat memindahkan lebih sedikit data per siklus clock tetapi memiliki lebih banyak siklus clock dalam rentang waktu yang sama sehingga masih memiliki throughput yang lebih tinggi.
Darth Android
70

Masalahnya adalah sinkronisasi.

Ketika Anda mengirim secara paralel, Anda harus mengukur semua garis pada saat yang bersamaan, karena Anda semakin cepat ukuran jendela untuk saat itu semakin kecil dan semakin kecil, pada akhirnya itu bisa menjadi sangat kecil sehingga beberapa kabel mungkin masih stabil. sementara yang lain selesai sebelum Anda kehabisan waktu.

Dengan mengirimkan serial Anda tidak perlu lagi khawatir tentang semua jalur stabilisasi, hanya satu jalur. Dan lebih hemat biaya untuk membuat satu garis stabil 10 kali lebih cepat daripada menambahkan 10 garis pada kecepatan yang sama.

Beberapa hal seperti PCI Express melakukan yang terbaik dari kedua dunia, mereka melakukan serangkaian koneksi serial (port 16x pada motherboard Anda memiliki 16 koneksi serial). Dengan melakukan itu, setiap baris tidak perlu sinkron sempurna dengan jalur lain, asalkan pengontrol di ujung lainnya dapat menyusun ulang "paket" data saat mereka menggunakan urutan yang benar.

Halaman How Stuff Works untuk PCI-Express melakukan eksplorasi yang sangat baik tentang bagaimana PCI Express secara serial bisa lebih cepat daripada PCI atau PCI-X secara paralel.


TL; Versi DR: Lebih mudah untuk membuat koneksi tunggal berjalan 16 kali lebih cepat dari 8 koneksi pergi 2 kali lebih cepat setelah Anda mendapatkan frekuensi yang sangat tinggi.

Scott Chamberlain
sumber
1
@barlop Anda dapat melakukan paralel dalam Ethernet, tetapi tidak terlalu umum dalam penggunaan konsumen, istilah untuk itu disebut Channel Bonding . - koreksi : Ini telah menjadi umum dalam penggunaan konsumen, menggunakan ikatan freq nirkabel. adalah bagaimana 802.11n bisa mendapatkan tarif hingga 600 Mbit / s , mereka menggunakan hingga 4 stream serial secara bersamaan.
Scott Chamberlain
1
@barlop Saya memberi Anda istilah yang salah, Channel Bonding adalah istilah umum yang lebih luas, khususnya untuk Ethernet istilah yang tepat untuk apa yang Anda tanyakan disebut agregasi tautan .
Scott Chamberlain
2
Rich Seifert menulis, "Memang, banyak orang menyebut IEEE 802.11" Wireless Ethernet ". Walaupun hal ini pasti bertentangan dengan argumen teknologi apa pun (bahkan tidak menggunakan format frame yang sama dengan IEEE 802.3), saya dapat hidup dengannya ketika berbicara kepada orang-orang yang perbedaan teknologinya tidak penting . " <- kata-katanya. Saya membaca beberapa tahun yang lalu bahwa dia memimpin dan mengedit 802.3x dan mengetuai Ethernet II (itulah DIX Ethernet, 10Mbps Ethernet) - dan saya membaca dia "seorang peserta aktif dalam IEEE 802.3z Gigabit Ethernet Task Force". Jadi, otoritas yang mengatakan 802.11 bukan Ethernet.
barlop
1
1000BASE-T Ethernet (802.3ab, "gigabit Ethernet") menggunakan 4 kabel secara paralel.
MSalters
4
Ekonomi Ethernet berbeda dari bus seperti SATA - kabel sangat panjang dan mahal untuk diganti, jadi Anda fokus pada peningkatan elektronik pada akhirnya. Ethernet awal menggunakan 1 pasang kabel tetapi distandarisasi pada 4 pasang kabel mengantisipasi penggunaan di masa depan (pada saat itu paralel adalah pendekatan yang jelas untuk transmisi yang lebih cepat). Ini ternyata sulit, karena crosstalk, tetapi karena kabel sudah ada itu memalukan untuk tidak menggunakannya. Akhirnya, menjadi mungkin untuk melakukan pembatalan crosstalk dengan pemrosesan DSP yang sangat rumit-> D2A-> ... kabel ... -> A2D-> pemrosesan DSP.
Beni Cherniavsky-Paskin
19

Paralel secara inheren tidak lebih lambat, tetapi memang menghadirkan tantangan yang tidak dimiliki komunikasi serial.

Tetapi banyak tautan tercepat masih paralel: Bus sisi depan di komputer Anda biasanya sangat paralel, dan biasanya merupakan antar tautan tercepat di komputer. Koneksi serat optik juga bisa sangat paralel dengan membawa banyak panjang gelombang pada satu serat. Ini mahal dan karenanya tidak tipikal. Bentuk paling umum dari Gigabit ethernet sebenarnya adalah 4 saluran paralel dari 250Mbit Ethernet dalam satu kabel.

Tantangan yang paling menonjol yang diperkenalkan oleh paralelisme adalah "crosstalk": ketika arus sinyal mulai atau berhenti, itu sejenak menyebabkan arus kecil pada kabel di sebelahnya. Semakin cepat sinyalnya, semakin sering hal ini terjadi, dan semakin sulit untuk disaring. IDE paralel berusaha meminimalkan masalah ini dengan menggandakan jumlah kabel pada kabel pita, dan menghubungkan setiap kabel lainnya ke ground. Tapi solusi itu hanya membuat Anda sejauh ini. Kabel panjang, lipatan dan loop, dan kedekatan dengan kabel pita lainnya semua membuat ini solusi yang tidak dapat diandalkan untuk sinyal berkecepatan sangat tinggi.

Tetapi jika Anda hanya menggunakan satu jalur sinyal, maka Anda bebas untuk mengubahnya secepat perangkat keras Anda mengizinkan. Ini juga memecahkan masalah sinkronisasi halus dengan beberapa sinyal bepergian lebih cepat daripada yang lain.

Dua kabel selalu secara teoritis dua kali lebih cepat dari satu, tetapi setiap jalur sinyal yang Anda tambahkan secara rumit menyulitkan fisika, yang mungkin lebih baik untuk dihindari.

tylerl
sumber
FSB belum menjadi bagian dari desain CPU utama sejak era Intel Core 2, AMD meninggalkannya beberapa tahun sebelumnya dengan desain AMD64. Sebagai gantinya keduanya memindahkan pengontrol memori ke CPU itu sendiri dan menghubungkan segala sesuatu yang lain ke CPU dengan bus cepat / sempit alih-alih desain FSB yang relatif lebar / lambat.
Dan Neely
Teknik pengurangan cross-talk telah dikenal selama beberapa dekade, tetapi seperti yang tercantum dalam komentar untuk pertanyaan mereka memperkenalkan biaya tambahan, dan beberapa dari mereka membuat masalah sinkronisasi lebih buruk (pasangan bengkok dengan berbagai twist-rasio memiliki sedikit variasi dalam impedansi yang berarti sedikit variasi dalam kecepatan transmisi, dan ...).
dmckee
13

Transmisi data serial tidak lebih cepat dari paralel. Ini lebih nyaman dan pengembangan telah dilakukan untuk membuat antarmuka serial eksternal yang cepat antara unit peralatan. Tidak ada yang mau berurusan dengan kabel pita yang memiliki 50 konduktor atau lebih.

Antara chip pada papan sirkuit, protokol serial seperti I2C yang hanya membutuhkan dua kabel jauh lebih mudah untuk ditangani daripada merutekan sejumlah jejak paralel.

Tetapi ada banyak contoh di dalam komputer Anda di mana paralelisme digunakan untuk meningkatkan bandwidth secara besar-besaran. Misalnya, kata-kata tidak dibaca sedikit demi sedikit dari memori. Dan pada kenyataannya, cache diisi ulang dalam blok besar. Tampilan raster adalah contoh lain: akses paralel ke beberapa bank memori untuk mendapatkan piksel lebih cepat, secara paralel. Bandwith memori sangat tergantung pada paralelisme.

Perangkat DAC ini disebut-sebut oleh Tektronix sebagai "DAC kecepatan tinggi 10-bit tercepat yang tersedia secara komersial" membuat penggunaan paralelisme untuk membawa data, yang masuk ke dalam DAC lebih dari 320 baris, yang direduksi menjadi 10 melalui dua tahap multiplexing didorong oleh berbagai divisi dari master 12 GHZ clock. Jika DAC 10 bit tercepat di dunia dapat dibuat menggunakan jalur input serial tunggal, maka mungkin akan.

Kaz
sumber
1
+1 untuk menyebutkan kabel pita 50 pin. Salah satu motivasi untuk pergi ke kabel SAS / SATA adalah bahwa kabel lebar mempengaruhi aliran udara di dalam kotak.
jqa
11

Paralel adalah cara yang jelas untuk meningkatkan kecepatan ketika gerbang logika cukup lambat sehingga Anda dapat menggunakan teknik listrik serupa untuk bus / kabel dan transmisi on-chip. Jika Anda sudah mengaktifkan kawat secepat yang dimungkinkan oleh transistor Anda, maka satu-satunya cara untuk menskalakan menggunakan lebih banyak kabel.

Dengan berlalunya waktu, hukum Moore melampaui batasan elektromagnetik sehingga transmisi melalui kabel, atau bahkan bus on-board, menjadi penghambat dibandingkan dengan kecepatan on-chip. OTOH, perbedaan kecepatan memungkinkan pemrosesan yang canggih di ujungnya untuk menggunakan saluran secara lebih efektif.

  • Setelah keterlambatan propagasi mendekati urutan beberapa jam, Anda mulai khawatir tentang efek analog seperti refleksi => Anda perlu impedansi yang cocok di sepanjang jalan (terutama rumit untuk konektor) dan lebih suka kabel point-to-point daripada bus multi-point. Itu sebabnya SCSI membutuhkan penghentian, dan itu sebabnya USB membutuhkan hub, bukan splitter sederhana.

  • Pada kecepatan yang lebih tinggi Anda memiliki beberapa bit dalam penerbangan pada saat tertentu di sepanjang kawat => Anda perlu menggunakan protokol pipelined (itulah sebabnya protokol FSB Intel menjadi sangat rumit; Saya pikir protokol paket seperti PCIe adalah reaksi terhadap kompleksitas ini).

    Efek lain adalah penalti multi-siklus untuk mengalihkan arah aliran sinyal — itulah sebabnya Firewire dan SATA dan PCIe menggunakan kabel khusus per arah mengungguli USB 2.0.

  • Kebisingan yang disebabkan, alias crosstalk, naik dengan frekuensi. Kemajuan tunggal terbesar dalam kecepatan berasal dari penerapan pensinyalan diferensial yang secara dramatis mengurangi crosstalk (secara matematis, bidang muatan tidak seimbang turun sebagai R ^ 2, tetapi bidang dipol turun sebagai R ^ 3).

    Saya pikir inilah yang menyebabkan kesan "serial lebih cepat daripada paralel" - lompatannya begitu besar sehingga Anda bisa turun ke 1 atau 2 pasangan diferensial dan masih lebih cepat dari kabel LPT atau IDE . Ada juga kemenangan crosstalk dari hanya memiliki satu pasangan sinyal di kabel, tapi itu kecil.

  • Keterlambatan penyebaran kawat bervariasi (baik karena panjang kawat sulit untuk dicocokkan pada 90º putaran, konektor dll. Dan karena efek parasit dari konduktor lain) yang membuat masalah sinkronisasi.

    Solusinya adalah untuk mendapatkan penundaan yang bisa disetel pada setiap receiver, dan selaraskan pada saat startup dan / atau terus-menerus dari data itu sendiri. Pengkodean data untuk menghindari goresan 0s atau 1s menimbulkan overhead kecil tetapi memiliki manfaat listrik (menghindari penyimpangan DC, mengontrol spektrum) dan yang paling penting memungkinkan menjatuhkan kawat jam secara bersamaan (yang bukan masalah besar di atas 40 sinyal tetapi merupakan masalah besar bagi kabel serial untuk memiliki 1 atau 2 pasangan, bukan 2 atau 3).

Perhatikan bahwa kita sedang membuang paralelisme di kemacetan - chip BGA saat ini memiliki ratusan atau ribuan pin, PCB memiliki lebih banyak dan lebih lapisan. Bandingkan ini dengan mikrokontroler 40-pin lama dan 2 lapisan PCB ...

Sebagian besar teknik di atas menjadi sangat diperlukan untuk kedua paralel dan transmisi serial. Hanya saja semakin lama kabel, semakin menarik untuk mendorong tingkat yang lebih tinggi melalui kabel yang lebih sedikit.

Beni Cherniavsky-Paskin
sumber