KiT#71(6) web qxd
тельными задачами, так и с задачами управления, характерными для мик$
Download 314.25 Kb. Pdf ko'rish
|
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling