Все они связаны с инструкцией перехода MIPS I-типа, которая сравнивает значение одного или двух регистров и переходит, если они равны/не равны.
MIPS PC имеет длину 32 бита, но инструкция перехода имеет только 16-битный относительный адрес. Эти 2 необходимо сложить вместе, чтобы рассчитать новое значение ПК в случае ответвления. Для этого 16-битный адрес расширяется до 32-битного (расширение знака + сдвиг влево на 2 позиции).
Это смещение, дополненное знаком, которое затем добавляется к текущему компьютеру для получения целевого адреса (адрес филиала).
Условие ветвления проверяется блоком АЛУ и при необходимости устанавливает нулевой сигнал. Этот нулевой сигнал затем стробируется сигналом ответвления от блока управления, и эти 2 управляют мультиплексором, который выбирает новое значение, которое будет записано в ПК.
Если нулевой сигнал равен единице, а текущая инструкция является инструкцией перехода, тогда ПК будет загружен с рассчитанным адресом перехода, иначе ПК +4.
person
tomato
schedule
18.05.2012