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


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

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


124
2018-06-02 16:27


Источник


Может быть, это так, но если да, то как я вижу все эти intel.com/content/www/us/en/chipsets/performance-chipsets/...    он говорит о нескольких дорожках для PCIe, и я искал FDI на wikipedia, и он сказал «2 независимых 4-битных фиксированных частотных канала / канала / труб» и DMI-переговоры по 4 ссылкам. (добавленный ответ Скотта может частично охватывать это) - barlop
Все это сводится к тактовой частоте. - Daniel R Hicks
В существующих трех ответах не упоминается экономика, т. Е. Стоимость, Просто дешевле сделать очень быстрый последовательный интерфейс, чем очень быстрый параллельный интерфейс. Для линий передачи последовательный кабель, который использует только несколько проводов, дешевле, чем параллельный кабель, который будет трудно и дорого экранировать. - sawdust
Еще во времена DB25 а также DB9 соединений, вам посчастливилось нажать 115 кбит / с через последовательный порт в то время как параллельно вы получили 12 Мбит / с с восемью параллельными выводами данных. - Michael Kjörling


Ответы:


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

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

Причина, по которой современные устройства используют последовательную передачу, такова:

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

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

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


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


140
2018-06-02 16:44



Приемщику не нужно ждать, пока все линии будут установлены одновременно - быстрая параллельная передача в настоящее время включает измерение, а затем компенсацию задержки прибытия на каждом проводе отдельно, Это даже относится к коротким бортовым ссылкам, таким как CPU <-> DRAM! Это стало возможным благодаря принятию некоторых последовательных технологий, таких как встроенные часы (например, кодирование 8b / 10b) и / или обучающие последовательности. - Beni Cherniavsky-Paskin
Ваша разработка противоречит вашему заявлению. Вы начинаете заявлять, что серийный номер помедленнее и объясните, почему это происходит быстрее. Я думаю, что это источник замешательства и удивления, как он может отвечать. - Val
@Val Вы не читаете весь ответ. Автобус перемещает больше людей, чем автомобиль, когда они идут с одинаковой скоростью - но из-за того, как работает физика, эти автомобили могут идти путь быстрее, чем автобус, поэтому быстрее перемещать людей, используя автомобили, чем автобусы. То же самое касается линий передачи данных: при одинаковой скорости параллельные кабели перемещают больше данных, чем последовательный кабель; однако мы можем использовать последовательный кабель для работы гораздо быстрее, чем мы можем использовать параллельный кабель. Если мы попытаемся ускорить параллельный кабель, физика заставит данные стать мусором. - Darth Android
На самом деле я вижу вверх тормашками. Это пассажирский (общественный) транспорт, который имеет более высокую пропускную способность, потому что вы не перевозите автомобиль со всеми, хотя люди предпочитают двигаться индивидуально, параллельно с автомобилями и, следовательно, развивать обширную инфраструктуру пригородов вместо того, чтобы упаковывать людей в компактные, 3-й город. Я вижу взрыв серийных бит в качестве поезда. Грубо говоря, отправка пакета стоит дорого, но неважно, сколько данных вы отправляете за пакет. Поэтому в 1000 раз дешевле отправить поезд из 1000 бит, а не 1000 параллельных автомобилей. - Val
@Val Так работает транспорт, да, но это не так, как работает электромагнетизм, и не подходит для аналогии. Здесь никто не говорит об эффективности, просто скорость и пропускная способность. Несмотря на то, что параллельная связь может перемещать больше данных за такт, последовательная связь может перемещать меньше данных за такт, но имеет так много других тактовых циклов в один и тот же таймфрейм, что она по-прежнему имеет более высокую пропускную способность. - Darth Android


Проблема заключается в синхронизации.

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

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

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

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


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


67
2018-06-02 16:40



@barlop Вы можете делать параллель в Ethernet, но ее не очень распространены в потребительском использовании, термин для нее называется Связывание каналов, --Коррекция: Он стал распространенным в потребительском использовании, используя связь беспроводной частоты. я показываю 802.11n может получать тарифы до 600 Мбит / с, они используют до 4 одновременных последовательных потоков. - Scott Chamberlain
@barlop Я дал вам неправильный термин, Channel Bonding - это более общий общий термин, особенно для Ethernet, правильный термин для того, о чем вы просите, называется Агрегация ссылок, - Scott Chamberlain
Rich Seifert писал: «Действительно, многие люди называют IEEE 802.11« Wireless Ethernet ». Хотя это, безусловно, летит перед любым аргументом технологии (он даже не использует тот же формат кадра, что и IEEE 802.3), я могу жить с ним когда разговариваете с людьми, для которых разница в технологии неважная. <- его слова. Я несколько лет назад читал, что он возглавляет и редактирует 802.3x и возглавляет Ethernet II (это, по-видимому, Ethernet DIX, Ethernet 10 Мбит / с), и я читал, что он «активный участник задачи Gigabit Ethernet IEEE 802.3z» Force ". Таким образом, достаточно авторитет, чтобы сказать, что 802.11 не является Ethernet. - barlop
1000BASE-T Ethernet (802.3ab, «гигабитный Ethernet») параллельно использует 4 параллельных провода. - MSalters
Экономика Ethernet отличается от шин, таких как SATA - кабели очень долго стоят и стоят дорого, поэтому вы сосредоточитесь на модернизации электроники в конце. Ранний Ethernet использовал 1 пару проводов, но стандартизовал на 4 пары кабелей, ожидающих будущего использования (в ту эпоху параллельно был очевидный подход к более быстрой передаче). Это оказалось сложным, из-за перекрестных помех, но поскольку кабели уже там, было стыдно не использовать их. В конце концов стало возможным выполнять скрещивание перекрестных помех с помощью очень сложной обработки DSP-> D2A-> ... кабеля ... -> A2D-> DSP. - Beni Cherniavsky-Paskin


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

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

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

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

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


16
2018-06-03 08:47



FSB не входила в состав основных процессоров с момента Intel Core 2, AMD оставила его на несколько лет раньше с дизайном AMD64. Вместо этого оба переместили контроллер памяти на сам процессор и подключили все остальное к CPU с быстрыми / узкими шинами вместо (относительно) широкоформатного / медленного дизайна FSB. - Dan Neely
Методы сокращения перекрестных помех известны на протяжении десятилетий, но, как отмечается в комментариях к вопросам, они вносят дополнительные затраты, а некоторые из них затрудняют проблему синхронизации (витые пары с разными коэффициентами твиста имеют небольшие изменения в импедансе, что означает незначительные вариации скоростей передачи и ...). - dmckee


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

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

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

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


11
2018-06-02 19:25



+1 для упоминания 50-контактных ленточных кабелей. Одной из причин перехода на кабели SAS / SATA было то, что широкие кабели влияли на воздушный поток внутри коробки. - jqa


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

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

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

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

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

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

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

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

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

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

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


8
2018-06-04 22:00