HOME

TheInfoList



OR:

Hexagon is the brand name for a family of
digital signal processor A digital signal processor (DSP) is a specialized microprocessor chip, with its architecture optimized for the operational needs of digital signal processing. DSPs are fabricated on metal–oxide–semiconductor (MOS) integrated circuit chips. ...
(DSP) and later
neural processing unit A neural processing unit (NPU), also known as AI accelerator or deep learning processor, is a class of specialized hardware accelerator or computer system designed to accelerate artificial intelligence (AI) and machine learning applications, inc ...
(NPU) products by
Qualcomm Qualcomm Incorporated () is an American multinational corporation headquartered in San Diego, California, and Delaware General Corporation Law, incorporated in Delaware. It creates semiconductors, software and services related to wireless techn ...
. 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. Each version of Hexagon has an instruction set and a micro-architecture. These two features are intimately related. Hexagon is used in
Qualcomm Snapdragon Snapdragon is a suite of system-on-chip (SoC) semiconductor products for mobile devices designed and marketed by Qualcomm, who often refers to these SoCs as "mobile platforms". They typically integrate central processing units (CPU) based o ...
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, but in v5 floating point support was added. The processing unit which handles execution of instructions is capable of in-order dispatching up to 4 instructions (the packet) to 4
Execution Units In computer engineering, an execution unit (E-unit or EU) is a part of a processing unit that performs the operations and calculations forwarded from the instruction unit. It may have its own internal control sequence unit (not to be confused w ...
every clock.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, 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, 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 DSP (
CEVA Ceva, the ancient Ceba, is a small Italy, Italian town in the province of Cuneo, region of Piedmont, east of Cuneo. It lies on the right bank of the Tanaro River, Tanaro on a wedge of land between that river and the Cevetta stream. History In th ...
had around 1 billion of DSP cores shipped in 2011 with 90% of IP-licensable DSP market). 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), and instructions geared toward efficient signal processing. Hardware multithreading is implemented as
barrel A barrel or cask is a hollow cylindrical container with a bulging center, longer than it is wide. They are traditionally made of wooden stave (wood), staves and bound by wooden or metal hoops. The word vat is often used for large containers ...
temporal multithreading Temporal multithreading is one of the two main forms of multithreading that can be implemented on computer processor hardware, the other being simultaneous multithreading. The distinguishing difference between the two forms is the maximum number ...
- 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. Hexagon V5 switched to dynamic multithreading (DMT) with thread switch on L2 misses, interrupt waiting or on special instructions.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. In March 2015 Qualcomm announced their Snapdragon Neural Processing Engine SDK which allow AI acceleration using the CPU, GPU and Hexagon DSP.
Qualcomm Qualcomm Incorporated () is an American multinational corporation headquartered in San Diego, California, and Delaware General Corporation Law, incorporated in Delaware. It creates semiconductors, software and services related to wireless techn ...
'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. Snapdragon 865 contains the 5th generation on-device AI engine based on the Hexagon 698 DSP capable of 15 trillion operations per second (TOPS). Snapdragon 888 contains the 6th generation on-device AI engine based on the Hexagon 780 DSP capable of 26 TOPS. 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.


Software support


Operating systems

The
port A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as Hamburg, Manch ...
of
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
for Hexagon runs under a
hypervisor A hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called ...
layer ("Hexagon Virtual Machine") and was merged with the 3.2 release of the
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
. 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.


Compilers

Support for Hexagon was added in 3.1 release of
LLVM LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a Compiler#Front end, frontend for any programming language and a Compiler#Back end, backend for any instruction set architecture. LLVM i ...
by Tony Linthicum. Hexagon/HVX V66 ISA support was added in 8.0.0 release of
LLVM LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a Compiler#Front end, frontend for any programming language and a Compiler#Back end, backend for any instruction set architecture. LLVM i ...
. There is also a non- FSF maintained branch of GCC and
binutils The GNU Binary Utilities, or , is a collection of programming tools maintained by the GNU Project for working with executable code including assembly, linking and many other development operations. The tools are originally from Cygnus Solut ...
.


Adoption of the SIP block

