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

Архитектура Dreamcast

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


Содержание

  1. Возможности
    1. Особая работа
    2. Память и доступ к ней
  2. Без UMA, но...
  3. Конечная остановка

Дела у Hitachi шли отлично, их знаменитые чипы SuperH нашли несколько покупателей и компания была готова к выпуску четвёртой версии процессора. Их новый чип объединит возможности для встраиваемой электроники с функционалом, используемым 3D играми.

Неудивительно, что Sega, будучи одним из ранних пользователей SuperH, выбрала новинку от Hitachi для своей новой консоли. Следовательно, Dreamcast имеет процессор SH-4, запущенный на умопомрачительных 200 МГц . А ещё, чтобы на этот раз сделать всё как надо, в консоли стоит только один полноценный процессор.

Возможности

И что же такого особенного в этом процессоре?

Ну, для начала, SH-4 представляет собой расширение предыдущих моделей, что значит наследование всего существующего функционала линейки SuperH, включая 32-разрядную архитектуру RISC, 5-этапный конвейер и 16-битный набор инструкций. Увы, он также унаследовал конфликты управления (control hazards).

Image
Чип SH-4.

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

Особая работа

Основной работой процессора игровой консоли обычно является обработка логики игры, просчитывание ИИ противников и снабжение GPU задачами на отрисовку.

В случае Dreamcast можно заметить, что графический процессор выполняет только растеризацию. Таким образом, процессор должен быть задействован в большинстве этапов графического конвейера. Это значит, что процессор будет обрабатывать колоссальное количество данных о геометрии (например, вычислять преобразования перспективы). Чтобы процессор смог справиться со своей задачей, Sega и Hitachi совместно добавили две важные функции в SH-4.

Первым дополнением является отдельный 64-битный модуль операций с плавающей точкой (Floating-Point Unit, FPU). Этот компонент вычисляет 32-битные десятичные числа (так называемые "числа одинарной точности" или "float") или 64-битные ("числа двойной точности" или "double") по стандарту IEEE-754. Его регистровый файл состоит из тридцати двух 32-разрядных регистров, но они также могут быть объединены в отдельную группу из шестнадцати 64-разрядных регистров, что позволяет сопроцессору обрабатывать числа двойной точности.

Если и этого недостаточно, Hitachi пошла дальше и внедрила дополнительную логику для создания другой регистровой группы, на этот раз составленной из восьми 128-битных регистров. В этой группе каждый регистр хранит четыре 32-разрядных числа, или другими словами 128-битный вектор. Этот формат оптимален для операций, связанных с графикой.

Чтобы воспользоваться новыми векторами по полной, FPU включает в себя дополнительные инструкции для работы с ними, очень похожие на инструкции Saturn Control Unit, правда сейчас индустрия более-менее пришла к единому стандарту. Новые инструкции представляют собой то, что обычно называется Single Instruction Multiple Data (SIMD, одиночный поток команд, множественный поток данных, ОКМД). Они могут выполнять следующие алгебраические операции:

Второе дополнение - это внешняя шина SH-4, которая стала 64-битной, что позволяет процессору одновременно передавать пары 32-битных значений. Это ещё одно улучшение, которое увеличивает общую производительность процессора.

Память и доступ к ней

Dreamcast обладает 16 МБ SDRAM, напрямую подключённой к процессору через шину на 100 МГц (половина скорости процессора).

С другой стороны, ширина шины данных памяти — всего 32 бита . Значит ли это, что потенциал новенькой 64-битной шины ЦП не раскрыт? Вовсе нет, ведь ОЗУ установлена двумя банками по 8 МБ. Таким образом, оба чипа делят линии шины процессора пополам.

Image
Диаграмма памяти.

Для работы с памятью процессор включает в себя Memory Management Unit (Блок Управления Памятью) или "MMU" для виртуальной адресации. Этот блок полезен, так как ширина физического пространства адреса памяти как раз составляет 29 бит. Кроме того, благодаря включению четырех Translation Lookaside Buffer (TLB, Буфер ассоциативной трансляции), программисты могут использовать 32-битные адреса без ущерба производительности.

Поскольку для адресации необходимы только 29 бит, три оставшиеся бита управляют защитой памяти, изменяя карту распределения памяти (memory map) и включая обход кэша соответственно .

В конце концов, программист сам решает, использовать ли эти функции или нет. Играм для этой системы не требуется защита памяти, так что MMU, если он нужен, должен быть включен вручную при загрузке системы.

Без UMA, но...

Несмотря на то, что эта система не основана на архитектуре единой памяти (Unified Memory Architecture), как делает её широко известный конкурент, она тем не менее делегирует ввод-вывод графическому чипу (GPU). Это означает что если процессору необходимо извлечь что-либо за пределами своей выделенной памяти или последовательного интерфейса (serial interface), он должен сделать запрос графическому чипу и, если требуется, подождать своей очереди.

Процессор так же поддерживает уникальный функционал под названием Parallel I/O (параллельный ввод-вывод) или 'PIO', который используется для одновременных манипуляций над несколькими I/O адресами. Sega использовала PIO выводы процессора, чтобы управлять видео режимом GPU (подробнее об этом рассказано в разделе "Графика").

Конечная остановка

Даже после всех описанных преимуществ, боюсь, что серия SuperH не получила дальнейшего развития после того, как её последний крупный пользователь, Dreamcast, исчез с полок магазинов. После популярности SH-4, Hitachi (или Renesas Electronics, текущий владелец) не смогла воспроизвести такой же уровень успеха, а учитывая, что рынок портативных и встраиваемых устройств с тех пор отдаёт предпочтение ARM (благодаря StrongARM), я не думаю, что Renesas собирается развивать изобретение Hitachi.

Благо в сфере вычислительных технологий технологический прогресс часто выходит за рамки брендов и компаний. Например, техника сжатых инструкций SH нашла развитие в режиме Thumb у ARM (вторичный 16-битный набор команд) . Более того, в 2012 году группой энтузиастов был начат проект по созданию современного SuperH-совместимого ЦП под названием "J2" .


Previous: 2. Введение

Next: 4. Графика


Rodrigo Copetti © 2026 RSS Feed

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

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