
Delay slots are an artifact of some early pipelined architectures in which pipeline hazards were not handled explicitly. I was puzzled for while by some unexpected assembly produced by gcc while working on my own implementation of the MIPS ISA, further investigation yielded the following results about the branch delay and the load delay slots, both of them occurred in early MIPS architectures.
Load Delay...