Инструменты пользователя

Инструменты сайта


gte

GTE

GTE (Geometry Transformation Engine) - это сопроцессор 2 (COP2), выполняющий векторно-матричные операции. Он не имеет портов, отображенных в память CPU, и полностью управляется специальными опкодами.

Перед использованием GTE должен быть включен. Для этого нужно установить бит 30 в статусном регистре COP0:

mfc0   $8, $12             # t0 = SR
ori    $8, $8, 0x40000000  # Set bit 30 in t0 (CU2)
mtc0   $8, $12             # SR = t0
nop

Инструкции

  • mtc2 $r, $d - Move To Coprocessor 2. Записывает значение из регистра общего назначения в регистр данных GTE. $d = $r
  • mfc2 $r, $d - Move From Coprocessor 2. Читает значение из регистра данных GTE в регистр общего назначения. $r = $d
  • ctc2 $r, $c - записывает значение из регистра общего назначения в контрольный регистр GTE. $c = $r
  • cfc2 $r, $c - читает значение из контрольного регистра GTE в регистр общего назначения. $r = $c
  • lwc2 $d, imm(base) - загружает значение из памяти в регистр данных GTE.
  • swc2 $d, imm(base) - выгружает значение из регистра данных GTE в память.
  • cop2 imm - выполняет команду GTE.

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

Регистры

TODO

Команды

TODO

gte.txt · Последнее изменение: gecko

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki