Blackfin

редактировать
Blackfin
DesignerAnalog Devices
Биты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
Снято с производстваНастоящее время
ПродаетсяAnalog Devices
РазработаноAnalog Devices
Обычный производитель (-ы)

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

Содержание
  • 1 Детали архитектуры
  • 2 Особенности архитектуры
    • 2.1 Основные характеристики
    • 2.2 Память и DMA
    • 2.3 Функции микроконтроллера
    • 2.4 Медиа- функции обработки
  • 3 Периферийные устройства
  • 4 Инструменты разработки
  • 5 Поддерживаемые операционные системы, ОСРВ и ядра
  • 6 См. также
  • 7 Ссылки
  • 8 Внешние ссылки
Детали архитектуры

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

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

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

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

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

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

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

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

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

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

Память и DMA

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

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

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

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

Процессоры Blackfin поддерживают различные внешние запоминающие устройства, включая SDRAM, DDR-SDRAM, NOR flash, 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, MPU Blackfin не обеспечивает преобразование адресов, как традиционный MMU, поэтому он не поддерживает виртуальная память или отдельные адреса памяти для каждого процесса. Вот почему Blackfin в настоящее время не может поддерживать операционные системы, требующие виртуальной памяти, такие как WinCE или QNX.

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

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

Функции обработки мультимедиа

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

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

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

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

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

Инструменты разработки
Оценочная платформа Blackfin BF537 EZ-Kit-Lite

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

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

Blackfin также поддерживается встроенным модулем National Instruments 'LabVIEW, для которого требуется VisualDSP ++.

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

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

ОС / ОСРВ / ядра на Blackfin
НазваниеЛицензияКомментарии
ThreadX Собственный
Nucleus Собственный
микроконтроллер / ОС -II Собственная
ЦЕЛОСТНОСТЬ Собственная
RTEMS Стандартная общественная лицензия GNU
RTXC Quadros Собственная
VDK Собственная ядро ​​реального времени ADI. Поставляется с VisualDSP ++.
.NET Micro Framework Лицензия Apache 2.0 Автономная версия от Microsoft. Интегрированная версия от AxiomFount.

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

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-12 09:41:42
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте