exponenta event banner

Диспетчер задач

Создание и управление выполнением задач в модели Simulink

  • Библиотека:
  • Выполнение задач блока/процессора SoC

  • Task Manager block

Описание

Блок диспетчера задач моделирует выполнение программных задач так, как они должны были бы вести себя на процессоре SoC. Диспетчер задач позволяет добавлять и удалять из модели задачи, которые могут управляться таймером или событиями. Задачи могут быть представлены в модели в виде скоростей, для задач, управляемых таймером, или подсистем вызова функций, для задач, управляемых событиями, содержащихся в одном блоке модели. Диспетчер задач выполняет отдельные задачи на основе их параметров, таких как период, продолжительность, триггер, приоритет или ядро процессора, а также сочетание этой задачи с состоянием других задач и их приоритетами в выполняемой модели.

Примечание

Блок диспетчера задач нельзя использовать в ссылочной модели. Дополнительные сведения о ссылочных моделях см. в разделе Блок модели.

Блок «Диспетчер задач» предоставляет три метода определения продолжительности задачи в моделировании:

  • Вероятностная модель длительности задачи, определенная в блочной маске.

  • Из файла данных, записывающего либо предыдущее моделирование задачи, либо задание на устройстве SoC.

  • Входные порты блока, которые можно подключить к более динамическим моделям длительности задачи.

Ограничения

  • Модель, содержащая блоки диспетчера задач, не поддерживает пошаговое моделирование. Дополнительные сведения о степпинге моделирования см. в разделе Степпер моделирования.

Порты

Продукция

развернуть все

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

Для порта скорости из подсистемы, управляемой таймером, для отображения в блоке Model установите Параметры блока > Main > Schedule rates и выберите порты. Для порта вызова функции из управляемой событиями подсистемы, содержащейся в блоке подсистемы вызова функции, который должен отображаться в блоке модели, включите порт ввода в блок модели процессора, подключенный к порту триггера вызова функции подсистемы. В окне Inport выберите Block Parameters > Signal Attributes > Output function call (Параметры блока > Атрибуты сигнала > Вызов функции вывода).

Примечание

Task1 порт должен быть подключен либо к порту функционального вызова, либо к сигнальному порту запланированной скорости в блоке Model.

Зависимости

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

Вход

развернуть все

Порт сообщения, запускающий связанную управляемую событиями задачу. Task1Event порт принимает сообщение от блока канала памяти или блока источника данных ввода-вывода. Дополнительные сведения о сообщениях см. в разделе Сообщения.

Зависимости

Чтобы показать Task1Event порт, затем Task1 для параметра Type должно быть установлено значение Event-driven.

Типы данных: rteEvent

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

Зависимости

Чтобы включить этот порт, установите для параметра Specify task duration via значение Input port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Параметры

развернуть все

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

Список задач, созданных блоком диспетчера задач. Каждая задача имеет набор параметров, перечисленных на вкладках «Главная» и «Моделирование» маски диалогового окна блока.

Добавление задачи в блок диспетчера задач. Во время развертывания каждая задача инкапсулируется в создаваемый код как поток выполнения. Свойства потока берутся из основных параметров для этой задачи. Во время моделирования для этой задачи используется комбинация параметров Main и Simulation.

Удаление задачи из диспетчера задач.

Зависимости

Чтобы включить этот параметр, укажите по крайней мере две задачи.

Главный

Уникальное имя задачи. Имя задачи должно содержать только буквенно-цифровые символы и знаки подчеркивания.

Укажите задачу как управляемую таймером или управляемую событием. Дополнительные сведения о задачах, управляемых временем и событиями, см. в разделах Задачи, управляемые таймером, и Задачи, управляемые событиями, соответственно.

Зависимости

Чтобы включить этот параметр, установите Type кому Timer-driven.

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

Укажите номер ядра процессора, на котором выполняется задача. Дополнительные сведения о выборе ядер и визуализации выполнения ядра см. в разделах Многоядерное выполнение и визуализация ядра.

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

Зависимости

Чтобы включить этот параметр, установите Type кому Event-driven.

Выберите этот параметр, чтобы принудительно удалять задачи, а не догонять их после экземпляра переполнения. Дополнительные сведения о переполнении задач см. в разделе Переполнение задач и контрмеры.

Примечание

Не более 2 экземпляров задачи могут переполнять выполнение, когда Drop tasks that overrun имеет значение off. Любые дополнительные экземпляры задачи, которые переполняются, удаляются автоматически.

Моделирование

Выберите этот параметр для блока Диспетчер задач, чтобы воспроизвести записанные данные выполнения, предоставленные из указанного параметра Имя файла. Дополнительные сведения о воспроизведении выполнения задачи см. в разделе Воспроизведение выполнения задачи с использованием записанных данных.

Укажите источник информации о синхронизации для выполнения задачи.

  • Dialog - использовать нормально распределенную вероятностную модель со значениями Среднее (Mean), Отклонение (Deviation), Мин (Min) и Макс (Max), определенными в маске диалогового окна блока.

  • Input port - При установке из порта Input входной порт блока динамически определяет длительность выполнения.

  • Record task execution statistics - Использовать нормально распределенную вероятностную модель со средним значением и отклонением, предоставленными в файле, указанном именем файла.

Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.

Параметры длительности задачи

Добавляет распределение к набору обычных распределений, которое генерирует длительность выполнения. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.

Примечание

Одной задаче может быть назначено не более пяти распределений.

Удалите распределение из набора обычных распределений.

Укажите вероятность каждого нормального распределения. Взвешенная в процентах сумма нормальных распределений определяет вероятность длительности задачи. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.

Примечание

Сумма процентов для всех распределений в одной задаче должна равняться 100.

Укажите среднюю продолжительность задачи во время моделирования задачи. При моделировании длительности задачи в качестве аппроксимации поведения задачи первого порядка используется нормальное распределение с заданными значениями параметров Mean и SD. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.

Укажите продолжительность стандартного отклонения задачи во время моделирования задачи. При моделировании длительности задачи используется нормальное распределение с заданным средним значением и SD в качестве аппроксимации поведения задачи первого порядка. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.

Нижний предел распределения длительности задачи. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.

Верхний предел распределения длительности задачи. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.

Данные в этом файле определяют значения параметров Mean и SD. Если выбран параметр Воспроизводить последовательность выполнения задачи, указанный CSV-файл предоставляет явное время выполнения задачи. Файл CSV содержит диагностические данные планировщика заданий, ранее записанные с платы аппаратных средств. Дополнительные сведения о настройке длительности задачи см. в разделе Длительность задачи.

Зависимости

Чтобы включить этот параметр, установите для параметра Specify task duration via значение Recorded task execution statistics.

Расширенные возможности

.
Представлен в R2019a