Qualcomm Hexagon - Qualcomm Hexagon

Sekskant
Designer Qualcomm
Bider 32-bit
Introduceret 2006 (QDSP6)
Design 4-vejs multithreaded VLIW
Type Registrer-Registrer
Indkodning Rettet 4 byte pr. Instruktion, op til 4 instruktioner i VLIW multiinstruktion
Åben Proprietære
Registre
Generelle formål 32-bit GPR: 32, kan parres med 64-bit

Hexagon er mærket for en familie af digitale signalprocessorer (DSP) -produkter fra Qualcomm . Hexagon er også kendt som QDSP6 og står for "sjette generations digitale signalprocessor." Ifølge Qualcomm er Hexagon -arkitekturen designet til at levere ydelse med lav effekt over en række forskellige applikationer.

Hver version af Hexagon har et instruktionssæt og en mikroarkitektur. Disse to funktioner er nært beslægtede.

Hexagon bruges i Qualcomm Snapdragon -chips, for eksempel i smartphones, biler, bærbare enheder og andre mobile enheder og bruges også i komponenter i mobiltelefonnetværk.

Instruktion sæt arkitektur

Computerenheder har instruktionssæt, som er deres laveste, mest primitive sprog. Almindelige instruktioner er dem, der får to numre til at tilføjes, multipliceres eller kombineres på andre måder, samt instruktioner, der leder processoren, hvor de skal lede i hukommelsen for sin næste instruktion. Der er mange andre typer instruktioner.

Assemblere og kompilatorer, der oversætter computerprogrammer til instruktionsstrømme - bitstrømme - som enheden kan forstå og udføre (udføre). Når en instruktionsstrøm udføres, understøttes integriteten af ​​systemfunktionen ved brug af instruktionsrettighedsniveauer. Priviligerede instruktioner har adgang til flere ressourcer på enheden, herunder hukommelse. Hexagon understøtter privilegier.

Oprindeligt opererede Hexagon -instruktioner med heltalsnumre, men ikke flydende tal, men i v5 blev flydende understøttelse tilføjet.

Behandlingsenheden, der håndterer udførelse af instruktioner, kan i orden sende op til 4 instruktioner (pakken) til 4 udførelsesenheder hvert ur.

Mikroarkitektur

Mikroarkitektur er den fysiske struktur af en chip eller chipkomponent, der gør det muligt for en enhed at udføre instruktionerne. Et givet instruktionssæt kan implementeres af en række forskellige mikroarkitekturer. Busserne - dataoverførselskanaler - til hexagon -enheder er 32 bit brede. Det vil sige, at 32 bits data kan flyttes fra en del af chippen til en anden i et enkelt trin. Hexagon-mikroarkitekturen er multi-threaded, hvilket betyder, at den samtidigt kan behandle mere end en strøm af instruktioner, hvilket øger databehandlingshastigheden. Hexagon understøtter meget lange instruktionsord, som er grupper af fire instruktioner, der kan udføres "parallelt". Parallel udførelse betyder, at flere instruktioner kan køre samtidigt, uden at en instruktion skal udføres, inden den næste starter. Hexagon-mikroarkitekturen understøtter enkelt instruktion, flere dataoperationer, hvilket betyder, at når en Hexagon-enhed modtager en instruktion, kan den udføre operationen på mere end et stykke data på samme tid

Ifølge estimater fra 2012 afsendte Qualcomm 1,2 milliarder DSP -kerner inde i sit system på en chip (SoCs) (gennemsnitlig 2,3 DSP -kerne pr. SoC) i 2011, og 1,5 milliarder kerner var planlagt til 2012, hvilket gjorde QDSP6 til den mest afsendte arkitektur for DSP ( CEVA havde omkring 1 milliard DSP-kerner afsendt i 2011 med 90% af det IP-licensable DSP-marked).

Hexagon -arkitekturen er designet til at levere ydeevne med lav effekt over en lang række applikationer. Det har funktioner som hardware -assisteret multithreading , privilegieniveauer, Very Long Instruction Word (VLIW) , Single Instruction Multiple Data (SIMD) og instruktioner, der er rettet mod effektiv signalbehandling. Hardware multithreading implementeres som tønde temporal multithreading - tråde skiftes i round -robin måde hver cyklus, så den fysiske kerne på 600 MHz præsenteres som tre logiske 200 MHz kerner før V5. Hexagon V5 skiftede til dynamisk multithreading (DMT) med trådafbryder på L2 -savner, afbrydelse af ventetid eller særlige instruktioner.

