Hexagon | ||
---|---|---|
Qualcomm Hexagon | ||
Información | ||
Tipo | Procesador de señales digitales | |
Fecha de creación | 2006 | |
Desarrollador | Qualcomm | |
Hexagon es el nombre de marca para una familia de procesadores de señales digitales (DSP) productos por Qualcomm. Hexagon también es conocido como QDSP6, siglas de la frase en inglés “procesador de señales digitales de sexta generación de Qualcomm". Según Qualcomm, la arquitectura Hexagon está diseñada para ofrecer rendimiento con poca energía para una variedad de aplicaciones.[1][2]
Cada versión de Hexagon tiene un juego de instrucciones y un micro-arquitectura. Estos dos características están íntimamente relacionadas.
Hexagon es utilizado en los chips Qualcomm Snapdragon, por ejemplo en teléfonos inteligentes, automóviles, dispositivos wearables y otros dispositivos móviles, y es también utilizado en componentes de redes de telefonía celular.
Arquitectura del conjunto de instrucciones
Los dispositivos informáticos tienen conjuntos o juegos de instrucciones, que son sus lenguajes más bajos y primitivos. Las instrucciones comunes son aquellas que hacen que se agreguen, multipliquen o combinen dos números de otras maneras, así como las instrucciones que dirigen al procesador a dónde buscar en la memoria su siguiente instrucción. Existen muchos otros tipos de instrucciones.
Los ensambladores y compiladores traducen los programas de un computador en flujos de instrucciones - flujos de bits - que el dispositivo puede entender y llevar a cabo (ejecutar). A medida que se ejecuta un flujo de instrucciones, la integridad de la función del sistema se sostiene mediante el uso de niveles de privilegios de instrucción. Las instrucciones con privilegios tienen acceso a más recursos en el dispositivo, incluida la memoria. Hexagon admite niveles de privilegios.
Originalmente, las instrucciones de Hexagon operaban sobre números enteros, pero no sobre números en coma flotante, finalmente, en la versión 5 (v5) se agregó el soporte para punto flotante.[3][4]
La unidad de procesamiento que maneja la ejecución de instrucciones es capaz de despachar, en orden, hasta 4 instrucciones (por paquete) a 4 Unidades de Ejecución por ciclo del procesador (cada tick).[5][6]
Soporte de software
Sistemas operativos
El port de Linux para Hexagon se ejecuta bajo una capa de hipervisor ("Hexagon Virtual Machine") y se fusionó con la versión 3.2 del núcleo.
La versión original del Hipervisor (hypervisor) es de código cerrado, mas en abril del 2013, se liberó una versión mínima, de código abierto del hipervisor, el cual fue implementado para la arquitectura QDSP6 V2 y V3. Teniendo por nombre "Hexagon MiniVM", este último fue liberado por Qualcomm bajo una licencia de tipo BSD.
Compiladores
El soporte para Hexagon fue agregado en la versión 3.1 de LLVM por Tony Linthicum. La compatibilidad con Hexagon/HVX V66 ISA se agregó en la versión 8.0.0 de LLVM. También hay una rama no mantenida por la FSF de GCC y binutils.
Adopción del bloque de SIP
Los DSPs Qualcomm Hexagon han estado disponibles en los SoCs Qualcomm Snapdragon desde 2006. En el Snapdragon S4 (MSM8960 y más recientes) existen tres núcleos QDSP, dos en el subsistema del módem y un núcleo hexagonal en el subsistema multimedia. Los núcleos de módem son programados por Qualcomm solamente, y sólo el núcleo multimedia puede ser programado por el usuario.
También son utilizados en algunos procesadores para femtoceldas de Qualcomm, incluyendo los FSM98xx, FSM99xx y FSM90xx.[7]
Integración de terceras partes
En marzo de 2016, se anunció que el software de procesamiento de audio AudioSmart de la compañía de semiconductores Conexant sería integrado al Hexagon de Qualcomm.[8]
En mayo de 2018 wolfSSL agregó soporte para usar Qualcomm Hexagon. Esto es soporte para ejecutar operaciones criptográficas wolfSSL en el DSP. Además del uso de operaciones criptográficas, más tarde se agregó una biblioteca de administración de carga de operaciones especializada.
Versiones
Existen seis versiones de la arquitectura QDSP6 publicadas: V1 (2006), V2 (2007-2008), V3 (2009), V4 (2010-2011), QDSP6 V5 (2013, en el Snapdragon 800); y QDSP6 V6 (2016, en el Snapdragon 820).[9][10] La V4 tiene 20 DMIPS por milliwatt, operando a 500 MHz.[11][10] La velocidad de reloj del Hexagon varía entre los 400-2000 MHz para el QDSP6 y entre 256-350 MHz para generación anterior de la arquitectura, el QDSP5.[12]
Versions of QDSP6 | Process node, nm | Date[13] | Number of simultaneous threads | Per-thread clock, MHz | Total core clock, MHz | Product |
---|---|---|---|---|---|---|
QDSP6 V1 | 65[13] | Oct 2006 | ||||
QDSP6 V2 | 65 | Dec 2007[13] | 6 | 100 | 600 | |
QDSP6 V3 (1st gen)[14] | 45 | 2009 | 6 | 67 | 400 | |
QDSP6 V3 (2nd gen)[14] | 45 | 2009 | 4 | 100 | 400 | |
QDSP6 V4[14] (V4M, V4C, V4L[13]) | 28 | 2010–2011 | 3 | 167 | 500 | |
QDSP6 V5 (V5A, V5H[13]) | 28 | 2013 | 3[13] | 200 or greater with DMT[15] | 600 | |
642 | 14 | 2017 | Snapdragon
630 | |||
QDSP6 V6 or 680 | 14 | 2016/2017 | 4 | 500 | 2000 | Snapdragon
820/821/636/660 |
682 | 10 | 2017 | Snapdragon
835 | |||
683 | 11 | 2020 | 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 | 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 | ||
780 | 5 | 2021 | (26 TOPS) | Snapdragon
888 | ||
790 | ? | 2022 | ? | - | - | Snapdragon 8 gen 1 / 8+ gen 1 |
Disponibilidad en Snapdragon productos
Tanto los núcleos Hexagon (QDSP6) como los pre-Hexagon (QDSP5) se utilizan en los SoC modernos de Qualcomm, QDSP5 principalmente en productos de gama baja. Los QDSP de módem (a menudo anteriores a Hexagon) no se muestran en la tabla.
QDSP5 uso:
Snapdragon Generación | Chipset (SoC) ID | DSP Generación | DSP Frecuencia, MHz | Nodo de proceso, nm |
---|---|---|---|---|
S1[12] | MSM7627, MSM7227, MSM7625, MSM7225 | QDSP5 | 320 | 65 |
S1[12] | MSM7627Un, MSM7227Un, MSM7625Un, MSM7225Un | QDSP5 | 350 | 45 |
S2[12] | MSM8655, MSM8255, APQ8055, MSM7630, MSM7230 | QDSP5 | 256 | 45 |
S4 Juego[12] | MSM8625, MSM8225 | QDSP5 | 350 | 45 |
S200[16] | 8110, 8210, 8610, 8112, 8212, 8612, 8225Q, 8625Q | QDSP5 | 384 | 45 #elepé |
QDSP6 (Hexágono) uso:
Snapdragon Generación | Chipset (SoC) ID | QDSP6 versión | DSP Frecuencia, MHz | Nodo de proceso, nm |
---|---|---|---|---|
S1[12] | QSD8650, QSD8250 | QDSP6 | 600 | 65 |
S3[12] | MSM8660, MSM8260, APQ8060 | QDSP6 (V3?) | 400 | 45 |
S4 Albor[12] | MPQ8064 | QDSP6 (V3?) | 500 | 28 |
S4 Pro[12] | MSM8960 Pro, APQ8064 | QDSP6 (V3?) | 500 | 28 |
S4 Plus[12] | MSM8960, MSM8660Un, MSM8260Un, APQ8060Un, MSM8930, MSM8630, MSM8230, APQ8030, MSM8627, MSM8227 |
QDSP6 (V3?) | 500 | 28 |
S400[16] | 8926, 8930, 8230, 8630, 8930AB, 8230AB, 8630AB, 8030AB, 8226, 8626 | QDSP6V4 | 500 | 28 #elepé |
S600[16] | 8064T, 8064M | QDSP6V4 | 500 | 28 #elepé |
S800[16] | 8974, 8274, 8674, 8074 | QDSP6V5Un | 600 | 28 HPm |
S820[17] | 8996 | QDSP6V6 | 2000 | 14 FinFet LPP |
Véase también
- Qualcomm Snapdragon
- Procesamiento digital de señales
- Criptografía
- Arquitectura de conjunto de instrucciones
- Microarquitectura
- Instrucción muy larga palabra
- SIMD
- Multihilo
- Sistema en chip
- Hipervisor
- Códec
- Transformada rápida de Fourier
- Red celular
- Conexant
Referencias
- ↑ «Hexagon DSP SDK». Qualcomm Developer Network (en inglés). Consultado el 14 de enero de 2021.
- ↑ «Hexagon DSP SDK Processor». Qualcomm Developer Network (en inglés). Consultado el 14 de enero de 2021.
- ↑ Humrick, Matt. «Qualcomm Details Snapdragon 835: Kryo 280 CPU, Adreno 540 GPU, X16 LTE». www.anandtech.com. Consultado el 14 de enero de 2021.
- ↑ Group, Lindley. «Microprocessor Report».
- ↑ «Rob Landley's Blog Thing for 2012». Landley.net. Consultado el 19 de octubre de 2012.
- ↑ Porting LLVM to a Next Generation DSP, L. Taylor Simpson (Qualcomm) // LLVM Developers’ Meeting: 11/18/2011
- ↑ Qualcomm Aims Hexagon at Femtocells, October 31, 2011. Linley Gwennap// Linley WIRE
- ↑ «Qualcomm to Integrate Conexant AudioSmart into Hexagon DSPs». Speech Tech Magazine. 1 de marzo de 2016. Consultado el 11 de marzo de 2016.
- ↑ Qualcomm Announces Next Generation Snapdragon Premium Mobile Processors // Qualcomm, January 07, 2013
- ↑ a b QDSP6 V4: Qualcomm Gives Customers and Developers Programming Access to its DSP Core // InsideDSP, June 22, 2012
- ↑ Qualcomm Announces Its 2012 Superchip: 28nm Snapdragon S4, 10/12/2011 by John Oram. Quote: "Hexagon DSPs have been in Snapdragon chips since 2006."
- ↑ a b c d e f g h i j «List of Snapdragon SoCs». Developer.qualcomm.com. Archivado desde el original el 26 de octubre de 2012. Consultado el 19 de octubre de 2012.
- ↑ a b c d e f Lucian Codrescu (Qualcomm) (August 2013). «Qualcomm Hexagon DSP: An architecture optimized for mobile multimedia and communications». Palo Alto, CA: Hot Chips 25.
- ↑ a b c «QDSP6 V4: BDTI Benchmark Results and Implementation Details Of Qualcomm's DSP Core | Berkeley Design Technology, Inc». www.bdti.com. Consultado el 3 de mayo de 2023.
- ↑ «QUALCOMM EXTENDS HEXAGON DSP». 26 de agosto de 2013.
- ↑ a b c d Snapdragon 800, 600, 400, 200 Processor Specs // Qualcomm
- ↑ Qualcomm's QDSP6 v6: Imaging and Vision Enhancements Via Vector Extensions // BDTI, September 29, 2015