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

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

Физический процессор (англ. Physics Processing Unit — англ. PPU, «физический ускоритель», «ускоритель физики») — устройство, чип, выделенный специализированный процессор, предназначенный для обработки «физических» вычислений преимущественно в физических движках. К примерам физических вычислений, использующих физический процессор, относятся: динамика твёрдых тел (англ. rigid body dynamics), динамика мягких тел (англ. soft body dynamics), обнаружение столкновений (англ. collision detection), динамика жидкостей (гидрогазодинамика), симуляция волос, меха и ткани, анализ конечных элементов (англ. finite element analysis), разломы объектов. Идея (основная функция, суть) физического процессора состоит в разгрузке центрального процессора (англ. CPU — англ. Central Processing Unit) от трудоёмких задач по обработке физики. Очень похожую идею используют современные видеокарты, основной частью которых являются графические процессоры (англ. GPU — англ. Graphics Processing Unit).

Первыми разработанными физическими процессорами являются SPARTA и HELLAS.

Термин «PPU» был выдуман маркетинговым отделом компании Ageia для того, чтобы описать свой чип PhysX для потребителей. Физический процессор PhysX, разработанный Ageia — единственный законченный, спроектированный, разработанный, массово выпускаемый, продаваемый и поддерживаемый экземпляр, который был спроектирован исключительно как PPU. Кроме PhysX, существуют и другие решения и технологии в данной сфере.

Содержание

Ageia PhysX

Первый процессор, который был рекламирован как «PPU», был чип PhysX, созданный компанией Ageia. Игры, которые хотели задействовать PhysX, должны были использовать специальное подпрограммное обеспечение — физический движок PhysX SDK (ранее известный как NovodeX SDK) разработки Ageia.

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

В настоящее время платы с процессором PhysX доступны в продаже от трёх компаний. ASUS и BFG Technologies стали первыми компаниями, которые начали продавать платы. Готовые комплекты компьютеров с установленными платами PhysX доступны от таких сборщиков компьютеров, как Alienware, Dell и Falcon Northwest.

В феврале 2008 года, после того, как Nvidia купила Ageia Technologies, казалось, что все наработки последней полностью перешли к Nvidia. Однако в марте 2008 года Nvidia заявила, что сделает PhysX SDK открытым стандартом, доступным для всех желающих.[1] Поддержка PhysX SDK будет доступна для всех видеокарт производства Nvidia, начиная с серии 8ххх. На данный момент Nvidia готовит к выпуску новую версию драйверов, которая включает поддержку PhysX SDK в этих видеокартах. 24 июля 2008 года стало известно, что Nvidia выпустит WHQL-сертифицированный драйвер ForceWare с поддержкой ускорения физики 5 августа 2008 года.[2]

28 июня 2008 года Эран Бадит (англ. Eran Badit), участник ресурса NGOHQ.com, запустил аппаратную поддержку PhysX SDK на видеокарте Radeon HD 3870.[3] Компания NVIDIA отреагировала на инициативу Эрана Бадита негативно, однако 9 июля 2008 года Бэдиту открыли доступ к документации, SDK, аппаратному обеспечению и дали контакты инженеров. Таким образом, NVIDIA открывает PhysX SDK для сторонних разработчиков.[4]

15 августа 2008 года компания NVIDIA выпустила драйвер ForceWare 177.83, который активирует поддержку PhysX в видеокартах серий 8, 9 и 200. Это немедленно расширило пользовательскую базу до более чем 70 миллионов человек во всем мире.[5] [6]

Ссылки по разделу

Сопроцессор VU0 в PS2 как PPU

Игровая приставка шестого поколения Sony PlayStation 2 использует 128-битный процессор «Emotion Engine», который является комбинацией центрального процессора (CPU) и цифрового сигнального процессора (DSP). Emotion Engine состоит из центральной 64-битной части, построенной на основе MIPS R5900, и двух 128-битных векторных сопроцессоров VU0 и VU1 (англ. Vector Unit). VU0 обычно используется для трансформации полигонов, физики и других вещей, имеющих отношение к геймплею. VU1 обычно используется для трансформации полигонов, освещения и других вычислений, связанных с визуализацией.

VP0 условно можно считать ограниченной реализацией физического процессора. Его набор признаков и размещение в пределах микропроцессора приспособлены к ускорению обновления игровых задач, включая физику и искусственный интеллект; VU0 может разгрузить центральную часть «Emotion Engine». Будучи цифровым сигнальным процессором, VU0, однако, является намного более зависимым от центрального процессорного элемента и не может быть способным к осуществлению полного физического API. Именно поэтому VU0 не может классифицироваться как PPU.

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

Процессор Cell как PPU

Процессор STI Cell, который используется в игровой приставке седьмого поколения Sony PlayStation 3, имеет схожую структуру с процессором Ageia PhysX. Дизайн процессора создан с учётом похожих к Ageia PhysX соображений. В отличие от ATI/NVidia GPGPU, и как PhysX, дизайн Cell спроектирован с акцентом на обеспечении каждого параллельного потока с большим рабочим множеством (англ. working set), большим количеством межпотоковых связей (англ. inter-thread communication) и управлением, чем в обычном центральном процессоре. Такой дизайн очень подходит для физических вычислений.

Термин «PPU» не используется для описания Cell, однако он проявляется вместе с маркетинговым отличием: альянс STI Design Center продаёт процессор для широкого диапазона встраиваемых приложений, не относящихся к играм; и даже в составе PlayStation 3 он способен использовать DSP-подобные SPE (англ. Synergistic Processing Elements — Синергический Обрабатывающий Элемент) для вершинной обработки (англ. vertex processing), звука, декомпрессии и других задач.

Havok FX

Физический движок Havok SDK является главным конкурентом движка PhysX SDK. Он используется более чем в 150-ти играх, включая такие игры, как Half-Life 2, The Elder Scrolls IV: Oblivion и Dead Rising.[7]

Чтобы конкурировать с физическим процессором PhysX, была разработана концепция Havok FX, основная суть которой заключалась в использовании мощностей видеокарт для ускорений определённых физических вычислений. Havok FX должен был использоваться только на компьютерах, оснащенных минимум двумя видеокартами, соединёнными при помощи NVIDIA SLI или ATI Crossfire. При этом одна видеокарта из этой связки должна была полностью выделяться для физических обсчётов.[8]

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

Так как 15 сентября 2007 года фирма Intel выкупила фирму Havok, то «Havok FX» был отменён. Предполагалось, что Intel заморозит проект аппаратной поддержки движка на видеокартах своего конкурента, компании AMD, и сосредоточится на оптимизации движка под свои многоядерные CPU.[9][10][11]

20 марта 2009 года появилась новость о том, что на ежегодном мероприятии Game Developers Conference 2009 компании AMD и Havok продемонстрируют ускорение физики силами видеокарт Radeon. Терри Македон (англ. Terry Makedon), менеджер продукции ATI Catalyst, заявил, что на GDC компания AMD покажет свою стратегию «ATI GPU Physics» и проведёт соответствующую демонстрацию. AMD будет использовать для ускорения Havok язык программирования OpenCL, компилятор которого входит в состав программного пакета «ATI Stream SDK».[12][13][14][15]

Как и было обещано, AMD и Havok провели демонстрацию физики на GDC 09. Впервые были продемонстрированы возможности выполнения «Havok Cloth» на расширении OpenCL. Было заявлено, что для расчётов данной подсистемы необходим графический процессор от AMD с поддержкой OpenCL и AMD Stream. Также было заявлено об ориентации Havok на новейшие многоядерные процессоры AMD Phenom.[16][17][18]

Ссылки по разделу

GPU против PPU