På Hot Chips 2013 annoncerede Qualcomm detaljer om deres Hexagon 680 DSP. Qualcomm annoncerede Hexagon Vector Extensions (HVX). HVX er designet til at tillade betydelige beregningsarbejdsbelastninger til avanceret billeddannelse og computersyn, der skal behandles på DSP i stedet for CPU'en. I marts 2015 annoncerede Qualcomm deres Snapdragon Neural Processing Engine SDK, som tillader AI -acceleration ved hjælp af CPU, GPU og Hexagon DSP.

Qualcomm 's Snapdragon 855 indeholder deres 4. generation på enheden AI motor, som omfatter Hexagon 690 DSP og Hexagon Tensor Accelerator (MTV) til AI acceleration .

Software support

Operativsystemer

Den havn af Linux for Hexagon kører under en hypervisor lag ( "Hexagon Virtual Machine") og blev fusioneret med 3,2 frigivelse af kernen . Den originale hypervisor er lukket kilde, og i april 2013 blev en minimal open-source hypervisor-implementering til QDSP6 V2 og V3, "Hexagon MiniVM" frigivet af Qualcomm under en BSD-stil licens .

Kompilatorer

Support til Hexagon blev tilføjet i 3.1 -udgivelse af LLVM af Tony Linthicum. Hexagon/HVX V66 ISA -understøttelse blev tilføjet i 8.0.0 -udgivelse af LLVM . Der er også en ikke- FSF- vedligeholdt gren af GCC og binutils .

Vedtagelse af SIP -blokken

Qualcomm Hexagon DSP'er har været tilgængelige i Qualcomm Snapdragon SoC siden 2006. I Snapdragon S4 (MSM8960 og nyere) er der tre QDSP -kerner, to i Modem -undersystemet og en Hexagon -kerne i multimediesystemet. Modemkerner er kun programmeret af Qualcomm, og kun Multimedia -kerne må programmeres af brugeren.

De bruges også i nogle femtocell -processorer fra Qualcomm, herunder FSM98xx, FSM99xx og FSM90xx.

Tredjeparts integration

I marts 2016 blev det annonceret, at halvlederfirmaet Conexants AudioSmart lydbehandlingssoftware blev integreret i Qualcomms Hexagon.


I maj 2018 tilføjede wolfSSL support til brug af Qualcomm Hexagon. Dette er støtte til at køre wolfSSL -kryptooperationer på DSP. Ud over brugen af ​​kryptooperationer blev der senere tilføjet et specialiseret operationsbelastningsstyringsbibliotek.

Versioner

Der er seks versioner af QDSP6 -arkitektur frigivet: V1 (2006), V2 (2007-2008), V3 (2009), V4 (2010–2011), QDSP6 V5 (2013, i Snapdragon 800); og QDSP6 V6 (2016, i Snapdragon 820). V4 har 20 DMIPS pr. Milliwatt, der opererer ved 500 MHz. Urhastigheden for Hexagon varierer i 400–2000 MHz for QDSP6 og i 256–350 MHz for tidligere generation af arkitekturen, QDSP5.

Versioner af QDSP6 Procesknude, nm Dato Antal samtidige tråde Per-thread ur, MHz Samlet kerneklokke, MHz Produkt
QDSP6 V1 65 Oktober 2006
QDSP6 V2 65 December 2007 6 100 600
QDSP6 V3 (1. generation) 45 2009 6 67 400
QDSP6 V3 (2. generation) 45 2009 4 100 400
QDSP6 V4 (V4M, V4C, V4L) 28 2010–2011 3 167 500
QDSP6 V5 (V5A, V5H) 28 2013 3 200 eller større med DMT 600
642 14 2017 Snapdragon

630

QDSP6 V6 eller 680 14 2016/2017 4 500 2000 Snapdragon

820/821/636/660

682 10 2017 Snapdragon

835

683 11 2020 Snapdragon

662/460

685 10/11 2018/2019 (3 TOPS) Snapdragon

845/670/675/678/710/712

686 11/8 2019/2021 (3.3 TOPS) Snapdragon

665/480

688 8 2019/2020 (3.6 TOPS) Snapdragon

730 (G)/732G

690 7 2019 (7 TOPS) Snapdragon

855/855+

692 8 2020 (5 TOPS) Snapdragon

720G/690

694 8 2020 (4.7 TOPS) Snapdragon

750G

696 7 2020 (5.4 TOPS) Snapdragon

765 (G)/768G

698 7 2020 (15 TOPS) Snapdragon

865/865+/870

770 5/6 2021 (12 TOPS) Snapdragon

778G/780G

780 5 2021 (26 TOPS/ 32 TOPS) Snapdragon

888/888+

Tilgængelighed i Snapdragon -produkter

Både Hexagon (QDSP6) og pre-Hexagon (QDSP5) kerner bruges i moderne Qualcomm SoC'er, QDSP5 mest i low-end produkter. Modem-QDSP'er (ofte før sekskant) vises ikke i tabellen.

QDSP5 brug:

Snapdragon generation Chipsæt (SoC) ID DSP -generation DSP -frekvens, MHz Procesknude, nm
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 Play MSM8625, MSM8225 QDSP5 350 45
S200 8110, 8210, 8610, 8112, 8212, 8612, 8225Q, 8625Q QDSP5 384 45 LP

QDSP6 (sekskant) brug:

Snapdragon generation Chipsæt (SoC) ID QDSP6 version DSP -frekvens, MHz Procesknude, nm
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 hk
S820 8996 QDSP6V6 2000 14 FinFet LPP


Hardware -codec understøttes

De forskellige videocodecs understøttes af snapdragon SoC'erne.

D - afkode; E - kode

FHD = FullHD = 1080p = 1920x1080px

HD = 720p, som kan være 1366x768px eller 1280x720px

Snapdragon 200 -serien

De forskellige videocodecs understøttes af snapdragon 200 -serien.

Codec Snapdragon

200

Snapdragon

200

Qualcomm

205

Snapdragon

208/210

Snapdragon

212

Tilgængelighed 2013 2013 2017 2014 2015
Sekskant QDSP5 QDSP6 536 536 536
H263 D & E. D & E. D & E. D & E. D & E.
VC-1
H.264 D & E. D & E. D & E. D & E. D & E.
H.264 10-bit - - - - -
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-bit - - - - -
H.265 12-bit - - - - -
VVC
VP9 - - - - -
VP9 10-bit - - - - -
AV1 - - - - -

Snapdragon 400 -serien

De forskellige videocodecs understøttes af snapdragon 400 -serien.

Codec Snapdragon

400

Snapdragon

410/415

Snapdragon

425/427

Snapdragon

429/439

Snapdragon

450

Snapdragon

460

Snapdragon

480

Tilgængelighed 4. kvartal 2013 2014/2015 1. kvartal 2016/3. kvartal 2017 2. kvartal 2018 2. kvartal 2017 1. kvartal 2020 1. kvartal 2021
Sekskant QDSP6 QDSP6 V5 536 (256KB) 536 546 683
H263 D & E. D & E. D & E. D & E. D & E. D & E. D & E.
VC-1
H.264 D & E. D & E. D & E. D & E. D & E. D & E. D & E.
H.264 10-bit - - - - - - 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-bit - - - - - -
H.265 12-bit - - - - - -
VVC - - - -| - -
VP9 - - - - D & E. D & E.
VP9 10-bit - - - - - -
AV1 - - - - - - -
Videobilledhastighed

understøtter dekodning

HD 60 fps
FHD 60 fps FHD 60 fps FHD 60 fps
Videoramme

satsstøtte

Indkodning

HD 60 fps
FHD 60 fps FHD 60 fps FHD 60 fps

Snapdragon 600 -serien

De forskellige videocodecs understøttes af snapdragon 600 -serien.

Codec Snapdragon 600 Snapdragon 610 Snapdragon 650/652/653 Snapdragon 630 Snapdragon 632 Snapdragon 636/660 Snapdragon 662 Snapdragon 665 Snapdragon 670 Snapdragon 690
Tilgængelighed 1. kvartal 2013 1. kvartal 2015 2. kvartal 2018 1. kvartal 2020 2. kvartal 2019 2019 2. kvartal 2020
Sekskant 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.
VC-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-bit - - - - - - - - -
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-bit - - - D &? - D &? - D &? D & E.
VVC - - - - - - - - - -
VP9 - - D &? D & E. D & E. D & E. D & E. D & E. D & E. D & E.
VP9 10-bit - - - - - - - - -
AV1 - - - - - - - - - -
FPS
Understøttelse af billedfrekvens for video HD 60 fps HD 120 fps HD 240 fps HD 240 fps HD 240 fps HD 60 fps HD 240 fps HD 240 fps HD 240 fps
FHD 30 fps FHD 60 fps FHD 120 fps FHD 120 fps FHD 120 fps FHD 120 fps FHD 60 fps FHD 120 fps FHD 120 fps FHD 120 fps
Ingen 4K Ingen 4K 4K30 fps 4K30 fps 4K30 fps 4K30 fps Ingen 4K 4K60 fps 4K60 fps 4K60 fps
Understøttelse af billedfrekvens for videokodning HD 60 fps HD 60 fps HD 240 fps HD 240 fps HD 240 fps HD 60 fps HD 240 fps HD 240 fps HD 240 fps
FHD 30 fps FHD 30 fps FHD 120 fps FHD 120 fps FHD 120 fps FHD 120 fps FHD 60 fps FHD 120 fps FHD 120 fps FHD 120 fps
Ingen 4K Ingen 4K 4K30 fps 4K30 fps 4K30 fps 4K30 fps Ingen 4K 4K30 fps 4K30 fps 4K30 fps
HDR -formater
Display og

