Многопроцессорное выполнение

SoC Blockset™ включает симуляцию многопроцессорного выполнения, когда они ведут себя на многопроцессорном SoC. В многопроцессорных симуляциях каждый образец модели процессора выполняется одновременно, где каждое выполнение процессора управляемо независимым блоком Task Manager, представляющим или ОС или планировщик пустого металла для того процессора. Процессоры могут взаимодействовать друг с другом использующим межпроцессорные каналы связи, через блок IPC Channel, включающий для синхронизации задач и алгоритмов между диспетчером задач каждого процессора.

Многопроцессорная модель SoC

Многопроцессорная модель SoC содержит по крайней мере два блока Task Manager, каждый соединенный с блоком ссылки Model, представляющим процесс, который будет запущен на отдельном процессоре. Этот рисунок показывает минимальную независимую систему 2D процессора.

В симуляции каждый блок Task Manager и Model автоматически действует как независимый процессор. Задачи присвоили различным блокам Task Manager, запущенным независимо от другого процессора, в то время как задачи в одном блоке Task Manager все еще ведут себя зависимо. Для получения дополнительной информации выполнения задачи в одном процессоре, смотрите то, Что Выполнение Задачи? и Многожильное Выполнение и Базовая Визуализация.

Примечание

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

Процессоры могут передать друг другу асинхронно использование межпроцессного канала данных. Межпроцессный канал данных состоит из Interprocess Data Write, Interprocess Data Channel и блоков Interprocess Data Read. Для получения дополнительной информации о процессоре к каналам связи процессора смотрите Межпроцессную Передачу данных в Операционных системах и Межпроцессную Передачу данных через Периферийное устройство Выделенного оборудования.

В генерации кода модели Simulink® верхнего уровня и каждом ссылочном Model блокам нужно было установить их Аппаратный параметр платы на поддерживаемую многопроцессорную аппаратную плату, такую как TI Delfino F2837xD. В модели верхнего уровня необходимо установить параметр Processing Unit на none указать, что модель не создает. В каждом ссылочном блоке Model необходимо установить параметр Processing Unit на определенный процессор, такой как c28xCPU1.

Многопроцессорная демонстрационная модель

Этот пример показывает минимальную многопроцессорную модель, представляющую аппаратную TI Delfino F2837xD плату, которая содержит пару процессоров архитектур C28x в том же микроконтроллере, умирают.

Каждый образец модели, управляемый Диспетчером задач, содержит счетчик свободного хода и усиление. Первая модель, soc_minimal_multiCPU_ref1, запускает задачу таймера с периодом 0,01 и средней длительностью задачи 0,008. Вторая модель, soc_minimalCPU_ref2, запускает таймер управляемая задача с периодом 0,02 и средней длительностью задачи 0,018. Чтобы запустить симуляцию, на вкладке Simulation, нажимают Run.

Смотря синхронизацию выполнения этих двух задач, Task11 и Task21, показывает, что каждая задача выполняется независимо от другого, симулируя ожидаемое поведение многопроцессорного устройства TI Delfino F2837xD.

Смотрите также

| | |

Похожие темы

Внешние веб-сайты