Blackfin - Blackfin

Blackfin
ДизайнерАналоговые устройства
Биты32-битный
Введено2000; 20 лет спустя (2000)
ДизайнRISC
ТипЗарегистрироваться-Зарегистрироваться
КодированиеПеременная (16- или 32-разрядная общая или 64-разрядная параллельная задача из 1 × 32-разрядной инструкции + 2 × 16-разрядных инструкций)
РазветвлениеКод состояния
Порядок байтовМаленький
Регистры
Общее назначение8 32-битных регистров данных (с адресацией 16 16-битных полурегистров), 2 40-битных накопителя, 6 32-битных адресных регистров, указатель стека, указатель кадра
Blackfin
Blackfin-processor-logo.png
Логотип ADI Blackfin
Общая информация
Запущен2008
Снято с производстваПодарок
ПродаетсяАналоговые устройства
РазработаноАналоговые устройства
Общий производитель (и)

В Blackfin это семейство 16- / 32-битных микропроцессоры разработаны, изготовлены и проданы Аналоговые устройства. Процессоры имеют встроенную фиксированную точку цифровой сигнальный процессор (DSP) функциональность обеспечивается 16-битным умножать - накапливать (MAC), сопровождаемые на кристалле микроконтроллер.[1] Он был разработан для единого маломощный процессор архитектура, которая может работать операционные системы одновременно обрабатывая сложные числовые задачи, такие как в реальном времени H.264 кодирование видео.[2][3]

Детали архитектуры

В процессорах Blackfin используется 32-битный RISC микроконтроллер модель программирования на SIMD архитектура, разработанная совместно Intel и Аналоговые устройства, как MSA (Micro Signal Architecture).

Архитектура была анонсирована в декабре 2000 года и впервые продемонстрирована на конференции по встроенным системам в июне 2001 года.

Он включает в себя аспекты более старых SHARC архитектура и Intel XScale Архитектура в едином ядре, сочетающая в себе функции цифровой обработки сигналов (DSP) и микроконтроллера. Есть много различий в базовой архитектуре между Blackfin / MSA и XScale / ARM или SHARC, но комбинация была разработана для повышения производительности, программируемости и энергопотребления по сравнению с традиционными архитектурами DSP или RISC.

Архитектура Blackfin включает в себя различные модели процессоров, каждая из которых предназначена для определенных приложений.[4] Серия BF-7xx, представленная в 2014 году, включает архитектуру Blackfin +, которая расширяет архитектуру Blackfin с некоторыми новыми функциями процессора и инструкциями.

Особенности архитектуры

Основные особенности

установленный Blackfin BF535

То, что считается «ядром» Blackfin, зависит от контекста. Для некоторых приложений DSP особенности являются центральными. Blackfin имеет два 16-битных оборудования MAC, два 40-битных ALU и аккумуляторы, 40-битный баррель шифтер, и четыре 8-битных видео ALU; Процессоры Blackfin + добавляют 32-битный MAC и 72-битный аккумулятор. Это позволяет процессору выполнять до трех инструкций за такт, в зависимости от уровня оптимизация в исполнении компилятор или же программист. Два вложенных петли с нулевыми накладными расходами и четыре кольцевых буфера DAG (генераторы адресов данных) предназначены для помощи в написании эффективного кода, требующего меньше инструкции. Другие приложения используют RISC функции, которые включают защиту памяти, различные режимы работы (пользовательский, ядро), однократный коды операций, кеши данных и инструкций, а также инструкции для битового теста, доступа к байтам, словам или целым числам, а также различные периферийные устройства на кристалле.

В ЭТО рассчитан на высокий уровень выразительность, позволяя программисту сборки (или компилятор ) для оптимизации алгоритма с учетом имеющихся аппаратных возможностей. Стандартный язык ассемблера Blackfin написан с использованием алгебраического синтаксиса: вместо префиксных команд, используемых во многих других языках ассемблера.

Другие языки ассемблераЯзык ассемблера Blackfin
ld R0, 8[P0]R0 = [P0 + 8]
Добавить R0, R1, R2R0 = R1 + R2
толкать R7[SP--] = R7

Память и DMA

Blackfin использует с байтовой адресацией, плоский карта памяти. Внутренняя память L1, внутренняя память L2, внешняя память и все карты памяти регистры управления находятся в этом 32-битном адресном пространстве, так что с точки зрения программирования Blackfin имеет Архитектура фон Неймана.

L1 внутренний SRAM память, которая работает с тактовой частотой ядра устройства, основана на Гарвардская архитектура. Память инструкций и память данных независимы и подключаются к ядру через выделенные шины памяти, предназначенные для более продолжительной скорость передачи данных между ядром и памятью L1.

Части инструкции и данных L1 SRAM могут быть дополнительно настроены как кэш независимо.