Qualcomm Hexagon DSPs have been available in Qualcomm Snapdragon SoC since 2006.Qualcomm Announces Its 2012 Superchip: 28nm Snapdragon S4
10/12/2011 by John Oram. Quote: "Hexagon DSPs have been in Snapdragon chips since 2006."
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 In telecommunications, a femtocell is a small, low-power cellular base station, typically designed for use in a home or small business. A broader term which is more widespread in the industry is ''small cell'', with ''femtocell'' as a subset. It t ...
processors of Qualcomm, including FSM98xx, FSM99xx and FSM90xx.


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. In May 2018 wolfSSL added support for using Qualcomm Hexagon. 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), 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.


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: 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.


Snapdragon 400 series

The different video codecs supported by the Snapdragon 400 series.


Snapdragon 600 series

The different video codecs supported by the Snapdragon 600 series.


Snapdragon 700 series

The different video codecs supported by the Snapdragon 700 series.


Snapdragon 800 series

The different video codecs supported by the Snapdragon 800 series.


Code sample

This is a single instruction packet from the inner loop of a FFT:
: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 Snapdragon is a suite of system-on-chip (SoC) semiconductor products for mobile devices designed and marketed by Qualcomm, who often refers to these SoCs as "mobile platforms". They typically integrate central processing units (CPU) based o ...
*
List of Qualcomm Snapdragon processors The Qualcomm Snapdragon suite of System on a chip, systems on chips (SoCs) are designed for use in smartphones, Tablet computer, tablets, laptops, 2-in-1 PCs, smartwatches, and smartbooks devices. Before Snapdragon SoC made by Qualcomm before ...
* Nvidia NVDEC * Nvidia NVENC * Texas Instruments TMS320 * CEVA, Inc. *
Super Harvard Architecture Single-Chip Computer {{Distinguish, SuperH The Super Harvard Architecture Single-Chip Computer (SHARC) is a high performance floating-point and fixed-point DSP from Analog Devices. SHARC is used in a variety of signal processing applications ranging from audio pro ...
*
Digital signal processing Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are a ...
*
Cryptography Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
*
Instruction set architecture In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
*
Microarchitecture In electronics, computer science and computer engineering, microarchitecture, also called computer organization and sometimes abbreviated as μarch or uarch, is the way a given instruction set architecture (ISA) is implemented in a particular ...
*
Very long instruction word Very long instruction word (VLIW) refers to instruction set architectures that are designed to exploit instruction-level parallelism (ILP). A VLIW processor allows programs to explicitly specify instructions to execute in parallel, whereas conve ...
*
SIMD Single instruction, multiple data (SIMD) is a type of parallel computer, parallel processing in Flynn's taxonomy. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneousl ...
* Multi-threading *
System on a chip A system on a chip (SoC) is an integrated circuit that combines most or all key components of a computer or Electronics, electronic system onto a single microchip. Typically, an SoC includes a central processing unit (CPU) with computer memory, ...
*
Hypervisor A hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called ...
*
Codec A codec is a computer hardware or software component that encodes or decodes a data stream or signal. ''Codec'' is a portmanteau of coder/decoder. In electronic communications, an endec is a device that acts as both an encoder and a decoder o ...
*
Fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
*
Cellular network A cellular network or mobile network is a telecommunications network where the link to and from end nodes is wireless network, wireless and the network is distributed over land areas called ''cells'', each served by at least one fixed-locatio ...
* Conexant


References

{{Reflist, 30em


External links


Qualcomm's Hexagon home page

Upcoming DSP architectures
Arnd Bergmann // LWN
Introduction to Qualcomm’s QDSP Access Program
// Qualcomm, 2011
Qualcomm Hexagon DSP: An architecture optimized for mobile multimedia and communications
// Lucian Codrescu (Qualcomm), Hot Chips 25, Palo Alto, CA, August 2013.
Qualcomm Extends Hexagon DSP: Hexagon v5 Adds Floating-Point Math, Dynamic Multithreading
// Linley Gwennap, Microprocessor Report, August 2013. Digital signal processors Qualcomm IP cores Very long instruction word computing Video compression and decompression ASIC Neural processing units