Лекция №2. Узлы современного компьютера (1244996), страница 2
Текст из файла (страница 2)
Коммутатор может обеспечивать обмен данными между конечнымипотребителями-источниками. Например, если их трафик не затрагивает оперативную память, то и нетнеобходимости передавать его через Host Bridge (или Северный мост).Шина PCI (Peripheral Component Interconnect bus) - шина для подсоединения периферийных устройств.Стала массово применяться для Pentium-систем.
Частота шины от 20 до 33 МГц (66МГц), теоретическимаксимальная скорость 132/264 Мбайт/с для 32/64 бит. В современных материнских платах частота на шинеPCI задается как 1/2 входной частоты процессора. Может работать параллельно с шиной процессора, необращаясь к ней за запросами. Например, процессор работает себе с кэшем или системной памятью, а в этовремя по сети на винчестер пишется информация.
В современных системных платах с хабовой архитектуройшину PCI отодвинута на периферию, не ущемляя в мощности ее канала связи с процессором и памятью, но ине нагружая транзитным трафиком устройств. Шина PCI (старая) хорошо служила последние 10 лет и будетиграть важную роль в течение еще нескольких. Но, нынешние и «завтрашние» процессоры и устройстваввода-вывода требуют гораздо большей пропускной способности, чем может обеспечить PCI 2.2 или PCI-X,так что пришло время для разработки следующего поколения PCI, которое будет служить в качествестандартной шины ввода-вывода для новых систем.Разработчики шины PCI Express не стали изобретать велосипед и взяли за основу наработки в областисетевого оборудования.
Получилось что-то очень напоминающее Gigabit Ethernet - и на физическом уровне,и на уровне протоколов передачи данных. Первое и самое главное отличие новой шины: PCI Expressявляется последовательной, а значит, четко разнесены уровни представления данных и уровень ихпередачи. Информация, которую необходимо передать, упаковывается в пакеты, куда заносятся данные ополучателе и коды обнаружения/исправления ошибок. Получившийся сплошной поток (где идут вперемешкуданные, приложения и вспомогательная информация) уже передается - абсолютно неважно каким способом через физическую среду.Приемник запрашиваемого устройства, в свою очередь, распаковывает прибывшие пакеты, исправляетошибки или запрашивает повторную передачу, определяет получателя и направляет пакет далее. СтандартPCI Express предусматривает схему организации данных, показанную на рис.
2. PCI Express используеттрадиционную многоуровневую модель, аналогичную сетевой ISO. На самом верхнем уровнерасполагаются прикладные приложения, использующие PCI-устройство. Для них в новой схеме не меняетсяровным счетом ничего - для передачи или приема данных через шину PCI приложения обращаются коперационной системе, причем все старые операционки как работали с PCI, так и будут работать с PCIExpress.Прежде всего, добавлено два новых уровня (Transaction Layer и Link Layer), которые иначе, как TCP и IPне назовешь - выполняемые функции абсолютно те же, что и у "сетевых" аналогов.
Transaction Layerзаведует первоначальной упаковкой данных, передачей их конкретному получателю и гарантиями корректнойдоставки сообщения. Link Layer указывает физический адрес назначения пакета, по которому контроллерышины принимают решение о направлении пакета в конкретную физическую линию, здесь же располагаетсякод обнаружения и исправления ошибок в принятом пакете (CRC), номер пакета, позволяющий отличить одинпакет от другого, и др.Внизу этой пирамиды размещается собственно физическая реализация шины передачи данных - это дведифференциальные пары проводников с импедансом 50 Ом (первая пара работает на прием, вторая - напередачу), данные передаются с использованием избыточного кодирования по схеме "8/10" с исправлениемошибок. Это позволяет исправлять многие простые ошибки, неизбежные на столь высоких частотах, безпривлечения протоколов вышележащих уровней и без лишних повторных передач.
Логический код8В/10Взаменяет исходные символы длиной в 8 бит на символы длиной в 10 бит. Так как результирующиесимволы содержат избыточные биты, то общее количество битовых комбинаций в них больше, чем висходных. Так, в коде 8В/10В результирующие символы могут содержать 1024 битовых комбинации, в товремя как исходные символы - только 256. В результирующем коде можно отобрать 256 комбинаций, которыене содержат большого количества нулей, а остальные считать запрещенными кодами.
Пpи помощиспециального итеpативного алгоpитма (поиск по pешетке) находится "наиболее подходящую"последовательность, испpавляя сбойные биты на "пpавильные". Наглядная аналогия - системы OCR сословаpями: они вполне в состоянии отловить поpожденную пpи pаспознавании текста "ошиВку" и заменить еена "ошиБку".Кроме того, применяется скремблирование, что бы уменьшить долю "постоянных" составляющих в сигнале(не более четырех нулей или единиц подряд, рис. 4). Это обеспечит баланс дифференциальной пары попостоянному току и позволить приемнику уверенно синхронизироваться по фронтам поступающего сигнала,поскольку никакого дополнительного ("внешнего") синхронизирующего сигнала от тактового генератора в PCIExpress не используется. В качестве рабочих напряжений выбраны уровни от 0,2 до 0,4 В для логическогонуля и от 0,4 до 0,8 В для логической единицы.Как и в любой сети, передаваемые данные дополнительно нарезаются небольшими кусочками - кадрами. Притактовой частоте шины 2,5 ГГц мы получим скорость 2,5 Гбит/с.
С учетом выбранной схемы "8/10" выходит250 Мбайт/с, однако многоуровневая сетевая иерархия не может не сказаться на скорости работы, иреальная производительность шины оказывается значительно ниже - всего лишь около 200 Мбайт/с в каждуюсторону. Впрочем, даже это на 50% больше, чем теоретическая пропускная способность шины PCI.Но это далеко не предел: PCI Express позволяет объединять в шину нескольких независимых линийпередачи данных. Стандартом предусмотрено использование 1, 2, 4, 8, 16 и 32 линий - передаваемые данныепоровну распределяются между ними по схеме "первый байт на первую линию, второй - на вторую, ..., n-йбайт на n-ю линию, n+1-й снова на первую, n+2 снова на вторую" и так далее.
Это не параллельная передачаданных и даже не увеличение разрядности шины (поскольку все передающиеся по линиям данныепередаются абсолютно независимо и асинхронно) - это именно объединение нескольких независимых линий.Причем передача по нескольким линиям никак не влияет на работу остальных слоев "пирамиды" иреализуется на "нижнем", физическом уровне.Именно этим достигается прекрасная масштабируемость PCI- Express, позволяющая организовыватьшины с максимальной пропускной способностью до 32x200=6,4 Гбайт/с в одном направлении, под статьлучшим параллельным шинам сегодняшнего дня.PCI Express относится к шинам класса "точка-точка", то есть одна шина может соединять только дваустройства (в отличие от PCI, где на общую шину "вешались" все PCI-слоты компьютера), поэтому дляорганизации подключения более чем одного устройства в топологию PCI Express, включаются хабы и свитчи(коммутаторы), распределяющие сигнал по нескольким маршрутам.
Это тоже одно из главных отличий PCIExpress от прежних параллельных шин. По мере развития электроники можно нарастить тактовую частотушины (до 10 ГГц, что уже вплотную приближается к теоретическому пределу передачи сигнала по меднымсоединениям, оцениваемому в 15–20 ГГц, без ущерба для совместимости с приложениями и драйверами.USBПервая версия протокола USB, название которого расшифровывается как «универсальнаяпоследовательная шина» (Universal Serial Bus), была представлена в 1995 году. USB являетсяпромышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией иустройствами бытовой электроники.
Его разработка поддерживалась такими гигантами, как Microsoft и Intel,HP, которые хорошо понимали необходимость создания нового универсального интерфейса, способногозаменить собой существующее на тот момент разнообразие внешних интерфейсов (параллельный порт,последовательный, порт для подключения джойстика, внешний SCSI — и в итоге они действительно исчезлис материнских плат.Интерфейс USB достаточно прост для понимания. Во главе всего стоит хост-контроллер — корневоеустройство, управляющее всем процессом передачи данных.
К нему подключаются «хабы», представляющиесобой разветвители, и конечные устройства, напрямую или через хабы. Хабы осуществляют маршрутизацию,посылая пакеты только в те порты, которые необходимы для достижения конкретного устройства. Общееколичество устройств в данном дереве может доходить до 128. Разветвители могут быть либо пассивными,либо активными. Хост с определенной периодичностью по очереди опрашивает оконечные устройства,выделяя им определенные временные промежутки, в течение которых те могут передавать данные.Cуществуют несколько типов логических каналов связи, создаваемых между устройствами и хостом:управляющий, предназначенный для передачи коротких команд; канал прерываний, для коротких команд сгарантированным временем доставки; изохронный, с гарантированной скоростью доставки некоторого числапакетов в течение заданного периода, и поточный канал, в котором есть гарантированность доставки, но нерегламентируется скорость и задержки.Соответственно, для разных устройств создаются разные каналы (мышкам и клавиатурам — каналпрерываний, накопителям — изохронный).
А дальше, в течение каждого периода работы шины, по нейпередаются пакеты прерываний, потом изохронные пакеты в требуемом количестве, ну а в оставшееся времяв периоде передаются управляющие и, в последнюю очередь, поточные пакеты. Равноправия в USB нет:какие бы устройства вы друг с другом ни соединяли, одно из них должно играть роль хоста, в то время какостальные — подчиняться ему.На физическом уровне ( кабели) четыре провода: два для передачи данных, «земля» и +5 В для цепейпитания. Скорость - Low Speed (скорость до 1,5 Мбит/с), Full Speed (скорость до 12 Мбит/с) , Hi Speed(скорость до 480 Мбит/с).USB 3.0. Новая версия стандарта принесла новый режим работы, Super Speed, главной особенностьюкоторого стало увеличение максимальной скорости данных на порядок — до 4,8 Гбит/с.
Разработчикивыбрали путь, который можно назвать «ростом вширь». К существующим параллельно контроллерам UHCI иEHCI добавили еще один, ответственный как раз за работу устройств в режиме Super Speed. Таким образомудалось и сохранить совместимость, и добавить новый канал передачи данных, на который «медленные»старые устройства не будут оказывать влияния.Соответствующим образом изменились и кабели с разъемами: к уже имеющимся четырем проводамдобавили еще две пары сигнальных проводов, одна из которых отвечает за передачу данных к контроллеру,а вторая — от него, и одну дополнительную землю.