Project Denver — кодовое название центрального процессора , разработанного Nvidia , который реализует наборы инструкций ARMv8-A 64 / 32-бит с использованием комбинации простого аппаратного декодера и программной двоичной трансляции ( динамической перекомпиляции ), где «уровень двоичной трансляции Denver работает в программном обеспечении на более низком уровне, чем операционная система, и хранит часто используемые, уже оптимизированные последовательности кода в кэше объемом 128 МБ, хранящемся в основной памяти». [2] Denver — это очень широкий суперскалярный конвейер с последовательным расположением . Его конструкция делает его пригодным для интеграции с другими ядрами SIP (например, GPU , контроллером дисплея , DSP , процессором обработки изображений и т. д.) в один кристалл, составляющий систему на кристалле (SoC).
Проект Denver нацелен на мобильные компьютеры, персональные компьютеры , серверы , а также суперкомпьютеры . [3] Соответствующие ядра нашли интеграцию в серию Tegra SoC от Nvidia. Первоначально ядра Denver были разработаны для 28-нм техпроцесса (модель Tegra T132, также известная как « Tegra K1 »). Denver 2 представлял собой улучшенную конструкцию, созданную для меньшего, более эффективного 16-нм техпроцесса. (модель Tegra T186, также известная как « Tegra X2 »).
В 2018 году Nvidia выпустила улучшенную конструкцию (кодовое название: « Carmel », основанную на ARMv8 (64-разрядной; вариант: ARM-v8.2 [4] с 10-сторонним суперскаляром, функциональной безопасностью, двойным выполнением, четностью и ECC), интегрированную в SoC Tegra Xavier , предлагающую в общей сложности 8 ядер (или 4 пары двухъядерных процессоров). [5] [ проверка не пройдена ] Ядро процессора Carmel поддерживает полный Advanced SIMD (ARM NEON), VFP (векторная плавающая точка) и ARMv8.2-FP16. [6] Первые опубликованные испытания ядер Carmel, интегрированных в комплект разработки Jetson AGX, сторонними экспертами состоялись в сентябре 2018 года и показали заметно возросшую производительность, как и следовало ожидать для этого реального физического проявления по сравнению с предшествующими системами, несмотря на все сомнения относительно быстроты использования такой тестовой установки в целом и в частности. [7] Конструкция Carmel может быть найдена в модели Tegra T194 (« Tegra Xavier "), разработанный с размером структуры 12 нм.
Двухъядерный центральный процессор Denver был объединен с графическим процессором на базе Kepler для создания Tegra K1 ; двухъядерный 2,3-гигагерцовый K1 на базе Denver впервые был использован в планшете HTC Nexus 9 , выпущенном 3 ноября 2014 года. [10] [11] Однако следует отметить, что четырехъядерный Tegra K1, хотя и имеет то же название, не основан на Denver.
Nvidia Tegra X2 имеет два ядра Denver2 (ARMv8 64bit) и еще четыре ядра A57 (ARMv8 64bit), использующие согласованный подход HMP (гетерогенная многопроцессорная архитектура). [12] Это объединяет блоки с Parker-GPU.
Tegra Xavier объединяет Nvidia Volta-GPU и несколько специальных ускорителей с 8 ядрами ЦП с дизайном Carmel. В этом дизайне 4 макроблока Carmel ASIC (каждый из которых имеет 2 ядра) сопоставляются друг с другом с еще одним кроссбаром и 4 МБ памяти L3.
Существование проекта Denver было раскрыто на выставке бытовой электроники 2011 года . [13] В статье вопросов и ответов от 4 марта 2011 года генеральный директор Дженсен Хуанг рассказал, что проект Denver — это пятилетняя разработка 64-битного процессора архитектуры ARMv8-A , над которой уже работали сотни инженеров в течение трех с половиной лет и которая также имеет обратную совместимость с 32-битным набором инструкций ARM (ARMv7) . [14] Проект Denver был начат в компании Stexar Company (Колорадо) как процессор, совместимый с x86, использующий двоичную трансляцию, аналогично проектам Transmeta . Stexar была приобретена Nvidia в 2006 году. [15] [16] [17]
По данным Tom's Hardware, в команду из Денвера входят инженеры из Intel , AMD , HP , Sun и Transmeta , и у них есть большой опыт проектирования суперскалярных процессоров с внеочередным выполнением , очень длинными командными словами (VLIW) и одновременной многопоточностью (SMT). [18]
По словам Чарли Демерджяна, процессор Project Denver может внутренне транслировать инструкции ARM во внутренний набор инструкций, используя прошивку в процессоре. [19] Также по словам Демерджяна, изначально Project Denver предназначался для поддержки как кода ARM , так и x86 с использованием технологии морфинга кода от Transmeta, но был изменен на 64-битный набор инструкций ARMv8-A, поскольку Nvidia не смогла получить лицензию на патенты Intel . [19]
Первое потребительское устройство с ядрами центрального процессора Denver, Google Nexus 9 , было анонсировано 15 октября 2014 года. Планшет был произведен HTC и оснащен двухъядерным процессором Tegra K1 SoC. Nexus 9 был первым 64-битным устройством Android, доступным для потребителей. [20]