Кіріспе

PCI конфигурациялық кеңістігі – Conventional PCI, PCI X және PCI Express шиналарына қосылған карталардың автоматты конфигурациясын жүзеге асырудың негізгі механизмі.

Шолу

PCI құрылғылары конфигурациялық кеңістік деп аталатын регистрлер жиынтығына ие, ал PCI Express құрылғылар үшін кеңейтілген конфигурациялық кеңістікті ұсынады. Конфигурациялық кеңістік регистрлері жад мекенжайларымен байланыстырылады. Құрылғы драйверлері мен диагностикалық бағдарламалық құралдар конфигурациялық кеңістікке қол жеткізуі керек, ал операциялық жүйелер әдетте құрылғы конфигурациялық кеңістігіне қол жеткізу үшін API-лерді пайдаланады. Егер операциялық жүйеде жад арқылы карталанған конфигурациялық кеңістікке сұраулар үшін анықталған әдістер немесе API-лер болмаса, драйвер немесе диагностикалық бағдарламалық құрал операциялық жүйенің негізгі қол жеткізу ережелерімен үйлесімді түрде конфигурациялық кеңістікке қол жеткізу жауапкершілігін алады. Барлық жүйелерде құрылғы драйверлері құрылғының конфигурациялық кеңістігіне қол жеткізу үшін операциялық жүйе ұсынған API-лерді пайдалануға ұсынылады.

Техникалық ақпарат

PCI жергілікті шинасының басқа I/O архитектураларынан басты артықшылығы – оның конфигурациялық механизмі болды. Әдеттегі жад картасы және I/O порт кеңістіктерінен өзге, шинадағы әрбір құрылғы функциясы 256 байттық конфигурациялық кеңістікке ие, оған сегіз биттік PCI шинасы, бес биттік құрылғы және құрылғының үш биттік функция нөмірі арқылы (көбінесе BDF немесе B/D/F деп аталады, шина/құрылғы/функция аббревиатурасы) қол жеткізуге болады. Бұл 256 шинаға дейін, әрқайсысында 32 құрылғыға және әр құрылғыда сегіз функцияға мүмкіндік береді. Бір PCI кеңейту картасы құрылғы ретінде жауап бере алады және кемінде нөлдік функцияны жүзеге асыруы керек. Конфигурациялық кеңістіктің алғашқы 64 байты стандартталған, ал қалғаны жеткізушілер анықтаған мақсаттар үшін қолданылады. Кейбір жоғары деңгейдегі компьютерлер бірнеше PCI доменін (немесе PCI сегментін) қолдайды, әрбір PCI домені 256 шинаға дейін қолдай алады. Конфигурациялық кеңістіктің көбірек бөліктерін ескі пайдаланулармен қақтырыссыз стандарттау үшін, PCI конфигурациялық кеңістігінің қалған 192 байтында мүмкіндіктер тізімі анықталуы мүмкін. Әрбір мүмкіндіктің қандай екенін сипаттау үшін бір байты және келесі мүмкіндікке сілтеме жасау үшін бір байты болады. Қосымша байттардың саны мүмкіндік идентификаторына (ID) байланысты. Егер мүмкіндіктер қолданылса, Статус регистріндегі бит белгіленеді және стандартталған тіркелімдерде анықталған көрсеткіш регистрінде мүмкіндіктердің тізбектелі тізіміндегі біріншісіне сілтеме беріледі. PCI X 2.0 және PCI Express 4096 байтқа дейін кеңейтілген конфигурациялық кеңістікті енгізді. Кеңейтілген конфигурациялық кеңістіктің жалғыз стандартталған бөлігі – кеңейтілген мүмкіндіктер тізімінің басталуы болатын алғашқы төрт байт. Кеңейтілген мүмкіндіктер әдеттегі мүмкіндіктерге ұқсас, бірақ олар кеңейтілген конфигурациялық кеңістіктегі кез келген байтқа сілтеме жасай алады (сегіз бит орнына 12 бит қолдану арқылы), төрт биттік нұсқа нөмірі және 16 биттік мүмкіндік идентификаторына ие. Кеңейтілген мүмкіндік идентификаторлары әдеттегі мүмкіндік идентификаторларымен сәйкес келеді, бірақ олар бөлек тізімдерде болғандықтан шатасу мүмкін емес.

Стандартталған тіркелімдер

Құрылғы ID (DID) және Өндіруші ID (VID) тіркелімдері құрылғыны (мысалы, интегралды схеманы) анықтайды және олар көбінесе PCI ID деп аталады. 16 биттік өндіруші ID-ін PCI SIG тағайындайды. 16 биттік құрылғы ID-ін өндіруші тағайындайды. Барлық белгілі өндіруші және құрылғы ID-лерін жинауға бағытталған тоқтап қалған жоба бар. (Қосымша сілтемелер төменде келтірілген.) Статус тіркелімі қолдау көрсетілетін мүмкіндіктерді және орын алған қателердің түрлерін хабарлау үшін қолданылады. Команда тіркелімі жеке-жеке қосылып немесе өшірілетін мүмкіндіктердің биттік маскасын қамтиды. Бас тіркелімінің мәндері құрылғының функциясына байланысты бас бөлімінің қалған 48 байтының (64 16) әртүрлі орналасуын анықтайды. Яғни, 1-типті бас бөлімдері Root Complex, коммутаторлар және көпірлер үшін, ал 0-типті бас бөлімдері – соңғы нүктелер үшін. Кэш жолының өлшемі тіркелімі құрылғыға жадқа жазу және жою транзакциясын жүзеге асыруға рұқсат беру алдында бағдарламалауы керек. Бұл әдетте процессордың кэш жолының өлшемімен сәйкес келуі керек, бірақ дұрыс параметр жүйеге байланысты. Бұл тіркелім PCI Express үшін қолданылмайды. Ішкі жүйе ID (SSID) және ішкі жүйе өндіруші ID (SVID) нақты үлгіні (мысалы, қосымша картаны) ажыратады. Өндіруші ID чипсет өндірушісіне, ал ішкі жүйе өндіруші ID карта өндірушісіне тиесілі. Ішкі жүйе ID өндірушісі құрылғы ID-мен бірдей сан кеңістігінен ішкі жүйе ID-ін тағайындайды. Мысалы, сымсыз желілік карталар жағдайында чип өндірушісі Broadcom немесе Atheros, ал карта өндірушісі Netgear немесе Hewlett Packard болуы мүмкін. Әдетте, өндіруші ID – құрылғы ID комбинациясы хостқа құрылғыны басқару үшін қандай драйверді жүктеу керектігін көрсетеді, өйткені бірдей VID:DID комбинациясы бар барлық карталарды бір драйвер басқара алады. Ішкі жүйе өндіруші ID – ішкі жүйе ID комбинациясы картаны анықтайды, бұл драйвер картаның жұмысында шағын өзгерістер енгізу үшін пайдалана алатын ақпарат.