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?
data-transfer
sederhana
sumber
sumber
Jawaban:
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber