Как уменьшить количество киосков в 5-ти ступенчатом конвейере - PullRequest
0 голосов
/ 27 марта 2019

Как оптимизировать код за счет уменьшения числа остановок или количества команд?

Я пытаюсь выполнить d = (a + b) * (bc) в MIPS и спрашиваю себя, можно ли сделать мой код более эффективным.

LW $1, 1($0)              #LOAD A 
LW $2, 2($0)              #LOAD B 
LW $3, 3($0)              #LOAD C 
ADD $ZERO, $ZERO, $ZERO   #NOP 
ADD $1, $1, $2            #ADD A & B 
SUB $3, $2, $3            #SUBTRACT B & C 
ADD $ZERO, $ZERO, $ZERO   #NOP 
ADD $ZERO, $ZERO, $ZERO   #NOP 
MUL $3, $1, $3            #MULTIPLY A & C 
ADD $ZERO, $ZERO, $ZERO   #NOP 
ADD $ZERO, $ZERO, $ZERO   #NOP 
SW $3, 4($0)              #STORE D 

Изображение данных и их адреса

Обратите внимание, что это адресно-ориентированная реализация, и значение по умолчанию в $ 0 можно принять равным 0.

...