22 години компютърни услуги за бизнеса във Варна и региона

Всичко, което трябва да знаете за PCI Express

от: donsavage / 11.07.2018 05:04
Размер на шрифта: A | A | A
Отпечатване
picture

От първия персонален компютър, който стартира през 1981г., е разполагал с разширителни слотове, където можете да инсталирате допълнителни карти, за да добавите възможности недостъпни за дънната платка. В момента най-срещания слот за разширение е PCI Express. В тази статия ще получите информация как работи PCI Express, видовете слотове, поколенията (ревизиите) и други.

Преди да се впуснем в подробности за PCI Express, първо ще поговорим за РС разширителните слотове и техните основни предизвикателства, за да разберете кое прави PCI Express различна.

По-долу са изброени най-често срещаните слотове за разширение, които са обявени за РС през цялата си история:

Слот

Честота

Битове

Изминато време

Скорост

ISA 4.77 Hz 8 1 4.77 MB/s
ISA 8 MHz 16 0.5 8 MB/s
MCA 5 MHz 16 1 10 MB/s
MCA 5 MHz 32 1 20 MB/s
EISA 8.33 MHz 32 1 33.3 MB/s (16.7 MB/s приблизително)
VLB 33 MHz 32 1 133 MB/s
PCI 33 Hz 32 1 133 MB/s
PCI-X 66 66 MHz 64 1 533 MB/s
PCI-X 133 133 MHz 64 1 1,066 MB/s
PCI-X 266 133 MHz 64 2 2,132 MB/s
PCI-X 533 133 MHz 64 4 4,266 MB/s
AGP x1 66 MHz 32 1 266 MB/s
AGP x2 66 MHz 32 2 533 MB/s
AGP x4 66 MHz 32 4 1,066 MB/s
AGP x8 66 MHz 32 8 2,133 MB/s
PCIe 1.0 x1 2.5 GHz 1 1 250 MB/s
PCIe 1.0 x4 2.5 GHz 4 1 1,000 MB/s
PCIe 1.0 x8 2.5 GHz 8 1 2,000 MB/s
PCIe 1.0 x16 2.5 GHz 16 1 4,000 MB/s
PCIe 2.0 x1 5 GHz 1 1 500 MB/s
PCIe 2.0 x4 5 GHz 4 1 2,000 MB/s
PCIe 2.0 x8 5 GHz 8 1 4,000 MB/s
PCIe 2.0 x16 5 GHz 16 1 8,000 MB/s
PCIe 3.0 x1 8 GHz 1 1 1,000 MB/s
PCIe 3.0 x4 8 GHz 4 1 4,000 MB/s
PCIe 3.0 x8  8 8 GHz 8 1 8,000 MB/s
PCIe 3.0 x16 8 GHz 16 1 00 MB/s

От Parallel към Serial

PCI Express връзката представлява напредък в начина, по който периферните устройства комуникират с компютъра. Тя се различава от PCI шината в много аспекти, но най-важния е начина, по който данните се прехвърлят. PCI Express е друг пример за тенденцията на миграция на трансфер на данни от паралелна към серийна комуникация. Други съвместими интерфейси, използващи серийна комуникация включват USB, Ethernet, както и SATA и SAS.

Преди PCI Express, всички компютърни шини и разширителни слотове използваха паралелната комуникация. При паралелната комуникация няколко бита се трансферират по пътя на информацията по едно и също време. При серийната комуникация, само един бит се трансферира по пътя на иформацията. На първо място, това прави паралелната комуникация по-бърза от серийната, т.к. по-високия брой битове предавани по едно и също време, определя по-бърза комуникация.

При паралелната комуникация обаче, се срещат някои проблеми, които пречат на предаването за достигане на по-висока тактова честота. Колкото по-висока е честотата, по-големи ще са и проблемите с електромагнитните смущения (EMI) и забавяне на разпространението.

Когато електрически ток тече през проводник, около него се създава електромагнитно поле. Това поле може да индуцира електрически ток върху съседния проводник, прокарвайки информация предавана по него. Както паралелното предаване, няколко бита се предават в даден момент, всеки бит участва в предаването използвайки един проводник. Например, 32-битова комуникация (например стандартен PCI слот) е необходимо да има 32 проводника за предаване на данни, без да броим допълнителните контролни сигнала, които също са необходими. Колкото по-висока е честотата, толкова по-голям е проблема с електромагнитните смущения.

Фигура 1: Битовете пристигат в рецептор, който е развален поради

Електромагнитни смущения

