Кіріспе

Бағдарламалық интерфейс

Хост контроллер интерфейсі (HCI) – USB немесе IEEE 1394 аппараттық құрылғылары үшін хост контроллердің бағдарламалық жасақтамадағы хост контроллер драйверімен байланысуын қамтамасыз ететін регистрлік деңгейдегі интерфейс. Драйверлік бағдарламалық қамтамасыз ету әдетте жеке компьютердің операциялық жүйесімен бірге келеді, бірақ микроконтроллер сияқты арнайы қолданысқа бағытталған құрылғыларда да жүзеге асырылуы мүмкін. Кеңейту картасында немесе аналық плата контроллерінде бұл көптеген арнайы логиканы қамтиды, аналық плата контроллерінің чипіндегі цифрлық логикалық схемалармен қатар, жоғары жылдамдықты дифференциалдық сигналдарды басқаратын аналогтық тізбектерді де қамтиды. Бағдарламалық жағынан, оған құрылғы драйвері (Хост контроллер драйвері немесе HCD деп аталады) қажет.

Хост контроллер интерфейсін ашу

Ашық хост-басқарушы интерфейсі (OHCI) – ашық стандарт. IEEE 1394 (сонымен қатар FireWire; i. LINK немесе Lynx деп белгілі) картасына қолданылғанда, OHCI картаның компьютерге стандартты интерфейсті қолдайтынын және барлық заманауи операциялық жүйелермен бірге келетін OHCI IEEE 1394 драйверлерімен пайдаланыла алатынын білдіреді. Картада стандартты OHCI интерфейсі болғандықтан, операциялық жүйеге картаны кім жасағанын немесе оның қалай жұмыс істейтінін алдын ала білудің қажеті жоқ; ол карта стандартты протокол бойынша анықталған командалар жиынтығын түсінеді деп сенімді түрде қарастыра алады.

Хост контроллер интерфейсін ашу

USB үшін OHCI стандарты IEEE 1394 үшін OHCI стандартына ұқсас, бірақ тек USB 1.1 (толық және төмен жылдамдықтарды) қолдайды; осының салдарынан оның регистрлік интерфейсі мүлдем басқаша. UHCI-мен салыстырғанда, ол басқарушыға көбірек интеллект қосады, демек тиімдірек жұмыс істейді; осы себепті ол жасалды. Егер компьютер Intel немесе VIA өндірмеген USB 1.1 немесе x86 USB 1.1 контроллерін қолданса, онда ол, әдетте, OHCI-ді пайдаланады (мысалы, OHCI NEC чипсетіне негізделген PCI карталарында көп кездеседі). Ол UHCI-ге қарағанда зияткерлік меншік құқығында шектеулер аз. Ол тек 32 биттік жад адрестеуді қолдайды, сондықтан 64 биттік операциялық жүйемен жұмыс істеу үшін IOMMU немесе есептеу қуаты жоғары буфер қажет. OHCI компьютердің қалған бөлігімен тек жадқа бейнеленген I/O арқылы байланысады, сондықтан 64 биттік операциялық жүйемен жұмыс істеу үшін IOMMU немесе есептеу қуаты жоғары буфер қажет. UHCI портқа бейнеленген I/O және жадқа бейнеленген I/O арқылы конфигурацияланады, сондай-ақ күйді жаңарту және жіберуге немесе алуға қажетті деректерді сақтау үшін жадқа бейнеленген I/O қажет. Бұл USB 2.0-ға қолданылатын жоғары жылдамдықты контроллер стандарты. Алдыңғы UHCI және OHCI негізделген жүйелер қажеттіден артық күрделілік пен шығындарға әкелді. Осының нәтижесінде USB Implementers Forum (USB IF) EHCI үшін ашық спецификацияны талап етті. Intel EHCI сәйкестік сынағын жүргізіп, меншік ерекшеліктердің енуіне жол бермеді. Бастапқыда жоғары жылдамдықты порттары бар компьютерде екі контроллер болды: біреуі төмен және толық жылдамдықты құрылғыларды, ал екіншісі жоғары жылдамдықты құрылғыларды басқарды. Мұндай жүйелерде әдетте EHCI және OHCI немесе UHCI драйверлері болды. UHCI драйвері Intel немесе VIA чипсеттерінің USB хост контроллерлері үшін негізгі тақтада немесе компьютердің кеңейту шинасына қосылған VIA дискретті хост контроллерлері үшін төмен және толық жылдамдықты интерфейстерді қамтамасыз етеді. OHCI драйвері негізгі тақта чипсеттерінің басқа өндірушілерінің интеграцияланған USB хост контроллерлері немесе компьютердің кеңейту шинасына қосылған дискретті хост контроллерлерінің USB порттары үшін төмен және толық жылдамдықты функцияларды қамтамасыз етеді. EHCI драйвері негізгі тақтадағы немесе дискретті USB контроллеріндегі USB порттары үшін жоғары жылдамдықты функцияларды қамтамасыз етті. Жаңа жабдықтар барлық порттарды ішкі "жылдамдық сәйкестендіру" торабы (RMH) арқылы бағыттайды, ол толық және төмен жылдамдықта жұмыс істейтін тікелей қосылған порттарды қамтитын EHCI контроллеріне ұсынылған жоғары жылдамдықты трафикті және осы жылдамдықтарда жұмыс істейтін порттар күтетін толық немесе төмен жылдамдықты трафикті түрлендіреді, бұл EHCI контроллеріне осы құрылғыларды басқаруға мүмкіндік береді. EHCI бағдарламалық интерфейс спецификациясы дерек құрылымдарының 32 биттік және 64 биттік нұсқаларын анықтайды, сондықтан жылдамдық сәйкестендіру торабы орнатылса, 64 биттік операциялық жүйемен жұмыс істеу үшін қайту буфері немесе IOMMU қажет емес, әйтпесе UHCI немесе OHCI спецификацияларын қолданатын қосымша контроллерлерді пайдалану керек, олардың екеуі де 32 биттік спецификациялар.

Кеңейтілетін хост контроллері интерфейсі

Кеңейтілетін хост контроллері интерфейсі (xHCI) – бұрынғы стандарттармен салыстырғанда жылдамдық, қуат үнемділігі және виртуализацияны жақсартатын ең соңғы хост контроллері стандарты. Мақсаты UHCI/OHCI/EHCI-ді алмастыратын USB хост контроллерін анықтау болды. Ол барлық USB құрылғыларының жылдамдықтарын қолдайды (USB 3.1 SuperSpeed+, USB 3.0 SuperSpeed, USB 2.0 Low, Full және High speed, USB 1.1 Low және Full speed).

Виртуалды хост контроллер интерфейсі

Виртуалды хост контроллері интерфейсі (VHCI) – физикалық құрылғылармен сүйенбеген виртуалды USB құрылғыларын экспорттай алатын виртуалды контроллер. Мысалы, Linux жүйесінде VHCI контроллерлері USB/IP протоколын пайдаланып, басқа машиналардан USB құрылғыларын қосу үшін қолданылады.

USB4 хост интерфейсі

USB4 спецификациясында анықталған хост интерфейсі. Ол операциялық жүйеге USB, DisplayPort, PCI Express, Thunderbolt немесе хосттан хостқа байланыс үшін USB4 хост маршрутын басқару мүмкіндігін береді.