Підключення жорсткого диска SATA швидше, ніж старі підключення жорсткого диска PATA, і те саме можна сказати про стандарти зовнішніх кабелів, але це протиінтуїтивно: чому б паралельна передача не була швидшою?
Сьогоднішня сесія запитань і відповідей надійшла до нас люб’язно від SuperUser - підрозділу Stack Exchange, угруповання веб-сайтів із питань та відповідей на основі спільноти.
Питання
Зчитувач SuperUser Modest цікавиться швидкістю передачі даних паралельних та послідовних з'єднань:
Інтуїтивно ви думаєте, що паралельна передача даних повинна бути швидшою, ніж послідовна передача даних; паралельно ви передаєте багато бітів одночасно, тоді як послідовно ви робите по одному біту за раз.
То що робить інтерфейси SATA швидшими, ніж PATA, пристрої PCI-e швидшими, ніж PCI, а послідовні порти швидше, ніж паралельними?
Незважаючи на те, що легко впасти в аргументи, що SATA новіший за PATA, на роботі повинен бути більш конкретний механізм, ніж просто вік.
Відповідь
Співавтор SuperUser Mpy пропонує деяке уявлення про природу типів передач:
Ви не можете сформулювати це так.
Послідовна передача є повільніше ніж паралельна передача, враховуючи однакова частота сигналу . При паралельній передачі ви можете передавати одне слово за цикл (наприклад, 1 байт = 8 біт), але при послідовній передачі лише його частину (наприклад, 1 біт).
Причина, по якій сучасні пристрої використовують послідовну передачу, полягає в наступному:
- Ви не можете без обмежень збільшити частоту сигналу для паралельної передачі, оскільки за задумом всі сигнали від передавача повинні надходити до приймача в в той же час . Це не може бути гарантоване для високих частот, як і ви не можете гарантувати, що час проходження сигналу дорівнює для всіх сигнальних ліній (подумайте про різні шляхи на материнській платі). Чим вище частота, тим менші різниці мають значення. Отже, приймач повинен чекати, поки всі сигнальні лінії не влаштуються - очевидно, очікування знижує швидкість передачі.
- Ще один хороший момент (від цей пост ) - це те, що потрібно враховувати перехресні перешкоди з паралельними сигнальними лініями. Чим вище частота, тим виразніше перехресні перешкоди стають, а разом із цим і вища ймовірність пошкодженого слова та необхідності його повторної передачі. [1]
Отже, навіть якщо ви передаєте менше даних за цикл із послідовною передачею, ви можете перейти на набагато вищі частоти, що призводить до вищої чистої швидкості передачі.
[1] Це також пояснює, чому UDMA-кабелі (Паралельний ATA із збільшеною швидкістю передачі) мав удвічі більше проводів, ніж штифтів. Кожен другий провід був заземлений, щоб зменшити перехресні перешкоди.
Скотт Чемберлен повторює відповідь Майпа і розширює питання економіки дизайну:
Проблема полягає в синхронізації.
Коли ви надсилаєте паралельно, ви повинні виміряти всі лінії в той самий момент, оскільки ви рухаєтеся швидше, розмір вікна за цей момент стає все меншим і меншим, з часом він може стати настільки маленьким, що деякі дроти все ще можуть стабілізуватися тоді як інші закінчені до того, як у вас закінчився час.
Надсилаючи послідовно, вам більше не потрібно турбуватися про те, що всі лінії стабілізуються, лише один рядок. І економічно вигідніше зробити так, щоб одна лінія стабілізувалася в 10 разів швидше, ніж додавати 10 рядків з однаковою швидкістю.
Деякі речі, такі як PCI Express, роблять найкраще з обох світів, вони виконують паралельний набір послідовних з'єднань (16-портовий порт на материнській платі має 16 послідовних з'єднань). Роблячи це, кожен рядок не повинен ідеально синхронізуватися з іншими рядками, точно до тих пір, поки контролер на іншому кінці може впорядковувати “пакети” даних у міру надходження, використовуючи правильний порядок.
Сторінка "Як працює матеріал" для PCI-Express робить дуже гарне пояснення в глибині того, як PCI Express у послідовному режимі може бути швидшим, ніж PCI або PCI-X паралельно.
TL; версія DR: Зробити одне з’єднання простішим у 16 разів швидше, ніж 8 з’єднань в 2 рази швидше, як тільки ви дійдете до дуже високих частот.
Є що додати до пояснення? Звук у коментарях. Хочете прочитати більше відповідей від інших досвідчених користувачів Stack Exchange? Ознайомтесь із повним обговоренням тут .