Домашняя » как » Почему последовательная передача данных быстрее, чем параллельная передача данных?

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

    Соединения с жестким диском SATA быстрее, чем у старых соединений с жестким диском PATA, и то же самое можно сказать о внешних кабельных стандартах, но это противоречит интуиции: почему параллельная передача не будет быстрее?

    Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..

    Вопрос

    Считыватель SuperUser Modest интересуется скоростью передачи данных параллельных и последовательных соединений:

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

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

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

    Ответ

    Участник SuperUser Mpy предлагает некоторое представление о природе типов передачи:

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

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

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

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

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

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

    Скотт Чемберлен повторяет ответ Myp и развивает экономику дизайна:

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

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

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

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

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

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


    Есть что добавить к объяснению? Звук выключен в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.