Индустрия программирования


Выполнение по предположению (speculation)


Пример:

for (p=head; p <>
nil; *p=*p.next) {

*p.value =
*p.value+1;

}
Последовательность команд:

J looptest

start: LW R5,0(R4)

ADDI R5,R5,#1

SW 0(R4),R5

LW R4,4(R4)

looptest: BNEZ R4,start
Однажды развернутый цикл:

J looptest

start: LW R5,0(R4)

ADDI R5,R5,#1

SW 0(R4),R5

LW R4,4(R4)

BNEZ R4,end

LW R5,0(R4)

ADDI R5,R5,#1

SW 0(R4),R5

LW R4,4(R4)

looptest: BNEZ R4,start

end:



Начало  Назад  Вперед