Pixel Visual Core

редактировать

The Pixel Visual Core (PVC ) представляет собой серию систем ARM в пакете (SiP) процессоров изображений, разработанных Google. PVC - это полностью программируемая image, vision и AI многоядерная доменно-ориентированная архитектура (DSA) для мобильных устройств и в будущем для IoT.. Впервые он появился в Google Pixel 2 и 2 XL, которые были представлены 19 октября 2017 года. Он также появился в Google Pixel 3 и 3 XL. Начиная с Pixel 4, этот чип был заменен на Pixel Neural Core.

Contents
  • 1 History
  • 2 Pixel Visual Core software
  • 3 Pixel Visual Core ISA
  • 4 Pixel Visual Core архитектура
    • 4.1 Блок обработки изображений (IPU)
      • 4.1.1 Пул линейных буферов (LBP)
      • 4.1.2 Процессор трафаретов (STP)
  • 5 Краткое описание конструкции SR3HX
  • 6 Ссылки
История

Google ранее использовал Qualcomm Snapdragon CPU, GPU, IPU и DSP <23.>для обработки его изображений для своих устройств Google Nexus и Google Pixel. В связи с возрастанием важности методов вычислительной фотографии Google разработал Pixel Visual Core (PVC). Google утверждает, что PVC потребляет меньше энергии, чем использование CPU и GPU, но при этом остается полностью программируемым, в отличие от их тензорного процессора (TPU) , зависящего от приложения. интегральная схема (ASIC). Действительно, классические мобильные устройства оснащены процессором сигналов изображения (ISP), который представляет собой конвейер обработки изображений с фиксированной функциональностью. В отличие от этого, PVC имеет гибкие программируемые функции, не ограничиваясь только обработкой изображений.

PVC в Google Pixel 2 и 2 XL помечен как SR3HX X726C502.

PVC в Google Pixel 3 и 3 XL с маркировкой SR3HX X739F030.

Благодаря PVC, Pixel 2 и Pixel 3 получили мобильный DxOMark с 98 и 101 баллами. Последний является лучшим в рейтинге DxOMark для мобильных устройств с одним объективом., связанный с iPhone XR.

Программное обеспечение Pixel Visual Core
A Направленный ациклический граф представление ядра (ядер) для программистов PVC

Написана типичная программа обработки изображений PVC в Галогенид. В настоящее время он поддерживает только подмножество языка программирования Halide без операций с плавающей запятой и с ограниченными шаблонами доступа к памяти. Halide - это широко распространенный предметно-ориентированный язык, который позволяет пользователю разделить алгоритм и планирование его выполнения. Таким образом, разработчик может написать программу, оптимизированную для целевой аппаратной архитектуры.

Pixel Visual Core ISA

PVC имеет два типа архитектуры набора команд (ISA), виртуальный и физический. Сначала программа на языке высокого уровня компилируется в виртуальную ISA (vISA), вдохновленную RISC-V ISA, которая полностью абстрагируется от поколения целевого оборудования. Затем программа vISA компилируется в так называемый физический ISA (pISA), то есть VLIW ISA. На этом этапе компиляции учитываются параметры целевого оборудования (например, размер массива PE, размер STP и т. Д.) И явно указываются перемещения памяти. Разделение vISA и pISA позволяет первому быть кросс-архитектурным и независимым от поколения, в то время как pISA может быть скомпилирован в автономном режиме или с помощью JIT-компиляции.

Архитектура Pixel Visual Core
Пример PVC с 4 ядра

Pixel Visual Core представляет собой масштабируемую многоядерную энергоэффективную архитектуру с четным числом от 2 до 16 ядер. Ядром PVC является блок обработки изображений (IPU), программируемый блок, предназначенный для обработки изображений. Архитектура Pixel Visual Core также была спроектирована либо как отдельный чип, как SR3HX, либо как IP-блок для системы на кристалле (SOC).

Image Processing Unit (IPU).

Ядро IPU имеет процессор шаблонов (STP), пул буферов строк (LBP) и NoC. STP в основном предоставляет двумерный SIMD массив элементов обработки (PE), способных выполнять вычисления трафарета, небольшую окрестность пикселей. Хотя это кажется похожим на систолический массив и вычисления волнового фронта, STP имеет явное программное управление перемещением данных. Каждый PE имеет 2x 16-битных арифметико-логических блока (ALU), 1x 16-битный блок умножения-накопителя (MAC), 10x 16-битных регистров, и 10 1-битных регистров предиката.

