Emotion Engine
Emotion Engine — центральний процесор, який використовується у консолях PlayStation 2. Був розроблений спільними зусиллями компаній Sony та Toshiba. Серійне виробництва процесора було розпочато у 1999 році. Згідно з Microdesign Resources, він в два рази швидший за 733 МГц Pentium III та в 15 разів швидший за 400 МГц Celeron у таких завданнях, як обробка FMV.
Він є комбінацією центрального процесора та цифрового сигнального процесора, а його головним завданням є обробка тривимірної графіки. Шина, кеш-пам'ять та регістри були виконані за 128-бітовою технологією та розміщені на кристалі, який був виконаний за 180 нм техпроцесом, що зробило процесор першим комерційним 128-бітним процесором. Emotion Engine, заснований на MIPS R5900.
Загалом у процесорі поєднано вісім функціональних блоків: ядро MIPS III, два векторні блоки, математичний співпроцесор, процесор обробки зображення (звичайний декодер MPEG-2), 10-канальний контроллер DMA, блок графічного інтерфейсу, RDRAM і інтерфейси введення-виводу. Всі компоненті сполучені загальною 128-бітовою внутрішньою шиною.
Процесор також використовується в ранніх моделях PlayStation 3 для зворотної сумісності з PlayStation 2. У PAL-версіях консолі не використовували процесор для зменшення витрат на виробництво, проте емуляція Playstation 2 у цьому випадку була набагато гіршою ніж у варіантах з процесором. Консолі PlayStation 3 з вбудований процесором Emotion Engine мають серійні номери CECHAxx та CECHBxx.
Технічні характеристики
- Процесор: 64-бітний «Emotion Engine» з тактовою частотою 294 МГц, 10,5 млн транзисторів
- Пам'ять: 32 МБ ОЗУ з пропускною здатністю 3,2 ГБ/с
- Основний процесор: 64-бітне ядро ЦП MIPS R5900
- Співпроцесор для обробки чисел з плаваючою комою
- Векторні модулі: VU0 та VU1, 128-бітні з частотою 150 Мгц. VU0 зазвичай використовується для трансформації полігонів, фізики та інших речей, що мають відношення до геймплею. VU1 зазвичай використовується для трансформації полігонів, освітлення та інших обчислень, пов'язаних з візуалізацією.
- DMA: десять каналів
- Продуктивність операцій з числами з плаваючою крапкою: 6,2 гігафлопс
- Продуктивність з геометричними 3D-перетвореннями: 36 млн полігонів в секунду на один VU
- Декодер стислих зображень: MPEG-2
- Кеш-пам'ять: для інструкций — 16 КБ, для даних — 8 КБ + 16 КБ
Модулі обробки векторів
Основна частина продуктивності Emotion Engine для чисел з рухомою комою забезпечнується двома векторними співпроцесорами (англ. vector processing units, VPU), які називаються VPU0 та VPU1. Це були по суті процесори цифрових сигналів розроблені спеціально для обчислень в 3D, які були предтечами апаратних конвеєрів вершинних шейдерів. Кожен VPU мав 32 128-бітних векторних SIMD регістрів (що зберігали дані 4D векторів), 16 16-бітних регістрів для чисел з фіксованою комою, чотири FMAC (англ. Floating point Multiply-ACcumulate) модулі, модуль FDIV (англ. Floating point DIVide) та локальну пам'ять. Пам'ять даних для VPU0 має розмір 4 KB, а для VPU1 16 KB.