Некоторые процессоры Blackfin также имеют от 64 КБ до 256 КБ памяти L2. Эта память работает медленнее, чем тактовая частота ядра. Код и данные могут быть смешаны в L2.

Процессоры Blackfin поддерживают множество внешних запоминающих устройств, включая SDRAM, DDR-SDRAM, НЕ мигает, NAND flash и SRAM. Некоторые процессоры Blackfin также включают интерфейсы запоминающих устройств, такие как ATAPI и SD / SDIO. Они могут поддерживать сотни мегабайт памяти во внешней памяти.

Вместе с ядром и системой памяти это DMA двигатель, который может работать между любыми периферийные устройства и основная (или внешняя) память. Процессоры обычно имеют выделенный Канал DMA для каждого периферийного устройства, которое предназначено для более высоких пропускная способность для приложений, которые могут его использовать, например, для кодирования и декодирования видео стандартной четкости (D1) в реальном времени.

Особенности микроконтроллера

Архитектура Blackfin содержит обычные ЦП, память и ввод-вывод, которые есть на микропроцессоры или же микроконтроллеры. Эти функции включают операционные системы.

Все процессоры Blackfin содержат Блок защиты памяти (MPU). MPU обеспечивает защиту и стратегии кэширования во всем пространстве памяти. MPU позволяет Blackfin поддерживать операционные системы, ОСРВ и ядра вроде ThreadX, μC / OS-II или NOMMU Linux. Хотя MPU упоминается как Блок управления памятью (MMU) в документации Blackfin, Blackfin MPU не предоставляет перевод адресов как традиционный MMU, поэтому он не поддерживает виртуальная память или отдельные адреса памяти для каждого процесса. Вот почему Blackfin в настоящее время не может поддерживать операционные системы, требующие виртуальной памяти, такие как WinCE или же QNX.

Blackfin поддерживает три рабочие режимы: супервизор, пользователь и эмуляция. В режиме супервизора все ресурсы процессора доступны из запущенного процесса. Однако в пользовательском режиме системные ресурсы и области памяти можно защитить (с помощью MPU). В современной операционной системе или RTOS ядро ​​обычно работает в режиме супервизора, а потоки / процессы - в пользовательском режиме. Если поток дает сбой или пытается получить доступ к защищенному ресурсу (памяти, периферийному устройству и т. Д.), исключение будет брошен, и тогда ядро ​​сможет закрыть нарушающий поток / процесс. Официальное руководство ADI по использованию Blackfin в средах, отличных от ОС, состоит в том, чтобы зарезервировать прерывание с самым низким приоритетом для кода общего назначения, чтобы все программное обеспечение выполнялось в пространстве супервизора.

Blackfin использует переменную длину RISC -подобный набор инструкций, состоящий из 16-, 32- и 64-битных инструкций. Обычно используемые команды управления кодируются как 16-битные коды операций, в то время как сложные DSP и математически сложные функции кодируются как 32- и 64-битные коды операций. Эта кодировка кода операции переменной длины предназначена для плотность кода эквивалентность современной микропроцессорной архитектуре.

Возможности медиа-обработки

Набор инструкций Blackfin содержит расширения обработки мультимедиа, помогающие ускорить операции обработки пикселей, обычно используемые в сжатие видео и сжатие изображений и алгоритмы декомпрессии.

Периферийные устройства

Процессоры Blackfin содержат множество периферийных устройств для подключения, в зависимости от конкретного процессора:

  • ATAPI
  • МОЖЕТ: Низкоскоростная последовательная шина большой площади, используемая в некоторой автомобильной и промышленной электронике.
  • DMA с поддержкой DMA из памяти в память и DMA периферийных устройств
  • EMAC (Ethernet Контроллер доступа к среде ) с MII и RMII
  • Внешняя память: EBIU (External Bus Interface Unit) может включать в себя контроллер для SDRAM, Mobile SDRAM, DDR1, DDR2 или LPDDR, а также контроллер асинхронной памяти для SRAM, ROM, flash EPROM и устройств ввода-вывода с отображением памяти.
  • GPIO включая прерывания, запускаемые по уровню и по фронту
  • I²C, также известный как TWI (двухпроводной интерфейс): более низкая скорость, общая последовательная шина
  • MXVR: а НАИБОЛЕЕ Контроллер сетевого интерфейса
  • NAND flash
  • PPI: Порт параллельного ввода / вывода, который можно использовать для подключения к ЖК-дисплеям, видеокодерам (видео ЦАП), видеодекодерам (видео АЦП), датчикам CMOS, ПЗС и универсальным параллельным высокоскоростным устройствам. PPI может работать на частоте до 75 МГц и может иметь ширину от 8 до 16 бит.
  • ШИМ и таймеры / счетчики
  • Часы реального времени
  • SD / SDIO
  • SPI: быстрая последовательная шина, используемая в некоторых приложениях высокоскоростной встроенной электроники
  • СПОРТ: синхронный высокоскоростной последовательный порт, который может поддерживать TDM, I²S и ряд других настраиваемых режимов кадрирования для подключения к АЦП, ЦАП, другие процессоры, FPGA и т. д.
  • UART: позволяет двустороннюю связь с RS232 устройства (ПК, модемы, периферия ПК и т. д.), MIDI устройства, IRDA устройства
  • USB 2.0 OTG (на ходу)
  • Сторожевой таймер