Line Buffer Pool (LBP)

Учитывая, что одной из наиболее энергоемких операций является доступ к DRAM, каждый STP имеет временные буферы для увеличения данных населенный пункт, а именно ЛБП. Используемый LBP - это двумерный FIFO, который поддерживает различные размеры чтения и записи. LBP использует поведенческую модель одного производителя и нескольких потребителей. Каждый LBP может иметь восемь логических блоков памяти LB и одну для операций ввода-вывода DMA. Из-за действительно высокой сложности системы памяти разработчики PVC заявляют, что LBP-контроллер является одним из самых сложных компонентов. Используемый NoC - это кольцевая сеть на кристалле, используемая для связи только с соседними ядрами для экономии энергии и сохранения конвейерного вычислительного шаблона.

Stencil Processor (STP)

Представление двумерного массива PE. Белые - это полноценные ПЭ (16х16), серые - часть «нимба» (144). Для ясности, сообщаются не все соединения.

STP имеет двумерный массив PE: например, массив 16x16 полных PE и четыре полосы упрощенных PE, называемых «гало». STP имеет скалярный процессор, называемый скалярной полосой (SCL), который добавляет управляющие инструкции с небольшой памятью команд. Последним компонентом STP является блок хранения загрузки, называемый генератором листов (SHG), где лист является блоком доступа к памяти PVC.

Краткое описание конструкции SR3HX

PVC SR3HX имеет 64- bit ARMv8a ARM Cortex-A53 CPU, 8x ядер процессора изображений (IPU), 512 МБ LPDDR4, MIPI, PCIe. Каждое из ядер IPU имеет 512 арифметико-логических блоков (ALU), состоящих из 256 обрабатывающих элементов (PE), скомпонованных в виде двумерного массива 16 x 16. Эти ядра выполняют пользовательский VLIW ISA. На каждый элемент обработки приходится два 16-битных ALU, и они могут работать тремя разными способами: независимыми, объединенными и объединенными. ПВХ SR3HX производится как SiP компанией TSMC с использованием их процесса 28HPM HKMG. Он разрабатывался более 4 лет в партнерстве с Intel. (Кодовое имя: Monette Hill) Google утверждает, что SR3HX PVC в 7-16 раз более энергоэффективен, чем Snapdragon 835. И что SR3HX PVC может выполнять 3 триллиона операций в секунду, HDR + может работать в 5 раз быстрее и потреблять менее одной десятой энергии, чем Snapdragon 835. Он поддерживает Halide для обработки изображений и TensorFlow для машинного обучения. Текущий чип работает на частоте 426 МГц, а один IPU может выполнять более 1 тераоператива в секунду.

Ссылки
  1. ^ Катресс, Ян. «Горячие фишки 2018: живой блог Google Pixel Visual Core (10:00 по тихоокеанскому времени, 17:00 по всемирному координированному времени)». www.anandtech.com. Проверено 2 февраля 2019 г.
  2. ^ Хеннесси, Джон; Паттерсон, Дэвид (2017). Компьютерная архитектура: количественный подход (шестое изд.). Морган Кауфманн. С. 579–606. ISBN 978-0-12-811905-1.
  3. ^«Разборка Google Pixel 2 XL». я чиню это. 2017-10-19. Проверено 2 февраля 2019 г.
  4. ^"Google Pixel 3 XL Teardown". я чиню это. 2018-10-16. Проверено 2 февраля 2019 г.
  5. ^«Pixel 2 DxOMark».
  6. ^«Pixel 3 DxOMark».
  7. ^«iPhone XR DxOMark».
  8. ^ «Pixel Visual Core: полностью программируемый процессор изображения, изображения и AI от Google для Мобильные устройства. HotChips2018 " (PDF).
  9. ^" Pixel Visual Core (PVC) - Google - WikiChip ". en.wikichip.org. Проверено 2 февраля 2019 г.
  10. ^«Google сотрудничает с Intel в разработке чипа Pixel Visual Core для Pixel 2». xda-developers. 2017-10-25. Проверено 2 февраля 2019 г.
  11. ^ «Pixel Visual Core: обработка изображений и машинное обучение на Pixel 2». Google. 2017-10-17. Проверено 2 февраля 2019 г.

.

.

Последняя правка сделана 2021-06-02 07:11:47
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте