Blackfin - Blackfin
Эта статья слишком полагается на Рекомендации к основные источники.Декабрь 2014 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Дизайнер | Аналоговые устройства |
---|---|
Биты | 32-битный |
Введено | 2000 |
Дизайн | RISC |
Тип | Зарегистрироваться-Зарегистрироваться |
Кодирование | Переменная (16- или 32-разрядная общая или 64-разрядная параллельная задача из 1 × 32-разрядной инструкции + 2 × 16-разрядных инструкций) |
Разветвление | Код состояния |
Порядок байтов | Маленький |
Регистры | |
Общее назначение | 8 32-битных регистров данных (с адресацией 16 16-битных полурегистров), 2 40-битных накопителя, 6 32-битных адресных регистров, указатель стека, указатель кадра |
Логотип 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, зависит от контекста. Для некоторых приложений 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, R2 | R0 = 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 (на ходу)
- Сторожевой таймер
Все регистры периферийного управления с отображением памяти в обычном адресном пространстве.
Инструменты разработки
ADI обеспечивает собственную разработку программного обеспечения инструменты. Оригинальный VisualDSP ++ IDE все еще поддерживается (его последний выпуск был 5.1.2 в октябре 2014 г. ), но срок службы приближается к концу, и в него не добавлена поддержка новых процессоров 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.
Заголовок | Лицензия | Комментарии |
---|---|---|
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]
Смотрите также
Рекомендации
- ^ «Архивная копия». Архивировано из оригинал 17 апреля 2011 г.. Получено 9 апреля, 2011.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Кодировщик H.264 BP / MP». Аналоговые устройства. Получено 2014-09-03.
- ^ "Библиотека декодера H.264 BP / MP". Аналоговые устройства. Получено 2014-09-03.
- ^ «Процессоры Blackfin | Аналоговые устройства». Analog.com. Получено 2016-06-24.
- ^ «Операционные системы реального времени для встраиваемых систем, система реального времени от Express Logic». Rtos.com. Архивировано из оригинал на 2016-05-23. Получено 2016-06-24.
- ^ «Ядра реального времени». Micrium.com. Получено 2016-06-24.
- ^ "INTEGRITY Операционная система реального времени". Ghs.com. Получено 2016-06-24.
- ^ [1] ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ: отметьте арку / блэкфин / и ее губки как осиротевшие
- ^ [2] RE: ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ: отметьте арку / блэкфин / и ее габбины как потерянные
- ^ [3] arch: удалить устаревшие порты архитектуры
- ^ Саймон Шарвуд (2018-04-03). «Прибывает Linux 4.16, стирает восемь процессоров». theregister.co.uk. Получено 2018-04-03.
- ^ Арнд Бергманн (2018-04-03). «Арка [GIT PULL]: удалить устаревшие порты архитектуры». LKML. Получено 2018-04-04.
внешняя ссылка
- Сайт процессора Blackfin
- Справочник по программированию процессоров Blackfin
- blackfin.uclinux.org Инструменты с открытым исходным кодом и ядро Linux для Blackfin
- T2 SDE Система сборки, поддерживающая кросс-компиляцию в Blackfin.