Читая о PCIe и PCI, я наткнулся на веб-страницы, подробно рассказывающие о разнице между последовательной и параллельной связью. То, что я узнал, было одно конкретное утверждение, т.е.

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

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

Благодарю.

2 ответа2

3

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

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

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

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

  • Несколько высокоскоростных последовательных шин, в том числе PCI Express и USB, пакетируют поток данных, так что каждый канал может передавать данные самостоятельно, а данные переупорядочиваются контроллером по мере необходимости. Каждый пакет содержит заголовок, содержащий метаданные, а также фактические передаваемые данные. Это означает, что правильные данные могут быть восстановлены, даже если каналы не синхронизированы из-за перекоса тактового сигнала. PCI Express использует эту технику для обеспечения чрезвычайно высокоскоростной связи с параллельными линиями до 32 (хотя на практике не более 16).

0

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

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

Наличие нескольких последовательных соединений, работающих параллельно, не решает проблему, это проблема.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .