Что такое PCI Express
PCI Express (Peripheral Component Interconnect Express, сокращенно - PCIe или PCI-e) - это компьютерная шина, использующая высокопроизводительный протокол последовательной передачи данных. Большинству непосвященных это определение наверняка покажется туманным. Чтобы стало понятней, разберем его более подробно. Компьютерная шина - соединение, служащее для передачи данных между функциональными блоками компьютера. Протокол – в данном случае значит "схема", "алгоритм", "порядок". Последовательная передача данных – понятие более сложное, ему придется уделить больше внимания. Все данные внутри компьютера циркулируют, обрабатываются и хранятся в виде двоичного кода, мельчайшими частичками которого являются биты. Подробнее об этом можно узнать здесь. Передача данных между функциональными блоками компьютера может осуществляться либо параллельным, либо последовательным способом.Параллельная передача данных
Параллельный способ подразумевает использование физического соединения из значительного количества проводников. Передача данных осуществляется "порциями", в которых количество битов соответствует количеству проводников в соединении. Каждая такая порция перед передачей как бы "развертывается в пространстве", разделяясь на биты, каждый из которых проходит к принимающему устройству по отдельному проводнику. Таким образом, каждую единицу времени каждый бит двоичного кода передается по отдельному проводу этого соединения, одновременно (параллельно) с другими битами, передающимися по остальным его проводам. Поэтому схема и называется параллельной. Например, компьютерная шина PATA (IDE), которая в домашних компьютерах не так давно была основным способом подключения жестких дисков, состоит из 40 проводников (на изображении ниже). Из них только 16 используются непосредственно для параллельной передачи данных. За каждую передачу (такт) по такой шине проходит 16 битов информации. Частота шины - 33 МГц, то есть каждую секунду происходит 33 млн. передач. Таким образом, максимальная пропускная способность такого соединения равна 528 млн. битов в секунду (16 х 33 млн.), или, если перевести в мегабайты - 66 Мегабайт / с.
Последовательная передача данных
Влиянию указаных выше негативных факторов в значительно меньшей степени подвержены схемы последовательной передачи данных. Сегодня они являются очень распространенными. Все USB-устройства, современные жесткие диски, SSD, видеокарты, сетевые карты и т.д. взаимодействуют с другим оборудованием с использованием последовательной передачи данных. Способ ее реализации в каждом из этих видов устройств, конечно же, отличается, но принцип везде одинаков. Для последовательной схемы не нужно много проводников. Передача данных осуществляется через один коммуникационный канал по одному биту за каждую передачу, последовательно, один за одним (что-то на подобие азбуки Морзе). На первый взгляд, такая схема кажется менее эффективной, чем в случае с параллельной передачей. Но это далеко не так. Высокая скорость здесь достигается за счет огромной частоты передачи данных (несколько миллиардов в секунду). А для устройств, требующих особо высоких скоростей обмена данными, одновременно используется несколько таких каналов (линий). Например, современные игровые видеокарты подключаются к компьютеру через 16 линий PCIe (PCIe x16).Особенности стандарта PCI Express, его версии
Разработка стандарта PCI Express была начата фирмой Intel. Спецификации первой его версии появились еще в 2002 году. Сейчас развитием PCI Express занимается организация PCI Special Interest Group, в совет директоров которой входят представители основных разработчиков аппаратного и программного обеспечения (Intel, Microsoft, IBM, AMD, Sun Microsystems, HP, NVIDIA и другие). В своем развитии PCIe прошел несколько этапов и уже развился до версии 5.0. PCIe является полнодуплексным протоколом, то есть предусматривает использование независимых друг от друга каналов приёма и передачи данных (устройство может одновременно отправлять и получать данные). Перед отправкой данные кодируются в блоки. Это необходимо для синхронизации передающего и принимающего устройств, а также уменьшения влияния помех. В версиях PCIe 1.0 и PCIe 2.0 используется схема кодирования 8b/10b. То есть, каждый 8-битный блок кодируется в 10-битный, в котором только 80% передаваемых данных являются полезными. Остальные 20% нужны для обеспечения правильной работы протокола. В PCIe 3.0 и боле новых ее версиях данные кодируются по более эффективной схеме 128b/130b (каждые 128 бит кодируются в 130-битный блок). Доля полезного содержания в передаваемых данных здесь составляет уже около 98,46%. Разные версии PCIe отличаются не только способом "упаковки" битов в блоки, но и частотой передачи данных. В PCIe 1.0 она составляет 2,5 ГТ/с (гигатранзакций в секунду), то есть за одну секунду передается 2,5 миллиарда битов. Для лучшего восприятия переведем это в привычные единицы: 2,5*109 Бит / с = 312,5 Мегабайт / с. Учитывая, что только 80% из них являются полезными данными, реальная пропускная способность PCIe 1.0 составляет 250 Мегабайт / с. В PCIe 5.0 частота передачи данных возросла аж до 32 ГТ/с. Переведем это в удобный вид: 32*109 Бит / с = 4000 Мегабайт / с = 4 Гигабайт / с. Поскольку полезные данные составляют 98,46%, реальная пропускная способность PCIe 5.0 равна 3,938 Гигабайт / с. Подробнее об особенностях разных версиях PCIe см. в таблице:Версия PCI Express | Год выхода | Схема кодирования | Скорость передачи | Пропускная способность на x линий: | |||
x1 | x4 | x8 | x16 | ||||
PCIe 1.0 | 2002 | 8b/10b | 2,5 ГТ/с | 250 Мб/с | 1 Гб/с | 2 Гб/с | 4 Гб/с |
PCIe 2.0 | 2007 | 8b/10b | 5 ГТ/с | 500 Мб/с | 2 Гб/с | 4 Гб/с | 8 Гб/с |
PCIe 3.0 | 2010 | 128b/130b | 8 ГТ/с | 984,6 Мб/с | 3,94 Гб/с | 7,88 Гб/с | 15,8 Гб/с |
PCIe 4.0 | 2017 | 128b/130b | 16 ГТ/с | 1,969 Гб/с | 7,88 Гб/с | 15,8 Гб/с | 31,5 Гб/с |
PCIe 5.0 | 2019 | 128b/130b | 32 ГТ/с | 3,938 Гб/с | 15,75 Гб/с | 31,5 Гб/с | 63 Гб/с |
Применение PCI Express в компьютере. Разъемы PCI Express
Контроллер (управляющее устройство) линий PCIe не так давно встраивался только в чипсет (главную микросхему) материнской платы. Но, начиная с 2009 года, контроллер PCIe добавляется производителями также и непосредственно в центральный процессор. Это уменьшает задержки и позволяет процессору более эффективно взаимодействовать с другими устройствами. Версии и количество линий PCIe в разных моделях процессоров и чипсетов отличается. Бо́льшая их часть формируется в разъемы, размещаемые на материнской плате. Они позволяют подключать к компютеру разнообразные устройства (видеокарты, звуковые карты, сетевые карты, Wi-Fi-адаптеры и др.). На материнской плате современного компьютера можно найти разъемы PCIe нескольких видов, отличающихся количеством используемых в них линий PCIe (от х1 до х16 линий). Не зависимо от того, насколько старым является компьютер, и какая версия PCIe в нем используется, эти разъемы всегда выглядят одинаково:на изображении: верхний разъем - PCIe x4, по средине - PCIe x16, внизу - PCIe x1
на изображении - разъем M.2 с запоминающим устройством в нем