Видеоядро
VideoCore — серия маломощных мобильных мультимедийных процессоров, первоначально разработанная компанией Alphamosaic Ltd , а теперь принадлежащая Broadcom . Alphamosaic представила свою первую версию как двухмерную архитектуру DSP , которая делает ее достаточно гибкой и эффективной для декодирования (а также кодирования) ряда мультимедийных кодеков в программном обеспечении при сохранении низкого энергопотребления. [1] Полупроводниковое ядро интеллектуальной собственности (SIP-ядро) пока обнаружено только в SoC Broadcom.
Технические подробности [ править ]
Ограничения мультимедийной системы [ править ]
Мобильным мультимедийным устройствам требуется высокая скорость обработки видео, но малое энергопотребление для длительного срока службы батареи. Ядро процессора ARM имеет высокий показатель IPS на ватт (и, таким образом, доминирует на рынке мобильных телефонов), но для полноценной системы требуются сопроцессоры видеоускорения и контроллеры дисплея. Объем данных, передаваемых между этими чипами на высокой скорости, приводит к более высокому энергопотреблению. Специализированные сопроцессоры могут быть оптимизированы по пропускной способности с учетом задержки (больше ядер и параллелизм данных, но на более низкой тактовой частоте) и иметь наборы инструкций и архитектуру памяти, предназначенную для обработки мультимедиа (например, арифметика насыщения и обработка специализированных форматов данных).
3D engine [ edit ]
Задокументировано, что 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 раза по четырем циклам, что делает его особенно подходящим для обработки потоки четырех пикселей», согласно Справочному руководству по 3D-архитектуре VideoCore® IV компании Broadcom. [1]
«QPU организованы в группы по четыре штуки, называемые слайсами, которые используют определенные общие ресурсы», — продолжает документ. ср. Вершины и шейдеры .
Эти «срезы» примерно соответствуют вычислительным блокам AMD .
По крайней мере, VC 4 (например, в Raspberry Pi) не поддерживает сжатие текстур S3 (S3TC). [2] Вероятно, он также не поддерживает адаптивное масштабируемое сжатие текстур (ASTC).
Алгоритмы сжатия видео [ править ]
Из широко используемых в настоящее время алгоритмов сжатия видео, таких как H.263 , H.264/MPEG-4 AVC , MPEG-4 , MPEG-2 , MPEG-1 , H.265 , Daala , Theora , VP8 и VP9 , Broadcom’s VideoCore. продукты поддерживают аппаратное ускорение некоторых операций. В некоторых случаях только декомпрессия, только сжатие или и то, и другое до определенного разрешения (например, 720p или 1080p) и до определенной частоты кадров (например, 30 или 60 кадров в секунду).
Ключевые особенности VideoCore [ править ]
- Набор инструкций, с самого начала написанный с учетом обработки видео. Например, арифметика насыщенности , чтобы сумма двух ярких пикселей не «обертывалась» в темные значения.
- Массив графических процессоров для параллельных вычислений видеоданных на относительно низкой тактовой частоте.
- Очень высокая степень интеграции помещает ЦП, графические процессоры, память и схемы дисплея на один кристалл, устраняя нагрузку на питание, связанную с управлением быстрыми внекристальными шинами.
Варианты [ править ]
VC01 на базе VideoCore I обеспечивает видео- и мультимедийные возможности для различных телефонов Samsung, включая SCH-V540, SCH-V4200, SCH-V490. [3]
Процессор VC02/BCM2722 на базе VideoCore II обеспечивает видеовозможности для Apple от iPod 5-го поколения . [4]
на базе VideoCore III Процессор BCM2727 обеспечивает возможности видео, фото и 3D-графики для Nokia N8 .
Процессор VideoCore IV BCM2763 является усовершенствованием VideoCore III благодаря поддержке кодирования и декодирования 1080p , а также поддержке камер с более высоким разрешением и более быстрой 2D- и 3D-графикой, и все это при очень низком энергопотреблении. Он используется в Nokia 808 PureView . [5] некоторые версии оборудования Roku и Raspberry Pi (модели 2835/2836 для версий 1/2 соответственно). [6]
Процессор VideoCore IV BCM28155 поддерживает кодирование и декодирование 1080p, улучшенную 2D- и 3D-графику благодаря двухъядерному процессору ARM Cortex-A9 на чипсете BCM28155. Он используется в Samsung Galaxy S II Plus , Samsung Galaxy Grand и Amazon Fire TV Stick .
Процессор VideoCore V BCM7251 поддерживает декодирование и перекодирование 2160p60 или двойное кодирование/декодирование 1080p60, улучшенную поддержку кодеков (H.265), поддержку DDR3 и DDR4, USB 3.0, PCIe, Gigabit Ethernet и 802.11ac на двухъядерном процессоре ARM Cortex. A15 Двухъядерный процессор Brahma15.
Таблица SoC, использующих SIP VideoCore блоки -
SoC | графический процессор | Процессор | Максимальный дисплей | Использование устройств | ||||
---|---|---|---|---|---|---|---|---|
Микроархитектура | Частота. ( МГц ) | Набор инструкций | Микроархитектура | Ядра | Частота. (МГц) | |||
ВК01 | Видеоядро 1 | Никто | СИФ | Список | ||||
БКМ2702 (ВК02) | Видеоядро 2 | Никто | SD PAL/NTSC | Список | ||||
БКМ2705 (ВК05) | Видеоядро 2 | Никто | SD PAL/NTSC | |||||
BCM2091 | Видеоядро 4 | Никто | Не указано | |||||
BCM2722 | Видеоядро 2 | Никто | SD PAL/NTSC | Список | ||||
BCM2724 | Видеоядро 2 | Никто | SD PAL/NTSC | |||||
БЦМ2727 | Видеоядро 3 | Никто | HD 720p | Список | ||||
BCM11181 | Видеоядро 3 | Никто | HD 720p | |||||
БЦМ2763 | Видеоядро 4 | Никто | Полное HD 1080p | Список | ||||
БЦМ2820 | Видеоядро 4 | ARMv6 | ARM1176 | 1 | 600 | Полное HD 1080p | ||
BCM2835 | Видеоядро 4 | 250 | ARMv6 | ARM1176 | 1 | 700 | Полное HD 1080p | Список |
BCM2836 | Видеоядро 4 | 250 | ARMv7 | Кортекс-А7 | 4 | 900 | Полное HD 1080p [а] | Малиновый Пи 2 [7] |
BCM2837 | Видеоядро 4 | 300 | ARMv8 | Кортекс-А53 | 4 | 1200 | Полное HD 1080p [а] | Малиновый Пи 3 [7] |
BCM11182 | Видеоядро 4 | Никто | Полное HD 1080p | |||||
BCM11311 | Видеоядро 4 | ARMv7 | Кортекс-А9 | 2 | Полное HD 1080p | |||
BCM21654 | Видеоядро 4 | ARMv7 | Кортекс-А9 + Кортекс-R4 | 1+1 | Полное HD 1080p | Список | ||
BCM21654G | Видеоядро 4 | ARMv7 | Кортекс-А9 | 1 | до 1000 | HD 720p | ||
BCM21663 | Видеоядро 4 | ARMv7 | Кортекс-А9 | 1 | до 1200 | HD 720p | Список | |
BCM21664 | Видеоядро 4 | ARMv7 | Кортекс-А9 | 1 | до 1000 | HD 720p | ||
BCM21664T | Видеоядро 4 | ARMv7 | Кортекс-А9 | 1 | до 1200 | Полное HD 1080p | Список | |
BCM28150 | Видеоядро 4 | ARMv7 | Кортекс-А9 | 2 | Полное HD 1080p | Список | ||
BCM21553 | Видеоядро 4 | ARMv6 | ARM11 | 1 | Полное HD 1080p | Список | ||
БЦМ28145/28155 | Видеоядро 4 | ARMv7 | Кортекс-А9 | 2 | 1200 | Полное HD 1080p | Список | |
БЦМ23550 | Видеоядро 4 | ARMv7 | Кортекс-А7 | 4 | 1200 | Полное HD 1080p | Список | |
BCM7251 (архив.org) | Видеоядро 5 | ARMv7 | ARM Кортекс-А15 | 2 | 1666 | 4К 2160p | ||
BCM2711B0 | Видеоядро 6 | 500 | ARMv8 | ARM Кортекс-A72 | 4 | 1800 | Dual 4K 2160p | Малиновый Пи 4Б [11] |
BCM2712 | Видеоядро 7 | 800 | ARMv8 | ARM Кортекс-A76 | 4 | 2400 | Dual 4k 2160p 60fps | Малиновый Пи 5 [12] |
SoC | Микроархитектура | Частота. ( МГц ) | Набор инструкций | Микроархитектура | Ядра | Частота. (МГц) | Максимальный дисплей | Использование устройств |
графический процессор | Процессор |
- ^ Jump up to: а б Редактирование
/boot/config.txt
может обеспечить более высокое разрешение за счет изменения количества сканирований и частоты пикселей (т. е. 2560x1080). [9]
Продукты VideoCore [ править ]
Этот раздел содержит контент, написанный как реклама . ( январь 2024 г. ) |
Чипы VideoCore могут выполнять полноценные приложения. Чипы DSP — это не просто видеочипы DSP, которым требуется отдельный процессор для передачи и сбора данных. VideoCore также может быть неоптимально энергоэффективным при выполнении задач, не связанных с DSP, но может сочетаться с высокоэффективным ядром ЦП. Например, типичные немультимедийные задачи редко требуют ширины шины более 32 бит, в то время как в конструкции VideoCore используются несколько ядер с широкой шиной.
Декодирование видео было выгружено на плату видеоускорителя с помощью чипа BCM. [ нужна ссылка ]
Проигрыватели Blu-ray также могут использовать его в качестве маломощного видеоускорителя.
Следует отметить, что чипы VideoCore обычно использовались с чипами на базе ARM, новейшие чипы имеют процессоры VideoCore и ARM.
Поддержка Linux [ править ]
28 февраля 2014 года, в день второй годовщины Raspberry Pi , компания Broadcom совместно с Raspberry Pi Foundation объявила о выпуске полной документации по графическому ядру VideoCore IV, а также выпуске полного исходного кода графического стека под Лицензия BSD из 3 пунктов . [13] [14] [15]
Однако лишь незначительная часть драйвера была выпущена с открытым исходным кодом; все ускорение видео выполняется с использованием прошивки, написанной для собственного графического процессора, исходный код которого не был открыт. Вся SoC управляется ThreadX на базе ОСРВ , которая загружается в VPU VideoCore во время загрузки. [16]
Обзор архитектуры системы на базе VideoCore был составлен (на основе обратного проектирования и патентных исследований) Германом Эрмитажем и доступен на GitHub. [17]
В июне 2014 года Эмма Анхольт ушла из Intel в Broadcom для разработки бесплатного драйвера ( драйвер DRM / KMS и Gallium3D -драйвер) для VC4 (VideoCore 4). [18] Через неделю она сообщила о заметном прогрессе. [19] [20]
Там я взял на себя новую роль разработчика открытого исходного кода. Я собираюсь работать над созданием под лицензией MIT драйвера Mesa 3D и ядра DRM для 2708 (он же 2835), чипа, который установлен в Raspberry Pi . [21]
Свободно лицензируемый код 3D-графики был передан в Mesa 29 августа 2014 года. [22] и впервые был выпущен как часть Mesa 10.3.
Программирование вычислительного ядра [ править ]
Сообщество открытого исходного кода создало библиотеку C++ под названием V3DLib для непосредственного запуска пользовательских вычислительных ядер на графическом процессоре VideoCore на всех Raspberry Pi. Это позволяет выполнять вычисления общего назначения на графических процессорах ( GPGPU которые не ограничены графическим ) , API OpenGL .
Конкуренты на рынке [ править ]
Аналогичные линейки мобильных мультимедийных чипов включают Adreno , Texas Instruments OMAP , Nvidia Tegra , AllWinner A1X и Freescale i.MX. Они основаны на ARM и оснащены массивами графических процессоров.
Источники данных [ править ]
Страница Broadcom на YouTube [23] есть видеоролики, демонстрирующие возможности обработки видео, но на их веб-сайте представлено только краткое описание продуктов. Подробные данные и инструменты разработки доступны только в рамках соглашения о неразглашении , и то только для производителей, имеющих рынок для очень большого количества единиц.
См. также [ править ]
Ссылки [ править ]
- ^ Alphamosaic Ltd > Technology – VideoCore , архивировано 9 февраля 2003 г.
- ^ «Могу ли я играть в Morrowind с OpenMW на других платформах, таких как Raspberry Pi?» . 6 августа 2011 г.
- ^ «Презентация Broadcom Йосси Коэна» (PDF) .
- ^ Экер, Клинт (20 октября 2005 г.). «Видео iPod: Вивисекция» . Арс Техника . Проверено 29 марта 2008 г.
- ^ «Nokia 808 PureView с невероятной 41-мегапиксельной камерой» . Staygrab.com . Архивировано из оригинала 13 января 2013 года . Проверено 23 января 2013 г.
- ^ «BCM2835 — Документация Raspberry Pi» .
- ^ Jump up to: а б с «Часто задаваемые вопросы о Raspberry Pi — часто задаваемые вопросы» .
- ^ «Разборка Roku 2 XS» . Мои альтернативы кабелям . 28 июля 2011 г.
- ^ «ЗАПИСНО: КАК: Создание пользовательских режимов HDMI — страница 3» . Форумы по Raspberry Pi . Проверено 24 сентября 2019 г.
- ^ «Опус HD» . Ксоло . Архивировано из оригинала 10 октября 2014 года.
- ^ «Обзор Raspberry Pi 4: новый золотой стандарт для одноплатных вычислений» . Аппаратное обеспечение Тома . 28 августа 2019 года . Проверено 24 сентября 2019 г.
- ^ «Представляем: Raspberry Pi 5!» . Малина Пи . 28 сентября 2023 г. Проверено 28 сентября 2023 г.
- ^ «Raspberry Pi отмечает свой второй день рождения, планируя выпуск графического драйвера с открытым исходным кодом» . 28 февраля 2014 г.
- ^ «Подарок на день рождения от Broadcom» . Малина Пи . 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 г.
- ^ Эрик Анхольт. "новая работа!" . Проверено 27 декабря 2023 г.
- ^ «vc4: первоначальный импорт скелетного драйвера» . Библиотека 3D-графики Mesa. 9 августа 2014 г.
- ^ «Бродком Лимитед» . Ютуб .