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.
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.
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).Porting LLVM to a Next Generation DSP, L. Taylor Simpson (Qualcomm) // LLVM Developers’ Meeting: 11/18/2011
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.Qualcomm Aims Hexagon at Femtocells, October 31, 2011. Linley Gwennap// Linley WIRE
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.
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).Qualcomm Announces Next Generation Snapdragon Premium Mobile Processors // Qualcomm, January 07, 2013QDSP6 V4: Qualcomm Gives Customers and Developers Programming Access to its DSP Core // InsideDSP, June 22, 2012 La V4 tiene 20 DMIPS por milliwatt, operando a 500 MHz.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 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. Versions of QDSP6Process node, nmDateNumber of simultaneous threadsPer-thread clock, MHzTotal core clock, MHzProductQDSP6 V165Oct 2006QDSP6 V265Dec 20076100600QDSP6 V3 (1st gen)452009667400QDSP6 V3 (2nd gen)4520094100400QDSP6 V4 (V4M, V4C, V4L)282010–20113167500QDSP6 V5 (V5A, V5H)2820133200 or greater with DMT600642142017Snapdragon 630QDSP6 V6 or 680142016/201745002000Snapdragon 820/821/636/660682102017Snapdragon 835683112020Snapdragon 845/670/675/678/710/71268611/82019/2021(3.3 TOPS)Snapdragon 665/48068882019/2020(3.6 TOPS)Snapdragon 730(G)/732G69072019(7 TOPS)Snapdragon 855/855+69282020Snapdragon 720G/69069482020(4.7 TOPS)Snapdragon 750G69672020(5.4 TOPS)Snapdragon 765(G)/768G69872020(15 TOPS)Snapdragon 865/865+/87078052021(26 TOPS)Snapdragon 888790?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ónChipset (SoC) IDDSP GeneraciónDSP Frecuencia, MHzNodo de proceso, nmS1MSM7627, MSM7227, MSM7625, MSM7225QDSP532065S1MSM7627Un, MSM7227Un, MSM7625Un, MSM7225UnQDSP535045S2MSM8655, MSM8255, APQ8055, MSM7630, MSM7230QDSP525645S4 JuegoMSM8625, MSM8225QDSP535045S200Snapdragon 800, 600, 400, 200 Processor Specs // Qualcomm8110, 8210, 8610, 8112, 8212, 8612, 8225Q, 8625QQDSP538445 #elepé QDSP6 (Hexágono) uso: Snapdragon GeneraciónChipset (SoC) IDQDSP6 versiónDSP Frecuencia, MHzNodo de proceso, nmS1QSD8650, QSD8250QDSP660065S3MSM8660, MSM8260, APQ8060QDSP6 (V3?)40045S4 AlborMPQ8064QDSP6 (V3?)50028S4 ProMSM8960 Pro, APQ8064QDSP6 (V3?)50028S4 PlusMSM8960, MSM8660Un, MSM8260Un, APQ8060Un, MSM8930, MSM8630, MSM8230, APQ8030, MSM8627, MSM8227QDSP6 (V3?)50028S400Snapdragon 800, 600, 400, 200 Processor Specs // Qualcomm8926, 8930, 8230, 8630, 8930AB, 8230AB, 8630AB, 8030AB, 8226, 8626QDSP6V450028 #elepéS6008064T, 8064MQDSP6V450028 #elepéS8008974, 8274, 8674, 8074QDSP6V5Un60028 HPmS820Qualcomm's QDSP6 v6: Imaging and Vision Enhancements Via Vector Extensions // BDTI, September 29, 20158996QDSP6V6200014 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
Categoría:Procesadores digitales de señal