Я работаю своим путем, хотя упражнения, связанные с суперскалярной архитектурой. Мне нужна помощь в концептуализации ответа на этот вопрос:опасности в трехстороннем суперскалярном трубопроводе
?«Если вы когда-нибудь запутаться о том, что регистр переименовывания должен сделать, вернуться к ассемблеру вы совершающий, и спросите себя, что должно произойти для получения правильного результата. Например, рассмотрим трехстороннюю суперскалярную машину переименовании этих трех команд одновременно:
ADDI R1, R1, R1 ADDI R1, R1, R1 ADDI R1, R1, R1
Если значение R1 начинается как 5, что должно его значение будет, когда эта последовательность была выполнена «
Я могу посмотреть на это и посмотреть, что, нормально, окончательное значение R1 должно быть 40. Как бы трехсторонняя суперскалярная машина достигла этого ответа? Если я правильно их понимаю, в этом трехстороннем суперскалярном конвейере эти три инструкции будут выбраны параллельно. Значит, с самого начала у вас была бы опасность, верно? Как я должен концептуализировать ответ на эту проблему?
EDIT 1: При декодировании эти инструкции, трехходовой суперскалярная машина будет, по необходимости, должны выполнить переименование регистров, чтобы получить следующий набор инструкций, правильно:
ADDI R1, R2, R3 ADDI R4, R5, R6 ADDI R1, R2, R3
Может набор команд быть переименован следующим образом: ADDI R2, R1, R1 ADDI R3, R2, R2 ADDI R4, R3, R3 ? Пожалуйста, исправьте меня, если я ошибаюсь. –