Hexagon Tervező Qualcomm Bitek száma 32 bites, 64 bites Bevezetés 2006 (QDSP6) Kialakítás 4 utas többszálú VLIW Típus betöltő-tároló (load/store) Kódolás fixen 4 bájt utasításonként, max. 4 utasítás a VLIW multiutasításban Nyílt nem, tulajdonosi, szabadalmazott Regiszterek Általános 32 db 32 bites, párosítva 64 bitesként használhatók A Hexagon a Qualcomm digitális jelprocesszor (DSP) termékcsaládjának márkaneve, melyhez később a neurális feldolgozó egységek (NPU) családja is csatlakozott. A Hexagon ismert még QDSP6 név alatt, ami a „hatodik generációs digitális jelfeldolgozó processzor” rövidítése. A Qualcomm állítása szerint a Hexagon architektúrát úgy tervezték, hogy alacsony energiafogyasztás mellett nagy teljesítményt nyújtson az alkalmazások széles körében.
A Hexagon sorozat mára több verzióból áll, és mindegyiknek megvan a saját egyedi mikroarchitektúrája és az azzal szoros összefüggésben álló utasításkészlete. A processzorok a verziók között az alap utasításkészletben általában visszafelé kompatibilisek, de mivel az újabb kiterjesztések a korábbi verziókban nem léteznek, így a processzorokon az eltérő változatra írt programok újrafordítás vagy komolyabb adaptálás nélkül a legtöbb esetben nem futnak.
A Hexagont a Qualcomm Snapdragon integrált áramkörökben alkalmazzák, például okostelefonokban, autók, viselhető eszközök és más mobil eszközök vezérlőrendszereiben, és mobiltelefon-hálózatok alkotó részeiben.
Utasításkészlet-architektúra A számítástechnikai eszközöknek van utasításkészletük, amelyek a működésüket vezérlő legalacsonyabb szintű nyelvek. Az utasításkészletek leggyakoribb utasításai az adatbetöltő és -kiíró utasítások, az egész számokon végzett műveletek, mint az összeadás vagy egyéb kombinációk. Alapvetőek a programvezérlés befolyásolására szolgáló utasítások, és számos más típus is előfordul.
A gépnek szánt programokat assemblerek és fordítóprogramok fordítják le a gép által végrehajtható utasítások sorozatává, amely végeredményben egy bitsorozat. Az utasításfolyam végrehajtása során a rendszer működésének integritását jogosultsági szintek használata támogatja. A privilegizált utasítások több erőforráshoz férnek hozzá az eszközben, a memóriát beleértve. A Hexagon támogatja a jogosultsági szinteket.
Eredetileg a Hexagon utasításai csak egész számokat kezeltek, lebegőpontos számokat nem, de az ötödik verzióban (V5) megjelent a lebegőpontos támogatás.
Az utasítások végrehajtását vezérlő feldolgozóegység utasításcsomagokat kap. Egy csomag 4 utasításból áll. A vezérlés képes a csomag legfeljebb 4 utasításának sorrendben történő kiküldésére 4 végrehajtó egység felé, minden ciklusban.
Mikroarchitektúra A mikroarchitektúra egy integrált áramkör vagy csipkomponens fizikai struktúrája, amely lehetővé teszi az eszköz számára az utasítások végrehajtását. Egy adott utasításkészlet több különböző mikroarchitektúrával is megvalósítható. A processzor különböző részei közt az adatok síneken, adatátviteli csatornákon közlekednek, ezek a Hexagon eszközökben 32 bit szélesek, tehát egyetlen lépésben 32 bitnyi adat mozoghat az eszközön belül. A Hexagon mikroarchitektúra többszálas végrehajtású, ami azt jelenti, hogy egyidejűleg egynél több utasításfolyamot is képes feldolgozni, ami növeli az adatfeldolgozási sebességet. A Hexagon támogatja a nagyon hosszú utasításszavas (VLIW) processzorfelépítést, és négy utasításból álló csoportokat alkalmaz, amelyekben az utasítások egyidőben (párhuzamosan) végrehajthatók. A párhuzamos rendszer az utasításokat egymástól függetlenül hajtja végre, és azoknak nem kell egymás befejeződésére vagy eredményeire várakozniuk. A Hexagon mikroarchitektúra támogatja az „egy utasítás, több adat” típusú, azaz SIMD műveleteket is, tehát a Hexagon processzor megfelelő utasításaival az adott műveletet több adaton tudja elvégezni egyidejűleg.
2012-es becslés szerint a Qualcomm 2011-ben DSP magot szállított egylapkás rendszerekben (átlagosan ), 2012-re pedig magot terveztek, így a QDSP6 a legtöbbet szállított DSP-architektúrává vált (a CEVA mintegy DSP magot szállított le 2011-ben, ami az IP-licencelhető DSP piac kb. 90%-át teszi ki).
A Hexagon architektúrát úgy tervezték, hogy alacsony energiafogyasztás mellett nyújtson nagy teljesítményt a legkülönbözőbb alkalmazásokban. Olyan funkciókkal rendelkezik, mint a hardveresen támogatott többszálúság, jogosultsági szintek, very long instruction word (VLIW), egy utasítás, több adat (SIMD) technika, és hatékony jelfeldolgozást célzó utasítások. A hardveres többszálúság barreles temporális többszálú működés formájában valósul meg – a vezérlés minden utasítás kiadása után új szálra vált, körkörösen, így a -es fizikai mag három -es logikai magként jelenik meg a V5 előtti változatokban. A Hexagon V5-ben dinamikus többszálúságot (DMT) alkalmaznak: szálváltás történik minden L2 tévesztés, megszakításvárakozás vagy speciális utasítások esetén.
A 2013-es Hot Chips konferencián a Qualcomm bejelentette Hexagon 680 DSP részleteit, majd később a Hexagon Vector Extensions (HVX) kiterjesztést. A HVX-et arra tervezték, hogy jelentős számítási kapacitást biztosítson a fejlett képfeldolgozás feladataiban, és lehetővé tegye a gépi látási feladatok közvetlenül a DSP-n történő feldolgozását, a CPU helyett. 2015 márciusában a Qualcomm bejelentette a Snapdragon Neural Processing Engine SDK-t, ami megengedi MI gyorsítás használatát a CPU, a GPU és a Hexagon DSP segítségével.
A Qualcomm Snapdragon 855 csipje 4. generációs, eszközbe épített mesterséges intelligencia motort tartalmaz, ami magában foglalja a Hexagon 690 DSP-t és Hexagon Tensor Accelerator (HTA) hardveres gyorsítót a mesterséges intelligencia gyorsításához. A Snapdragon 865 tartalmazza az 5. generációs eszközbe integrált mesterséges intelligencia motort, amely a Hexagon 698 DSP-n alapul és 15 trillió műveletre képes másodpercenként (TOPS). A Snapdragon 888 tartalmazza a 6. generációs eszközbe integrált mesterséges intelligencia motort, amely a Hexagon 780 DSP-n alapul és ami 26 TOPS-ra képes. A Snapdragon 8 tartalmazza a 7. generációs eszközbe integrált mesterséges intelligencia motort, amely a Hexagon DSP-n alapul és 52 TOPS-ra képes, ami akár 104 TOPS-ra emelkedhet bizonyos esetekben.
Szoftvertámogatás Operációs rendszerek A Linux Hexagonhoz készült portja egy hypervisor réteg („Hexagon Virtual Machine”) alatt fut, és egyesítették a kernel 3.2-es kiadásával. Az eredeti hipervizor zárt forráskódú, 2013 áprilisában azonban a Qualcomm kiadta egy minimális nyílt forráskódú hipervizor implementációját a QDSP6 V2 és V3 számára, „Hexagon MiniVM” néven, BSD-stílusú licenc alatt.
Fordítóprogramok A Hexagon támogatása az LLVM 3.1-es kiadásában jelent meg, Tony Linthicum közreműködésével. A Hexagon/HVX V66 ISA támogatás az LLVM 8.0.0-es kiadásában jelent meg. A GCC és binutils programoknak létezik még egy nem az FSF által karbantartott elágazása.
A SIP blokk elfogadása A Qualcomm Hexagon DSP-k 2006 óta elérhetőek a Qualcomm Snapdragon SoC-ban. A Snapdragon S4-ben (MSM8960 és újabbak) három QDSP mag van, kettő a modem alrendszerben és egy Hexagon mag a multimédia alrendszerben. A modemmagokot kizárólag a Qualcomm programozza, a felhasználó csak a multimédia magot programozhatja.
Ezeket a Qualcomm néhány femtocella processzorában használják, beleértve az FSM98xx, FSM99xx és FSM90xx sorozatú egységeket.
Harmadik féltől származó technológia integrációja 2016 márciusában bejelentették, hogy a Conexant félvezetőgyártó cég AudioSmart hangfeldolgozó szoftverét integrálják a Qualcomm Hexagon processzoraiba.
2018 májusában a wolfSSL támogatást nyújtott a Qualcomm Hexagon használatához. Ez a támogatás a wolfSSL titkosítási műveletek futtatását teszi lehetővé közvetlenül a DSP-n. A kriptográfiai műveletek használata mellett később egy speciális műveletiterhelés-kezelő könyvtárat is hozzáadtak.
Változatok A QDSP6 architektúrának hat változata jelent meg: V1 (2006), V2 (2007–2008), V3 (2009), V4 (2010–2011), QDSP6 V5 (2013, a Snapdragon 800-ban), és QDSP6 V6 (2016, a Snapdragon 820-ban) A V4 teljesítménye per milliwatt, -es órajel mellett.
A Hexagon órajele között változhat a QDSP6 esetén, és között lehet az architektúra előző generációjában, a QDSP5-ben.
QDSP6(DSP/NPU) verziók gyártásifolyamat, nm év szimultán szálakszáma szálanként órajel, MHz teljes mag órajel, MHz termék QDSP6 V1 65 2006 QDSP6 V2 65 2007 6 100 600 QDSP6 V3 (1st gen) 45 2009 6 67 400 QDSP6 V3 (2nd gen) 45 2009 4 100 400 QDSP6 V4 (V4M, V4C, V4L) 28 2010 3 167 500 Snapdragon 600 QDSP6 V5 (V5A, V5H) 28 2013 3 200 vagy nagyobb DMT-vel 600 Snapdragon 410/412/800/801 536 12/28 2014 205/208/210/212 Snapdragon 425/427/429/430/435/439 V50 (vagy QDSP6 V5.0) 28 2014 700/800 (805) Snapdragon 415/610/615/616/805 546 14/28 2015 Snapdragon 450/617/625/626/632 V56 (vagy QDSP6 V5.6) 20/28 2015 800 (808/810) Snapdragon 650/652/653/808/810 642 14 2017 Snapdragon 630 680 (vagy QDSP6 V6) 14 2016 4 500 787 (660), 2000 (820 & 821) Snapdragon 636/660/820/821 682 10 2017Snapdragon 835 683 11 2020 Snapdragon 460/662 685 10/11 2018 (3 TOPS) Snapdragon 670/675/678/710/712/845/850 686 6/8/11 2019 (3.3 TOPS) Snapdragon 480/480+/665/680/685/695 688 8 2019 (3.6 TOPS) Snapdragon 730/730G/732G 690 7 2019 (7 TOPS/9 TOPS) Snapdragon 855/855+/860/8c/8cx/8cx Gen 2 Microsoft SQ1/SQ2 692 8 2020 (5 TOPS) Snapdragon 690/720G/7c/7c Gen 2 694 8 2020 (4.7 TOPS) Snapdragon 750G 696 7 2020 (5.4 TOPS) Snapdragon 765/765G/768G 698 7 2020 (15 TOPS) Snapdragon 865/865+/870/8cx Gen 3 Microsoft SQ3 770 5/6 2021 (12 TOPS) Snapdragon 778G/778G+/780G/782G 780 5 2021 (26 TOPS/32 TOPS) Snapdragon 888/888+ 790 (NPU/HTP) 4 2021 (32 TOPS)(INT8) Snapdragon 8 Gen 1/8+ Gen 1 NPU (HTP Gen 2) 4 2022 (26 TOPS)(INT8) Snapdragon 8 Gen 2 NPU (HTP Gen 3) 4 2023 (34 TOPS)(INT8) Snapdragon 8 Gen 3/8s Gen 3 NPU (HTP Gen 4) 3 2024 (50 TOPS)(INT8) Snapdragon 8 Elite NPU (HTP Gen 4) 4 2024 (45 TOPS) (INT8) Snapdragon X (Plus/Elite)
Elérhetőség a Snapdragon termékekben Mind a Hexagon (QDSP6), mind a Hexagon előtti (QDSP5) magokat alkalmazzák a modern Qualcomm SoC-kben, a QDSP5-öt leginkább alsó kategóriás / belépő szintű termékekben. A modem QDSP-k (gyakran Hexagon előttiek) nem szerepelnek a táblázatban.
QDSP5 használat: Snapdragon generáció Chipset (SoC) ID DSP generáció DSP frekvencia, MHz folyamat, 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 (Hexagon) használat: Snapdragon generáció Chipset (SoC) ID QDSP6 verzió DSP frekvencia, MHz folyamat, 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 HPm S820 8996 QDSP6V6 2000 14 FinFET LPP
Támogatott hardverkodekek A Snapdragon SoC-k által támogatott különböző videókodekek.
D - dekódolás; E - kódolás
FHD = FullHD = 1080p = 1920x1080px (képpont)
HD = 720p, ami lehet 1366x768px vagy 1280x720px
Snapdragon 200 sorozat A Snapdragon 200 sorozat által támogatott különböző videókodekek. Kodek Snapdragon 200 Snapdragon 200 Qualcomm 205 Snapdragon 208/210 Snapdragon 212 elérhetőség20132013201720142015 HexagonQDSP5QDSP6536536536H263 VC-1H.264 H.264 10 bites VP8 H.265 H.265 10 bites H.265 12 bites VVCVP9 VP9 10 bites AV1
Snapdragon 400 sorozat A Snapdragon 400-as sorozat által támogatott különböző videókodekek. Kodek Snapdragon 400 Snapdragon 410/415Snapdragon
425/427 Snapdragon 429/439Snapdragon
450Snapdragon 460Snapdragon