pureikyubu/Docs/HW/gcspecs.txt
ogamespec@gmail.com 7b3118623b
2011-06-29 14:19:07 +00:00

119 lines
7.3 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

GC SPECS. На русском и с дополнениями.
Всего существет много версий железа куба: Marlin, Arthur, HW1 - но это всё
платформы для разработчиков. На практике при разработке игр используется только
железо спецификации HW2 - Dolphin, о которой речь пойдет ниже.
Спецификации Nintendo GAMECUBE (retail HW2 production board).
Архитектура : на материнской плате расположены: CPU Gekko, ASIC Flipper,
два чипа оперативки (RAM) по 12 мб каждый, а также дополнительная память (ARAM)
размером 16 мб (всего системной памяти - 40 мб). Внутри Flipper'а находится
всё железо, кроме tv-out видеосистемы, которая расположена на задней стороне
материнской платы. Характеристики шины : 32 разряда на адресную, 64 разряда
на шину данных. Частота шины : 162 мгц (1/3 от частоты CPU). Пропускная способность
1.3 гига в секунду. Дополнительная память (ARAM) имеет 8-разрядную шину,
работает на 81 мгц (1/2 от системной шины). Пропускная способность ARAM - 80
мегабайт в секунду. Доступ к ARAM осуществляется через DMA-канал.
Микропроцессор (CPU) : модифицированный IBM PowerPC 750. Кодовое имя "Gekko".
Характеристики : 0.18 медь (рассеиваемая мощность всего 5 вт), размер кристалла
~40 мм2, 21 млн. транзисторов. Тактовая частота 486 мгц (а не 485, как написано
в официальной спецификации). Указанная производительность 1125 mips/10.5 gflops,
на самом деле сравним с 900-1000 мгц Pentium. Кэш L1: 32 KB инструкции, 32 KB
данные, L2: 256 KB данные. Отличительные особенности :
- Расширенный набор инструкций SIMD - аналог MMX/SSE. У Gekko они
называются Paired Single. В этом режиме один 64-разрядный FPU регистр
(double) используется как две 32-разрядные половинки (single).
- L1 кэш данных может работать в режиме блокировки (locked cache). В этом
режиме одна половина (16 KB) используется как scratch-буфер, к которому
CPU может обращаться напрямую. Переключение из режима в режим занимает
50 мкс (не очень быстро).
- Буфер подкачки (write gather buffer). Представляет собой мини-кэш (4
линейки по 32 байт), который "собирает" записи в память по одному и тому-же
адресу, а когда их набирается достаточно, он "выплевывает" их в оперативку.
- Большой L2 кэш данных (как уже говорилось).
Видеосистема (TV-Out) : поддержка видеорежимов PAL, NTSC, M-PAL (Бразилия),
PAL60 (европейский Scart). Развертка : interlaced, double-strike, progressive.
Поддержка DTV, стерео-разделения кадра (для "3D"-очков), светового пистолета.
Полноэкранный антиалиасинг конфигурируемый tap-фильтрами. Формат видеобуфера
Y1UY2V (две RGB-точки (6 байт) пакуются в одну "спаренную" YUV (4 байт), за счёт
этого сохраняется полоса пропускания). Видеобуфер (для tv-out) распологается в
оперативной памяти (RAM).
Далее характеристики железа, которые входят в состав Flipper'а :
Носитель данных : 3" DVD, разработанный по технологии Matsushita. Защищён от
копирования нестандартными bar-кодами и кроме того данные секторов зашифрованы.
Емкость диска 1,459,978,240 байт. Диск вращается с постоянной скоростью (CAV).
Секторы режутся как на виниле - от края к центру, плотность записи постоянная.
Скорость чтения 2-3 мб в секунду (сравним с 13X CDROM). Есть поддержка потокового
DVD-Audio в формате ADPCM, 48 кгц. Привод является интеллектуальным устройством -
общение с железом на уровне команд.
Звуковая система : один DMA канал, переключаемая частота звука - 32/48 кгц.
Максимальный размер аудио-буфера - 1 MB. Аудио-буфер распологается в оперативной
памяти (RAM). Также в состав Flipper входит сигнальный процессор (DSP), для
обработки звука. Этот процессор позволяет смешивать до 64 (и более) звуковых
каналов (причем в 3D) с эффектами эхо, реверберации, ADSR, для каждого канала.
С помощью аудио-библиотек можно использовать любые мыслимые аудио-эффекты.
При этом DSP работает параллельно графическому и центральному процессору, за
счет чего не происходит падения в производительности. Архитектура DSP неизвестна
(кроме объема памяти: 8 KB Data RAM (DRAM), 4 KB Data ROM (DROM), 8 KB
Instruction RAM (IRAM), 8 KB Instruction ROM (IROM) и тактовой частоты DSP -
81 мгц). Синхронизация между CPU и DSP, а также передача команд осуществляется
путем посылки "сообщений".
Графический процессор : разработка компании ArtX во главе с Dr. Wei Yen'ом.
Позднее ArtX была куплена ATI. Вклад ATI - красный стикер на приставке.
Графический процессор можно условно разделить на 3 части : командный процессор,
геометрический процессор и растеризатор.
Командный процессор : аппаратный FIFO-буфер для параллельного выполнения
графических команд (пока CPU передает команды, графический процессор рисует
сцену). Кэш для вершин. Дисплейные списки (вложенность не допускается).
Массивы вершин (координаты вершин не передаются через FIFO, а находятся в
оперативке), причем формат вершин может быть разным - не только вещественные
числа, но и числа с фиксированной точкой.
Геометрия : геометрические вычисления производятся числами с фиксированной
точкой :( Как утверждается, это не позволило ArtX реализовать технологию
шейдеров. 8 аппаратных RGBA-источников света с диффузной и бликовой светимостью.
(diffuse/specular lights). Изменение яркости по углу и расстоянию (angle/distance
attenuation). Toon shading, bump mapping.
Растеризатор : 24 разрядный цвет (RGB), глубина Z-буфера 24-бит. Встроенный
графический видеобуфер - 2 MB, отсюда следует разрешение встроенного буфера -
640x528 пикселей. Вся отрисовка ведется во встроенный видеобуфер, затем
копируется во внешний видеобуфер, для TV-Out, который распологается в оперативке.
Память для текстур - 2 MB. Кэш для текстур. Форматы текстур : индексные
TLUT, RGB565, RGB5A3, RGBA, IA4/8, S3TC (сжатие). Альфа-канал. Трёхмерные
текстуры. Мультитекстурирование (до 16 текстур, 8 оригинальных). Текстурирование
по текстуре (indirect texturing). MIP-mapping, билинейная/трилинейная фильтрация,
анизотропная фильтрация (max=4). Максимальный размер текстуры 1024x1024.
Несколько типов тумана, blending. Gamma-коррекция.
Короче говоря в графическом процессоре куба есть всё, кроме шейдеров.
Указанная производительность - 6-12 млн полигонов в секунду (100-200 тыс.
треугольников в кадре), учитывая все игровые условия (освещение, текстуры,
звук и пр.).
Устройства ввода : 4 аналоговых контроллера с авто-калибровкой и моторчиками.
Две аналоговые ручки, два аналоговых триггера, 6 кнопок, крестовина. Существуют
множество вариации стандартного контроллера, в том числе и беспроводные.
Контроллер является интеллектуальным устройством - общение с железом на уровне
команд.
Периферия : параллельный порт (для сетевого адаптера (BBA)), 2 последовательных
порта (для, например, модема), Gameboy Advance, который подключается вместо
контроллеров и используется как "гаджет" (прибамбас). Два слота для карт памяти.
Всем этим заправляет контроллер Macronix EXI (аналог USB). EXI является
интеллектуальным устройством.
Часы : системный таймер на батарейках, считает секунды с начала 2000 года.
Гарантия на батарейку - до 2006 года.
Bootrom : Содержит программу инициализации GAMECUBE и графическое меню.
Размер 2 MB. Зашифрован неизвестным способом (скорее всего комбинация LFSR
и XOR). Также в состав Bootrom входят системные шрифты для всех языков мира
(там есть и русский алфавит :)).
Питание : AC Adapter DC12V x 3.5A
Размеры : 4.3" (в) x 5.9" (ш) x 6.3" (д) не совсем куб :)