Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Детали архитектуры [ править ]

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

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

Он объединяет в себе аспекты старой архитектуры SHARC от ADI и архитектуры 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 , которые включают защиту памяти, различные режимы работы (пользовательский, ядро), коды операций с одним циклом , кеши данных и инструкций, а также инструкции для битового теста, доступа к байтам, словам или целым числам, а также различные микросхема периферийных устройств.

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

Память и DMA [ править ]

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

Внутренняя память SRAM L1 , которая работает с тактовой частотой ядра устройства, основана на архитектуре Гарварда . Память инструкций и память данных независимы и подключаются к ядру через выделенные шины памяти, предназначенные для более высоких постоянных скоростей передачи данных между ядром и памятью 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. Хотя в документации Blackfin MPU называется блоком управления памятью (MMU), он не обеспечивает трансляцию адресов, как традиционный 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- контроллер доступа к среде передачи ) с 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 и ряд других настраиваемых режимов кадрирования для подключения к АЦП , ЦАП , другим процессорам, ПЛИС и т. Д.
  • UART : обеспечивает двунаправленную связь с устройствами RS232 (ПК, модемы, периферийные устройства ПК и т. Д.), MIDI- устройствами, устройствами IRDA.
  • USB 2.0 OTG (на ходу)
  • Сторожевой таймер

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

Инструменты разработки [ править ]

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

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

Другие варианты включают 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 Embedded Module, который требует VisualDSP ++.

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

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

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

См. Также [ править ]

  • SHARC
  • ТигрSHARC

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Сайт процессора Blackfin
  • Справочник по программированию процессоров Blackfin
  • blackfin.uclinux.org Инструменты с открытым исходным кодом и ядро ​​Linux для Blackfin
  • T2 SDE Система сборки, поддерживающая кросс-компиляцию в Blackfin.