Физический процессор

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

A Физический процессор (PPU ) - это специальный микропроцессор , разработанный для обработки вычислений физики, особенно в физическом движке из видеоигр. Это пример аппаратного ускорения.

Примеры вычислений с использованием PPU могут включать динамику твердого тела, динамику мягкого тела, обнаружение столкновений, гидродинамика, моделирование волос и одежды, анализ методом конечных элементов и разрушение объектов.

Идея состоит в том, что специализированные процессоры разгружают трудоемкие задачи с центрального процессора компьютера, подобно тому, как графический процессор выполняет графические операции вместо основного процессора. Этот термин был придуман компанией Ageia для описания своего чипа PhysX. Некоторые другие технологии в спектре CPU-GPU имеют некоторые общие черты, хотя продукт Ageia был единственным полностью разработанным, продаваемым, поддерживаемым и размещенным в системе исключительно как PPU.

Содержание
  • 1 История
  • 2 AGEIA PhysX
    • 2.1 Технические характеристики оборудования PhysX P1 (PPU)
  • 3 Havok FX
  • 4 PPU по сравнению с графическими процессорами
  • 5 Intel Xeon Phi
  • 6 PS2 - VU0
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки
История

Ранний академический исследовательский проект PPU под названием SPARTA (Simulation of Physics on A Real-Time Architecture) был проведен в Пенсильванском университете и Университете Джорджии. Это был простой PPU на основе FPGA, который был ограничен двумя измерениями. Этот проект был расширен до значительно более совершенной системы на основе ASIC, названной HELLAS.

В феврале 2006 года был выпущен первый специализированный PPU PhysX из Ageia (позже объединенный в nVidia ). Устройство наиболее эффективно для ускорения систем частиц, с небольшим улучшением производительности, измеренным для физики твердого тела. ППУ Ageia подробно описано в их заявке на патент США № 20050075849. Nvidia / Ageia больше не производит PPU и аппаратное ускорение для обработки физики, хотя теперь оно поддерживается некоторыми из их графических процессоров.

AGEIA PhysX

Первый процессор для В рекламе PPU назывался чип PhysX, представленный компанией по производству полупроводников под названием AGEIA. Игры, которые хотят использовать PhysX PPU, должны использовать AGEIA PhysX SDK (ранее известный как NovodeX SDK).

Он состоит из ядра RISC общего назначения, управляющего массивом пользовательских процессоров SIMD с плавающей запятой VLIW, работающих в локальных банках памяти, с коммутационной фабрикой для управления передачами. между ними. Нет иерархии кеша, как в CPU или GPU.

PhysX был доступен от трех компаний аналогично способу производства видеокарт. ASUS, BFG Technologies и были основными производителями. ПК с уже установленными картами можно было приобрести у таких сборщиков систем, как Alienware, Dell и Falcon Northwest.

В феврале 2008 г., после Nvidia купил Ageia Technologies и в конечном итоге отключил возможность обработки PhysX на AGEIA PPU и графических процессорах NVIDIA в системах с активными графическими процессорами ATi / AMD, казалось, что PhysX на 100% перешла к Nvidia. Но в марте 2008 года Nvidia объявила, что сделает PhysX открытым стандартом для всех, поэтому основные производители графических процессоров будут иметь поддержку PhysX в видеокартах следующего поколения. Nvidia объявила, что PhysX также будет доступен для некоторых из выпущенных ими видеокарт, просто загрузив несколько новых драйверов.

См. физический движок для обсуждения академических исследовательских проектов PPU.

Технические характеристики оборудования PhysX P1 (PPU)

ASUS и BFG Technologies приобрели лицензии на производство альтернативных версий AGEIA PPU, PhysX P1 с 128 МБ GDDR3:

  • Многоядерное устройство на основе архитектуры MIPS со встроенным аппаратным обеспечением для ускорения физики и подсистемой памяти с «тоннами ядер»
  • Память: 128 МБ GDDR3 ОЗУ с 128- битовый интерфейс
  • 32-битный PCI 3.0 (ASUS также выпустила карту версии PCI Express )
  • Sphere коллизионные тесты: 530 миллионов в секунду ( максимальная производительность)
  • Convex тесты на столкновение: 530 000 в секунду (максимальная производительность)
  • Пиковая пропускная способность инструкций: 20 миллиардов в секунду
Havok FX

Havok SDK является основным конкурентом PhysX SDK, который используется в более чем 150 играх, в том числе в основных, таких как Half-Life 2, Halo 3 <8. 3>и Dead Rising.

Чтобы конкурировать с PhysX PPU, версия, известная как Havok FX, должна была использовать преимущества технологии нескольких GPU от ATI (CrossFire ) и NVIDIA (SLI ) с использованием существующих карт для ускорения определенных физических вычислений.

Havok разделяет физическое моделирование на физику эффектов и физику игрового процесса, с физика эффектов выгружается (если возможно) в GPU в виде инструкций Shader Model 3.0, а физика игрового процесса обрабатывается на CPU как обычно. Важное различие между ними состоит в том, что физика эффектов не влияет на игровой процесс (например, пыль или мелкие обломки от взрыва); подавляющее большинство физических операций по-прежнему выполняется в программном обеспечении. Этот подход существенно отличается от PhysX SDK, который перемещает все вычисления на карту PhysX, если она есть.

С момента приобретения Havok Intel, Havok FX, похоже, был отложен или отменен.

PPU vs. GPU

Стремление к GPGPU сделал графические процессоры более подходящими для работы с PPU; DX10 добавил целочисленные типы данных, унифицированную архитектуру шейдеров и этап геометрического шейдера, который позволяет реализовать более широкий спектр алгоритмов; Современные графические процессоры поддерживают вычислительные шейдеры, которые работают в индексированном пространстве и не требуют никаких графических ресурсов, а только буферы данных общего назначения. NVidia CUDA предоставляет немного больше способов межпоточного взаимодействия и рабочее пространство в стиле блокнота, связанное с потоками.

Тем не менее, графические процессоры построены на основе большего количества более длительных задержек, более медленных потоков и предназначены для передачи данных текстуры и буфера кадра, а также низкой производительности ветвления; это отличает их от PPU и Cell, поскольку они менее оптимизированы для выполнения задач моделирования игрового мира.

Компилятор Codeplay Sieve поддерживает PPU, что указывает на то, что чип Ageia PhysX подходит для задач типа GPGPU. Однако похоже, что Ageia вряд ли будет преследовать этот рынок.

Intel Xeon Phi

Подобно ячейке, Xeon Phi находится между ЦП и графическим процессором, в диапазоне между универсальной обработкой и специализированной высокопроизводительной обратной связью. конец обработки. При этом используются кеши, а не блокноты, но все же удается достичь высокой пропускной способности.

AMD объявили о своем долгосрочном намерении разрешить AMD APU использовать Radeon в качестве векторного сопроцессора, разделяя такие ресурсы, как иерархия кэша. Эта будущая конфигурация начала материализоваться в форме Гетерогенной системной архитектуры.

PS2 - VU0

Хотя она сильно отличается от PhysX, можно утверждать, что PlayStation 2 VU0 - это ранняя ограниченная реализация PPU. И наоборот, можно описать PPU для программиста PS2 как усовершенствованную замену VU0. Его набор функций и размещение в системе ориентированы на ускорение задач обновления игры, включая физику и ИИ; он может разгрузить такие вычисления, работая с собственным потоком инструкций, в то время как ЦП работает над чем-то другим. Однако, будучи DSP, он гораздо больше зависит от ЦП для выполнения полезной работы в игровом движке и не может реализовать полный физический API, поэтому его нельзя классифицировать как PPU. Также VU0 может обеспечивать дополнительную мощность обработки вершин, хотя это скорее свойство путей в системе, а не самого устройства.

Это использование похоже на Havok FX или физику GPU в том, что мощность вспомогательного блока с плавающей запятой общего назначения используется для дополнения ЦП в графических или физических ролях.

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