KiT#71(6) web qxd
Download 314.25 Kb. Pdf ko'rish
|
osobennosti-arhitektury-i-programmirovaniya-dvuyadernyh-protsessorov-semeystva-blackfin-adsp-bf561
Рис. 3. Построение системы обработки видеоизображений с использованием гетерогенной модели программирования
ЦСП 19 КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 6 '2007 при этом разные данные. Например, в зада- че многоканальной обработки звука при та- ком подходе каждое из ядер может обрабаты- вать половину от общего числа каналов, а в задаче обработки видеоизображений на одно ядро можно возложить задачу обработ- ки четных, а на другое — нечетных кадров. Такую модель целесообразно использовать в задачах, где требуется большой объем вы- числений. Как правило, при использовании этой схемы оба ядра процессора после необ- ходимой инициализации входят в бесконеч- ный цикл, в котором производится вся обра- ботка и выдача результатов. В модели «ведущий — ведомый», как и в гомогенной модели, нагрузка при выпол- нении интенсивных вычислений поровну распределяется между ядрами процессора, однако на одно из них, которое является ве- дущим, возлагаются также и задачи общего управления. Второе ядро занимается исклю- чительно типичными для цифровых сигналь- ных процессоров вычислениями и является в данной схеме ведомым. Синхронизация ра- боты ядер может осуществляться через сема- форы или прерывания. При использовании семафоров ведущее ядро сигнализирует ве- домому о необходимости начала обработки нового блока данных записью заранее ого- воренного значения в ячейку общей памяти. Ведомое ядро после завершения обработки текущего блока данных опрашивает в цикле состояние этой ячейки. При использовании прерываний ведомое ядро по завершении об- работки блока данных входит в режим ожи- дания, из которого ведущее ядро может вы- вести его выдачей прерывания. Недостаток этой модели заключается в том, что если од- но ядро уже обработало свою порцию дан- ных, а другое еще занимается обработкой, то первое ядро не может перейти к следую- щей задаче, а должно дождаться завершения обработки во втором ядре. Это приводит к снижению эффективности использования ресурсов процессора. И, наконец, еще одна модель программи- рования, которая поддерживается симмет- ричными процессорами, — это конвейер- ная модель, в которой отдельные шаги ал- горитма распределяются между ядрами, причем выходные данные, получаемые по завершении этапа в одном ядре процессо- ра, являются входными данными для сле- дующего этапа в другом ядре процессора. Рассмотрим в качестве примера задачу ко- дирования видеоизображений формата MPEG2. При использовании конвейерной схемы обработки одно ядро двухъядерного процессора может выполнять преобразова- ние цветового пространства и анализ дви- жения. Результаты работы первого ядра (вектора движения) записываются в область общей памяти. Одновременно с этим второе ядро извлекает из общей памяти векторы, рас- считанные первым ядром на предыдущем шаге, и осуществляет оставшуюся часть об- работки. При условии оптимального распре- деления задач между ядрами, то есть при при- близительно равной вычислительной нагруз- ке на ядра, конвейерная модель позволяет до- стичь наибольшей производительности сре- ди всех перечисленных моделей программи- рования. Недостаток этой модели заключается в том, что эффективность распределения за- дач сильно зависит от архитектуры и систе- мы памяти конкретного процессора, и поэто- му перенос программ с одной платформы на другую затруднителен. Download 314.25 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling