VideoCore - VideoCore
VideoCore это малая мощность мобильный мультимедийный процессор, первоначально разработанный Alphamosaic Ltd и теперь принадлежит Broadcom. Его двумерный DSP Архитектура делает его достаточно гибким и эффективным для декодирования (а также кодирования) ряда мультимедийных кодеков в программном обеспечении при сохранении низкого энергопотребления.[1] В ядро интеллектуальной собственности полупроводников (Ядро SIP) пока обнаружено только на SoC Broadcom.
Технические детали
Ограничения мультимедийной системы
Мобильные мультимедийные устройства требуют значительного количества высокоскоростной обработки видео, но при низком энергопотреблении для длительного времени автономной работы. В РУКА ядро процессора имеет высокий IPS на ватт (и таким образом доминирует на рынке мобильных телефонов), но требует сопроцессоров для ускорения видео и контроллеров дисплея для всей системы. Объем данных, передаваемых между этими чипами на высокой скорости, приводит к более высокому энергопотреблению. Специализированные сопроцессоры могут быть оптимизированы для пропускной способности по сравнению с задержкой (больше ядер и параллелизм данных, но с более низкой тактовой частотой), и они имеют наборы команд и архитектуры памяти, предназначенные для обработки мультимедиа (например, арифметика насыщения и обработка специализированных форматов данных) .
3D двигатель
VideoCoreIV-AG100-R находится в Raspberry Pi 1, 2 и 3 документированы для полной поддержки OpenGL ES 2.0 и OpenVG 1.1.
3D-движок состоит из различных подсистем, самая распространенная из которых - QPU. QPU - это 16-канальный одна инструкция, несколько данных (SIMD) процессор.
"Каждый процессор имеет два вектора с плавающей запятой. ALU которые выполняют операции умножения и не умножения параллельно с задержкой одного цикла команды. Внутренне QPU представляет собой 4-процессорный процессор SIMD, мультиплексированный 4 × за четыре цикла, что делает его особенно подходящим для обработки потоков четырехпикселей », - говорит Broadcom. Справочное руководство по 3D-архитектуре VideoCore® IV. [2]
«QPU организованы в группы до четырех, называемые срезами, которые используют определенные общие ресурсы», - говорится в документе. ср. Вершина и шейдер.
Эти «срезы» примерно соответствуют Вычислительные блоки AMD.
По крайней мере, VC 4 (например, в Raspberry Pi) не поддерживает Сжатие текстур S3 (S3TC).[2] Наверное, тоже не поддерживает Адаптивное масштабируемое сжатие текстур (АНТК).
Алгоритмы сжатия видео
Об алгоритмах сжатия видео, широко используемых в настоящее время, таких как H.263, H.264 / MPEG-4 AVC, MPEG-4, MPEG-2, MPEG-1, H.265, Даала, Теора, VP8 и VP9, Продукты Broadcom VideoCore поддерживают аппаратное ускорение некоторых операций. В некоторых случаях только декомпрессия, только сжатие или оба до определенного разрешения (например, 720p или 1080p) и до определенной частоты кадров (например, 30 или 60 кадров в секунду).
(Следует понимать, что отсутствие аппаратного ускорения не является абсолютным препятствием для получения какого-либо метода обработки или перекодирования таких потоков, используя универсальные инструкции ЦП, возможно, со скоростью, воспринимаемой медленной по сравнению с аппаратным ускорением, может преодолеть такое препятствие. Предотвращение такого препятствия с помощью более низкого разрешения снижает потребление энергии и устраняет радиаторы, поскольку это способствует сохранению компонентов.)
Ключевые особенности VideoCore
- Набор инструкций написан с учетом обработки видео с самого начала. Например, арифметика насыщения так что сумма двух ярких пикселей не «переходит» в темные значения.
- Массив графические процессоры за параллельные вычисления видеоданных на относительно низкой тактовой частоте.
- Очень высокая степень интеграции объединяет ЦП, графические процессоры, память и схему дисплея на одном кристалле, устраняя нагрузку по питанию, связанную с управлением быстрыми внешними шинами.
Варианты
VC01 на базе VideoCore I обеспечивает видео и мультимедийные возможности для различных телефонов Samsung, включая SCH-V540, SCH-V4200, SCH-V490.[3]
VC02 на базе VideoCore II / BCM2722 процессор предоставляет возможности видео для яблоко с IPod 5-го поколения.[4]
На базе VideoCore III BCM2727 процессор обеспечивает возможности видео, неподвижной и трехмерной графики для Nokia N8.
VideoCore IV BCM2763 процессор улучшен по сравнению с VideoCore III с поддержкой 1080p кодирование и декодирование, а также поддержка камеры с более высоким разрешением и более быстрая 2D и 3D графика при очень низком энергопотреблении. Он используется в Nokia 808 PureView,[5] некоторые версии Року оборудование и Raspberry Pi (2835/2836 моделей для версий 1/2 соответственно).[6]
VideoCore IV BCM28155 процессор поддерживает кодирование и декодирование 1080p, улучшенную 2D и 3D графику с двухъядерный ARM Cortex-A9 Процессор на чипсете BCM28155. Он используется в Samsung Galaxy S II Plus, Samsung Galaxy Гранд и Amazon Fire TV Stick.
Видеоядро V BCM7251 процессор поддерживает декодирование и перекодирование 2160p60 или двойное кодирование / декодирование 1080p60, имеет улучшенную поддержку кодеков (H.265), поддержку DDR3 и DDR4, USB 3.0, PCIe, Gigabit Ethernet и 802.11ac на двухъядерный ARM Cortex-A15 Двухъядерный процессор Brahma15.
Таблица SoC, использующих блоки VideoCore SIP
SoC | GPU | ЦПУ | Макс дисплей | Использование устройств | ||||
---|---|---|---|---|---|---|---|---|
Микроархитектура | Freq. (МГц ) | Набор инструкций | Микроархитектура | Ядра | Freq. (МГц) | |||
VC01 | VideoCore 1 | Никто | CIF | Список
| ||||
BCM2702 (VC02) | VideoCore 2 | Никто | SD PAL / NTSC | Список
| ||||
BCM2705 (VC05) | VideoCore 2 | Никто | SD PAL / NTSC | |||||
BCM2091 | VideoCore 4 | Никто | Неопределенные | |||||
BCM2722 | VideoCore 2 | Никто | SD PAL / NTSC | Список | ||||
BCM2724 | VideoCore 2 | Никто | SD PAL / NTSC | |||||
BCM2727 | VideoCore 3 | Никто | HD 720p | Список | ||||
BCM11181 | VideoCore 3 | Никто | HD 720p | |||||
BCM2763 | VideoCore 4 | Никто | Full HD 1080p | |||||
BCM2820 | VideoCore 4 | ARMv6 | ARM1176 | 1 | 600 | Full HD 1080p | ||
BCM2835 | VideoCore 4 | 250 | ARMv6 | ARM1176 | 1 | 700 | Full HD 1080p | Список |
BCM2836 | VideoCore 4 | 250 | ARMv7 | Cortex-A7 | 4 | 900 | Full HD 1080p[а] | Raspberry Pi 2[7] |
BCM2837 | VideoCore 4 | 300 | ARMv8 | Cortex-A53 | 4 | 1200 | Full HD 1080p[а] | Raspberry Pi 3[7] |
BCM11182 | VideoCore 4 | Никто | Full HD 1080p | |||||
BCM11311 | VideoCore 4 | ARMv7 | Cortex-A9 | 2 | Full HD 1080p | |||
BCM21654 | VideoCore 4 | ARMv7 | Cortex-A9 + Cortex-R4 | 1+1 | Full HD 1080p | |||
BCM21654G | VideoCore 4 | ARMv7 | Cortex-A9 | 1 | до 1000 | HD 720p | ||
BCM21663 | VideoCore 4 | ARMv7 | Cortex-A9 | 1 | до 1200 | HD 720p | ||
BCM21664 | VideoCore 4 | ARMv7 | Cortex-A9 | 1 | до 1000 | HD 720p | ||
BCM21664T | VideoCore 4 | ARMv7 | Cortex-A9 | 1 | до 1200 | Full HD 1080p | Список
| |
BCM28150 | VideoCore 4 | ARMv7 | Cortex-A9 | 2 | Full HD 1080p | Список
| ||
BCM21553 | VideoCore 4 | ARMv6 | ARM11 | 1 | Full HD 1080p | Список
| ||
BCM28145 / 28155 | VideoCore 4 | ARMv7 | Cortex-A9 | 2 | 1200 | Full HD 1080p | ||
BCM23550 | VideoCore 4 | ARMv7 | Cortex-A7 | 4 | 1200 | Full HD 1080p | Список
| |
BCM7251 | VideoCore 5 | ARMv7 | ARM Cortex-A15 | 2 | 1666 | 4K 2160p | ||
BCM2711B0 | VideoCore VI | 500 | ARMv8 | ARM Cortex-A72 | 4 | 1500 | Двойной 4K 2160p | Raspberry Pi 4B[11] |
SoC | Микроархитектура | Freq. (МГц ) | Набор инструкций | Микроархитектура | Ядра | Freq. (МГц) | Макс дисплей | Использование устройств |
GPU | ЦПУ |
Продукты VideoCore
Чипы VideoCore могут запускать полные приложения - это не просто микросхемы DSP для видео, которым требуется отдельный процессор для предоставления и сбора данных. Однако на практике они часто используются как простые ускорители, поскольку компании обычно предпочитают осторожно осваивать новые технологии, а не брать на себя большой риск при переносе большого количества кода приложения из существующей архитектуры на базе ARM. VideoCore также может быть не оптимально энергоэффективным для задач, не связанных с DSP, но может быть соединен с высокоэффективным ядром процессора, например, для типичных задач, не связанных с мультимедиа, редко требуется ширина шины более 32 бит, в то время как конструкция VideoCore использует несколько жилы с широкой шиной. Apple Video iPod - хороший пример такого подхода.
В портативных компьютерах с низким энергопотреблением используются процессоры и графические чипы с низким энергопотреблением, поэтому часто возникают проблемы при воспроизведении видео с полной частотой кадров. Переносить полную операционную систему на чип VideoCore нежелательно или практично, поэтому на плату видеоускорителя необходимо выгружать только декодирование видео (например, с использованием микросхемы BCM70015).[нужна цитата ]
Плееры Blu-ray также могут использовать его как маломощный видеоускоритель.
Отметим, что чипы VideoCore обычно использовались с чипами на базе ARM, последние чипы имеют процессоры VideoCore и ARM.
Поддержка Linux
28 февраля 2014 г., в день второй годовщины Raspberry Pi, Broadcom вместе с фондом Raspberry PI Foundation объявили о выпуске полной документации для графического ядра VideoCore IV и выпуске полного исходного кода графического стека под лицензией Лицензия BSD с 3 пунктами.[12][13][14]
Однако только небольшая часть драйвера была выпущена с открытым исходным кодом; все ускорение видео осуществляется с помощью прошивки, закодированной для ее проприетарного графического процессора, исходный код которого не был открытым. Сама SoC управляется ThreadX -основан ОСРВ который загружается в VPU Videocore во время загрузки.[15]
Обзор архитектуры системы на основе VideoCore был составлен (на основе обратного проектирования и патентных исследований) Herman Hermitage и доступен на GitHub.[16]
В июне 2014 года Эрик Анхольт ушел из Intel в Broadcom, чтобы разработать бесплатный драйвер (DRM /Драйвер KMS и Галлий3D -драйвер) для VC4 (VideoCore 4).[17] Через неделю он сообщил о заметном прогрессе.[18][19]
Я взял на себя новую роль разработчика открытого кода. Я буду работать над созданием Под лицензией MIT Меса 3D и ядро DRM драйвер для 2708 (он же 2835), чип, который находится в Raspberry Pi.
— Эрик Анхольт, http://anholt.livejournal.com/44239.html
Свободно лицензируемый код 3D-графики был передан в Mesa 29 августа 2014 г.[20] и впервые был выпущен как часть Mesa 10.3.
Конкуренты на рынке
Похожие линейки мобильных мультимедийных чипов включают: Адрено, Texas Instruments OMAP, Nvidia Tegra, AllWinner A1X и Freescale i.MX. Они основаны на ARM с массивами графических процессоров.
Источники данных
Страница Broadcom на YouTube[21] есть видеоролики, демонстрирующие возможности обработки видео, но на их веб-сайте представлены только краткие описания продуктов. Подробные данные и инструменты разработки доступны только в NDA, и то только для производителей, у которых на рынке очень много единиц. Однако 28 февраля 2014 года, в день второй годовщины Raspberry Pi, Broadcom вместе с Raspberry Pi Foundation объявили о выпуске полной документации для графического ядра VideoCore IV и полной версии исходного кода графического стека. по лицензии BSD с тремя пунктами.[12][13]
Смотрите также
Рекомендации
- ^ Alphamosaic Ltd> Технологии - VideoCore, архивировано 9 февраля 2003 г.
- ^ «Могу ли я играть в Morrowind с OpenMW на других платформах, таких как Raspberry Pi?».
- ^ [1]
- ^ Эккер, Клинт (20 октября 2005 г.). "Видео iPod: Вивисекция". Ars Technica. Получено 29 марта 2008.
- ^ http://www.staygrab.com/nokia-808-pureview/
- ^ «BCM2835 - Документация Raspberry Pi».
- ^ а б c «Часто задаваемые вопросы о Raspberry Pi - часто задаваемые вопросы».
- ^ "Roku 2 XS Teardown". Мои кабельные альтернативы. 28 июля 2011 г.
- ^ «КЛЕЙКОЕ: HOWTO: создание пользовательских режимов HDMI - стр. 3». Форумы о Raspberry Pi. Получено 24 сентября 2019.
- ^ "Opus HD". Ксоло. Архивировано из оригинал 10 октября 2014 г.
- ^ «Обзор Raspberry Pi 4: новый золотой стандарт для одноплатных вычислений». Оборудование Тома. 28 августа 2019 г.. Получено 24 сентября 2019.
- ^ а б «Raspberry Pi отмечает второй день рождения с планом по выпуску графического драйвера с открытым исходным кодом».
- ^ а б "Подарок на день рождения от Broadcom". Raspberry Pi. 28 февраля 2014 г.
- ^ "Android для всех: Broadcom дает разработчикам ключи к королевству VideoCore". www.broadcom.com. Получено 24 сентября 2019.
- ^ Эрмитаж, Герман (21 марта 2015 г.). «Развлечения и игры с четырехъядерными процессорами Videocoreiv».
- ^ "херманэрмитаж / видеокорев".
- ^ «Эрик Анхольт покидает команду Intel по работе с графикой Linux для Broadcom». 17 июня 2014 г.
- ^ "Драйвер VC4 Linux". Архивировано из оригинал 22 июля 2014 г.. Получено 22 июн 2014.
- ^ "VC4 водитель недели 1". 22 июня 2014 г. Архивировано с оригинал 16 августа 2014 г.
- ^ "vc4: начальный импорт скелетного драйвера". Библиотека 3D-графики Mesa. 9 августа 2014 г.
- ^ «Broadcom Limited».