Технология шины PCI Express


Производительность новой шины для варианта х1 составляет 250 Мб/с в каждую сторону. Для сравнения, у обычной PCI 33 МГц – 133 Мб/с и только в одном направлении. Но частота PCI Express выше примерно в 75 раз, то есть около 2.5 ГГц. Именно это не давало разработать подобную шину ранее, так как не было соответствующих технологий. Стоит добавить к этому, что новая шина разрабатывалась как открытый стандарт, то есть ее могут использовать все производители без каких-либо дополнительных затрат.

При чем здесь Ethernet?

Итак, вышеназванная рабочая группа Arapahoe, не долго думая, взяла за основу технологию обычных ЛВС (локальных вычислительных сетей), в частности, сам принцип передачи информации по последовательным (в ЛВС параллельный вариант недопустим из-за расстояний, поэтому сети изначально стоились по последовательной технологии) линиям связи в виде пакетов, похожих на сетевые пакеты Ethernet. Схожесть наблюдается во многом, начиная от структуры организации PCI Express, практически повторяющей модель взаимодействия OSI, и заканчивая вложением пакетов на каждом уровне в поле данных более низкого уровня с добавлением заголовка и некоторых служебных полей (где, кстати, указываются адреса устройств отправителя и получателя, ну прямо как в Ethernet).

Куда идут пакеты?

Главное отличие последовательности шины – это четкое разделение уровней представления данных и их передачи. В параллельных шинах, таких как PCI, данные передаются по различным проводникам одновременно со служебной информацией (адреса, контрольная сумма и т.д.), то есть данные отправляются в прямом виде. При последовательном варианте (PCI Express) данные передаются в пакетах, и сказать заранее, что именно передается, невозможно, там могут быть данные, могут быть адреса, служебные запросы и т.д. Причем данные посылаются в пакетах маленькими кусочками, и увидеть, что именно отправлено, можно лишь после сборки этих кусочков в единое целое. Но сборка производится только на устройстве-получателе, а пакеты до него идут независимо, и даже могут идти разными путями – именно так сделано в вариантах шины PCI Express 2x и более. Пакеты передаются по нескольким не связанным друг с другом шинам примерно по такой схеме: для шины PCI Express 4x, в которой, соответственно, реализовано четыре канала передачи данных, первый пакет на передачу будет отправлен по первому каналу, второй – по второму, третий – по третьему, четвертый – по четвертому, а вот пятый – снова по первому каналу и т.д. Причем каждый канал работает независимо от других, за счет этого и достигаются столь большие скорости передачи данных.

Приемник, соответственно, получает пакеты, распаковывает их, проверяет на правильность и либо направляет далее, либо делает запрос на повтор, либо обрабатывает полученный запрос и т.д. Собственно последовательность надо понимать как передачу всей информации (данные, адреса, контроль суммы и т.д.) по одним и тем же каналам связи, а не побитно (хотя в PCI Express это именно так).


<<Предыдущая страница  Следующая страница>>

"Железо"
www.xaker.ru

Hosted by uCoz