Все они связаны с инструкцией перехода MIPS I-типа, которая сравнивает значение одного или двух регистров и ветвей, если они/не равны.
ПК MIPS имеет длину 32 бит, но инструкция перехода имеет только 16-разрядный относительный адрес. Эти 2 необходимо добавить вместе, чтобы вычислить значение нового ПК в случае ветки. Для этого 16-разрядный адрес расширяется до 32 бит (знак extend + сдвиг влево 2 позиции).
Это по знаку смещения который затем добавляется к текущему ПК, чтобы получить целевой адрес (адрес филиала).
Состояние ветви проверяется блоком ALU, и при необходимости он будет сигнализировать нулевым сигналом. Этот нулевой сигнал затем стробируется сигналом ответвления от блока управления, а те 2 управляют мультиплексором, который выбирает новое значение, которое будет записано на ПК.
Если нулевой сигнал является одним, а текущая команда является инструкцией о разветвлении, то на ПК будет загружен расчетный адрес филиала, иначе ПК +4.
Благодарим вас за ответ и вы можете указать мне хороший учебник, в котором описывается, как работает дата-дата в одном цикле. – Grant
Попробуйте эти два [Ссылка] (http://www.cise.ufl.edu/~mssz/CompOrg/CDA-proc.html) [Ссылка] (http://www.cise.ufl.edu/~mssz/ CompOrg/CDA-pipe.html) – tomato
Спасибо заранее! :) – Grant