Както коментирахме по-рано, всеки бит в паралелната комуникация се предава на отделен проводник, но е почти невъзможно да се направи тези 32 проводника да са със същата дължина на дънната платка. При по-високи честоти, данните предавани по къси проводници пристигат преди данните, които се предават по дълги проводници. Тоест, битовете в паралелната комуникация могат да се забавят. Като следствие, приемащото устройство трябва да изчака всички битове да пристигнат, което представлява значителна загуба в производителността. Този проблем е известен като забавяне на разпространението и става по-лошо с увеличение на тактовата честота.

Фигура 2: Битовете излизат от строя при достигане на рецептора, поради забавяне на разпространението

Проектът на комуникиращата шина използваща серийна комуникация е по-лесно да се изпълняват от един с паралелна комуникация, т.к. са необходими по-малко проводници за предаване на данни. На една типична серийна комуникация са необходими четири проводника – два за предаване на данни и два за получаване, обикновено с технология срещу електромагнитените смущения, наричани заличаване или диференциално предаване. Със заличаването, същият сигнал се предава по два проводника, с втория проводник сигнала се предава „огледално”, в сравнение с оригиналния сигнал, както можете да видите на фигура 3. Разликата между двата сигнала е шума, правейки го много просто за приемника да знае какъв е шума и да го изхвърли.

Фигура 3: Заличаваща технология

Освен осигуряване на по-висока устойчивост на електромагнитните смущения, серийните комуникации не страдат от размножаване на закъсненията. По този начин, те могат да достигнат по-висока тактова честота по-лесно от паралелните комуникации.

Друга важна разлика между паралелната комуникация и серийната комуникация е, че паралелната комуникация обикновено е полу-дуплекс (същите проводници се използват за предаване и получаване) поради високия брой проводници, които са необходими за неговото изпълнение. Серийната комуникация е пълен дуплекс (има отделен набор от проводници за предаване на данни и друг набор за получаване на данни), защото се нуждае от два проводника всеки път. С полу-дуплекс, две устройства не могат да комуникират помежду си по едно и също време. С пълен дуплекс комуникация, двете устройства могат да предават данни по едно и също време. Това са основните причини, поради които инженерите са приели серийна комуникация, вместо паралелната с PCI Express.

Сега можете да се запитате, „Не е ли серийната комуникация по-бавна”? Това зависи от това каква сравнявате. Ако сравнявате паралелна комуникация на 33MHz предаваща 32-бита на такт, тя ще бъде 32 пъти по-бърза от серийна комуникация на 33MHz предаваща един бит. Въпреки това, ако сравните същата паралелна комуникация до серийна комуникация работеща с много по-висока честота, серийна комуникация може да бъде в действителност много по-бърза. Само за сравнение честотната лента на оригинална PCI шина, която е 133MB/s (33MHz x 32bits), с най-ниска пропускателна способност може да се постигне с PCI Express връзка (250MB/s, 2.5GHz x 1bit).

Идеята, че серийна е „винаги” по-бавна от паралелната комуникация идва от старите компютри, които са имали портове, наречени „сериен порт” и „паралелен порт”. По това време, паралелния порт е много по-бърз от серийния. Това се дължи на начина, по който тези портове са били реализирани. Това не означава, че серийна комуникация е винаги по-бавна от паралелната.

Сега ще ви обясним как PCI Express комуникацията работи.

PCI Express връзката се основава на концепцията на “пътека”, която е единичен бит, пълен дуплекс, високоскоростна серийна комуникация. Пътеките могат да бъдат  групирани, за да се увеличи пропускателната способност. Например, когато две устройства използват 4 пътеки за тяхната връзка, това се разглежда като „х4” връзка и ще бъде в състояние да постигне 4 пъти  по-голяма пропускателна способност от единична връзка, т.е. единична пътека. Фигура 4, илюстрира две свързани устройства, използващи  две пътеки, т.е. „х2” връзка. Въпреки, че на теория всяко число от 1 до 32 пътеки, могат да бъдат групирани, най-често срещаните числа са х4, х8 и х16.

Фигура 4: PCI Express x2 връзка

PCI Express 1.0 и 2.0 използват 8b/10b кодираща система (което е същото кодиране използвано от Fast Ethernet, т.е. 100Mbps, мрежи). Това означава, че всеки 8 бита данни се кодират и предават на 10-битово число. Обикновено, за да конвертирате фигура даваща бит за секунда (bps) до байт за секунда (B/s), ви е необходимо да го разделите на осем, т.к. един байт е група от 8 бита. Обаче, заради 8b/10b кодирането, ние трябва да направим това разделяне от 10, а не от 8. Това е причината поради, която честотата на 2.5GHz и 5GHz, х1 пропускателната способност от тези връзки са 250MB/s и 500MB/s съответно, а не 312.5MB/s и 625MB/s.

