Содержание

CPU

Центральным процессором PlayStation является MIPS R3000, 32-битный RISC-микропроцессор, реализующий ISA MIPS I. CPU работает на частоте 33,87 МГц, имеет 4 KiB кэша инструкций и не имеет кэша данных (вместо него используется 1 KiB «быстрой памяти», известной как Scratchpad).

История

Архитектура MIPS была разработана в Стэнфордском университете (США) под руководством Джона Хеннесси в первой половине 1980-х годов. MIPS Computer Systems была основана для коммерциализации этого проекта. В 1985 году вышла первая коммерческая реализация процессора - R2000, впоследствии доработанная в 1988 году, получив название R3000.

Регистры

R3000 имеет 32 регистра общего назначения:

Особые регистры:

O32 ABI:

Если функция использует более 4 32-битных аргументов, 5-й аргумент и далее кладутся на стек.

Инструкции

Арифметика:

Сравнение:

Побитовые операции:

Чтение и запись памяти:

Внимание! Инструкции доступа к оперативной памяти требуют выровненные адреса. Доступ к слову (word) требует выравнивание по 4 байта, доступ к полуслову (half-word) требует выравнивание по 2 байта. Использование невыровненных адресов приведет к исключению шины.

Инструкции загрузки не останавливают исполнение программы до тех пор, пока данные не будут доступны. Поэтому, если следующая инструкция зависит от загруженных данных, необходимо вставить слот задержки.

Безусловный переход:

Условный переход (ветвление):

Псевдоинструкции: