« Архитектура PlayStation 2 (index)

Архитектура PlayStation 2

Chapter 3: Процессор


Содержание

  1. Ведущий
    1. Опередив все ожидания
    2. Высококлассное для массов
    3. Спецзаказ для Sony
  2. Узнаваемый выбор памяти
  3. Предотвращение прошлых ошибок
  4. Другие интересные моменты

В центре этой консоли находится мощный блок под названием Emotion Engine или 'EE', совместный проект Toshiba и Sony , работающий с частотой ~294.91 МГц .

Image
Emotion Engine, как видно на первой ревизии материнской платы этой консоли.

Этот чипсет содержит множество компонентов, одним из которых является основной процессор. Остальные находятся в распоряжении процессора для ускорения выполнения определённых задач. Для этого анализа мы разделим EE на три секции:

Ведущий

В двух словах, основной процессор - это MIPS R5900, эксклюзивное ядро MIPS, разработанное для этой консоли. Вы можете вспомнить, когда Sony начала экспериментировать с MIPS с самой первой PlayStation (где мы можем найти MIPS R3000A, вторично произведённый LSI). Для следующего поколения мы получили MIPS 'R5900'... но что это имя значит для нас?

Чтобы понять, что скрыто за этими новыми числами, давайте взглянем на историю того времени.

Опередив все ожидания

MIPS R4000 был популярной серией процессоров, принятой широким рядом систем, включая близкого конкурента. Благодаря своему успеху, MIPS привнесла ранее недоступные достижения (64-битные вычисления, 8-ступенчатые конвейеры и так далее) в массы.

Перенесёмся вперёд, следующий большой шаг вперёд случился в 1995 году с выпуском R10000. Теперь при финансировании от SGI MIPS выпустила новый процессор, который значительно улучшил параллелизм R4000, впервые внедрив такие техники, как :

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

Высококлассное для массов

Уже осознавая коммерческие ограничения R10000, SGI/MIPS наняли Quantum Effect Devices (QED) для разработки доступной версии R10000 для рынка среднего и низкого ценового сегмента. QED, будучи компанией, основанной бывшими сотрудниками MIPS, занималась разработкой вариантов ядер MIPS для бюджета.

В конечном итоге QED вернулась с новым ядром под названием R5000, это был R10000, подвергшийся значительным сокращениям :

Таким образом, это стало идеальным процессором для экономичного оборудования, такого как низкопроизводительные рабочие станции SGI. В любом случае, обратите внимание, что урезанная конвейерная линия все еще выполняла параллельные операции с плавающей запятой, как будто QED планировали сохранить его привлекательным продуктом для векторных/3D приложений. Скоро вы увидите, что еще одна компания быстро заметила это.

Стоит отметить, что на другой стороне океана были похожие достижения, но в противоположном направлении: ARM объединилась с DEC в стремлении поднять ARM-чипы на рынок высококлассного оборудования.

Спецзаказ для Sony

Toshiba уже некоторое время была лицензиатом MIPS и хорошо знала, как производить варианты MIPS и комплекты. В какой-то момент Sony и Toshiba объединились, чтобы создать процессор, специально разработанный для предстоящей консоли Sony. Это было огромным преимуществом для Toshiba: часто процессоры должны удовлетворять широкий спектр требований, поступающих от различных заинтересованных сторон, что ограничивает возможности для специализации. Теперь была только одна цель: 3D-игры. Таким образом, предоставляя достаточно места для всех видов инноваций.

Тогда Toshiba взяла доступный дизайн R5000 и изменила его, чтобы ускорить векторные операции. Новое ядро называется R5900 и включает следующие '3D' улучшения :

Кроме этого, мы находим и другие улучшения, которые разработчики могут также приветствовать:

Кроме того, ядро дополнено специализированным блоком с плавающей запятой (обозначенным как 'COP1'), который ускоряет операции с 32-битными числами с плавающей запятой (также известными как floats в C). Это своеобразный блок, так как он не следует стандарту IEEE 754, наиболее очевидный отсутствием бесконечности (вычисляется как 0 вместо этого) . В дополнение к этому, он имеет 32 32-битных регистра.

Узнаваемый выбор памяти

Рядом с Emotion Engine расположены два блока по 16 МБ ОЗУ, что в сумме дает 32 МБ основной памяти. Используется тип памяти RDRAM (déjà vu!), который доступен через 16-битную шину.

Image
Дизайн памяти Emotion Engine. Можете догадаться, где возникнут заторы.

Сначала это может разочаровать, учитывая, что внутренняя шина Emotion Engine имеет ширину до 128 бит. Однако, чипы оперативной памяти стратегически размещаются, соблюдая двухканальную архитектуру, которая состоит из подключения обоих чипов с использованием двух независимых 16-битных шин (по одной шине на чип) для улучшения пропускной способности данных. Полученная установка обеспечивает теоретическую скорость 3,2 ГБ/с, так что будьте уверены, что задержка памяти не является проблемой в этой консоли!

В одном углу Emotion Engine находится мощный DMA-контроллер или 'DMAC', который передает данные между основной памятью и Scratchpad; или между основной памятью и любым компонентом внутри EE.

Передача данных осуществляется пакетами по 128 бит, но вот интересная часть: каждые восемь пакетов основная шина временно разблокируется. Это оставляет небольшое окно возможностей для выполнения других передач DMA параллельно (до десяти) или позволяет ЦП использует основную шину. Этот modus operandi называется режим резки и является одним из многих режимов, доступных на этом блоке DMA. Имейте в виду, что режим резки уменьшает задержки на основной шине, но делает это за счет замедления общей передачи DMA.

Предотвращение прошлых ошибок

Независимо от того, хотим мы этого или нет, при таком объеме трафика внутри Emotion Engine этот дизайн в конечном итоге будет страдать от последствий унифицированной архитектуры памяти или 'UMA'. Речь идет о: нескольких независимых компонентах, пытающихся получить доступ к основной памяти одновременно, вызывая перегрузку. Чтобы исправить эти проблемы, Sony ослабила постоянную потребность в памяти следующим образом:

Это звучит очень удобно для приложений, которые могут извлечь пользу из кэша, но что насчет тех задач, таких как манипуляция списками отображения, которые вообще не должны использовать кэш? К счастью, ЦП предоставляет другой режим доступа к памяти, называемый UnCached, который только использует буфер записи. Таким образом, он не будет терять такты на корректировку кэша (продукт промахов кэша).

Более того, также доступен ускоренный режим UnCached. Этот добавляет буфер для ускорения чтения непрерывных адресов в памяти.

Другие интересные моменты

В том же пакете Emotion Engine есть еще один процессор под названием Image Processing Unit или 'IPU', который предназначен для декомпрессии изображений. Как преемник MDEC, IPU может быть полезен, когда игре нужно декодировать видео MPEG2 без блокирования основного ЦП.

Короче говоря, игра отправляет сжатые потоки изображений на IPU (надеюсь, используя DMA), которые затем декодируются в формате, который GPU может отображать. Операционная система PS2 также использует IPU для обеспечения воспроизведения DVD.

Наконец, IPU также обрабатывает сжатые высококачественные текстуры, что экономит использование ЦП и уменьшает большие передачи данных.


Previous: 2. Краткое введение

Next: 4. Сопроцессоры


Rodrigo Copetti © 2026 RSS Feed

Переключиться на современную версию

Домашняя страница · Статьи · Поддержка · Об авторе · О сайте