repeat the following assignments in parallel if not (dst' = FFFF16) then m[dst'] = tmp tmp = (if src = dst' then tmp else m[src]) dst' = dst src = m[pc] dst = m[pc + 1] pc = (if dst = FFFF16 then m[src] else pc + 2) foreverThis result forwarding logic actually eliminates only some operand delay slots. It does, for example, eliminate the delay slot in:
MOVE X,Y MOVE Y,Z ; here, Z gets X, as hopes!In solving the following problmes, assume that the RAM subsystem does not respond to addresses F00016 and up. This range of 4K addresses is reserved for the CPU and for I/O device interface registers. Explain, in each case, why this logic does not eliminate delay slots in the following code fragments:
a: MOVE X,sub MOVE ccN,Y b: MOVE X,sub MOVE acc,Y c: MOVE X,FFF816 MOVE FFF816,Y d: MOVE X,(d+2) MOVE .-.,Y e: MOVE X,Y MOVE Y,pc