Двигатель эмоций
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|

Emotion Engine — это центральный процессор, разработанный и изготовленный Sony Computer Entertainment и Toshiba для использования в PlayStation 2 игровой консоли . Он также использовался в ранних моделях PlayStation 3 , продаваемых в Японии и Северной Америке (номера моделей CECHAxx и CECHBxx), для обеспечения поддержки игр для PlayStation 2. Массовое производство Emotion Engine началось в 1999 году и закончилось в конце 2012 года с прекращением выпуска PlayStation 2. [1]
Описание
[ редактировать ]

Двигатель эмоций состоит из восьми отдельных «блоков», каждый из которых выполняет определенную задачу, интегрированных в один кристалл . Этими блоками являются: ядро ЦП, два блока векторной обработки (VPU), 10-канальный DMA блок , контроллер памяти и блок обработки изображений (IPU). Существует три интерфейса: интерфейс ввода-вывода для процессора ввода-вывода, графический интерфейс (GIF) для графического синтезатора и интерфейс памяти для системной памяти. [2]
Ядро ЦП тесно связано с первым VPU, VPU 0 . Вместе они отвечают за выполнение игрового кода и высокоуровневые вычисления моделирования. Второй VPU, VPU 1 , предназначен для преобразования геометрии и освещения и работает независимо, параллельно ядру ЦП, под управлением микрокода . VPU 0 , если он не используется, также может использоваться для геометрических преобразований. Списки отображения, созданные CPU/VPU0 и VPU1, отправляются в GIF, который определяет их приоритет перед отправкой в графический синтезатор для рендеринга.
Ядро процессора
[ редактировать ]Ядро ЦП представляет собой суперскалярного процессор двустороннего RISC- порядка . [3] Основанный на MIPS R5900, он реализует MIPS-III архитектуру набора команд (ISA) и большую часть MIPS-IV, в дополнение к специальному набору команд, разработанному Sony, который работал со 128-битными группами из 32-битных и 16-битных команд. -битные или 8-битные целые числа в режиме одной инструкции и нескольких данных (SIMD) (например, четыре 32-битных целых числа можно добавить к четырем другим с помощью одной инструкции). Определенные инструкции включают в себя: сложение, вычитание, умножение, деление, мин/макс, сдвиг, логический подсчет, подсчет начальных нулей, 128-битную загрузку/сохранение и сдвиг воронки с 256 на 128 бит, а также некоторые, не описанные Sony для конкурентные причины. Вопреки некоторым заблуждениям, эти возможности SIMD не сводились к тому, что процессор был «128-битным», поскольку ни адреса памяти, ни сами целые числа не были 128-битными, а только общие SIMD/целочисленные регистры. Для сравнения, 128-битные регистры и инструкции SIMD присутствовали в 32-битной архитектуре x86 с 1999 года, с появлением SSE . Однако внутренние пути данных имели ширину 128 бит, а его процессоры могли работать с количествами размером 4x32 бита параллельно в отдельных регистрах.
Он имеет 6-этапный целочисленный конвейер и 15-этапный конвейер с плавающей запятой (FP). Ассортимент регистров состоит из 32 128-битных регистров VLIW SIMD (именование/переименование), одного 64-битного аккумулятора и двух 64-битных регистров общих данных, 8 16-битных регистров фиксированных функций, 16 8-битных регистров контроллера. Процессор также имеет два 64-битных целочисленных арифметико-логических блока (ALU), 128-битный блок загрузки-сохранения (LSU), блок выполнения ветвей (BXU) и 32-битный сопроцессор VU1 с плавающей запятой (FPU). (который действовал как контроллер синхронизации для VPU0/VPU1), содержащий базовое процессорное ядро MIPS с 32 64-битными регистрами FP и 15 32-битными целочисленными регистрами. ALU являются 64-битными с 32-битным FPU, не совместимым со стандартом IEEE 754. Пользовательский набор команд 107 MMI (Multimedia Extensions) был реализован путем группировки двух 64-битных целочисленных ALU. И целочисленный конвейер, и конвейер с плавающей запятой состоят из шести этапов.
Для подачи инструкций и данных исполнительным блокам имеется двусторонний набор ассоциативных инструкций объемом 16 КБ , а также кэш объемом 8 КБ. [4] двусторонний набор ассоциативных неблокируемых кэшей данных и блокнот оперативной памяти объемом 16 КБ . Кэш инструкций и данных виртуально индексируются и физически помечаются тегами, в то время как блокнотная оперативная память находится в отдельном пространстве памяти. объединенный 48 двойных инструкций и резервный буфер трансляции предусмотрен Для трансляции виртуальных адресов данных . Прогнозирование ветвей достигается с помощью кэша целевых адресов ветвей с 64 записями и таблицы истории ветвей , интегрированной в кеш инструкций. Штраф за неправильное предсказание ветвления составляет три цикла из-за короткого шестиэтапного конвейера.
Векторные процессоры
[ редактировать ]Большая часть производительности Emotion Engine с плавающей запятой обеспечивается двумя блоками векторной обработки (VPU), обозначенными VPU0 и VPU1. По сути, это были DSP, адаптированные для 3D-математики, и предшественники аппаратных конвейеров вершинных шейдеров . Каждый VPU имеет 32 128-битных векторных SIMD- регистра (содержащих 4D-векторные данные), 16 16-битных регистров с фиксированной запятой, четыре блока умножения-накопления с плавающей запятой (FMAC), блок деления с плавающей запятой (FDIV) и локальную память данных. . Память данных для VPU0 имеет размер 4 КБ, а VPU1 имеет память данных 16 КБ.
Для достижения высокой пропускной способности память данных VPU подключается напрямую к GIF, и обе памяти данных могут считываться напрямую блоком DMA . Одна векторная инструкция состоит из четырех 32-битных значений с плавающей запятой одинарной точности , которые распределяются по четырем (32-битным) модулям FMAC одинарной точности для обработки. Эта схема аналогична расширениям SSEx от Intel.
Устройствам FMAC требуется четыре цикла для выполнения одной инструкции, но, поскольку устройства имеют шестиступенчатый конвейер , их пропускная способность составляет одну инструкцию за цикл. Устройство FDIV имеет девятиступенчатый конвейер и может выполнять одну инструкцию каждые семь циклов.
Блок обработки изображений (IPU)
[ редактировать ]IPU позволял декодировать сжатые изображения MPEG-2 , что позволяло воспроизводить DVD-диски и игровые FMV . Это также позволило выполнить векторное квантование данных 2D-графики. [5]
DMA, DRAM и блок управления памятью (MMU)
[ редактировать ]Блок управления памятью, контроллер RDRAM и контроллер DMA обеспечивают доступ к памяти внутри системы. [5]
Внутренняя шина данных
[ редактировать ]Связь между ядром MIPS, двумя VPU, GIF, контроллером памяти и другими устройствами осуществляется по 128-битной внутренней шине данных, работающей на половине тактовой частоты Emotion Engine, но для обеспечения большей пропускной способности имеется также 128-битная внутренняя шина данных. -битный выделенный путь между ЦП и VPU0 и 128-битный выделенный путь между VPU1 и GIF. При частоте 150 МГц внутренняя шина данных обеспечивает максимальную теоретическую пропускную способность 2,4 ГБ/с.
Внешний интерфейс
[ редактировать ]Связь между Emotion Engine и оперативной памятью происходит через два канала DRDRAM (Direct Rambus Dynamic Random Access Memory) и контроллер памяти , который взаимодействует с внутренней шиной данных. Каждый канал имеет ширину 16 бит и работает на частоте 400 МГц DDR (двойная скорость передачи данных). В совокупности два канала DRDRAM имеют максимальную теоретическую пропускную способность 25,6 Гбит/с (3,2 ГБ/с), что примерно на 33% больше пропускной способности, чем внутренняя шина данных. По этой причине контроллер памяти буферизует данные, отправляемые из каналов DRDRAM, чтобы ЦП мог использовать дополнительную полосу пропускания.
Emotion Engine напрямую взаимодействует с графическим синтезатором через GIF с помощью выделенной 64-битной шины 150 МГц с максимальной теоретической пропускной способностью 1,2 ГБ/с. [6]
Чтобы обеспечить связь между Emotion Engine и процессором ввода-вывода (IOP), интерфейс ввода-вывода соединяет 32-разрядную шину ввода-вывода с частотой 37,5 МГц и максимальной теоретической пропускной способностью 150 МБ/с к внутренней шине данных. Интерфейс обеспечивает достаточную пропускную способность для разъема расширения PCMCIA, который использовался для сетевого адаптера со встроенным интерфейсом P-ATA для более быстрого доступа к данным и онлайн-функциональности. Преимущество высокой пропускной способности заключалось в том, что ее можно было легко использовать для внедрения аппаратных расширений, таких как сетевой адаптер со встроенной поддержкой жестких дисков IDE, или других расширений для расширения функциональности и жизненного цикла продукта, что можно рассматривать как конкурентное преимущество. Однако в более новых вариантах (например, в тонкой версии) интерфейс будет обеспечивать гораздо большую пропускную способность, чем требуется устройствам ввода-вывода PlayStation, поскольку поддержка жестких дисков была удалена, а от конструкции разъема PCMCIA отказались в пользу более тонкой конструкции.
Изготовление
[ редактировать ]Emotion Engine содержал 13,5 миллионов транзисторов металл-оксид-полупроводник (МОП). [7] на кристалле интегральной схемы (ИС) размером 240 мм. 2 . [8] Он был изготовлен Sony и Toshiba по 0,25 мкм ( 0,18 мкм эффективная LG (КМОП) толщиной ) технологии комплементарного металл-оксид-полупроводник с четырьмя уровнями межсоединений.
Упаковка
[ редактировать ]Emotion Engine был упакован в решетку из пластиковых шариков с 540 контактами (PBGA).
Использование
[ редактировать ]В основном Emotion Engine использовался в качестве процессора PlayStation 2 .
Первые выпущенные версии PlayStation 3 также имели на материнской плате Emotion Engine для обеспечения обратной совместимости с играми для PlayStation 2. Однако во вторых версиях PlayStation 3 отсутствовал физический Emotion Engine, чтобы снизить затраты, и все свои функции выполнялись с использованием программной эмуляции, выполняемой широкополосным процессором сотовой связи , в сочетании с аппаратным графическим синтезатором, который все еще присутствует для достижения обратной совместимости с PlayStation 2. Во всех последующих версиях графический синтезатор был удален; однако программный эмулятор PlayStation 2 доступен в более поздних версиях системного программного обеспечения для использования с играми Sony PS2 Classics, доступными для покупки в Sony Entertainment Network.
Emotion Engine также использовался в PSX (цифровой видеомагнитофон) , а также в моделях телевизоров HDTV Sony WEGA HVX (номера моделей KDE-xxxHVX/KDL-xxxHVX) и Sony BRAVIA KDL22PX300, все из которых использовали оборудование PlayStation 2.
Технические характеристики
[ редактировать ]- Тактовая частота : 294 МГц , 299 МГц (более поздние версии)
- Набор инструкций : MIPS III, подмножество MIPS IV, 107 векторных инструкций.
- 2 выпуска, 2 64-битных блока с фиксированной запятой, 1 блок с плавающей запятой, 6-ступенчатый конвейер
- Кэш инструкций : 16 КБ, двусторонний набор ассоциативных
- Кэш данных : 8 КБ, двусторонний набор ассоциативных
- Оперативная память блокнота : 16 КБ
- Буфер перевода в сторону : комбинированная инструкция/данные из 48 записей.
- Блок векторной обработки: 4 блока FMAC, 1 блок FDIV
- векторного процессора Регистры : ширина 128 бит, 32 записи.
- Блок обработки изображений: MPEG2. макроблоков слоя декодер
- Прямой доступ к памяти : 10 каналов
- V DD Voltage : 1.8 V
- Потребляемая мощность : 15 Вт при 1,8 В.
- Встроенная память: 1 КБ ОЗУ , 4 КБ FeRAM , 16 КБ ПЗУ. [9]
Теоретическая производительность
[ редактировать ]- С плавающей запятой : 6,2 миллиарда одинарной точности (32 бита) в секунду. операций с плавающей запятой
- Перспективная трансформация : 66 миллионов полигонов в секунду.
- С освещением и туманом : 36 миллионов полигонов в секунду.
- Безье : 16 миллионов полигонов в секунду. Участки поверхности
- Распаковка изображения: 150 миллионов пикселей в секунду.
См. также
[ редактировать ]- Видеокарта
- Графический процессор
- Компьютерная графика
- Список тем компьютерной графики и начертательной геометрии
- Сотовый микропроцессор , конструкция которого вдохновлена комбинацией CPU+VU0/VU1 Emotion Engine, используемой в PlayStation 3.
Ссылки
[ редактировать ]- ^ Гилберт, Бен. «Sony подтверждает прекращение производства PlayStation 2 по всему миру» . Engadget . Проверено 23 июня 2013 г.
- ^ Стоукс, Джон (16 февраля 2000 г.). «Звук и видение: технический обзор двигателя эмоций» . Арс Техника . Архивировано из оригинала 10 июня 2018 года . Проверено 9 июня 2015 г.
- ^ Дифендорф, Кейт (19 апреля 1999 г.). «Эмоционально заряженный чип Sony» (PDF) . Отчет микропроцессора . Том. 13, нет. 5. Архивировано (PDF) из оригинала 25 июля 2018 г. Проверено 1 сентября 2017 г.
- ^ Транзисторная память, такая как RAM, ROM, флэш-память и размеры кэша, а также размеры файлов указаны с использованием двоичных значений для K (1024 1 ), М (1024 2 ), Г (1024 3 ), и т. д.
- ^ Jump up to: а б Спорный, Многие; Карпер, Грей; Тернер, Джонатан (2002). «Справочник по комплекту Linux для PlayStation 2» . Фонд свободного программного обеспечения . Архивировано из оригинала 18 сентября 2003 года . Проверено 10 июня 2015 г.
- ^ Дифендорф 1999, с. 5
- ^ Хеннесси, Джон Л .; Паттерсон, Дэвид А. (29 мая 2002 г.). Компьютерная архитектура: количественный подход (3-е изд.). Морган Кауфманн. п. 491. ИСБН 978-0-08-050252-6 . Проверено 9 апреля 2013 г.
- ^ Дифендорф, Кейт (19 апреля 1999 г.). «Эмоционально заряженный чип Sony: убийственный «движок эмоций» с плавающей запятой для питания PlayStation 2000». Отчет микропроцессора . 13 (5). S2CID 29649747 .
- ^ Скотт, Дж. Ф. (2003). «Нано-сегнетоэлектрики» . В Цакалакосе, Томас; Овидько Илья Александрович; Васудеван, Асури К. (ред.). Наноструктуры: синтез, функциональные свойства и применение . Springer Science & Business Media . стр. 583-600 (584-5, 597). ISBN 9789400710191 .
Ссылки
[ редактировать ]- Хеннесси, Джон Л .; Паттерсон, Дэвид А. (29 мая 2002 г.). Компьютерная архитектура: количественный подход (3-е изд.). Морган Кауфманн. ISBN 978-0-08-050252-6 . Проверено 9 апреля 2013 г.
- Дифендорф, Кейт (19 апреля 1999 г.). «Эмоционально заряженный чип Sony». Отчет микропроцессора . 13 (5). Ресурсы по микродизайну.