Qualcomm Hexagon Architecture
Qualcomm Hexagon Architecture
Qualcomm Hexagon Architecture
Qualcomm Hexagon
DSP: An architecture
optimized for mobile
multimedia and
communications
Snapdragon
800
Camera
Adreno
GPU
Display
JPEG
Video
Krait
CPU
Krait
CPU
Krait
CPU
Krait
CPU
Other
Audio
Sensors
Hexagon
aDSP
Misc.
Connectivity
2MB L2
Multimedia Fabric
System Fabric
LPDDR3
LPDDR3
Modem
Hexagon
mDSP
mDSP: Dedicated
modem processing
HexagonV2/V3
Computer Vision &
Augmented Reality
HexagonV4 based products
Video
HexagonV5 based products
Voice
Audio
Sensors
HexagonV5 based products
V4M
V3M
V5A
28nm
Dec 2010
45nm
June 2009
28nm
Dec 2012
V4L
V1
65nm
Oct 2006
28nm
Apr 2011
V3L
V2
45nm Nov
2009
65nm
Dec 2007
V3C
V4C
V5H
45nm Aug
2009
28nm
Dec 2010
28nm
Dec 2012
Time
Qualcomm Technologies, Inc. All Rights Reserved
Key characteristics of
modem & multimedia applications
Requirements
Characteristics
Multi-Threading
To reduce L2$ miss
penalty without the need
for a large L2
Increases
instructions/VLIW packet
because compiler doesnt
need to schedule latency
Hexagon
DSP
Innovate in ISA to
maximize IPC
More work/VLIW packet
reduces energy/instruction
Keep the pipelines full for
MIPS/mm2
Target both Signal
Processing & Control code
Device
DDR
Memory
Dual 64-bit
load/store
units
Also 32-bit
ALU
Instruction
Cache
Instruction Unit
L2
Cache
/ TCM
Data Unit
(Load/
Store/
ALU)
Data Unit
(Load/
Store/
ALU)
Execution
Unit
(64-bit
Vector)
Data Cache
Register File/Thread
Register File
Register File
Execution
Unit
(64-bit
Vector)
Unified 32x32bit
General Register
File is best for
compiler.
No separate Address
or Accum Regs
Per-Thread
Zero-overhead loops
{ 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
Dec count
Com pare
Jum p top
Example C code
void example(int *ptr, int val) {
if (ptr!=0) {
*ptr = *ptr + val + 2;
}}
Tradional VLIW
Assembly Code
Hexagon DSP:
Hexagon DSP:
Dot-New Predication
Compound ALU
New-Value Store
p0 = cmp.eq(r0,#0)
{
if (!p0) r2=memw(r0)
if (p0) jumpr:nt r31
r2 = add(r2,#2)
r1 = add(r1,r2)
{
memw(r0) = r1
jumpr r31
p0 = cmp.eq (r0,#0)
if (!p0.new) r2=memw(r0)
if (p0.new) jumpr:nt r31
}
r2 = add(r2,#2)
r1 = add(r1,r2)
{
memw(r0) = r1
jumpr r31
Hexagon DSP:
p0 = cmp.eq(r0,#0)
if (!p0.new) r2=memw(r0)
if (p0.new) jumpr:nt r31
}
{
}
r1 = add(r1,add(r2,#2))
{
memw(r0) = r1
jumpr r31
p0 = cmp.eq(r0,#0)
if (!p0.new) r2=memw(r0)
if (p0.new) jumpr:nt r31
r1 = add(r1,add(r2,#2))
memw(r0) = r1.new
jumpr r31
Instr/Packet =
7 instr/5 packets = 1.4
Instr/Packet =
7 instr/2packets = 3.5
Qualcomm Technologies, Inc. All Rights Reserved
Computer
Vision
Source: Qualcomm internal measurements
Video
Imaging
Control
Audio
10
D
U
X
U
Thread 1
X
U
Register File
D
U
D
U
X
U
Thread 2
X
U
Register File
D
U
D
U
X
U
X
U
L2
Cache /
TCM
Register File
11
T0: {
Thread 0 Dispatch
Thread 1 Dispatch
Ld
St
Ld
Mpy Add
T2: {
Ld
Add Jump
T0: {
Ld
Ld
Add Cmp }
T1: {
St
Ld
Mpy Add
T0: {
Ld
Ld
Add Cmp }
Ld
Thread 2 Dispatch
12
Coremarks/
MHz
8
4.5
4
3.5
2.5
2
1.5
0.5
IMT
Dhrystone
DMIPS/MHz
DMT
IMT
DMT
13
Multi-Threaded Apps
4.5
4
3.5
3
2.5
2
1.5
Single-Threaded Apps
IPC_DMT
IPC_IMT
1
0.5
0
14
BDTImark2000/MHz
Mobile Competitor
430-520
100-233
300-700
4730-5720
1810-4220
5440-12660*
* - Projected best case score for 3-threads
Source: BDTI - For more detailed information see www.BDTI.com. All scores 2013 BDTI
15
16
Lower is better
Power
Competitor A
Qualcomm /
Competitor B
Hexagon-based
Competitor C
Competitor D
Competitor E
Competitor F
Competitor G
17
7% Less Time
18
FIR Power,
IMT Mode
100%
100%
90%
90%
80%
80%
70%
70%
60%
60%
50%
50%
40%
30%
Actual
Ideal
40%
30%
20%
20%
10%
10%
0%
0%
Actual
Ideal
19
20
21
22
Thank you
Follow us on:
For more information on Qualcomm, visit us at:
www.qualcomm.com & www.qualcomm.com/blog
2013 Qualcomm Technologies, Inc.
Qualcomm and Hexagon are trademarks of QUALCOMM Incorporated, registered in the United States
and other countries. All QUALCOMM Incorporated trademarks are used with permission. Other
product and brand names may be trademarks or registered trademarks of their respective owners.
Hexagon is a product of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. All Rights Reserved
23