Почему последовательная передача данных быстрее параллельной?

интуитивно вы могли бы подумать, что параллельная передача данных должна быть быстрее, чем последовательная передача данных; параллельно вы передаете много битов одновременно, тогда как в последовательном вы делаете один бит за раз.

Так что делает интерфейсы SATA быстрее, чем PATA, PCI-E устройства быстрее, чем PCI, и последовательные порты быстрее, чем параллельные?

25
задан Hennes
17.02.2023 0:38 Количество просмотров материала 3314
Распечатать страницу

5 ответов

вы не можете сформулировать это таким образом.

последовательный передачи медленнее чем параллельная передача дана та же частота сигнала. С параллельной передачей вы можете передавать одно слово за цикл (например, 1 байт = 8 бит), но с последовательной передачей только часть его (например, 1 бит).

причина современных устройств использование последовательной передачи является следующим:

  • вы не можете увеличить частота сигнала для параллельной передачи без ограничения, потому что, по дизайну, все сигналы от передатчика должны поступать на приемник в в тоже время. Это не может быть гарантировано для высоких частот, так как вы не можете гарантировать, что время прохождения сигнала равно для всех сигнальных линий (подумайте о разных путях на материнской плате). Чем выше частота, тем более мелкие различия имеют значение. Следовательно приемник должен ждать до тех пор пока все сигнальные линии не установлены -- очевидно, ожидание снижает скорость передачи.

  • еще один хороший момент (с этот пост) это то, что нужно учитывать перекрестные помехи с параллельными линиями сигнала. Чем выше частота, тем заметнее помехи попадает и с ним, тем выше вероятность повреждены Слово и нужно ретранслировать его.1

так, даже если вы переносите меньше данных в цикл с сериалом передача, вы можете пойти гораздо высокее частоты которая приводит к в более высокой сетчатой скорости передачи.


1 это также объясняет, почему UDMA-Cables (параллельное Ата с увеличенной скоростью передачи) имело дважды так много проводов как штыри. Каждый второй провод был заземлен для уменьшения перекрестных помех.

141
отвечен mpy 2023-02-18 08:26

проблема синхронизации.

когда вы отправляете параллельно вы должны измерить все линии в тот же самый момент, как вы идете быстрее размер окна для этого момента становится все меньше и меньше, в конечном итоге он может стать настолько мал, что некоторые из проводов все еще может быть стабилизации в то время как другие закончены, прежде чем вы закончили время.

отправляя серийный номер, вам больше не нужно беспокоиться о стабилизации всех линий, только одна линия. И оно больше цены эффективно стабилизировать одну линию в 10 раз быстрее, чем добавлять 10 линий с той же скоростью.

некоторые вещи, такие как PCI Express, делают лучшее из обоих миров, они делают параллельный набор последовательных соединений (16-кратный порт на вашей материнской плате имеет 16 последовательных соединений). Делая это, каждая линия не должна быть в прекрасной синхронизации с другими линиями, просто пока контроллер на другом конце может переупорядочить "пакеты" данных, поскольку они входят, используя правильный порядок.

на как работает страница PCI-Express делает очень хорошее объяснение в глубине о том, как PCI Express в последовательном может быть быстрее, чем PCI или PCI-X параллельно.


TL;DR версия: легче сделать одно соединение идти в 16 раз быстрее, чем 8 соединений идут в 2 раза быстрее, как только вы получите очень высокие частоты.

68
отвечен Scott Chamberlain 2023-02-18 10:43

параллель по своей природе не медленнее, но она создает проблемы, чего не делает последовательная связь.

но многие из самых быстрых соединений все еще параллельны: шина на передней стороне вашего компьютера обычно высоко параллельна и обычно является одной из самых быстрых связей в компьютере. Соединения оптического волокна могут также быть высок-параллельны путем носить множественные длины волны над одиночным волокном. Это дорого и поэтому не типично, хотя. Самая общая форма гигабита ethernet-это фактически 4 параллельных канала 250 Мбит Ethernet в одном проводе.

самая произнесенная проблема введенная параллелизмом "помеха": когда течение сигнала начинает или останавливает, оно однократно наводит небольшое течение на проводах рядом с ним. Чем быстрее сигнал, тем чаще это происходит, и тем сложнее его отфильтровать. Параллельно с IDE пытаясь свести к минимуму эту проблему, удвоив количество проводов в кабель, и подключении каждый провод на землю. Но это решение только получает вас до сих пор. Длинние кабели, створки и петли, и близость к другим ленточным кабелям всем делают этим ненадежное разрешение для очень высокоскоростных сигналов.

но если вы идете только с одной сигнальной линии, а затем вы можете переключить его так быстро, как ваше оборудование позволит. Оно также разрешает тонкие вопросы синхронизации при некоторые сигналы перемещая более быстро чем другие.

два провода всегда теоретически в два раза быстрее, но каждый сигнальная линия, которую вы добавляете, тонко усложняет физику, чего лучше избегать.

17
отвечен tylerl 2023-02-18 13:00

последовательная передача данных не быстрее, чем параллельный. Более удобно и поэтому развитие шло В делать быстрый внешний серийный взаимодействовать между блоками оборудования. Никто не хочет иметь дело с кабелями, которые имеют 50 или более проводников.

между чипами на печатной плате, последовательный протокол, как I2C, который нуждается только два провода гораздо проще иметь дело с чем маршрутизации многочисленных параллельных трасс.

но есть много примеров внутри компьютера где параллелизм используется для массового увеличения пропускной способности. Например, слова не читаются по одному биту за раз из памяти. И на самом деле кэш пополняется большими блоками. Другим примером являются растровые изображения: параллельный доступ к нескольким банкам памяти для более быстрого параллельного получения пикселей. Полоса пропускания памяти критически зависит от параллелизма.

этого ЦАПа рекламируется Tektronix как "самый быстрый в мире коммерчески доступный 10-битный высокоскоростной ЦАП" делает тяжелый использование параллелизма для внесения данных, поступающих в ЦАП по 320 линиям, которые уменьшаются до 10 за счет двух этапов мультиплексирования, управляемых различными делениями ведущего тактового сигнала 12 ГГц. Если самый быстрый в мире 10-битный ЦАП может быть сделан с использованием одной последовательной входной линии, то это, вероятно, будет.

12
отвечен Kaz 2023-02-18 15:17

параллель был очевидным способом увеличить скорость, когда логические вентили были достаточно медленными, чтобы вы могли использовать аналогичные электрические методы для шин/кабелей и передачи на кристалле. Если вы уже переключаете провод так быстро, как позволяет транзистор, поэтому единственный способ масштабирования-использовать больше проводов.

  • Как только задержка propogation причаливает заказу немного часов, вы начинаете потревожиться о сетноых-аналогов влияниях как отражения => вам нужны сопрягаемые импедансы вдоль путя (специально каверзного для разъемов) и предпочитаете пункт для того чтобы указать проводы над многопунктовыми шинами. Вот почему SCSI необходимо прекращение, и именно поэтому USB нужны концентраторы вместо простой расщепители.

  • на более высоких скоростях у вас есть несколько бит в полете в любой момент по проводу => вам нужно использовать конвейерные протоколы (вот почему протоколы FSB Intel стали ужасно сложными; я думаю, что пакетные протоколы, такие как PCIe, были реакцией на эту сложность).

    еще один эффект-это многоцикловый штраф за переключение направления потока сигнала, поэтому Firewire, SATA и PCIe с использованием выделенных проводов на направление превзошли USB 2.0.

  • шумов, помех, ака, увеличивается с частотой. Самое большое продвижение в скоростях произошло от принятия дифференциальной сигнализации, которая резко уменьшила перекрестные помехи (математически поле несбалансированного заряда уменьшается как R^2, но поле диполя уменьшается как R^3).

    Я думаю, что это то, что вызвало впечатление "серийный быстрее, чем параллельный" -прыжок был настолько большим, что вы могли спуститься до 1 или 2 дифференциальных пар и все равно быть быстрее, чем кабели LPT или IDE. Также была победа перекрестных помех от наличия только одной пары сигналов в кабеле, но это незначительно.

  • задержка propogation провода меняет (оба потому что длины провода трудны для того чтобы сопрягать через повороты 90º, разъемы etc. и из-за паразитных эффектов от других проводников), которые сделали синхронизацию проблемой.

    решение состояло в том, чтобы иметь настраиваемые задержки на каждом приемнике и настраивать их при запуске и/или постоянно из самих данных. Кодирование данных, чтобы избежать разводов от 0С или 1С несет небольшие накладные расходы, но имеет электрический преимущества (во избежание смещения постоянного тока, регулирование спектра) и самое главное позволяет уронить часы проволоку(ы) в целом (что не имеет большого значения на 40 сигналов, но это огромное достижение для последовательного кабеля к 1 или 2 пары, а не 2 или 3).

обратите внимание, что мы are бросив параллелизма в узком - сегодня для BGA чипы сотни или тысячи штырей, PCBs имеют больше и больше слои. Сравните это с старого 40-контактный микроконтроллера и 2 слоя ПХД...

большинство из вышеперечисленных методов стали незаменимыми для и параллельная и последовательная передача. Просто чем длиннее провода, тем более привлекательным становится проталкивание более высоких скоростей через меньшее количество проводов.

9
отвечен Beni Cherniavsky-Paskin 2023-02-18 17:34

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх