exponenta event banner

Задержка ядра

В развернутом приложении переключение между потоками требует конечного количества времени в зависимости от текущего состояния потока, встроенный процессор и задержка ядра OS определяет время, необходимое операционной системе для ответа на триггерный сигнал, остановки выполнения любых запущенных потоков и запуска выполнения потока, ответственного за триггерный сигнал.

Модели SoC Blockset™ моделируют задержку ядра как задержку в начале выполнения задачи при первом переходе задачи из состояния ожидания в рабочее состояние. Следующая диаграмма показывает время выполнения высокоприоритетной и низкоприоритетной задачи в системе, моделирующей одно ядро процессора.

Другие факторы, влияющие на задержку ядра, такие как время переключения контекста, могут считаться незначительными по сравнению с другими эффектами и не моделируются в моделировании.

Примечание

Задержка ядра требует более глубокого знания спецификаций процессора и обычно может быть установлена на 0 без влияния на моделирование.

Влияние задержки ядра на выполнение задачи

В этом примере показано влияние задержки ядра на поведение и время выполнения двух задач, управляемых таймером, в приложении SoC.

Следующая модель моделирует программное приложение с двумя заданиями, управляемыми таймером. В блоке «Диспетчер задач» указаны следующие характеристики задачи:

При этих условиях синхронизации высокоприоритетная задача вытесняет низкоприоритетную задачу. В диалоговом окне model Configuration Parameters в меню Hardware Implementation > Operating system/scheduler > Kernel latency установлено значение 0.002.

Запустите модель и откройте инспектор данных моделирования. При выборе сигнала двух задач появляется следующий экран.

При проверке инспектора данных моделирования изменение состояния задачи с «Ожидание» на «Выполнение» показывает задержку 0.002 секунд. Однако при смене значения параметра Задача (Preempted) на Выполняется (Running) задержка не возникает. Это время соответствует ожидаемому поведению задачи, при запуске которой происходит задержка, но не когда экземпляр задачи уже существует.

См. также

Связанные темы