Рассмотрим изменение в одноконтурном нетрубопроводном процессоре, который выполняет следующие инструкции: LDUR
, STUR
, R-type
и CBZ
.Рассмотрим модификацию, которая заменяет инструкции LDUR
на пару новых инструкций следующим образом:
Оригинальный код:
LDUR X1, X2, #100 /* X1=mem[X2+100] */
Новый код:
ADD X4, x2, #100 /* X4=X2+100 */
LD X1, X4 /* X1=mem[X4] */
Меня спрашивают о возможных преимуществах и недостатках.Я вижу недостаток в превращении одной инструкции в 2 на не конвейерном процессоре.Кажется, я не могу найти какие-либо возможные преимущества.
Кто-нибудь знает о возможных преимуществах, если сделать это таким образом?