виртуализация USB
Както е известно, основната новост USB 3.0 спецификацията. е била да се увеличи скоростта на данни до 5.0 Gbit / сек в режим SuperSpeed. чрез USB-устройства също се подобрява от пристанището, добавя механизми за подобряване на ефективността на дискове свързани чрез USB-автобус. Но огромният потенциал на новия стандарт не се ограничава до най-високите постижения на технологиите. Документът дава ясна перспектива за прилагане на механизъм за виртуализация USB-контролер.
Степента, в която проблемът за виртуализация е от решаващо значение за лични платформи? С други думи: колко важно е и кой има нужда? Нека не бързаме с изводите. Ние само се отбележи, че все още решаването на тези проблеми е поверена на специален тип оборудване AnywhereUSB. Digi International производство. В резултат на това потребителят получава USB над IP и наземно-недружелюбен цена на такава цена, сравнима devaysa платформа.
Спецификация USB 3.0 премахва това проклятие и процес на размразяване допълнително виртуализация Universal Bus. Въвеждането на новия стандарт изисква изграждането на модерна хост контролер. Така че имаше един USB 3.0 xHCI (разтегателно интерфейс за хост контролер). Неговите разработчици първоначално оптимизирани контролер архитектура в подкрепа на виртуализация, създаване на нов тип устройство, често се нарича роден споделени устройства.
На Co SR-IOV и Intel VT-х
Говорейки за периферни устройства за виртуализация, ние често използваме формулировката: надзора даде контролера гост на разположение на проблема или ръководител емулира виртуален контролер за гостите на проблема. Помислете за характера на тези операции на ниско ниво.
Оптимизация единица xHCI MMIO
От горното следва, че ако в рамките на една страница, размерът на 4 килобайта има поне един случай, лечението, в която искате да заснемете, страницата ще трябва да го маркирате като не присъства и да я използват за механизма на софтуер за емулация.
Сега нека да си припомним, че USB 3.0 контролер xHCI регистри са разделени в две групи:
- Ниско-тъч регистри. Тези регистри лечение са редки, те могат да подражават на софтуера, без компромис с качеството. В нашия пример, блокче с xHCIOperationalRegisters регистри.
- Висока докосване регистри. тези регистри инверсия се случва бързо, така че те трябва да служат в хардуера, с помощта на SR-IOV. В нашия пример, блок xHCI Runtime Регистри Регистри.
метод за оптимизация е проста и очевидна - Място регистрира две от споменатите групи по различно на 4 килобайта блокове. В този случай, механизми виртуализация включени в централния процесор (например, Intel VT-х) като се използва 4-Kbyte обяснения може да определи оптималното състояние отделно за всяка група на регистрите. Това е принципът, използвани за поставяне на тези две групи xHCI контролер регистри.
Въпреки простотата на такива разтвори, много от съществуващите устройства, архитектурата на който е разработен преди появата на SR-IOV технологии, неудобен за виртуализиране защото регистри с различен статус са в рамките на 4 килобайт блок.
Виртуализация USB устройства
- Интегрираните Хъбове - главини разположени върху един чип с контролер xHCI, включително главина процент съвпадение (RMH).
- Вградените хъбове - центрове, формирани като отделни чипове на дънната платка, разположени между контролера и xHCI USB конектори.
- Външни хъбове, външни центрове, потребителят се свързва.
За изпълнение на мека матрица включен виртуални връзки между контролера домакин и USB устройството използва структура xHCI-IOV Capability структурата, намиращ се в блок конфигурация регистър.
xHCI контролер разпределя всеки USB устройство параметър блок, наречен Device слот. Този блок се използва за всички операции на устройството, а не само на задачи за виртуализация. На свой ред, xHCI-IOV Capability Структура структура се състои от блок на регистрите, един регистър за всяко устройство слот. Тези качества определят регистрите за устройство с помощта на слот на устройството. Един такъв атрибут е броят на виртуален хост контролер, към който принадлежи на устройството. Писане на стойността на този атрибут, съответното устройство предава ръководител предварително определен проблем за гости. Имайте предвид, че при използване на незадължителен атрибут слот подражава възможно хардуерна поддръжка за емулация на USB устройства, които не съществуват физически.
Показателно е, че процесите, свързани с физическото свързване и изключване на устройства към USB порт, място, по отношение на времето на процесора, сравнително рядко, поднесени с емулация софтуерни механизми. Илюстрация на това е, че PORTSC на регистри - Port Status / контрол, които се използват за наблюдение и контрол на пристанищата, са група от ниско докосване регистри. Едва след като връзката се сервира, и органа за надзор премина USB-устройство е една от задачите на гости влизат в механизми за гарантиране на хардуера на връзката на всеки гост задачи изключително със своите USB устройства.