Все регистры периферийного управления с отображением памяти в обычном адресном пространстве.

Инструменты разработки

Оценочная платформа Blackfin BF537 EZ-Kit-Lite

ADI обеспечивает собственную разработку программного обеспечения инструменты. Оригинальный VisualDSP ++ IDE все еще поддерживается (его последний выпуск был 5.1.2 в октябре 2014 г.; 6 лет назад (2014-10)), но срок службы приближается к концу, и в него не добавлена ​​поддержка новых процессоров BF6xx и BF7xx. Более новый набор инструментов - CrossCore Embedded Studio, который поддерживает все процессоры Blackfin и Blackfin + с использованием обновленных версий того же компилятора и внутренних инструментов, но с пользовательским интерфейсом на основе Затмение CDT. Бесплатная версия любого инструмента недоступна; однопользовательская лицензия на VisualDSP ++ стоит 3500 долларов США, а CrossCore Embedded Studio - 995 долларов США.

Другие варианты включают Программное обеспечение Green Hills MULTI IDE и GNU GCC Набор инструментов для семейства процессоров Blackfin. Однако, как и VisualDSP ++, они не были обновлены для поддержки новых процессоров BF6xx и BF7xx. Более того, ни один из них не поддерживает все процессоры BF5xx. Green Hills MULTI не поддерживает BF50x, BF51x, некоторые BF52x, BF547 и BF59x. GCC не поддерживает BF50x, BF566 и BF59x, а также не полностью поддерживает BF561.

Blackfin также поддерживается Национальные инструменты ' LabVIEW Встроенный модуль, для которого требуется VisualDSP ++.

Поддерживаемые операционные системы, ОСРВ и ядра

Несколько коммерческих операционных систем и операционных систем с открытым исходным кодом поддерживают работу на Blackfin.

ОС / ОСРВ / Ядра на Blackfin
ЗаголовокЛицензияКомментарии
ThreadX[5]Проприетарный
ЯдроПроприетарный
микроконтроллер / ОС-II[6]Проприетарный
ЧЕСТНОСТЬ[7]Проприетарный
RTEMSСтандартная общественная лицензия GNU
RTXC QuadrosПроприетарный
ВДКПроприетарныйЯдро реального времени ADI. Поставляется с VisualDSP ++.
.NET Micro FrameworkЛицензия Apache 2.0Автономная версия от Microsoft. Интегрированная версия от AxiomFount.

Blackfin ранее поддерживался μClinux а позже Linux с функцией NOMMU, но поскольку она никогда широко не использовалась и больше не имела сопровождающего,[8][9] поддержка была прекращена из Linux 1 апреля 2018 г .; 4.16 был последним выпуском, который включал поддержку Blackfin.[10][11][12]

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

Рекомендации

  1. ^ «Архивная копия». Архивировано из оригинал 17 апреля 2011 г.. Получено 9 апреля, 2011.CS1 maint: заархивированная копия как заголовок (связь)
  2. ^ «Кодировщик H.264 BP / MP». Аналоговые устройства. Получено 2014-09-03.
  3. ^ "Библиотека декодера H.264 BP / MP". Аналоговые устройства. Получено 2014-09-03.
  4. ^ «Процессоры Blackfin | Аналоговые устройства». Analog.com. Получено 2016-06-24.
  5. ^ «Операционные системы реального времени для встраиваемых систем, система реального времени от Express Logic». Rtos.com. Архивировано из оригинал на 2016-05-23. Получено 2016-06-24.
  6. ^ «Ядра реального времени». Micrium.com. Получено 2016-06-24.
  7. ^ "INTEGRITY Операционная система реального времени". Ghs.com. Получено 2016-06-24.
  8. ^ [1] ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ: отметьте арку / блэкфин / и ее губки как осиротевшие
  9. ^ [2] RE: ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ: отметьте арку / блэкфин / и ее габбины как потерянные
  10. ^ [3] arch: удалить устаревшие порты архитектуры
  11. ^ Саймон Шарвуд (2018-04-03). «Прибывает Linux 4.16, стирает восемь процессоров». theregister.co.uk. Получено 2018-04-03.
  12. ^ Арнд Бергманн (2018-04-03). «Арка [GIT PULL]: удалить устаревшие порты архитектуры». LKML. Получено 2018-04-04.

внешняя ссылка