Usb 2 autobuz

Usb 2 autobuz

Usb 2 autobuz

Avantajul în viteza pe care magistrala USB 3.0 le-a comparat cu predecesorul este bine cunoscut. Dar, în timp ce dispozitivele SuperSpeed ​​nu au devenit distribuite pe scară largă, le vom compara cu re-che-ni-mi-ul USB 2.0.

Obiectul cercetării va fi consumul de energie și interfața USB a controlerului HCI.

Notă. Terminologia utilizată în articol va deveni mai accesibilă dacă vă familiarizați mai întâi cu mate-ri-a-la "magistrala USB necesită compatibilitate înapoi".

Controlerul EHCI încarcă autobuzul

Este clar că schimbul cu dispozitive USB periferice necesită operațiuni pe magistrala PCI sau o magistrală internă a logicii sistemului. Situația este mai gravă atunci când, indiferent de disponibilitatea dispozitivelor sub-cheie, controlerul USB lansat generează trafic. Acesta este un defect arhitectural în implementarea USB 2.0, care nu este supus unei corecții din mai multe motive.

Verificați prezența traficului de autobuz inițiat de controlerul EHCI, puteți viziona semnalele de solicitare și acordare a arbitrajului pe slotul PCI:

  • REQ # (Cerere, contactați B18 al slotului PCI) - Solicitați arbitrului de la dispozitivul master-bus;
  • GNT # (Grant, pinul A17 al slotului PCI) este confirmarea din partea arbitrului pentru dispozitivul master-bus.

Dacă oricare dintre aceste linii are impulsuri, aceasta înseamnă că magistrala de magistrală generează trafic. Cu mai multă competență pe albastru, dați un semnal pentru Grant, care raportează că accesul este acordat. Dar acest lucru trebuie făcut strict în slotul unde este instalat controlerul. La urma urmei, liniile Cerere și Grant sunt separate pentru fiecare slot individual.

Analiza funcțiilor vitale USB 2.0 ar fi incompletă dacă nu am analiza situația traficului în mediul sistemelor de operare Microsoft. Sa dovedit că Windows suspendă controlerul EHCI, dacă perifericele nu sunt conectate la acesta. Dar lucrul important este că, cu un dispozitiv USB, traficul este întotdeauna acolo. indiferent dacă transferul de date survine sau nu.

Astfel, în general, teza traficului ineficient este confirmată chiar și în sistemele de operare. Dar nu recunosc că suportul driverului pentru Windows a fost puțin mai inteligent decât era de așteptat.

De ce EHCI este aranjat? Conform specificațiilor, dezvoltatorii săi au căutat să reducă comunicarea conducătorului auto cu controlerul la transferul de informații prin memoria RAM, folosind programul de tranzacții periodic interogat de către controlor. Aceasta se face pentru a minimiza accesul șoferului la registrele MMIO ale controlorului, deoarece astfel de apeluri necesită mai multe cicluri și cresc utilizarea procesorului.

Ce mai faci, xHCI?

Evident, atunci când proiectați un controler xHCI, prioritatea era să economisiți energie electrică. Scopul va fi atins dacă dispozitivul nu accesează în mod constant memoria. În schimb, se propune un protocol în care șoferul pregătește blocuri de sarcini în RAM (într-un buffer circular numit CommandRing) și apoi scrie la unul din registrele MMIO ale blocului DoorbellRegisters. Intrarea în acesta informează controlorul xHCI despre blocul de sarcini pregătit în memoria RAM. Și numai după ce xHCI pornește operațiunile de master-bus. Deci, controlorul învață despre noi sarcini de la conducătorul auto, fără a accesa memoria RAM. Ca urmare, consumul de energie al controlerului scade.

Beneficiile neclară promite beneficii evidente

Avantajul EHCI față de xHCI este faptul că numărul operațiilor driverului cu registrele MMIO este redus la minimum, preluând multe cicluri de procesoare.

Avantajul xHCI asupra EHCI este că traficul cu autobuzul este generat numai atunci când execută sarcini de la conducătorul auto, caz în care xHCI economisește traficul autobuzului mai economic.

Această circumstanță poate duce la o bias în măsurarea utilizării procesorului într-un sistem cu controler xHCI:

  1. Rezumând rezultatul la utilizarea unei cifre - procesor, uităm că controlerul EHCI utilizează permanent modul autobuz-master, indiferent de prezența dispozitivelor și a sarcinilor conectate de către șofer. Acest lucru duce la apariția unui trafic suplimentar pe autobuze, încetinind activitatea CPU, chiar dacă sistemul nu are dispozitive USB sau un dispozitiv, dar nu există transfer de date.
  2. Dacă măsuram utilizarea procesorului, estimând cât scade performanța acestuia la efectuarea operațiunilor pe USB, din nou nu luăm în considerare faptul că pentru xHCI performanța procesorului este redusă numai atunci când execută sarcini de la conducătorul auto.

Dezavantajele controlerului xHCI - cheltuiala unui număr mare de cicluri de procesoare atunci când conducătorul auto accesează registrul MMIO Doorbell - este vizibil imediat. Avantajele sale - economisirea traficului de autobuz în modul de așteptare - este, de asemenea, văzută ca un dezavantaj în măsurători, deoarece încetinirea CPU-ului în operațiile USB comparativ cu modul inactiv este prea evidentă.

A dezavantaje EHCI sunt compensate de faptul că într-un număr de chipset-uri utilizate în modul cache trafic EHCI Caching (p.5.19.10 Data Sheet pentru PCH chipset-uri 8 Series și p.5.18.10 - pentru Seria 7). Cu aceasta, puteți evita accesul la memoria RAM pentru o serie de operații USB, ceea ce face posibilă reducerea sarcinii pe magistrala. O Caching utilizare suplimentară bonus EHCI - utilizarea de stat de economisire a energiei de CPU și RAM, cu toate că activitatea de autobuz-maestru EHCI.

Dacă luăm în considerare faptul că astfel de îmbunătățiri au avut loc în procesul de schimbare a generațiilor de chipset-uri, perspectiva de creștere a USB 3.0 este mai roz. Arhitectura de autobuz optimizare pe ordinea de zi și de a folosi lazywriter mecanisme pentru Soneria registru care ajută la neutralizarea neajunsul xHCI disponibile prin reducerea numărului de cicluri de procesor cheltuite pentru înregistrare la MMIO-registru. Și nu te vor face să aștepți. În final, vă spunem la revedere la USB 2.0. Dovada acestui - capacitatea de a sprijini toate tipurile dispozitivului USB (Low Speed, viteză maximă, de mare viteză, Super Speed) xHCI singur controler fără a utiliza controlerele de companie.

Articole similare