Qualcomm Hexagon#Snapdragon 800 series
{{short description|Family of digital signal processor microprocessors}}
{{Infobox CPU architecture
| name = Hexagon
| designer = Qualcomm
| bits = 32-bit, 64-bit
| introduced = 2006 (QDSP6)
| version =
| design = 4-way multithreaded VLIW
| type = Load–store
| encoding = Fixed 4 byte per instruction, up to 4 instructions in VLIW multiinstruction
| branching =
| endianness =
| page size =
| extensions =
| open = Proprietary
| registers =
| fpr =
}}
Hexagon is the brand name for a family of digital signal processor (DSP) and later neural processing unit (NPU) products by Qualcomm.{{Cite web |title=CSDL {{!}} IEEE Computer Society |url=https://www.computer.org/csdl/proceedings-article/hcs/2023/10254715/1QKTntH0oyk |access-date=2024-06-08 |website=www.computer.org}} Hexagon is also known as QDSP6, standing for “sixth generation digital signal processor.” According to Qualcomm, the Hexagon architecture is designed to deliver performance with low power over a variety of applications.{{Cite web|title=Hexagon DSP SDK|url=https://developer.qualcomm.com/software/hexagon-dsp-sdk|access-date=2021-01-14|website=Qualcomm Developer Network|language=en}}{{Cite web|title=Hexagon DSP SDK Processor|url=https://developer.qualcomm.com/software/hexagon-dsp-sdk/dsp-processor|access-date=2021-01-14|website=Qualcomm Developer Network|language=en}}
Each version of Hexagon has an instruction set and a micro-architecture. These two features are intimately related.
Hexagon is used in Qualcomm Snapdragon chips, for example in smartphones, cars, wearable devices and other mobile devices and is also used in components of cellular phone networks.
Instruction set architecture
Computing devices have instruction sets, which are their lowest, most primitive languages. Common instructions are those which cause two numbers to be added, multiplied or combined in other ways, as well as instructions that direct the processor where to look in memory for its next instruction. There are many other types of instructions.
Assemblers and compilers that translate computer programs into streams of instructions – bit streams - that the device can understand and carry out (execute). As an instruction stream executes, the integrity of system function is supported by the use of instruction privilege levels. Privileged instructions have access to more resources in the device, including memory. Hexagon supports privilege levels.
Originally, Hexagon instructions operated on integer numbers but not floating point numbers,{{Cite web|last=Humrick|first=Matt|title=Qualcomm Details Snapdragon 835: Kryo 280 CPU, Adreno 540 GPU, X16 LTE|url=https://www.anandtech.com/show/10948/qualcomm-snapdragon-835-kryo-280-adreno-540|access-date=2021-01-14|website=www.anandtech.com}} but in v5 floating point support was added.{{Cite web |title=Microprocessor Report |url=http://pages.cs.wisc.edu/~danav/pubs/qcom/hexagon_microreport2013_v5.pdf}}
The processing unit which handles execution of instructions is capable of in-order dispatching up to 4 instructions (the packet) to 4 Execution Units every clock.{{cite web|url=http://landley.net/notes.html |title=Rob Landley's Blog Thing for 2012 |publisher=Landley.net |access-date=2012-10-19}}[http://llvm.org/devmtg/2011-11/Simpson_PortingLLVMToADSP.pdf Porting LLVM to a Next Generation DSP], L. Taylor Simpson (Qualcomm) // LLVM Developers’ Meeting: 11/18/2011
Micro-architecture
Micro-architecture is the physical structure of a chip or chip component that makes it possible for a device to carry out the instructions. A given instruction set can be implemented by a variety of micro-architectures. The buses – data transfer channels – for Hexagon devices are 32 bits wide. That is, 32 bits of data can be moved from one part of the chip to another in a single step. The Hexagon micro-architecture is multi-threaded, which means that it can simultaneously process more than one stream of instructions, enhancing data processing speed. Hexagon supports very long instruction words,{{Cite web|title=Hexagon - Microarchitectures - Qualcomm - WikiChip|url=https://en.wikichip.org/wiki/qualcomm/microarchitectures/hexagon|access-date=2021-01-14|website=en.wikichip.org|language=en}}{{Cite web|last=Iqbal|first=Faisal|date=|title=Qualcomm Hexagon DSP|url=https://www.academia.edu/39512926|access-date=|website=}} which are groupings of four instructions that can be executed “in parallel.” Parallel execution means that multiple instructions can run simultaneously without one instruction having to complete before the next one starts. The Hexagon micro-architecture supports single instruction, multiple data operations,{{Cite web|last=Technologies|first=Qualcomm|date=2018|title=Qualcomm Hexagon V66 HVX Programmer's Reference Manual|url=https://developer.qualcomm.com/qfile/67416/80-n2040-44_b_qualcomm_hexagon_v66_hvx_reference_manual_programmers.pdf|access-date=|website=}} which means that when a Hexagon device receives an instruction, it can carry out the operation on more than one piece of data at the same time.
According to 2012 estimation, Qualcomm shipped 1.2 billion DSP cores inside its system on a chip (SoCs) (average 2.3 DSP core per SoC) in 2011, and 1.5 billion cores were planned for 2012, making the QDSP6 the most shipped architecture of DSPWill Strauss, [http://www.fwdconcepts.com/dsp111212.htm Forward Concepts. Wireless/DSP Market Bulletin: Qualcomm Leads in Global DSP Silicon Shipments] {{webarchive |url=https://web.archive.org/web/20130528013532/http://www.fwdconcepts.com/dsp111212.htm |date=May 28, 2013 }} // Forward Concepts: "In calendar year 2011, Qualcomm shipped a reported 521 million MSM chip shipments and we estimate that an average of 2.3 of its DSP cores in each unit resulted in 1.2 billion DSPs shipped in silicon. This (calendar) year, we estimate that the company will ship an average of 2.4 DSP cores with each (more complex) MSM chip." (CEVA had around 1 billion of DSP cores shipped in 2011 with 90% of IP-licensable DSP market[http://www.prnewswire.com/news-releases/ceva-continues-to-dominate-dsp-ip-market-with-90-market-share-151346395.html]; [http://www.semiwiki.com/forum/content/1287-dsp-ip-core-ceva-undisputed-worldwide-leader-70-market-share.html]; [https://archive.today/20130722043806/http://www.eetasia.com/articleLogin.do?artId=8800667242 Ceva grabs 90% of DSP IP market], 2012).
The Hexagon architecture is designed to deliver performance with low power over a variety of applications. It has features such as hardware assisted multithreading, privilege levels, Very Long Instruction Word (VLIW), Single Instruction Multiple Data (SIMD),Hexagon v2 Programmers Reference{{cite web|url=http://pages.cs.wisc.edu/~danav/pubs/qcom/hexagon_micro2014_v6.pdf|title=Hexagon DSP: An Architecture Optimized for Mobile Multimedia and Communications|date=March–April 2014|author=Lucian Codrescu (Qualcomm)|publisher= IEEE Micro 34.2|pages=34–43}} and instructions geared toward efficient signal processing. Hardware multithreading is implemented as barrel temporal multithreading - threads are switched in round-robin fashion each cycle, so the 600 MHz physical core is presented as three logical 200 MHz cores before V5.[http://eprint.iacr.org/2013/428.pdf Faster 128-EEA3 and 128-EIA3 Software], Roberto Avanzi and Billy Bob Brumley (Qualcomm Research), Cryptology ePrint Archive: Report 2013/428, 2 Jul 2013. Page 9. Hexagon V5 switched to dynamic multithreading (DMT) with thread switch on L2 misses, interrupt waiting or on special instructions.[http://pages.cs.wisc.edu/~danav/pubs/qcom/hexagon_microreport2013_v5.pdf Qualcomm Extends Hexagon DSP: Hexagon v5 Adds Floating-Point Math, Dynamic Multithreading] // Linley Gwennap, Microprocessor Report, August 2013
At Hot Chips 2013 Qualcomm announced details of their Hexagon 680 DSP. Qualcomm announced Hexagon Vector Extensions (HVX). HVX is designed to allow significant compute workloads for advanced imaging and computer vision to be processed on the DSP instead of the CPU.{{Cite web|url=https://www.anandtech.com/show/9552/qualcomm-details-hexagon-680-dsp-in-snapdragon-820-accelerated-imaging|title=Qualcomm Details Hexagon 680 DSP in Snapdragon 820: Accelerated Imaging|last=Ho|first=Joshua|website=www.anandtech.com|access-date=2019-05-12}} In March 2015 Qualcomm announced their Snapdragon Neural Processing Engine SDK which allow AI acceleration using the CPU, GPU and Hexagon DSP.{{Cite web|url=https://developer.qualcomm.com/blog/device-ai-qualcomm-snapdragon-neural-processing-engine-sdk|title=On-Device AI with Qualcomm Snapdragon Neural Processing Engine SDK|website=Qualcomm Developer Network|language=en|access-date=2019-05-12}}
Qualcomm's Snapdragon 855 contains their 4th generation on-device AI engine, which includes the Hexagon 690 DSP and Hexagon Tensor Accelerator (HTA) for AI acceleration.{{Cite press release|url=https://www.qualcomm.com/news/releases/2019/02/25/artificial-intelligence-engine-qualcomm-snapdragon-855-mobile-platform|title=Artificial Intelligence Engine in Qualcomm Snapdragon 855 Mobile Platform Powers On-Device AI User Experiences in Flagship Premium-Tier Smartphones|date=2019-02-24|website=Qualcomm|language=en|access-date=2019-05-12}} Snapdragon 865 contains the 5th generation on-device AI engine based on the Hexagon 698 DSP capable of 15 trillion operations per second (TOPS).{{Cite press release|url=https://www.qualcomm.com/news/releases/2019/12/qualcomm-introduces-worlds-most-advanced-5g-mobile-platform|title=Qualcomm Introduces the World's Most Advanced 5G Mobile Platform|date=2019-12-03|website=Qualcomm|language=en|access-date=2023-05-14}} Snapdragon 888 contains the 6th generation on-device AI engine based on the Hexagon 780 DSP capable of 26 TOPS.{{Cite press release|url=https://www.qualcomm.com/news/onq/2020/12/exploring-ai-capabilities-qualcomm-snapdragon-888-mobile-platform|title=Exploring the AI capabilities of the Qualcomm Snapdragon 888 Mobile Platform|date=2020-12-01|website=Qualcomm|language=en|access-date=2023-05-14}} Snapdragon 8 contains the 7th generation on-device AI engine based on the Hexagon DSP capable of 52 TOPS and up to 104 TOPS in some cases.{{Cite web|url=https://www.qualcomm.com/products/mobile/snapdragon/smartphones/snapdragon-8-series-mobile-platforms/snapdragon-8-gen-1-mobile-platform|title=Snapdragon 8 Gen 1 Mobile Platform|date=2020-12-01|website=Qualcomm|language=en|access-date=2023-05-14}}
Software support
= Operating systems =
The port of Linux for Hexagon runs under a hypervisor layer ("Hexagon Virtual Machine"https://docs.qualcomm.com/bundle/publicresource/80-NB419-3_REV_A_Hexagin_Virtual_Machine_Specification.pdf{{dead link|date=July 2016 |bot=InternetArchiveBot |fix-attempted=yes }} (restricted access)) and was merged with the 3.2 release of the kernel.{{cite web|url=https://lwn.net/Articles/465066/|title=3.2 merge window, part 1|publisher=lwn.net|access-date=2012-10-19}}[http://kernelnewbies.org/Linux_3.2#head-2acfe3ee1657c9c2647e5bb5d10e4f511f7527d8 Linux Kernel 3.2 Release Notes] "1.4. New architecture: Hexagon" The original hypervisor is closed-source, and in April 2013 a minimal open-source hypervisor implementation for QDSP6 V2 and V3, the "Hexagon MiniVM" was released by Qualcomm under a BSD-style license.Richard Kuo, [http://permalink.gmane.org/gmane.linux.ports.hexagon/553 Hexagon MiniVM] // linux.ports.hexagon, 25 Apr 2013[https://www.codeaurora.org/projects/all-active-projects/hexagon-minivm Hexagon MiniVM] // CodeAurora (Qualcomm)
= Compilers =
Support for Hexagon was added in 3.1 release of LLVM by Tony Linthicum.{{cite web|url=http://llvm.org/releases/3.1/docs/ReleaseNotes.html |title=LLVM 3.1 Release Notes |publisher=Llvm.org |date=2012-05-15 |access-date=2012-10-19}} Hexagon/HVX V66 ISA support was added in 8.0.0 release of LLVM.{{cite web|url=https://releases.llvm.org/8.0.0/docs/ReleaseNotes.html |title=LLVM 8.0.0 Release Notes |publisher=Llvm.org |date=2019-03-20 |access-date=2019-04-03}} There is also a non-FSF maintained branch of GCC and binutils.
{{cite web|title=Hexagon Project Wiki|url=https://www.codeaurora.org/xwiki/bin/Hexagon/|publisher=Codeaurora.org}}
{{cite web|title=Hexagon download|url=https://www.codeaurora.org/patches/quic/hexagon/%22}}{{Dead link|date=May 2019 |bot=InternetArchiveBot |fix-attempted=yes }}
Adoption of the SIP block
Qualcomm Hexagon DSPs have been available in Qualcomm Snapdragon SoC since 2006.[http://www.brightsideofnews.com/news/2011/10/12/qualcomm-announces-its-2012-superchip-28nm-snapdragon-s4.aspx Qualcomm Announces Its 2012 Superchip: 28nm Snapdragon S4], 10/12/2011 by John Oram. Quote: "Hexagon DSPs have been in Snapdragon chips since 2006."[http://www.bdti.com/InsideDSP/2012/06/21/Qualcomm QDSP6 V4: Qualcomm Gives Customers and Developers Programming Access to its DSP Core] // InsideDSP, June 22, 2012 In Snapdragon S4 (MSM8960 and newer) there are three QDSP cores, two in the Modem subsystem and one Hexagon core in the Multimedia subsystem. Modem cores are programmed by Qualcomm only, and only Multimedia core is allowed to be programmed by user.
They are also used in some femtocell processors of Qualcomm, including FSM98xx, FSM99xx and FSM90xx.[http://www.linleygroup.com/newsletters/newsletter_detail.php?num=4761 Qualcomm Aims Hexagon at Femtocells], October 31, 2011. Linley Gwennap// Linley WIRE
Third-party integration
In March 2016, it was announced that semiconductor company Conexant's AudioSmart audio processing software was being integrated into Qualcomm's Hexagon.{{cite web|url=http://www.speechtechmag.com/Articles/News/Speech-Technology-Digest/Qualcomm-to-Integrate-Conexant-AudioSmart-into-Hexagon-DSPs-109538.aspx |title=Qualcomm to Integrate Conexant AudioSmart into Hexagon DSPs |publisher=Speech Tech Magazine |date=2016-03-01 |access-date=2016-03-11}}
In May 2018 wolfSSL added support for using Qualcomm Hexagon.{{cite web|url=https://www.wolfssl.com/wolfssl-use-hexagon-toolchain/ |title=wolfSSL Use With Hexagon Toolchain |publisher=wolfSLS |date=2018-05-18 |access-date=2020-07-10}} This is support for running wolfSSL crypto operations on the DSP. In addition to use of crypto operations a specialized operation load management library was later added.
Versions
There are six versions of QDSP6 architecture released: V1 (2006), V2 (2007–2008), V3 (2009), V4 (2010–2011), QDSP6 V5 (2013, in Snapdragon 800),{{cite press release|url=http://www.qualcomm.com/media/releases/2013/01/07/qualcomm-announces-next-generation-snapdragon-premium-mobile-processors|title=Qualcomm Announces Next Generation Snapdragon Premium Mobile Processors|publisher=Qualcomm|date=7 January 2013}} and QDSP6 V6 (2016, in Snapdragon 820) V4 has 20 DMIPS per milliwatt, operating at 500 MHz.
Clock speed of Hexagon varies in 400–2000 MHz for QDSP6 and in 256–350 MHz for previous generation of the architecture, the QDSP5.{{cite web |url=http://www.qualcomm.com/sites/default/files/common/snapdragon-specs-06.07.12.pdf |title=List of Snapdragon SoCs |publisher=developer.qualcomm.com |access-date=2012-10-19 |archive-url=https://web.archive.org/web/20121026013025/http://www.qualcomm.com/sites/default/files/common/snapdragon-specs-06.07.12.pdf |archive-date=2012-10-26 |url-status=dead}}
class="wikitable" border="1" | |||||
Versions of QDSP6 (DSP/NPU) ! Process ! Year ! Number of ! Per-thread ! Total core ! Product | |||||
---|---|---|---|---|---|
QDSP6 V1 | 65{{cite web |url=http://pages.cs.wisc.edu/~danav/pubs/qcom/hexagon_hotchips2013.pdf |title=Qualcomm Hexagon DSP: An architecture optimized for mobile multimedia and communications |publisher=Hot Chips 25 |place=Palo Alto, CA |date=August 2013}} | 2006 | | | ||
QDSP6 V2[http://www.bdti.com/InsideDSP/2013/02/13/Qualcomm QDSP6 V4: BDTI Benchmark Results and Implementation Details Of Qualcomm's DSP Core] // BDTI, February 12, 2013 | 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 |
QDSP6 V5[http://www.bdti.com/InsideDSP/2013/06/13/Qualcomm Qualcomm's QDSP6 v5: Benchmarking Results Confirm That Floating-Point Support Has Arrived] // BDTI, June 12, 2013 (V5A, V5H) | 28 | 2013 | 3 | 200 or greater with DMT | 600
| Snapdragon |
536
| 12/28 | 2014 | | | | 205/208/210/212 | |||||
V50 (or QDSP6 V5.0)
| 28 | 2014 | | | 700/800 (805) | Snapdragon | |||||
546
| 14/28 | 2015 | | | | Snapdragon | |||||
V56 (or QDSP6 V5.6)
| 20/28 | 2015 | | | 800 (808/810) | Snapdragon | |||||
642
| 14 | 2017 | | | | Snapdragon | |||||
680 (or QDSP6 V6) | 14 | 2016 | 4 | 500 | 787 (660),{{Cite web |access-date=2022-06-09 |website=qualcomm.com |title=Qualcomm SDM660 SoC {{!}} Integrated LTE Application Processor based on Snapdragon 660 {{!}} Qualcomm |url=https://www.qualcomm.com/products/technology/processors/application-processors/sdm660}} 2000 (820[http://www.bdti.com/insidedsp/2015/09/30/qualcomm Qualcomm's QDSP6 v6: Imaging and Vision Enhancements Via Vector Extensions] // BDTI, September 29, 2015{{Cite news |title=Qualcomm's new Hexagon 680 DSP: Fast, efficient, shipping with Snapdragon 820 |url=https://www.extremetech.com/gaming/212817-qualcomms-new-hexagon-680-dsp-fast-efficient-shipping-with-snapdragon-820 |access-date=2022-06-10 |newspaper=Extremetech|date=25 August 2015}} & 821) | Snapdragon |
682
| 10 | 2017 | | | |Snapdragon | |||||
683
| 11 | 2020 | | | | Snapdragon | |||||
685
| 10/11 | 2018 | (3 TOPS) | | | Snapdragon | |||||
686
| 6/8/11 | 2019 | (3.3 TOPS) | | | Snapdragon | |||||
688
| 8 | 2019 | (3.6 TOPS) | | | Snapdragon | |||||
690
| 7 | 2019 | (7 TOPS/ | | | Snapdragon Microsoft SQ1/SQ2 | |||||
692
| 8 | 2020 | (5 TOPS) | | | Snapdragon | |||||
694
| 8 | 2020 | (4.7 TOPS) | | | Snapdragon | |||||
696
| 7 | 2020 | (5.4 TOPS) | | | Snapdragon | |||||
698
| 7 | 2020 | (15 TOPS) | | | Snapdragon Microsoft SQ3 | |||||
770
| 5/6 | 2021 | (12 TOPS) | | | Snapdragon | |||||
780
| 5 | 2021 | (26 TOPS/ | | | Snapdragon | |||||
790 (NPU/HTP)https://ai-benchmark.com/ranking_processors
| 4 | 2021 | (32 TOPS) | | | Snapdragon | |||||
NPU (HTP Gen 2)
| 4 | 2022 | (26 TOPS) | | | Snapdragon | |||||
NPU (HTP Gen 3)
| 4 | 2023 | (34 TOPS) | | | Snapdragon | |||||
NPU (HTP Gen 4)
| 3 | 2024 | (50 TOPS) | | | Snapdragon | |||||
NPU (HTP Gen 4)
| 4 | 2024 | (45 TOPS) | | | Snapdragon |
Availability in Snapdragon products
Both Hexagon (QDSP6) and pre-Hexagon (QDSP5) cores are used in modern Qualcomm SoCs, QDSP5 mostly in low-end products. Modem QDSPs (often pre-Hexagon) are not shown in the table.
QDSP5 usage:
class="wikitable" border="1" | ||||
Snapdragon generation
! Chipset (SoC) ID ! DSP generation ! DSP frequency, MHz ! Process node, 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[http://www.qualcomm.com/snapdragon/processors/800-600-400-200/specs Snapdragon 800, 600, 400, 200 Processor Specs] // Qualcomm | 8110, 8210, 8610, 8112, 8212, 8612, 8225Q, 8625Q | QDSP5 | 384 | 45 LP |
QDSP6 (Hexagon) usage:
Hardware codec supported
The different video codecs supported by the Snapdragon SoCs.
D - decode; E - encode
FHD = FullHD = 1080p = 1920x1080px
HD = 720p which can be 1366x768px or 1280x720px
= Snapdragon 200 series =
The different video codecs supported by the Snapdragon 200 series.
class="wikitable"
! Codec ! Snapdragon ! Snapdragon ! Qualcomm ! Snapdragon ! Snapdragon |
Availability
|2013 |2013 |2017 |2014 |2015 |
---|
Hexagon
|QDSP5 |QDSP6 |536 |536 |536 |
H263
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
VC-1
| | | | | |
H.264
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
H.264 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
VP8
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
H.265
| {{Yes|D HD & E HD}} | {{Yes|D HD & E HD}} | {{Yes|D HD & E HD}} | {{Yes|D FHD & E HD}} | {{Yes|D FHD & E HD}} |
H.265 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
H.265 12-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
VVC
| | | | | |
VP9
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
VP9 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
AV1
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
= Snapdragon 400 series =
The different video codecs supported by the Snapdragon 400 series.
class="wikitable"
! Codec ! Snapdragon ! Snapdragon !Snapdragon 425/427 ! Snapdragon !Snapdragon !Snapdragon !Snapdragon |
Availability
|Q4 2013 |2014/2015 |Q1 2016/Q3 2017 |Q2 2018 |Q2 2017 |Q1 2020 |Q1 2021 |
---|
Hexagon
|QDSP6 |QDSP6 V5 |536(256KB) |536 |546 |683 |686 |
H263
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
VC-1
| | | | | | | |
H.264
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
H.264 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{Yes|D & E}} |
VP8
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
H.265
| {{No |
}}
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
H.265 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| |
H.265 12-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| |
VVC
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| |
VP9
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{Yes|D & E}} | {{Yes|D & E}} | |
VP9 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| |
AV1
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
rowspan="2" |Video frame rate
support Decoding | | | | | |HD 60 fps | |
|
| |FHD 60 fps |FHD 60 fps |FHD 60 fps | |
rowspan="2" |Video frame
rate support Encoding | | | | | |HD 60 fps | |
|
| |FHD 60 fps |FHD 60 fps |FHD 60 fps | |
= Snapdragon 600 series =
The different video codecs supported by the Snapdragon 600 series.
class="wikitable"
! Codec ! style="width: 8em;" | Snapdragon 610{{cite web |url=https://www.qualcomm.com/products/snapdragon/processors/610 |title=Snapdragon 610 Processor |publisher=Qualcomm |access-date=November 16, 2016 |archive-url=https://web.archive.org/web/20161104153750/https://www.qualcomm.com/products/snapdragon/processors/610 |archive-date=November 4, 2016 |url-status=live }} ! style="width: 8em;" | Snapdragon 650/652/653 ! style="width: 8em;" | Snapdragon 632 ! style="width: 8em;" | Snapdragon 636/660 !Snapdragon 670/675/678{{Cite web|title=Snapdragon 670 Mobile Platform {{!}} Qualcomm|url=https://www.qualcomm.com/products/snapdragon-670-mobile-platform|access-date=2020-09-07|website=www.qualcomm.com|date=2 October 2018}} |
Availability
|Q1 2013 | |Q1 2015 | |Q2 2018 | |Q1 2020 |Q2 2019 |2019 |Q2 2020 |
---|
Hexagon
|QDSP6 V4 |QDSP6 V50 |QDSP6 V56 |642 |546 |680 |683 |686 |685 |692 |
H263
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
VC-1
| | | | | | | | | |
H.264
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
H.264 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| |
VP8
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
H.265
| {{No |
}}
| | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
H.265 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{partial|D & ?}} | {{No |
}}
| {{partial|D & ?}} | {{No |
}}
| {{No |
}}
| | {{Yes|D & E}} |
VVC
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
VP9
| {{No |
}}
| {{No |
}}
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} |
VP9 10-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| |
AV1
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}} |
colspan="11" |FPS |
rowspan="3" |Video decoding frame rate support
| HD 60 fps | HD 120 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 60 fps | FHD 120 fps | FHD 120 fps | FHD 120 fps |
No 4K
| No 4K | 4K30 fps | 4K30 fps | No 4K | 4K60 fps | 4K60 fps |
rowspan="3" |Video encoding frame rate support
| HD 60 fps | HD 60 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 60 fps | FHD 120 fps | FHD 120 fps | FHD 120 fps |
No 4K
| No 4K | 4K30 fps | 4K30 fps | No 4K | 4K30 fps | 4K30 fps | 4K30 fps |
colspan="11" |HDR formats |
Display and
playback | | | | | | | | | |
Video
recording | | | | | | | | | |
= Snapdragon 700 series =
The different video codecs supported by the Snapdragon 700 series.
class="wikitable"
! Codec ! Snapdragon 710{{cite web |url= https://www.qualcomm.com/products/snapdragon-710-mobile-platform |title= Snapdragon 710 Mobile Platform |publisher= Qualcomm |access-date= May 24, 2018 |archive-url= https://web.archive.org/web/20180524151750/https://www.qualcomm.com/products/snapdragon-710-mobile-platform |archive-date= May 24, 2018 |url-status= live }}/712{{Cite web|title=Snapdragon 712 Mobile Platform {{!}} Qualcomm|url=https://www.qualcomm.com/products/snapdragon-712-mobile-platform|access-date=2020-09-08|website=www.qualcomm.com|date=22 January 2019}} ! Snapdragon !Snapdragon 730G{{Cite web|title=Snapdragon 730 Mobile Platform {{!}} Qualcomm|url=https://www.qualcomm.com/products/snapdragon-730-mobile-platform|access-date=2020-09-08|website=www.qualcomm.com|date=13 March 2019}}/732G{{Cite web|title=Snapdragon 732G Mobile Platform {{!}} Qualcomm|url=https://www.qualcomm.com/products/snapdragon-732g-mobile-platform|access-date=2020-09-08|website=www.qualcomm.com|date=17 August 2020}} !Snapdragon 765{{Cite web|title=Snapdragon 765 5G Mobile Platform {{!}} Qualcomm|url=https://www.qualcomm.com/products/snapdragon-765-5g-mobile-platform|access-date=2020-09-08|website=www.qualcomm.com|date=19 November 2019}}/765G{{Cite web|title=Snapdragon 768G 5G Mobile Platform {{!}} Qualcomm|url=https://www.qualcomm.com/products/snapdragon-768g-5g-mobile-platform|access-date=2020-09-08|website=www.qualcomm.com|date=May 2020}} !Snapdragon !Snapdragon |
Availability
|Q2 2018 / Q1 2019 |Q1 2020 |Q2 2019 / Q3 2020 |Q2 2019 / Q2 2019 / Q2 2020 |Q2 2021 |Q1 2021 |
---|
Hexagon
|685 |692 |688 |696 |770 |770 |
H263
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | | |
VC-1
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | | |
H.264
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | | |
H.264 10-bit
| {{No |
}}
| {{No |
}}
| {{dunno}} | {{dunno}} | | |
VP8
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | | |
H.265
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | | |
H.265 10-bit
| {{partial|D}} | {{partial|D}} | {{Yes|D & E}} | {{Yes|D & E}} | | |
H.265 12-bit
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| | |
VVC
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| | |
VP9
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | | |
VP9 10-bit
| {{partial|D}} | {{partial|D}} | {{partial|D}} | {{partial|D}} | | |
AV1
| {{No |
}}
| {{No |
}}
| {{No |
}}
| {{No |
}}
| | |
colspan="7" |FPS |
rowspan="3" |Video frame
rate support Decoding | 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 | | |
rowspan="3" |Video frame
rate support Encoding | 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 |? | | |
colspan="7" |HDR formats |
Display and
playback |10-bit HDR |
Video
recording | {{n/a}} | {{n/a}} |
Photo
recording | {{n/a}} | {{n/a}} | {{n/a}} | {{n/a}} | colspan="2" |10-bit HDR HEIF |
= Snapdragon 800 series =
The different video codecs supported by the Snapdragon 800 series.
class="wikitable" style="text-align: center;"
! Codec ! Snapdragon ! Snapdragon ! Snapdragon ! Snapdragon ! Snapdragon ! Snapdragon ! Snapdragon !Snapdragon !Snapdragon 865/865+ !Snapdragon !Snapdragon 8 Gen 1 |
Availability
|Q2 2013 |Q1 2014 |Q1 2014 |Q3 2014 |Q4 2015 Q3 2016 |Q2 2017 |Q1 2018 |2019 |2019 2021 |Q4 2020 |2021 |
---|
Hexagon
|QDSP6 V5 |QDSP6 V5 |QDSP6 V50 |QDSP6 V56 |680 |682 |685 |698 |780 |790 |
MPEG-4
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
H263
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
VC-1
| | | | | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
H.264
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
H.264 10-bit
| {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
VP8
| {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
H.265
| {{No|N/A}} | {{partial|D & E 720p@30}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
H.265 10-bit
| {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{partial|D}} | {{partial|D}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
VP9
| {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{partial|D}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
VP9 10-bit
| {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{partial|D}} | {{partial|D}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | {{Yes|D & E}} | |
AV1
| {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | |
VVC
| {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | {{No|N/A}} | |
colspan="11" |FPS
! |
rowspan="4" |Decoding
| colspan="3" | HD@120 | colspan="3" | HD@240 | colspan="3" |HD@960 |
colspan="3" | FHD@60
| colspan="3" | FHD@120 |FHD@240 | colspan="2" {{dunno}} | |
colspan="4" | 4K@30
| colspan="3" | 4K@60 | {{dunno}} | colspan="3" |4K@120 |
colspan="7" {{n/a}}
|8K@? | colspan="3" |8K@60 |
rowspan="4" |Encoding
FPS | colspan="3" | HD@120 | colspan="3" | HD@240 |HD@480 | colspan="3" |HD@960 |
colspan="3" | FHD@60
| colspan="3" | FHD@120 |FHD@240 |FHD@240 | colspan="2" {{dunno}} | |
colspan="6" | 4K@30
|4K@60 |4K@60 | colspan="3" |4K@120 |
colspan="8" {{n/a}}
| colspan="3" |8K@30 |
colspan="11" |HDR formats
! |
Display and
playback | colspan="5" {{n/a}} |HDR |HDR10, HLG{{Cite web|date=2018|title=Product Brief Snapdragon 845|url=https://www.qualcomm.com/media/documents/files/snapdragon-845-mobile-platform-product-brief.pdf|url-status=live|archive-url=https://web.archive.org/web/20180612162951/https://www.qualcomm.com/media/documents/files/snapdragon-845-mobile-platform-product-brief.pdf|archive-date=June 12, 2018|access-date=June 12, 2018|website=Qualcomm}} |
Video
recording | colspan="6" {{n/a}} |HDR10, |
Photo
recording | colspan="9" {{n/a}} | colspan="2" |10-bit HDR HEIF |
Code sample
This is a single instruction packet from the inner loop of a 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
This packet is claimed by Qualcomm to be equal to 29 classic RISC operations; it includes vector add (4x 16-bit), complex multiply operation and hardware loop support. All instructions of the packet are done in the same cycle.
See also
- Qualcomm Snapdragon
- List of Qualcomm Snapdragon processors
- Nvidia NVDEC
- Nvidia NVENC
- Texas Instruments TMS320
- CEVA, Inc.
- Super Harvard Architecture Single-Chip Computer
- Digital signal processing
- Cryptography
- Instruction set architecture
- Microarchitecture
- Very long instruction word
- SIMD
- Multi-threading
- System on a chip
- Hypervisor
- Codec
- Fast Fourier transform
- Cellular network
- Conexant
References
{{Reflist|30em}}
External links
- [https://developer.qualcomm.com/hexagon-processor Qualcomm's Hexagon home page]
- [https://lwn.net/Articles/457635/ Upcoming DSP architectures], Arnd Bergmann // LWN
- [https://web.archive.org/web/20150114212717/https://developer.qualcomm.com/sites/default/files/qualcomm-dsp-access-program.pdf Introduction to Qualcomm’s QDSP Access Program] // Qualcomm, 2011
- [http://pages.cs.wisc.edu/~danav/pubs/qcom/hexagon_hotchips2013.pdf Qualcomm Hexagon DSP: An architecture optimized for mobile multimedia and communications] // Lucian Codrescu (Qualcomm), Hot Chips 25, Palo Alto, CA, August 2013.
- [http://pages.cs.wisc.edu/~danav/pubs/qcom/hexagon_microreport2013_v5.pdf Qualcomm Extends Hexagon DSP: Hexagon v5 Adds Floating-Point Math, Dynamic Multithreading] // Linley Gwennap, Microprocessor Report, August 2013.
Category:Digital signal processors
Category:Very long instruction word computing