Развитие концепции GPGPU делает графические процессоры всё более и более подходящими для задач, которые предназначаются для физических процессоров. DirectX 10 добавляет в GPU целочисленные типы данных (англ. integer data types), унифицированную шейдерную архитектуру (англ. unified shader architecture) и геометрические шейдеры, которые позволяют графическому процессору обрабатывать более широкий диапазон алгоритмов. NVidia CUDA обеспечивает межпотоковые связи (англ. inter-thread communication) и рабочую область сверхоперативного стиля (англ. scratchpad-style workspace), связанную с потоками.

Тем не менее, GPU спроектированы для работы с компьютерной трёхмерной графикой. Они имеют большее время ожидания, более медленные потоки, работают с текстурами и фреймбуффером (англ. framebuffer). Это отличает их от Ageia PPU и Cell как менее хорошо оптимизированные для того, чтобы выполнять физические моделирования.

Sieve C++ Parallel Programming System поддерживает PPU, показывая, что чип Ageia PhysX был бы подходящим для задач типа GPGPU.

Ссылки по разделу

Intel Larrabee & AMD Fusion

Ожидается, что Intel Larrabee — многоядерная реализация х86-архитектуры с оптимизированной пропускной способностью, — будет хорошо подходить для роли физического процессора. Как и процессор Cell, Larrabee по своим параметрам находится между центральным и графическим процессорами. Larrabee предназначен для универсальной многозадачной многопоточной обработки в противовес специализированной высокоэффективной внутренней обработки. Компания Intel подтвердила, что архитектура памяти в Larrabee не будет использовать временные буферы, как Cell или Ageia PhysX; вместо этого архитектура памяти будет ближе к обычной иерархии кэша CPU. Однако Larrabee будет иметь расширения для включения высокопроизводительных вычислений (наиболее вероятным является полная замена инструкций по управлению кэшем).

Компания AMD объявила о своём проекте AMD Fusion. AMD Fusion будет представлять собой процессор, который на одном кристалле будет объединять стандартных центральный х86-64 процессор и графический сопроцессор, созданный на основе последних моделей серии Radeon. Различные ресурсы процессора AMD Fusion, такие как иерархический кэш, будут использоваться совместно. Эта будущая конфигурация, вероятно, также будет подходящей для роли PPU.

