Многоядерное выполнение и визуализация ядра

SoC Blockset™ позволяет моделировать выполнение задач, когда они ведут себя на многоядерном процессоре. В многоядерных симуляциях задачи могут запускаться одновременно при назначении различным процессорным ядрам. Кроме того, назначение задач с более низким приоритетом уникальным ядрам препятствует упреждению этих задач, придавая большое доверие окончательному приложению.

Задайте ядро для задачи

Чтобы установить ядро процессора, на котором выполняется задача, откройте маску диалогового окна Task Manager блока. Выберите Task из доступных задач. В свойствах задачи установите Core неотрицательное целое значение. Во время симуляции образцы задачи выполняются на указанном ядре, при условии упреждения другими задачами, выполняемыми на том же ядре. Для получения дополнительной информации об упреждении задачи смотрите Приоритеты задачи и Упреждение.

Визуализация ядра в Данные моделирования Inspector

SoC Blockset предоставляет представление ядер процессора на Данные Моделирования Inspector. Эта схема показывает визуализацию основной активности относительно состояния задачи.

В Simulation Data Inspector ядро сигнала i показывает текущую задачу, выполняемую на этом ядре. Когда активность ядра отображений как бездействующая, то у этого ядра есть все задачи в ожидающем состоянии, и ядро может использовать это ядро для фоновых задач, которые не являются частью основного приложения.

Примечание

Если экземпляр задачи не запускается до завершения во время симуляции, связанное состояние ядра над этим экземпляром появляется пустым на экране Simulation Data Inspector.

Многоядерное выполнение задачи

Этот пример показывает симуляция нескольких задач, управляемых блоком Task Manager, выполняемых на нескольких ядрах с отображением основной активности, показанной в Данные моделирования Inspector.

Эта модель моделирует программное обеспечение, работающее на процессоре ARM, с 3 задачами, управляемыми таймером. Блок Task Manager планирует выполнение задач внутри Software Application Model Reference блок. Задачи 1, с периодом 0.01 секунд, выполняется на Core 0. Задачи 2 и 3 с периодами 0.02 и 0.03 секунд, соответственно, выполнения от Core 1.

Нажмите кнопку Run, чтобы создать и запустить модель. Когда модель закончит работать, откройте отображение Данные Моделирования Inspector, чтобы увидеть результаты симуляции. Выберите ядро 0 и ядро 1, чтобы просмотреть состояние выполнения ядра.

Как показано в Данные Моделирования Inspector, ядро выполняет либо текущую задачу, либо переходит в состояние ожидания, чтобы выполнить задачи фонового ядра. Кроме того, когда в этом приложении используются два ядра, высокоприоритетные, Task1 выполняются в начале каждого события триггера. Точно так же Task2 и Task3 не упреждаются Task1. В результате приложение лучше использует доступные ресурсы процессора.

См. также

|

Похожие темы