Опасность использования нагрузки трубопровода MIPS с ответвлением
Сегодня я учусь на конвейере MIPS и узнаю одну интересную вещь. Видя код ниже:
I1: lw $s1, 0($s3)
I2: add $s4, $s5, $zero
I3: beq $s1, $s5, 8
Чтобы уменьшить штраф за ветку, мы сравниваем два регистра в стадии идентификации. Меня сбивает с толку то, является ли это условие своего рода опасностью использования нагрузки или нет? Это вызывает остановку в трубопроводе?
Мне интересно, есть ли этап перенаправления формы MEM на стадию ID, чтобы избежать остановки конвейера в этом случае?
Поскольку учебник, кажется, не упоминает об этом, и я не знаю, как именно работает MIPS, я думаю, что это не приведет к остановке.
Спасибо всем!