Примечания

  1. Ben Hardwidge Nvidia offers PhysX support to AMD / ATI  (англ.). custompc.co.uk (10 марта 2008 года).(недоступная ссылка — история) Проверено 30 марта 2009.
  2. Павел "xAnder" Шубский WHQL-драйвер NVIDIA для PhysX – в начале августа. Игромания (24 июля 2008 года).(недоступная ссылка — история) Проверено 27 июля 2008.
  3. BlackCat PhysX взломан и больше не является эксклюзивом для карт NVIDIA. IXBT.com (Суббота, 28 июня 2008 года). Архивировано из первоисточника 17 февраля 2012. Проверено 9 июля 2008.
  4. Павел "xAnder" Шубский NVIDIA откроет поддержку PhysX для ATI Radeon?. Игромания (9 июля 2008 года).(недоступная ссылка — история) Проверено 9 июля 2008.
  5. NVIDIA выпустила драйвер для аппаратной поддержки PhysX. GameDev.ru (15 августа 2008). Архивировано из первоисточника 17 февраля 2012. Проверено 27 октября 2008 года.
  6. Винни - начальник технического обслуживания европейского подразделения компании XFX. Почти бесплатная физика. RusDoc.ru (14 октября 2008 года). Архивировано из первоисточника 17 февраля 2012. Проверено 19 октября 2008.
  7. Games using Havok
  8. Havok FX product information
  9. Anton Shilov GPU Physics Dead for Now, Says AMD’s Developer Relations Chief Nvidia’s Chief Exec Predicts “Negative Synergies” with Intel’s Acquisition of Havok  (англ.). X-bit labs (19 ноября 2007 года). Архивировано из первоисточника 17 февраля 2012. Проверено 27 февраля 2011.
  10. Anton Shilov Intel To Acquire Havok  (англ.). Bit-tech (15 сентября 2007 года). Архивировано из первоисточника 17 февраля 2012. Проверено 27 февраля 2011.
  11. Арсений Герасименко Intel заявила о приобретении компании Havok. 3DNews (17 сентября 2007 года). Проверено 27 февраля 2011.
  12. Ben Hardwidge AMD to demo GPU physics at GDC next week  (англ.). Bit-tech (20 марта 2009 года). Архивировано из первоисточника 17 февраля 2012. Проверено 23 марта 2009.
  13. Александр Шеметов Ускорение физики средствами GPU от AMD уже скоро. 3DNews (23 марта 2009 года). Проверено 23 марта 2009.
  14. BESS! AMD покажет «ускорение физики» в своих GPU с API Havok на GDC2009. iXBT (24 марта 2009 года). Архивировано из первоисточника 17 февраля 2012. Проверено 24 марта 2009.
  15. Павел Шубский AMD продемонстрирует обработку физики. Игромания (журнал) (23 марта 2009 года).(недоступная ссылка — история) Проверено 24 марта 2009.
  16. Павел Шубский AMD продемонстрировала физику. Игромания (журнал) (27 марта 2009 года).(недоступная ссылка — история) Проверено 27 марта 2009.
  17. BESS! AMD и Havok на Game Developers Conference 2009. iXBT (27 марта 2009 года). Архивировано из первоисточника 17 февраля 2012. Проверено 28 марта 2009.
  18. Александр Шеметов Havok и AMD показали на GDC физику на OpenCL. 3DNews (29 марта 2009 года). Проверено 30 марта 2009.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Физический процессор" в других словарях:

  • Физический ускоритель — Физический процессор (англ. Physics Processing Unit  англ. PPU, «физический ускоритель», «ускоритель физики»)  устройство, чип, выделенный специализированный процессор, предназначенный для обработки физических вычислений преимущественно в… …   Википедия

  • Физический движок — (англ. physics engine) компьютерная программа, которая производит компьютерное моделирование физических законов реального мира в виртуальном мире, с той или иной степенью аппроксимации. Чаще всего физические движки используются не как… …   Википедия

  • Центральный процессор — Intel 80486DX2 в керамическом корпусе PGA. Intel Celeron 400 socket 370 в пластиковом корпусе PPGA, вид снизу. Intel Celeron 400 socket 370 в пластиковом корпусе PPGA, вид сверху …   Википедия

  • Ускоритель физики — Физический процессор (англ. Physics Processing Unit  англ. PPU, «физический ускоритель», «ускоритель физики»)  устройство, чип, выделенный специализированный процессор, предназначенный для обработки физических вычислений преимущественно в… …   Википедия

  • Ageia — Technologies, Inc. Год основания 2002 Упразднена 13 февраля 2008 года Причина упразднения …   Википедия

  • PhysX SDK (движок) — PhysX Тип Физический движок Разработчик nVidia ОС Microsoft Windows, Mac OS X, Xbox 360, PlayStation 3, Nintendo Wii Версия 9 …   Википедия

  • PhysX — У этого термина существуют и другие значения, см. PhysX (значения). PhysX Физический движок Оф …   Википедия

  • PhysX (движок) — У этого термина существуют и другие значения, см. PhysX. PhysX Физический движок Официальный логотип Разработчики …   Википедия

  • Reality Engine — Игровой движок (Список) Официальный логотип Reality Engine SDK Разработчик …   Википедия

  • Процессоры — Intel 80486DX2 в керамическом корпусе PGA. Intel Celeron 400 socket 370 в пластиковом корпусе PPGA, вид снизу. Intel Celeron 400 socket 370 в пластиковом корпусе PPGA, вид сверху …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»