2016-04-17 3 views
0

Я знаю, что 32-разрядные инструкции MIBS и регистры памяти ... хорошо 32 бита ... и что компьютер вычисляет адрес для этой команды в регистре команд.Имеет ли mips 32-разрядные адреса и 32-битные инструкции?

Мой вопрос заключается в следующем: 32-разрядный адрес прилагается к 32-разрядной инструкции?

Игнорируя тот факт, что все эти нули ...

ли 0x00000000 (адрес) сцепляются с 0x00000000 (инструкции)?

Например, R-Type является

OP(6) RS(5) RT(5) RD(5) SHIFTAMMT(5) FUNCT(6) 
=> 32 bit instruction 
=> 000000_00000_00000_00000_00000_000000 

где адрес вышеперечисленного 000000_00000_00000_00000_00000_000000

ли этот два 32-разрядных чисел объединяются вместе, так что PC выплевывает 32 бит, которые соответствуют верхняя половина 64-бит значение? Я часто вижу таблицы, которые имеют

Address  Instruction 
0x00000000 0x00000000 

Любая помощь будет оценена.

ответ

2

Таблицы, которые вы часто видите, отображают адрес инструкции и самой инструкции. В памяти каждое слово (байт) имеет адрес, который никогда не изменяется. Адрес (место использования процессора) и инструкция (то, что хранится в местоположении) независимы.

0

Насколько вы спрашиваете, набор инструкций фиксированной длины не больше не меньше.

Для некоторых инструкций адреса содержатся в регистрах, и для определения этого регистра требуется всего несколько бит 32-разрядной инструкции.

Если регистр не используется в качестве источника адреса, то процент бит в инструкции обычно содержит смещение, так как все инструкции составляют 32 бита, смещение наиболее вероятно в единицах инструкций, не входящих в байты, нет смысла тратить эти два бита. Я не помню, если у mips есть какая-либо другая кодировка, если они это делают, это может быть только часть адреса.

Некоторый процент бит бита команды должен быть зарезервирован для определения этой команды на основе этой кодировки, остальные биты определяют параметры для этой команды. Существует множество источников для этих кодировок команд, в частности на сайте mips.

(существует исключение из правила 32-битной фиксированной длины, у них есть 16-разрядный набор команд, но это не изменяет порядок кодирования адресов, mips не является переменной длиной, например x86 или другой cisc, где вы привязываетесь на многие байты как параметры)

+0

Да mips имеет 32-битные инструкции и 32-разрядные адреса. Одна инструкция просто не может содержать полный 32-разрядный адрес. –

Смежные вопросы