SoC Blockset™ позволяет моделировать выполнение задач, когда они ведут себя на многоядерном процессоре. В многоядерных симуляциях задачи могут запускаться одновременно при назначении различным процессорным ядрам. Кроме того, назначение задач с более низким приоритетом уникальным ядрам препятствует упреждению этих задач, придавая большое доверие окончательному приложению.
Чтобы установить ядро процессора, на котором выполняется задача, откройте маску диалогового окна Task Manager блока. Выберите Task из доступных задач. В свойствах задачи установите Core неотрицательное целое значение. Во время симуляции образцы задачи выполняются на указанном ядре, при условии упреждения другими задачами, выполняемыми на том же ядре. Для получения дополнительной информации об упреждении задачи смотрите Приоритеты задачи и Упреждение.
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. В результате приложение лучше использует доступные ресурсы процессора.
Инспектор данных моделирования | Task Manager