PCI Express 3.0 използва различна кодираща система, наречена 128b/130b. Както можете да заключите, тази система предава всеки 128 бита на данните като 130-битово число, който предлага далеч по-ниски режийни. За предаване на 128 бита данни, PCI Express 3.0 се нуждае от два допълнителни бита, докато с предишните ревизии, 32 допълнителни бита са необходими (два за всеки осем бита). Поради по-ниските режийни изисквания, PCI Express 3.0 може да постигне двойна PCI Express 2.0 честотна лента с тактова честота от 8GHz, вместо 10GHz.

PCI Express 4.0, който ще бъде реализиран през следващите няколко години, ще запази същото кодиране като PCI Express 3.0, удвоявайки тактовата честота, следователно удвояване на наличната честотна лента.

Revision

Encoding

Clock

Bandwidth (x1)

1.0 8b/10b 2.5 GHz 250 MB/s
2.0 8b/10b 5 GHz 500 MB/s
3.0 128b/130b 8 GHz 1 GB/s
4.0 128b/130b 16 GHz 2 GB/s

 

Както бе обяснено, групирането на пътеките позволява честотната лента да бъде умножена по броя на използваните пътеки. Така, че една х8 връзка с PCI Express 2.0 ще има пропускателна способност от 4GB/s (500MB/s x8), докато една х16 връзка с PCI Express 2.0, ще има пропускателна способност от 8GB/s (500MB/s x16). Една х16 връзка с PCI Express 3.0 ще има пропускателна способност от 16GB/s (1GB/s x16).

Спецификацията на PCI Express позволява слотовете да имат различни физически размери, в зависимост от броя на пътеките, свързани към слота. Виж фигура 5. Това позволява намаляване на размера на пространството, необходимо на дънната платка. Например, ако слот с х1 връзка е необходим, производителя на дънни платки  може да използва по-малък слот, за да спести пространство на дънната платка.

Въпреки това, по-големите слотове може действително  да имат по-малко пътеки от диаграмата показана на фигура 5. Например, много дънни платки имат х16 слотове, които са свързани към х8, х4 или дори х1 пътеки. С по-големи слотове, е важно да знаете, дали физическите им размери наистина съответстват на техните скорости. Освен това някои слотове могат да намалят скоростта си, когато техните пътеки са споделени. Най-често срещаните дънни платки са с два или повече х16 слота. С няколко дънни платки, има само 16 пътеки, свързващи първите два х16 слота за PCI Express контролера. Това означава, че когато инсталирате една единствена видео карта, то тя ще има х16 налична честотна лента на разположение, но когато са инсталирани две видео карти, всяка видео карта ще има х8 честотна лента.

Ръководството на дънната платка, трябва да съдържа тази информация. Но практически съвет е да надникнете в слота, за да видите колко контакта има. Ако видите, че контактите на PCI Express x16 слота са сведени до половината от това, което трябва да бъдат, това означава, че слота физически е х16, но има осем пътеки (х8). Ако в този същ слот, виждате, че броя на контактите е намален до 1/4 , то той действително има четири пътеки (х4). Важно е да се знае, че не всички производители  на дънни платки следват това; някои все още използват всички контакти въпреки, че слота е свързан с по-малък брой пътеки. Най-добрия съвет е да проверите ръководството на дънната платка за правилната информация.

Много известен факт е, че можете да инсталирате всяка PCI Express разширителна карта във всеки PCI Express слот. Например, можете да инсталирате х1 разширителна карта във всеки вид на PCI Express слота; не трябва да бъде инсталирана в х1 слот. Така, че ако имате х4 разширителна карта, но дънната ви платка няма х4 PCI Express слот, няма проблем; просто я инсталирайте в х8 или х16 слот.

Същото важи и за големи карти. Например, можете да инсталирате х16 видео карта в „малък” слот. Единствения недостатък е, че ще има максимална пропускателна способност предоставена от слота; т.е. ако инсталирате х16 видео карта в х4 слот, тя ще  има х4 пропускателна способност. От друга страна, този вид на инсталация може да бъде полезна в някои ситуации, като например асемблиране на компютър с няколко видео карти, за да имате на разположение няколко дисплея и не ви притеснява гейминг производителността.

За постигане на максимална производителност е необходимо и разширителната платка и PCI Express контролера да бъдат с една и съща ревизия. Ако имате PCI Express 2.0 видео карта и инсталирана на система с PCI Express 3.0 контролер, пропускателната способност ще бъде ограничена до PCI Express 2.0.

Фигура 5: Видове PCI Express слотове

Фигура 6: Детайли на PCI и PCI Express слотове на дънна платка

Фигура 7: Разлики между PCI Express, AGP и PCI

 

Източник: Блог за компютри и периферия

Етикети: PCI

Още статии от рубриката

Други интересни статии

Коментари

Трябва да влезете в системата, за да пишете коментари. Вход | Регистрация