Martin Rowe, Senior Technical Editor — Test & Measurement World, 3/1/2007
Когда в январе 2007 года анонсировалась версия 2.0 стандарта PCI Express (PCIe),
PCI Special Interest Group (PCI-SIG) заявила, что новая версия “удваивает внутрисистемную скорость с 2,5 GT/s до 5 GT/s.” Большинство из нас привыкли видеть скорость шины, указанной в Gbps, или гигабит в секунду, но GT/s означает gigatransfers (гигапереносов) в секунду.
Какая же разница?
Разница связана с кодированием данных. Поскольку PCIe является последовательной шиной с тактовой частотой встроенной в данные, она должна обеспечить достаточное количество переходов (от 1 к 0 и от 0 к 1), которые в приемнике служат для восстановления тактовой частоты. Для увеличения количества переходов, PCIe использует “8b/10b” кодировку, в которой каждые восемь бит кодируется в 10-битный символ, который затем декодируются приёмником. Таким образом, шина для переноса 8 бит данных передаёт 10 бит.
Если посмотреть на одну PCIe 1.1 lane, двунаправленная шина может передать 2,5 Гбит/с в каждом направлении, или 5 Гбит/с в общей сложности. И потому что шина должена передать 10 бит закодированных данных на каждые 8 битов полезных данных, эффективная скорость вычисляется:
5 Гбит/с * (8/10), или 4 Гбит/с
Из этого следует то, что 16-ти lane-овая PCIe 1.1 шина может передавать 80 Гбит/с кодированных данных или 64 Гбит/с в полезных данных. Поскольку PCIe 2.0 удваивает скорость передачи данных, то одна lane может передавать 5 Гбит/с незакодированных данных в каждом направлении, или 10 Гбит/с в незакодированных данных в целом. А это 8 Гбит/с полезного потока данных. Таким образом, 16-ти lane-овая PCIe 2.0 шина передает 160 Гбит/с незакодированных данных, которые содержат 128 Гбит/с полезного потока данных. А это значит 16 Гбайт/с.
Итак, когда PCI-SIG объявила о новой скорости 5 GT/s, она имела ввиду сыре данные — количество бит/с, что шина может переносить, или передавать. The encoding process reduces the rate of useful data transferred over the bus to 80% of the bus’s raw speed. Факт кодирования снижает долю полезной информации, передаваемой через шину до 80% от сырой скоростной ёмкости шины. Другими словами 2 бита из десяти тоесть 20% это (потери) издержки протокола.