afspilning

HDR10 , HLG
Video

indspilning

HDR10 , HLG

Snapdragon 700 -serien

De forskellige videocodecs understøttes af snapdragon 700 -serien.

Codec Snapdragon

710/712

Snapdragon

720G

Snapdragon

730G/732G

Snapdragon

765/765G

/768G

Snapdragon

778G

Snapdragon

780G

Tilgængelighed TBA 1. kvartal 2020 ? ?
Sekskant 685 692 688 696
H263 D & E. D & E. D & E. D & E.
VC-1 D & E. D & E. D & E. D & E.
H.264 D & E. D & E. D & E. D & E.
H.264 10-bit - - ? ?
VP8 D & E. D & E. D & E. D & E.
H.265 D & E. D & E. D & E. D & E.
H.265 10-bit D D D & E. D & E.
H.265 12-bit - - - -
VVC - - - -
VP9 D & E. D & E. D & E. D & E.
VP9 10-bit D D D D
AV1 - - - -
FPS
Videoramme

satsstøtte

Afkodning

HD 240 fps HD 240 fps HD 240 fps HD 480 fps
FHD 120 fps FHD 120 fps FHD 120 fps ?
4K 30fps 4K 30fps 4K 30fps 4K 60fps
Videoramme

satsstøtte

Indkodning

HD 240 fps HD 240 fps HD 240 fps HD 480 fps
FHD 120 fps FHD 120 fps FHD 120 fps ?
4K 30fps 4K 30fps 4K 30fps ?
HDR -formater
Display og

afspilning

10-bit HDR HDR10 , HLG HDR10 , HLG , HDR10+
Video

indspilning

Ikke relevant Ikke relevant HDR10 , HLG HDR10 , HLG , HDR10+
Foto

indspilning

Ikke relevant Ikke relevant Ikke relevant Ikke relevant 10-bit HDR HEIF

Snapdragon 800 -serien

De forskellige videocodecs understøttes af Snapdragon 800 -serien.

Codec Snapdragon

800

Snapdragon

801

Snapdragon

805

Snapdragon

810

Snapdragon

820/821

Snapdragon

835

Snapdragon

845/850

Snapdragon

855/855+

Snapdragon

865/865+

/870

Snapdragon

888

Tilgængelighed 2. kvartal 2013 1. kvartal 2014 1. kvartal 2014 3. kvartal 2014 4. kvartal 2015

3. kvartal 2016

2. kvartal 2017 1. kvartal 2018 2019 2019

2021

4. kvartal 2020
Sekskant 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.
VC-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-bit Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant 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 Ikke relevant D & E 720P30 D & E. D & E. D & E. D & E. D & E. D & E. D & E. D & E.
H.265 10-bit Ikke relevant Ikke relevant Ikke relevant Ikke relevant D D D & E. D & E. D & E. D & E.
VP9 Ikke relevant Ikke relevant Ikke relevant Ikke relevant D D & E. D & E. D & E. D & E. D & E.
VP9 10-bit Ikke relevant Ikke relevant Ikke relevant Ikke relevant D D D & E. D & E. D & E. D & E.
AV1 Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant
VVC Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant Ikke relevant
FPS
Afkodning

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
Ikke relevant 8K@30
Indkodning

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
Ikke relevant 8K@30
HDR -formater
Display og

afspilning

Ikke relevant HDR HDR10 ,

HLG

HDR10 , HLG ,

HDR10+ , Dolby Vision

Video

indspilning

Ikke relevant HDR10 ,

HLG

HDR10 , HLG ,

HDR10+

HDR10 , HLG ,

HDR10+ , Dolby Vision

Foto

indspilning

Ikke relevant 10-bit HDR HEIF

Kodeeksempel

Dette er en enkelt instruktionspakke fra den indre sløjfe i en FFT :

{ 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

Denne pakke hævdes af Qualcomm at være lig med 29 klassiske RISC -operationer; det inkluderer vektor add (4x 16-bit), kompleks multiplikationsoperation og hardware loop support. Alle instruktioner i pakken udføres i den samme cyklus.

Se også

Referencer

eksterne links