Qualcomm Hexagon - Qualcomm Hexagon

Шестиугольник
Дизайнер Qualcomm
Биты 32-битный
Введено 2006 (QDSP6)
Дизайн 4-поточный многопоточный VLIW
Тип Зарегистрироваться-Зарегистрироваться
Кодирование Фиксированные 4 байта на инструкцию, до 4 инструкций в многоинструкции VLIW
Открытым Проприетарный
Регистры
Общее назначение 32-битный GPR: 32, может быть сопряжен с 64-битным

Hexagon - это торговая марка семейства цифровых сигнальных процессоров (DSP) от Qualcomm . Hexagon также известен как QDSP6, что означает «цифровой сигнальный процессор шестого поколения». Согласно Qualcomm, архитектура Hexagon предназначена для обеспечения производительности с низким энергопотреблением в различных приложениях.

Каждая версия Hexagon имеет набор инструкций и микроархитектуру. Эти две функции тесно связаны.

Hexagon используется в чипах Qualcomm Snapdragon, например, в смартфонах, автомобилях, носимых устройствах и других мобильных устройствах, а также в компонентах сетей сотовой связи.

Архитектура набора команд

Вычислительные устройства имеют наборы команд, которые являются их низшими, наиболее примитивными языками. Общие инструкции - это инструкции, которые вызывают сложение, умножение или комбинирование двух чисел другими способами, а также инструкции, которые указывают процессору, где искать в памяти следующую инструкцию. Есть много других типов инструкций.

Ассемблеры и компиляторы, которые переводят компьютерные программы в потоки инструкций - битовые потоки, - которые устройство может понимать и выполнять (выполнять). По мере выполнения потока инструкций целостность системной функции поддерживается за счет использования уровней привилегии инструкций. Привилегированные инструкции имеют доступ к большему количеству ресурсов устройства, включая память. Hexagon поддерживает уровни привилегий.

Изначально инструкции Hexagon работали с целыми числами, но не с числами с плавающей запятой, но в v5 была добавлена ​​поддержка с плавающей запятой.

Блок обработки , который обрабатывает выполнение инструкций могут в порядке-диспетчерской до 4 инструкций (пакет) до 4 Execution Units каждый тактового сигнала.

Микроархитектура

Микроархитектура - это физическая структура микросхемы или компонента микросхемы, которая позволяет устройству выполнять инструкции. Данный набор команд может быть реализован множеством микроархитектур. Шины - каналы передачи данных - для устройств Hexagon имеют ширину 32 бита. То есть 32 бита данных могут быть перемещены из одной части микросхемы в другую за один шаг. Микроархитектура Hexagon является многопоточной, что означает, что она может одновременно обрабатывать более одного потока инструкций, повышая скорость обработки данных. Hexagon поддерживает очень длинные командные слова, которые представляют собой группы из четырех команд, которые могут выполняться «параллельно». Параллельное выполнение означает, что несколько инструкций могут выполняться одновременно, при этом одна инструкция не должна завершаться до запуска следующей. Микроархитектура Hexagon поддерживает одну инструкцию, несколько операций с данными, что означает, что когда устройство Hexagon получает инструкцию, оно может выполнять операцию с более чем одним фрагментом данных одновременно.

Согласно оценке 2012 года, Qualcomm поставила 1,2 миллиарда ядер DSP внутри своей системы на кристалле (SoC) (в среднем 2,3 ядра DSP на SoC) в 2011 году, а на 2012 год запланировано 1,5 миллиарда ядер, что сделало QDSP6 самой распространенной архитектурой DSP ( В 2011 году CEVA поставила около 1 миллиарда ядер DSP, что составляет 90% рынка DSP с IP-лицензией).

Архитектура Hexagon разработана для обеспечения производительности с низким энергопотреблением в различных приложениях. Он имеет такие функции, как многопоточность с аппаратной поддержкой , уровни привилегий, очень длинное слово инструкции (VLIW) , несколько данных одной инструкции (SIMD) и инструкции, предназначенные для эффективной обработки сигналов. Аппаратная многопоточность реализована как бочкообразная временная многопоточность - потоки переключаются циклически в каждом цикле, поэтому физическое ядро ​​600 МГц представлено как три логических ядра 200 МГц перед V5. Hexagon V5 перешел на динамическую многопоточность (DMT) с переключением потоков при промахах L2, ожидании прерывания или по специальным инструкциям.

На Hot Chips 2013 Qualcomm анонсировала подробности своего Hexagon 680 DSP. Qualcomm анонсировала Hexagon Vector Extensions (HVX). HVX разработан, чтобы позволить обрабатывать значительные вычислительные нагрузки для расширенной обработки изображений и компьютерного зрения на DSP, а не на CPU. В марте 2015 года Qualcomm анонсировала свой SDK Snapdragon Neural Processing Engine, который позволяет ускорять AI с помощью CPU, GPU и Hexagon DSP.

Qualcomm «s зев 855 содержит их 4 - го поколения на устройстве двигатель AI, который включает в себя шестиугольник 690 DSP и шестигранная Tensor Accelerator (HTA) для ускорения AI .

Поддержка программного обеспечения

Операционные системы

Порт в Linux для Hexagon работает под гипервизором слоя ( «шестигранная Virtual Machine») и был объединен с выпуском 3.2 ядра . Исходный гипервизор имеет закрытый исходный код, а в апреле 2013 года компания Qualcomm выпустила минимальную реализацию гипервизора с открытым исходным кодом для QDSP6 V2 и V3, Hexagon MiniVM, под лицензией BSD .

Компиляторы

Поддержка Hexagon была добавлена Тони Линтикумом в версии 3.1 LLVM . Поддержка Hexagon / HVX V66 ISA была добавлена ​​в выпуск LLVM 8.0.0 . Существует также не поддерживаемая FSF ветвь GCC и binutils .

Принятие SIP-блока

Процессоры Qualcomm Hexagon DSP доступны в Qualcomm Snapdragon SoC с 2006 года. В Snapdragon S4 (MSM8960 и новее) есть три ядра QDSP, два в подсистеме модема и одно ядро ​​Hexagon в подсистеме мультимедиа. Ядра модема программируются только компанией Qualcomm, и только ядро ​​мультимедиа может быть запрограммировано пользователем.

Они также используются в некоторых фемтосотных процессорах Qualcomm, включая FSM98xx, FSM99xx и FSM90xx.

Сторонняя интеграция

В марте 2016 года было объявлено, что программное обеспечение для обработки звука AudioSmart , производимое полупроводниковой компанией Conexant , интегрируется в Hexagon от Qualcomm.


В мае 2018 года wolfSSL добавила поддержку использования Qualcomm Hexagon. Это поддержка выполнения криптографических операций wolfSSL на DSP. Позже в дополнение к использованию криптографических операций была добавлена ​​специализированная библиотека управления загрузкой операций.

Версии

Выпущено шесть версий архитектуры QDSP6: V1 (2006), V2 (2007–2008), V3 (2009), V4 (2010–2011), QDSP6 V5 (2013, в Snapdragon 800); и QDSP6 V6 (2016, в Snapdragon 820). V4 имеет 20 DMIPS на милливатт, работая на частоте 500 МГц. Тактовая частота Hexagon варьируется в пределах 400–2000 МГц для QDSP6 и 256–350 МГц для архитектуры предыдущего поколения QDSP5.

Версии QDSP6 Технологический узел, нм Дата Количество одновременных потоков Поточная частота, МГц Общая частота ядра, МГц Продукт
QDSP6 V1 65 Октябрь 2006 г.
QDSP6 V2 65 Декабрь 2007 г. 6 100 600
QDSP6 V3 (1-го поколения) 45 2009 г. 6 67 400
QDSP6 V3 (2-го поколения) 45 2009 г. 4 100 400
QDSP6 V4 (V4M, V4C, V4L) 28 год 2010–2011 гг. 3 167 500
QDSP6 V5 (V5A, V5H) 28 год 2013 3 200 или больше с ДМТ 600
642 14 2017 г. Львиный зев

630

QDSP6 V6 или 680 14 2016/2017 4 500 2000 г. Львиный зев

820/821/636/660

682 10 2017 г. Львиный зев

835

683 11 2020 г. Львиный зев

662/460

685 10/11 2018/2019 (3 ТОПСА) Львиный зев

845/670/675/678/710/712

686 11/8 2019/2021 (3,3 ТОПСА) Львиный зев

665/480

688 8 2019/2020 (3,6 ТОПСА) Львиный зев

730 (г) / 732 г

690 7 2019 г. (7 ТОПОВ) Львиный зев

855/855 +

692 8 2020 г. (5 ТОПОВ) Львиный зев

720 г / 690

694 8 2020 г. (4,7 ТОПС) Львиный зев

750 г

696 7 2020 г. (5,4 ТОПСА) Львиный зев

765 (г) / 768 г

698 7 2020 г. (15 ТОПОВ) Львиный зев

865/865 + / 870

770 5/6 2021 г. (12 ТОПОВ) Львиный зев

778 г / 780 г

780 5 2021 г. (26 вершин / 32 вершин) Львиный зев

888/888 +

Доступность в продуктах Snapdragon

Ядра Hexagon (QDSP6) и pre-Hexagon (QDSP5) используются в современных SoC Qualcomm, QDSP5 в основном в продуктах низкого уровня. Модемные QDSP (часто до Hexagon) в таблице не показаны.

Использование QDSP5:

Поколение Snapdragon ID набора микросхем (SoC) Генерация DSP Частота DSP, МГц Технологический узел, нм
S1 MSM7627, MSM7227, MSM7625, MSM7225 QDSP5 320 65
S1 MSM7627A, MSM7227A, MSM7625A, MSM7225A QDSP5 350 45
S2 MSM8655, MSM8255, APQ8055, MSM7630, MSM7230 QDSP5 256 45
S4 Играть MSM8625, MSM8225 QDSP5 350 45
S200 8110, 8210, 8610, 8112, 8212, 8612, 8225Q, 8625Q QDSP5 384 45 LP

Использование QDSP6 (Hexagon):

Поколение Snapdragon ID набора микросхем (SoC) Версия QDSP6 Частота DSP, МГц Технологический узел, нм
S1 QSD8650, QSD8250 QDSP6 600 65
S3 MSM8660, MSM8260, APQ8060 QDSP6 (V3?) 400 45
S4 Prime MPQ8064 QDSP6 (V3?) 500 28 год
S4 Pro MSM8960 Pro, APQ8064 QDSP6 (V3?) 500 28 год
S4 Plus MSM8960, MSM8660A, MSM8260A, APQ8060A, MSM8930,
MSM8630, MSM8230, APQ8030, MSM8627, MSM8227
QDSP6 (V3?) 500 28 год
S400 8926, 8930, 8230, 8630, 8930AB, 8230AB, 8630AB, 8030AB, 8226, 8626 QDSP6V4 500 28 LP
S600 8064T, 8064M QDSP6V4 500 28 LP
S800 8974, 8274, 8674, 8074 QDSP6V5A 600 28 л.с. / мин
S820 8996 QDSP6V6 2000 г. 14 FinFet LPP


Поддерживается аппаратный кодек

Различные видеокодеки, поддерживаемые SoC Snapdragon.

D - декодировать; E - кодировать

FHD = FullHD = 1080p = 1920x1080 пикселей

HD = 720p, который может быть 1366x768 пикселей или 1280x720 пикселей.

Snapdragon 200 серии

Различные видеокодеки, поддерживаемые серией Snapdragon 200.

Кодек Львиный зев

200

Львиный зев

200

Qualcomm

205

Львиный зев

208/210

Львиный зев

212

Доступность 2013 2013 2017 г. 2014 г. 2015 г.
Шестиугольник QDSP5 QDSP6 536 536 536
H263 D & E D & E D & E D & E D & E
ВК-1
H.264 D & E D & E D & E D & E D & E
H.264 10-бит - - - - -
VP8 D & E D & E D & E D & E D & E
H.265 D HD и E HD D HD и E HD D HD и E HD D FHD и E HD D FHD и E HD
H.265 10-битный - - - - -
H.265 12 бит - - - - -
ВВЦ
VP9 - - - - -
VP9 10-битный - - - - -
AV1 - - - - -

Snapdragon 400 серии

Различные видеокодеки, поддерживаемые серией Snapdragon 400.

Кодек Львиный зев

400

Львиный зев

410/415

Львиный зев

425/427

Львиный зев

429/439

Львиный зев

450

Львиный зев

460

Львиный зев

480

Доступность 4 квартал 2013 г. 2014/2015 1 квартал 2016 г. / 3 квартал 2017 г. 2 квартал 2018 г. 2 квартал 2017 г. 1 квартал 2020 г. 1 квартал 2021 г.
Шестиугольник QDSP6 QDSP6 V5 536 (256 КБ) 536 546 683
H263 D & E D & E D & E D & E D & E D & E D & E
ВК-1
H.264 D & E D & E D & E D & E D & E D & E D & E
H.264 10-бит - - - - - - D & E
VP8 D & E D & E D & E D & E D & E D & E D & E
H.265 - D & E D & E D & E D & E D & E D & E
H.265 10-битный - - - - - -
H.265 12 бит - - - - - -
ВВЦ - - - - | - -
VP9 - - - - D & E D & E
VP9 10-битный - - - - - -
AV1 - - - - - - -
Частота кадров видео

поддержка декодирования

HD 60 кадров в секунду
FHD 60 кадров в секунду FHD 60 кадров в секунду FHD 60 кадров в секунду
Кадр видео

оценить поддержку

Кодирование

HD 60 кадров в секунду
FHD 60 кадров в секунду FHD 60 кадров в секунду FHD 60 кадров в секунду

Snapdragon 600 серии

Различные видеокодеки, поддерживаемые серией Snapdragon 600.

Кодек Львиный зев 600 Львиный зев 610 Львиный зев 650/652/653 Львиный зев 630 Львиный зев 632 Львиный зев 636/660 Львиный зев 662 Львиный зев 665 Львиный зев 670 Львиный зев 690
Доступность 1 квартал 2013 г. 1 квартал 2015 г. 2 квартал 2018 г. 1 квартал 2020 г. 2 квартал 2019 г. 2019 г. 2 квартал 2020 г.
Шестиугольник QDSP6 V4 QDSP6 V50 QDSP6 V56 642 546 680 683 686 685 692
H263 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
ВК-1 D &?
H.264 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
H.264 10-бит - - - - - - - - -
VP8 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
H.265 - D & E D & E D & E D & E D & E D & E D & E D & E
H.265 10-битный - - - D &? - D &? - D &? D & E
ВВЦ - - - - - - - - - -
VP9 - - D &? D & E D & E D & E D & E D & E D & E D & E
VP9 10-битный - - - - - - - - -
AV1 - - - - - - - - - -
FPS
Поддержка частоты кадров декодирования видео HD 60 кадров в секунду HD 120 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду HD 60 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду
FHD 30 кадров в секунду FHD 60 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 60 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду
Нет 4K Нет 4K 4K30 кадров в секунду 4K30 кадров в секунду 4K30 кадров в секунду 4K30 кадров в секунду Нет 4K 4K60 кадров в секунду 4K60 кадров в секунду 4K60 кадров в секунду
Поддержка частоты кадров при кодировании видео HD 60 кадров в секунду HD 60 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду HD 60 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду
FHD 30 кадров в секунду FHD 30 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 60 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду
Нет 4K Нет 4K 4K30 кадров в секунду 4K30 кадров в секунду 4K30 кадров в секунду 4K30 кадров в секунду Нет 4K 4K30 кадров в секунду 4K30 кадров в секунду 4K30 кадров в секунду
Форматы HDR
Дисплей и

воспроизведение

HDR10 , HLG
видео

запись

HDR10 , HLG

Snapdragon 700 серии

Различные видеокодеки, поддерживаемые серией Snapdragon 700.

Кодек Львиный зев

710/712

Львиный зев

720 г

Львиный зев

730 г / 732 г

Львиный зев

765/765 г

/ 768 г

Львиный зев

778G

Львиный зев

780 г

Доступность TBA 1 квартал 2020 г. ? ?
Шестиугольник 685 692 688 696
H263 D & E D & E D & E D & E
ВК-1 D & E D & E D & E D & E
H.264 D & E D & E D & E D & E
H.264 10-бит - - ? ?
VP8 D & E D & E D & E D & E
H.265 D & E D & E D & E D & E
H.265 10-битный D D D & E D & E
H.265 12 бит - - - -
ВВЦ - - - -
VP9 D & E D & E D & E D & E
VP9 10-битный D D D D
AV1 - - - -
FPS
Кадр видео

оценить поддержку

Расшифровка

HD 240 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду HD 480 кадров в секунду
FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду ?
4K 30 кадров в секунду 4K 30 кадров в секунду 4K 30 кадров в секунду 4K 60 кадров в секунду
Кадр видео

оценить поддержку

Кодирование

HD 240 кадров в секунду HD 240 кадров в секунду HD 240 кадров в секунду HD 480 кадров в секунду
FHD 120 кадров в секунду FHD 120 кадров в секунду FHD 120 кадров в секунду ?
4K 30 кадров в секунду 4K 30 кадров в секунду 4K 30 кадров в секунду ?
Форматы HDR
Дисплей и

воспроизведение

10-битный HDR HDR10 , HLG HDR10 , HLG , HDR10 +
видео

запись

N / A N / A HDR10 , HLG HDR10 , HLG , HDR10 +
Фото

запись

N / A N / A N / A N / A 10-битный HDR HEIF

Snapdragon 800 серии

Различные видеокодеки, поддерживаемые серией Snapdragon 800.

Кодек Львиный зев

800

Львиный зев

801

Львиный зев

805

Львиный зев

810

Львиный зев

820/821

Львиный зев

835

Львиный зев

845/850

Львиный зев

855/855 +

Львиный зев

865/865 +

/ 870

Львиный зев

888

Доступность 2 квартал 2013 г. 1 квартал 2014 г. 1 квартал 2014 г. 3 квартал 2014 г. 4 квартал 2015 г.

3 квартал 2016 г.

2 квартал 2017 г. 1 квартал 2018 г. 2019 г. 2019 г.

2021 г.

4 квартал 2020 г.
Шестиугольник QDSP6 V5 QDSP6 V5 QDSP6 V50 QDSP6 V56 680 682 685 690 698 780
MPEG-4 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
H263 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
ВК-1 D & E D & E D & E D & E D & E D & E
H.264 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
H.264 10-бит N / A N / A N / A N / A N / A N / A D & E D & E D & E D & E
VP8 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
H.265 N / A D&E 720P30 D & E D & E D & E D & E D & E D & E D & E D & E
H.265 10-битный N / A N / A N / A N / A D D D & E D & E D & E D & E
VP9 N / A N / A N / A N / A D D & E D & E D & E D & E D & E
VP9 10-битный N / A N / A N / A N / A D D D & E D & E D & E D & E
AV1 N / A N / A N / A N / A N / A N / A N / A N / A N / A N / A
ВВЦ N / A N / A N / A N / A N / A N / A N / A N / A N / A N / A
FPS
Расшифровка

FPS

HD @ 120 HD @ 240 HD @ 480 HD @ 480 HD @ 960
FHD @ 60 FHD @ 120 FHD @ 240 FHD @ 240 ?
4K @ 30 4K @ 60 ? 4K @ 120
N / A 8K @ 30
Кодирование

FPS

HD @ 120 HD @ 240 HD @ 480 HD @ 480 HD @ 960
FHD @ 60 FHD @ 120 FHD @ 240 FHD @ 240 ?
4K @ 30 4K @ 60 4K @ 60 4K @ 120
N / A 8K @ 30
Форматы HDR
Дисплей и

воспроизведение

N / A HDR HDR10 ,

HLG

HDR10 , HLG ,

HDR10 + , Dolby Vision

видео

запись

N / A HDR10 ,

HLG

HDR10 , HLG ,

HDR10 +

HDR10 , HLG ,

HDR10 + , Dolby Vision

Фото

запись

N / A 10-битный HDR HEIF

Образец кода

Это единственный пакет инструкций из внутреннего цикла БПФ :

{ R17:16 = MEMD(R0++M1)
  MEMD(R6++M1) = R25:24
  R20 = CMPY(R20, R8):<<1:rnd:sat
  R11:10 = VADDH(R11:10, R13:12)
}:endloop0

Qualcomm утверждает, что этот пакет соответствует 29 классическим RISC-операциям; он включает в себя векторное сложение (4x 16-бит), сложную операцию умножения и поддержку аппаратных циклов. Все инструкции пакета выполняются в одном цикле.

Смотрите также

использованная литература

внешние ссылки