Ага. То меньше чем 0. А сравнение регистров не вижу в обоих наборах. Что касается "меньше чем 0" Это еще более простая операция чем проверка на равенство. Поэтому архитекторы также могут поместить вычисления условия в стадию декодирования.
В архитектуре MIPSr5 (и предыдущих) есть только команды сравнения с нулём, например BLTZ: Branch on Less Than Zero.
В архитектуре MIPSr6, разработанной за последние несколько лет, система команд была существенно переработана. В частности, появились команды сравнения пары регистров типа BLTC (меньше, знаковое) и BLTUC (меньше, беззнаковое).
Вообще-то архитектура MIPS не определяет длину конвейера. Встречаются реализации с длиной конвейера от 2 до 9 стадий и больше. Всякий раз микроархитектура оптимизируется под конкретную задачу или технологию. В учебниках обычно описывается пятистадийный конвейер как самый понятный.
Comments 9
Reply
всего две (с целочисленными регистрами). Остальные псевдоинструкции.
Reply
Что касается "меньше чем 0" Это еще более простая операция чем проверка на равенство. Поэтому архитекторы также могут поместить вычисления условия в стадию декодирования.
Reply
Reply
Архитектура MIPSr5: https://www.imgtec.com/?do-download=the-mips32-instruction-set-v5-04
Архитектура MIPSr6: https://www.imgtec.com/?do-download=the-mips32-instruction-set-v6-05
В архитектуре MIPSr5 (и предыдущих) есть только команды сравнения с нулём, например BLTZ: Branch on Less Than Zero.
В архитектуре MIPSr6, разработанной за последние несколько лет, система команд была существенно переработана. В частности, появились команды сравнения пары регистров типа BLTC (меньше, знаковое) и BLTUC (меньше, беззнаковое).
Reply
C удивлением обнаружил там 4-х стадийный конвеер. А куда делась стадия декодирования?
Reply
Reply
Leave a comment