KiT#71(6) web qxd


тельными задачами, так и с задачами управления, характерными для мик$


Download 314.25 Kb.
Pdf ko'rish
bet2/6
Sana26.01.2023
Hajmi314.25 Kb.
#1123337
1   2   3   4   5   6
Bog'liq
osobennosti-arhitektury-i-programmirovaniya-dvuyadernyh-protsessorov-semeystva-blackfin-adsp-bf561

тельными задачами, так и с задачами управления, характерными для мик$
роконтроллеров. Отвечая на потребности рынка, компания Analog Devices
несколько лет назад начала выпуск процессоров семейства Blackfin (ADSP
BF5xx), архитектура которых совмещает в себе основные достоинства двух
классов вычислительных устройств — ЦСП и микроконтроллеров. Одна$
ко в ряде задач, например, в задачах обработки видеоизображений с вы$
соким разрешением, производительности одного процессора, даже при
тактовой частоте ядра 750 МГц, уже недостаточно, поэтому в 2005 году се$
мейство Blackfin было дополнено двухъядерным процессором ADSP BF561.
Эта статья посвящена обзору внутренней организации ADSP BF561 и ме$
тодик программирования, позволяющих оптимально использовать его ар$
хитектурные особенности в зависимости от поставленной задачи.
Особенности архитектуры
и программирования 
двухъядерных процессоров
семейства Blackfin ADSP!BF561
Рис. 1. Архитектура процессора ADSP BF561


ЦСП
17
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 6 '2007
держивающих некоторые операции над 8-
разрядными данными, характерные для за-
дач обработки видеоизображений. 
Источником и приемником данных при
работе вычислительных блоков является ре-
гистровый файл данных. Регистровый файл
данных содержит восемь универсальных 32-
разрядных регистров, каждый из которых,
в зависимости от конкретной операции, мо-
жет рассматриваться как одно 32-разрядное
слово или как два 16-разрядных слова. 
Еще один регистровый файл входит в со-
став блока формирования адресов. Он содер-
жит шесть регистров указателей общего на-
значения (P5-P0) и специальные регистры для
хранения указателя стека (SP) и кадра стека
(FP). Непосредственно формированием ад-
реса занимаются два генератора адреса дан-
ных (DAG). Они поддерживают режимы пря-
мой адресации, косвенной адресации с пред-
и постинкрементом и специфические для за-
дач цифровой обработки сигналов режимы
бит реверсной и циклической адресации.
Для организации циклических буферов DAG
используют четыре набора 32-разрядных ре-
гистров индекса (I), модификации (M), дли-
ны (L) и базы (B).
Блок управления отвечает за процесс вы-
полнения команд ядром процессора. Адреса
выполняемых команд формируются про-
граммным автоматом, который отрабатыва-
ет ситуации, приводящие к нарушению ли-
нейного порядка следования адресов: циклы,
вызовы подпрограмм, возникновение пре-
рываний и исключений, условные и без-
условные переходы. Выработанный програм-
мным автоматом адрес поступает в 10 уров-
невый конвейер команд, который обеспечивает
выборку соответствующей команды и ее де-
шифрацию. Для повышения эффективнос-
ти выполнения циклов в состав блока управ-
ления включен буфер циклов, играющий
роль кэша для команд цикла.
В процессоре ADSP-BF561 используется ие-
рархическая трехуровневая модель памяти.
Отдельного пространства ввода/вывода в про-
цессоре нет, и все ресурсы отображены в еди-
ном 32-разрядном адресном пространстве.
Память первого уровня (L1) работает с так-
товой частотой ядра, но имеет малый объем.
Каждое из ядер имеет собственную память L1
объемом 100 кбайт, доступную только ему.
Эти области памяти структурированы следу-
ющим образом:
•• 32 кбайта памяти команд, из которых
16 кбайт могут быть сконфигурированы
как кэш команд,
•• 64 кбайта памяти данных, из которых
32 кбайта могут быть сконфигурированы
как кэш данных,
•• 4 кбайта SRAM scratchpad памяти (на рис. 1
не показана).
На кристалле также интегрирована менее
быстродействующая память второго уровня
(L2) объемом 128 кбайт. В памяти L2 могут
храниться как команды, так и данные, она до-
ступна обоим ядрам и не может быть скон-
фигурирована как кэш. Для оптимизации об-
мена между памятью L1 и L2 в архитектуре
процессора предусмотрен специальный кон-
троллер DMA — IMDMA (Internal Memory
DMA).
Кроме того, в пространстве внутренней
памяти отображается часть регистров ядра
процессора и все регистры внутренних пе-
риферийных узлов (системные регистры).
И, наконец, нижние 2 кбайта в пространстве
внутренней памяти процессора занимает за-
грузочное ПЗУ. В нем располагается програм-
ма начального загрузчика, выполняемая яд-
ром А после сброса процессора (ядро В в про-
цессе загрузки не участвует и находится
в состоянии бездействия) в режимах загруз-
ки из SPI EEPROM или 8/16-разрядной флэш-
памяти. 
Третий уровень (L3) в иерархической мо-
дели памяти процессора Blackfin занимает
внешняя память. В пространстве внешней па-
мяти может отображаться до четырех банков
памяти SDRAM стандарта PC133 объемом от
16 до 512 Мбайт и до четырех банков асин-
хронной (ROM, SRAM, EEPROM, флэш) па-
мяти объемом 64 Мбайта каждый. Внешние
устройства ввода/вывода (FIFO, контролле-
ры интерфейсов и др.) также отображаются
через банки асинхронной памяти. Времен-
ные параметры для банков асинхронной па-
мяти настраиваются пользователем незави-
симо друг от друга. Контроллеры асинхрон-
ной и синхронной памяти интегрированы
внутри процессора в блоке интерфейса внеш-
ней шины (EBIU), который выполняет все не-
обходимые операции дешифрации внутрен-
них адресов, мультиплексирования внешних
линий, формирования специальных циклов
SDRAM и т. д. Разрядность внешней шины
данных процессора ADSP-BF561 составляет
32 бита.
Как и все остальные представители семей-
ства Blackfin, процессор ADSP BF561 имеет
очень богатый набор интегрированных пе-
риферийных узлов. Добавление на кристалл
второго ядра привело к увеличению, по срав-
нению с предшествующими одноядерными
моделями, количества линий ввода/вывода
общего назначения (GPIO) (с 16 до 48), появ-
лению дополнительного сторожевого тайме-
ра, дополнительного таймера ядра и девяти
дополнительных таймеров общего назначе-
ния. Однако наиболее интересным, особен-
но в свете задач обработки видеоизображе-
ний, является наличие в ADSP BF561 второ-
го 16-разрядного параллельного порта PPI.
Параллельные порты позволяют без исполь-
зования дополнительной логики подключать
к процессору многие стандартные АЦП,
ЦАП, видеокодеры и декодеры, и присутст-
вие на кристалле сразу двух PPI дает возмож-
ность, например, организовать ввод оциф-
рованного видеосигнала, его обработку «на
лету» и последующий вывод на устройство
отображения без мультиплексирования
внешних выводов. Помимо двух параллель-
ных портов ADSP BF561 также имеет и не-
сколько стандартных последовательных ин-
терфейсов — SPI, SPORT и UART.
Процессор ADSP BF561 имеет сложную си-
стему прерываний. Каждое из ядер процессо-
ра взаимодействует со своим контроллером
прерываний, в котором применяется двух-
уровневый механизм управления. Все пре-
рывания периферийных узлов, прерывания

Download 314.25 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling