top | item 44642946

(no title)

gomijacogeo | 7 months ago

No, they got rid of the load delay slot in MIPS II. While not required in later ABIs, they kept the branch delay slot for backwards compatibility. MIPS32/MIPS64, which came out much later, also had several new branch instructions without delay slots.

One (probably the only) nifty thing the branch delay slot allowed was in the user-space threads implementation, you didn't have to burn a register for the jump to another thread, you'd do the branch and then clobber the register with the last bit of the jumped-to thread's context. Kinda fiendishly clever.

discuss

order

CalChris|7 months ago

I only meant that MIPS got rid of the "without interlocking pipeline stages" in the R4000, not the other stuff. I was just saying that was a weird architectural feature not unlike BDSs and register windows. BTW, tagged integers are still in SPARC but just for 32b.

I'll have to look up the nifty trick. I have a soft spot for delay slots.