El proyecto Denver es el nombre en código de una unidad central de procesamiento diseñada por Nvidia que implementa los conjuntos de instrucciones ARMv8-A de 64/32 bits utilizando una combinación de decodificador de hardware simple y traducción binaria basada en software ( recompilación dinámica ) donde "la capa de traducción binaria de Denver se ejecuta en software, a un nivel inferior que el sistema operativo, y almacena secuencias de código ya optimizadas y a las que se accede comúnmente en una caché de 128 MB almacenada en la memoria principal". [2] Denver es una tubería superescalar en orden muy amplia . Su diseño la hace adecuada para la integración con otros núcleos SIP (por ejemplo, GPU , controlador de pantalla , DSP , procesador de imágenes , etc.) en un solo chip que constituye un sistema en un chip (SoC).
El proyecto Denver está dirigido a ordenadores portátiles, ordenadores personales , servidores y superordenadores . [3] Los núcleos correspondientes se han integrado en la serie Tegra SoC de Nvidia. Inicialmente, los núcleos Denver se diseñaron para el nodo de proceso de 28 nm (modelo Tegra T132, también conocido como " Tegra K1 "). Denver 2 fue un diseño mejorado que se construyó para el nodo de 16 nm, más pequeño y eficiente (modelo Tegra T186, también conocido como " Tegra X2 ").
En 2018, Nvidia lanzó un diseño mejorado (nombre en código: " Carmel ", basado en ARMv8 (64 bits; variante: ARM-v8.2 [4] con superescalar de 10 vías, seguridad funcional, ejecución dual, paridad y ECC) que se integró en el SoC Tegra Xavier que ofrece un total de 8 núcleos (o 4 pares de núcleos duales). [5] [ verificación fallida ] El núcleo de CPU Carmel admite SIMD avanzado completo (ARM NEON), VFP (Vector Floating Point) y ARMv8.2-FP16. [6] Las primeras pruebas publicadas de los núcleos Carmel integrados en el kit de desarrollo Jetson AGX por expertos externos tuvieron lugar en septiembre de 2018 e indicaron un rendimiento notablemente mayor como se esperaba para esta manifestación física del mundo real en comparación con los sistemas predecesores, a pesar de todas las dudas sobre la rapidez utilizada de dicha configuración de prueba en general y en particular. [7] El diseño de Carmel se puede encontrar en el modelo Tegra T194 (" Tegra Xavier ") que está diseñado con un Tamaño de estructura de 12 nm.
Una CPU Denver de doble núcleo se emparejó con una solución de GPU basada en Kepler para formar el Tegra K1 ; el K1 de doble núcleo de 2,3 GHz basado en Denver se utilizó por primera vez en la tableta HTC Nexus 9 , lanzada el 3 de noviembre de 2014. [10] [11] Sin embargo, tenga en cuenta que el Tegra K1 de cuatro núcleos, si bien utiliza el mismo nombre, no está basado en Denver.
El Nvidia Tegra X2 tiene dos núcleos Denver2 (ARMv8 de 64 bits) en su interior y otros cuatro núcleos A57 (ARMv8 de 64 bits) que utilizan un enfoque HMP (arquitectura multiprocesador heterogénea) coherente. [12] Esto combina las unidades con una GPU Parker.
El Tegra Xavier combina una GPU Nvidia Volta y varios aceleradores especiales con 8 núcleos de CPU con el diseño Carmel. En este diseño, 4 macrobloques ASIC Carmel (cada uno con 2 núcleos) se combinan entre sí con una barra transversal más y 4 MiB de memoria L3.
La existencia del Proyecto Denver fue revelada en el Consumer Electronics Show de 2011. [13] En un artículo de preguntas y respuestas del 4 de marzo de 2011, el director ejecutivo Jen -Hsun Huang reveló que el Proyecto Denver es un desarrollo de CPU de arquitectura ARMv8-A de 64 bits de cinco años en el que cientos de ingenieros ya habían trabajado durante tres años y medio y que también tiene compatibilidad con versiones anteriores del conjunto de instrucciones ARM de 32 bits (ARMv7) . [14] El Proyecto Denver se inició en Stexar Company (Colorado) como un procesador compatible con x86 que usa traducción binaria, similar a los proyectos de Transmeta . Stexar fue adquirida por Nvidia en 2006. [15] [16] [17]
Según Tom's Hardware, en el equipo de Denver hay ingenieros de Intel , AMD , HP , Sun y Transmeta , y tienen una amplia experiencia en el diseño de CPU superescalares con ejecución fuera de orden , palabras de instrucción muy largas (VLIW) y subprocesamiento múltiple simultáneo (SMT). [18]
Según Charlie Demerjian, la CPU del Proyecto Denver puede traducir internamente las instrucciones ARM a un conjunto de instrucciones interno, utilizando el firmware en la CPU. [19] También según Demerjian, el Proyecto Denver originalmente estaba destinado a soportar código ARM y x86 utilizando la tecnología de transformación de código de Transmeta, pero se cambió al conjunto de instrucciones ARMv8-A de 64 bits porque Nvidia no pudo obtener una licencia para las patentes de Intel . [19]
El primer dispositivo de consumo con núcleos de CPU Denver, el Nexus 9 de Google , se anunció el 15 de octubre de 2014. La tableta fue fabricada por HTC y cuenta con el SoC Tegra K1 de doble núcleo. El Nexus 9 fue el primer dispositivo Android de 64 bits disponible para los consumidores. [20]