3.3 Шинно-мостова архитектура на входно-изходната система. Хъбова архитектура на входно-изходната система.
Шина PCI Express
Тук ще се спрем кратко на една от стандартните шини и следствията от нея. Втората версия на PCI Express 2.0 е обявена от PCI Special Interest Group.
Ключовите атрибути на PCI, като например нейният модел за използване и програмният интерфейс, се съхраняват. В същото време нейната реализация с ограничена пропускателна способност и паралелна архитектура се заменят с последователна. Протоколът на разцепени транзакции (split-transaction protocol) се реализира с поддръжка на пакети, притежаващи набор от атрибути, които определят назначаването на приоритетите и се доставят до целта по оптимален начин. В режим х16 шината може да осигурява скорост до 16[GB/s]. Стандартът е предназначен за широк набор от интерфейси, за да осигури съвместимост със съществуващите системи.
Шината PCI, както и едни от най-добрите следващи нейни версии PCI 2.2 и PCI-X, поддържат компютърните системи повече от 10 години. В множество системи, произведени в последните години обаче се налага използването на нови и по-производителни шини, в резултат на което архитектурата добива следния вид:
Фиг. 1 Традиционна шинно-мостова архитектура
Динамиката в еволюцията на системите е такава, че процесорната шина постоянно се намира в процес на мащабиране, както по честота така и по напрежение. Пропускателната способност на паметта също се увеличава, за да съответства на изискванията на процесора. Съответно, както е показано по-горе на фигурата, поддържащият хардуер в лицето на чипсета обикновено съдържа две части – концентратор на паметта и концентратор за входно-изходната система. По този начин се постига изолиране (отделяне) на динамичната северна част от по-стабилната южна част на системата, към която и остава причислена паралелната PCI шина. Множеството PCI разновидности се оказват несъвместими помежду си. Съвременните приложения са зависими от апаратните средства във входно-изходната система в по-висока степен. Обработката например на потоци от данни от различни аудио и видео източници вече представляват съществена част за мобилните и настолните системи. Много приложения са зависими от събиране и обработка на данни в режим “реално време”, да обработват няколко конкуриращи се потоци от данни от различни източници. Ето защо данните следва да бъдат маркирани по такъв начин, че да може входно-изходната система да им назначава правилен приоритет за обработка.
На фигура 2 са показани (с точка) инициаторите на транзакции в главните потоци от данни и целевите устройства (със стрелки). Потоците могат да бъдат в двете направления. От рисунката може да се направи изводът, че главен компонент в системата е оперативната памет.
Фиг. 2 Потоци от данни в компютърната система
Анализът на натрупания опит води до следните изисквания към новото поколение входно-изходни системи:
Универсалност: изискване за унификация на входно-изходната архитектура за настолни, мобилни, сървърни, вградени и комуникационни системи. По този начин се поддържат множество пазарни ниши и “плуващи” приложения ;
Ниска стойност: цената следва да бъде съвместима с тази, на съществуващите системи с шини от стандарта PCI ;
Програмният модел да е съвместим със съществуващия PCI модел: операционни системи, съвместимост на PCI конфигурацията и интерфейс на системните драйвери ;
Производителност: увеличена производителност чрез увеличаване на честотата и броя на каналите за предаване на данни ;
Поддръжка на множество платформени крайни интерфейси от тип точка-точка, платка към платка и към работна станция чрез конектор.
Допълнителни характеристики. Работа с различни типове данни, управление на захранването, на качеството на обслужването. Поддържа технологии “хот-плъг” и “хот-суап”. Прави системата свободно разширяема. Притежава основен механизъм за внедряване на комуникационни приложения;
Осигурява кохерентност на връзките в памети, в многопроцесорни и в клъстерни системи.
Последните достижения във областта на високо скоростните и в същото време малко контактни технологии LPC (low-pin-count), наричани още “точка-точка”, предлагат възможности за увеличаване на пропускателната способност на входно-изходните шини. Множествените съединения от тип “точка-точка” водят след себе си появата на нов елемент в топологията на системата за вход-изход – комутатор (switch), както е показано на фигура 5. Разбира се, за да е ефективен комутаторът, той следва да свързва стандартни интерфейси.
Фиг. 3 Архитектура с комутатор
Интересното в тази архитектура е това, че тя осигурява обмен на данни между крайните потребители-източници по такъв начин, че организираният от нея трафик по никакъв начин не засяга оперативната памет, ако те не изискват това специално, т.е. трафикът не засяга схемата Host Bridge.
Следващите рисунки показват типичното използване на архитектура PCI Express.
Фиг. 4 PCI Express архитектури с комутатори
Архитектурата PCI Express
Архитектурата PCI Express се определя от няколко слоя, показани на следващата фигура 7.
Фиг. 5 Слоеве в PCI Еxpress архитектура
За осигуряване на съвместимост със съществуващите приложения и драйвери е запазен моделът за PCI адресация. За конфигуриране PCI Еxpress използва стандартен механизъм Plug-and-Play. Програмното ниво генерира заявки за четене и запис, които се предават от нивото на транзакциите към периферните устройства. Транзакциите използват пакетно ориентиран протокол с разцепване (split-transaction). Нивото “Link” добавя последователния номер и контролния код CRC, с което се осигурява надеждността при предаване. Физическото ниво се състои от два канала, които са реализирани като предаваща и приемаща двойка.
Физически слой
Физическият слой, в който се представят данните, отговаря за достоверността при тяхното приемане в крайната точка. На това ниво на всеки пакет се присвоява пореден номер и се добавя контролна сума CRC. След приемане на данните в кодиран вид контролната сума се проверява и ако пакетът е приет с грешки, се формира заявка за повторно предаване на пакета.
Основният канал в PCI Express се състои от две ниско волтови диференциални усукани двойки – предаваща и приемаща двойка (фигура 6). Едновременното изменение на потенциалите в двата проводника позволява да се намали влиянието на електромагнитните шумове.
Фиг.6 Предаваща и приемаща двойка в PCI Express връзка
Физическият слой може да се раздели на два подслоя:
1. Подслой на достъпа към средата за предаване на данни (PMA – Physical Media Attachment Sublayer) ;
2. Подслой на физическото кодиране (PCS – Physical Coding Sublayer) .
Подслоевете формират интегрирания трансивер, чиято структура е показана на следващата фигура:
Фиг. 7 Физически слой на шина PCI Express
Поднивото на физическото кодиране е свързано с 16-битов интерфейс с по-високото ниво за достъп до средата за предаване на данни (MAC – Media Access Level). Ето защо, първоначално получената по паралелния 16-битов интерфейс, порция данни се разделя на 2 групи от по 8 бита, върху които се прилага схемата за последователно кодиране 8b/10b. Тактовата честота на 16-битовия интерфейс е 125[MHz]. За 8-битовия става 250[MHz], а при предаване на 10-битовия код по последователната линия честотата става 2,5[GHz], както е илюстрирано на следващата фигура.
Фиг. 8 Преобразуване на данните във физическия слой при предаване
При приемане на данните на физическо ниво те претърпяват преобразуване в обратен ред. От диференциалната двойка сигналът постъпва на диференциален приемник, от изхода на който се сглобява 10-битовата комбинация. Паралелното предаване на тази комбинация става с 10 пъти по-ниска честота – 250[MHz]. От нея след логическата схема на декодера се получава 8-битовата комбинация. Изчакват се 2 такива комбинации, сглобява се 16-битовата дума, която се предава по 16-битовия интерфейс с честота, която е 2 пъти по-ниска, т.е. тя е 125[MHz].
Фиг. 9 Преобразуване на данните във физическия слой при приемане
Когато се използва мащабиране в шината (х2, х4, х8, x16, x32) управлението на потока данни се контролира от специален PCI Express елемент, който го разпределя към отделните физически устройства. Аналогичен елемент обединява различни потоци в един. Отделните байтове в канала се разпределят, както е показано на следващата фигура.
Фиг. 10 Организация на PCI Express шината при наличие на няколко магистрални линии
Предаваните данни се кодират. Методът за кодиране се нарича “8/10” и се причислява към групата на кодовете с излишък. Последователността от битове се групира в порции по 8 бита всяка, т.е. в байтове. Всеки байт се превръща в 10-битова комбинация според схемата, представена на следващата фигура:
Фиг. 11 Схема на преобразованието 8/10
Представената схема е разработена от IBM и ESCON (1983 година) и позволява да се постигне баланс на напрежението на постоянния ток в усуканата двойка проводници при предаване. Балансиране означава, че в дадена последователност от битове, която се предава по връзката, броят на нулите е равен на броя на единиците. По този начин не се позволява на един от проводниците на връзката да натрупва по-голямо количество носители на електричество от другия, т.е. двете нива на напрежението да са еднакви по абсолютна стойност по отношение на нулевия потенциал. Некодираната информация е групирана по 8 бита (означени на фигурата със символите A, B, C, D, E, F, G, H) и допълнена с контролната променлива Z. Последната може да приема стойност D в случая на обикновени символни данни (променлива D-тип) или стойност K, в случай на специални символи (променлива K-тип). В съответствие със схемата, тези символи се преобразуват във символи за предаване (Transmission Character), т.е. в двоична комбинация с дължина 10 бита (a, b, c, d, e, i, f, g, h, j). Правилата в частност предполагат, че предаваният символ от D-тип трябва да съдържа не по-малко от 4 нули и единици, при това броят на наредените подред нули и единици не трябва да са повече от 4. Всеки предаван символ, който има смисъл, има своето означение <Zxx.y> в съответствие със следната уговорка: Z – контролна променлива; xx – представлява десетичната стойност на двоичното число, образувано от битовете (E,D,C,B,A); а y – е десетичната стойност на двоичното число, образувано от битовете (H,G,F). Така например, предаваният символ за специалния (т.е. от K-тип) байт 10111100, се означава <K28.5>. Това е символът “запетая” (comma). Такива са още <K28.1> и <K28.7>. Кодовата схема може да се изрази по следния начин:
``
По-подробно кодовите съответствия са дадени в следващите таблици.
Таблица 1 Кодиране на 3 бита в 4 бита:
Таблица 2 Кодиране на 5 бита в 6 бита:
С цел да се създаде балансиран поток от данни, е приложена концепцията за уравновесяване (изравняване) броя на нулите и единиците в кодовите комбинации. Несъответствието (или още дисбалансът) на даден пакет се определя чрез разликата между броя на единиците и броя на нулите. Ако в един пакет разликата между броя на единиците и на нулите е равна на нула, то той се нарича неутрален. Ако 4-битовите и 6-битовите комбинации са неутрални, комбинираните 10-битови данни ще бъдат също в неутрално
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте