uawikipc.ru

Спорідненість і пріоритетність переривань

Відео: Easy AVR 2016-05-29 Переривання AVR. Частина 1. Теорія

На системах, що підтримують ACPI і містять APIC, Windows дозволяє розробникам драйверів і адміністраторам частково управляти спорідненістю процесорів (вибираючи процесор або групу процесорів, які отримують переривання) і політикою спорідненості (вибираючи спосіб, за допомогою якого відбудеться відбір процесорів, і визначиться, який процесор в групі буде обраний).

Більш того, він дозволяє використовувати примітивний механізм пріоритетності переривань на основі вибору IRQL. Політика спорідненості (affinity policy) визначається відповідно до даних, показаними в таблиці, і налаштовується за допомогою значення реєстру під назвою InterruptPolicyValueв підрозділі InterruptManagement AffinityPolicy розділу реєстру, що представляє пристрій.



Завдяки цьому для настройки не потрібно ніякого коду - адміністратор, щоб вплинути на поведінку пристрою, може додати це значення до розділу цього пристрою. Для всього цього Microsoft надає засіб під назвою Interrupt Affinity policy Tool, яке може бути завантажене з адреси https://microsoft.com/whdc/system/sysperf/intpolicy.mspx.

зміст:

  • 1 Політика спорідненості IRQ.
  • 2 Пріоритети IRQ.

Політика спорідненості IRQ.

політиказначення
IrqPolicyMachineDefaultПристрою не потрібно якась особлива політика спорідненості. Windows використовує політику, наявну на машині за замовчуванням, яка (на машинах з менш ніж вісьмома логічними процесорами) полягає у виборі будь-якого доступного на машині процесора
IrqPolicyAllCloseProcessorsНа NUMA-машині диспетчер пристроїв Plug and Play
призначає переривання всім процесорам, близьким до пристрою (на тому ж сайті). На машинах, які не мають NUMA-доступу, ця політика аналогічна політиці
IrqPolicyAllProcessorsInMachine
IrqPolicyOneCloseProcessorНа NUMA-машині диспетчер пристроїв Plug and Play
призначає переривання одному процесору, який найближче до пристрою (на тому ж сайті). На машинах, які не мають NUMA-доступу, вибирається будь-який, доступний в системі процесор
IrqPolicyAllProcessorsInMachineПереривання обробляється будь-яким доступним на машині процесором
IrqPolicySpecifiedProcessorsПереривання обробляється тільки одним з процесорів, зазначених в масці спорідненості в значенні реєстру AssignmentSetOverride
IrqPolicySpreadMessagesAcrossAllProcessorsРізні переривання, ініційовані повідомленнями,
розподіляються по оптимальному набору відповідних процесорів, погодившись, по можливості, з топологією NUMA. Для цього потрібна підтримка MSI-X
на пристрої та на платформі

Крім установки цієї політики спорідненості для установки пріоритетності переривань можна використовувати ще одне значення реєстру з тих, що показані в наступній таблиці.

Відео: Stm32 Урок 13: Переривання по передачі USART

Як вже зазначалось, важливо відзначити, що Windows не є операційною системою реального часу, і тому ці пріоритети IRQ - просто поради, що даються системі, яка управляє тільки IRQL, пов`язаних з перериванням, і не надає ніякої додаткової пріоритетності, крім наявного в Windows механізму схеми пріоритетів. Оскільки пріоритетність IRQ також зберігається в реєстрі, адміністратори мають право встановлювати ці значення для драйверів з вимогою більш низького рівня латентності для тих драйверів, які не користуються можливістю зберігання даних в реєстрі.

Пріоритети IRQ.

пріоритетзначення
IrqPriorityUndefinedПристрою ніяка особлива пріоритетність не потрібно.
Воно приймає пріоритети, встановлені за замовчуванням (IrqPriorityNormal)
IrqPriorityLowДля пристрою цілком прийнятні великі затримки, і воно повинно отримати більш низький рівень IRQL, ніж зазвичай
IrqPriorityNormalПристрій очікує середній час затримки. Воно отримує IRQL-рівень, який встановлюється за умовчанням і пов`язаний з його вектором переривання
IrqPriorityHighПристрій вимагає якомога меншої часу затримки. Воно отримує підвищений рівень IRQL, що перевищує зазвичай призначається рівень
Поділитися в соц мережах:
Схожі
» » Спорідненість і пріоритетність переривань