Рассмотрим пример гибридной многопроцессорной системы, сочетающей принципы UMA и NUMA систем (рис.5).
Алгоритм вычисления ДПФ позволяет распараллелить вычисления на два процессора с равной трудоемкостью таким образом, что для получения окончательного результата необходимо будет выполнить только сложение результатов вычислений, полученных в каждом процессоре (рис.6).
Предполагается, что исходные данные располагаются во внешней памяти (задачу помещения данных во внешнюю память решает, например, хост-процессор, который по окончанию загрузки очередного блока данных во внешнюю память записывает слово-сообщение в каждый из процессоров или выставляет активный сигнал на линию прерывания от внешнего устройства IRQx.
Рис.5
Proc.1 | IDLE | DMA ExtMem-> IntMem1 | VIRPT | Первые стадии вычисления ДПФ | IDLE | Последняя стадия вычисления ДПФ | |||
DMA Host -> ExtMem | |||||||||
Proc. 2 | IDLE | DMA ExtMem-> IntMem2 | Первые стадии вычисления ДПФ | VIRPT | IDLE | ||||
IDLE | |||||||||
Рис.6
Благодаря двухпортовой внутренней памяти процесс обмена данными между процессорами не приводит к снижению производительности вычислений в процессорном ядре.
|
|
Примечание. В данном примере не рассматривается задача вывода полученных коэффициентов преобразования.
Способы организации ввода/вывода данных при взаимодействия DSP-процессора с внешними устройствами в системе ЦОС. Ввод/вывод под правлением ядра, по прерываниям, с использованием DMA-пересылок. Достоинства и недостатки каждого из способов.