Фізичний процесор ( — , «фізичний прискорювач») - пристрій, мікросхема, виділений спеціалізований процесор, призначений для обробки «фізичних» обчислень переважно в фізичних рушіях. До прикладів фізичних обчислень, які використовують фізичний процесор, відносяться: динаміка твердих тіл (), динаміка м'яких тіл (), виявлення зіткнень (), динаміка рідини (гідродинаміка), симуляція волосся, хутра та тканини, аналіз скінченних елементів (), розломи об'єктів. Ідея (основна функція, суть) фізичного процесора складається з розвантаження центрального процесора ( — ) від завдань з обробки фізики. Дуже схожу ідею використовують сучасні відеокарти, основною частиною яких є графічні процесори.

Першими розробленими фізичними процесорами є 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 відкритою платформою, доступною для всіх охочих. Підтримка PhysX SDK буде доступна для всіх відеокарт виробництва Nvidia, починаючи з серії 8ххх. 24 липня 2008 року стало відомо, що Nvidia випустить WHQL-сертифікований драйвер ForceWare з підтримкою прискорення фізики 5 серпня 2008 року.

Посилання по розділу

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

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

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

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

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

Процесор Cell, який використовується в ігровій приставці сьомого покоління Sony PlayStation 3 , має схожу структуру з процесором Ageia PhysX. Дизайн процесора створений з урахуванням схожих до Ageia PhysX міркувань. На відміну від ATI / NVidia GPGPU, і як PhysX, дизайн Cell спроєктований з акцентом на забезпеченні кожного паралельного потоку з великим робочим безліччю (), великою кількістю міжпотокових зв'язків () та управлінням, ніж у звичайному центральному процесорі. Такий дизайн дуже підходить для фізичних обчислень.

Термін «PPU» не використовується для опису Cell, однак він проявляється разом з маркетинговим відмінністю: альянс STI Design Center продає процесор для широкого діапазону вбудованих додатків, що не відносяться до ігор; і навіть у складі PlayStation 3 він здатний використовувати DSP - подібні SPE ( - Синергетичний Оброблювальний Елемент) для вершинної обробки (), звуку, декомпресії та інших завдань.

Havok FX

Фізичний рушій Havok SDK є головним конкурентом рушія PhysX SDK. Він використовується більш ніж в 150-ти іграх, включаючи такі ігри, як Half-Life 2, The Elder Scrolls IV: Oblivion і Dead Rising.

Щоб конкурувати з фізичним процесором PhysX, була розроблена концепція Havok FX, основна суть якої полягала у використанні потужностей відеокарт для прискорень певних фізичних обчислень. Havok FX повинен був використовуватися тільки на комп'ютерах, оснащених мінімум двома відеокартами, з'єднаними за допомогою NVIDIA SLI або ATI Crossfire. При цьому одна відеокарта з цієї зв'язки повинна була повністю виділятися для фізичних обрахування.

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

Так як 15 вересня 2007 фірма Intel викупила фірму Havok, то «Havok FX» був скасований. Передбачалося, що Intel заморозить проєкт апаратної підтримки рушія на відкритих свого конкурента, компанії AMD, і зосередиться на оптимізації рушія під свої багатоядерні CPU. Як і було обіцяно, AMD і Havok провели демонстрацію фізики на GDC 09. Вперше були продемонстровані можливості виконання «Havok Cloth» на розширенні OpenCL. Було заявлено, що для розрахунків даної підсистеми необхідний графічний процесор від AMD з підтримкою OpenCL і AMD Stream. Також було заявлено про орієнтацію Havok на новітні багатоядерні процесори AMD Phenom.

Посилання по розділу ATI Physics ATI Physics. Частина друга - тестуємо своїми руками

GPU проти PPU

Розвиток концепції GPGPU робить графічні процесори все більш і більш придатними для завдань, які призначаються для фізичних процесорів. DirectX 10 додає в GPU цілочисельні типи даних (), уніфіковану шейдерну архітектуру () і геометричні шейдери, які дозволяють графічному процесору обробляти більш широкий діапазон алгоритмів. NVidia CUDA забезпечує міжпотоковий зв'язок () і робочу область сверхоперативного стилю (), пов'язану з потоками.

Тим не менш, GPU спроєктовані для роботи з комп'ютерною тривимірною графікою. Вони мають більший час очікування, більш повільні потоки, працюють з текстурами і кадровим буфером (). Це відрізняє їх від Ageia PPU і Cell як менш важливі для фізичного моделювання.

Sieve C ++ Parallel Programming System підтримує PPU, показуючи, що чип Ageia PhysX був би відповідним для задач типу GPGPU. Посилання по розділу nVidia CUDA: обчислення на відеокарті або смерть CPU? NVIDIA CUDA - неграфічні обчислення на графічних процесорах. Частина 1 NVIDIA CUDA - неграфічні обчислення на графічних процесорах. Частина 2

Intel Larrabee та AMD APU

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

AMD APU являє собою процесор, який на одному кристалі об'єднує центральний процесор з набором команд х86-64 і графічний процесор, створений на основі останніх моделей серії Radeon. Різні ресурси APU, такі, як ієрархічний кеш, використовуються спільно.

Посилання Офіційний вебсайт компанії Ageia Сторінка процесора Ageia PhysX Проєкти, що використовують Ageia PhysX SDK Огляд плати (карти) BFG AGEIA PhysX Новини сайту Planet PhysX та інформаційна сторінка PC Hardware: AGEIA PhysX інтерв'ю PC Perspective: AGEIA PhysX Physics Processing Unit превью Havok FX physics engine (middleware library) SDK NVIDIA CUDA Toolkit і SDK

Джерела