Зачем нам нужно Бит Расширить инструкцию типа J только на 2 бита? - PullRequest
0 голосов
/ 15 сентября 2011

Пожалуйста, посмотрите на это Single Cycle Data Path в MIPS. 26 bits из J type instruction расширяется до 28. Я не понимаю, в чем суть. Разве это не должно быть увеличено до 31, чтобы оно составило 32 бит Пожалуйста, помогите мне очистить концепцию. enter image description here Спасибо

1 Ответ

2 голосов
/ 15 сентября 2011

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

Это означает, что вы можете запустить инструкцию по адресам, которые являются 0 модулем 4 (т. Е. 0, 4, 8, 12, ...)

Теперь, сдвиг влево от 2 двабиты подобны умножению на 4, что дает числа, которые всегда равны 0 модулю 4.

Фактический адрес будет сформирован из: - 4 старших разрядов nPC (то есть ПК + 4) (давайте вызовемних PPPP) - 26 битов поля адреса, указанного в инструкции, (давайте назовем их AAA .... AA) - 00 как два младших бита (что приводит к требуемому выравниванию инструкции)

Таким образомадрес будет (двоичный) PPPPAAAAAAAAAAAAAAAAAAAAAAAAAA00

...