3 ms·
Branch delay slots are an artifact of a simple pipeline without speculation. There's nothing inherently "bad" about them.
by okl 5y ago
Branch delay slots are an artifact of a simple pipeline without speculation. There's nothing inherently "bad" about them.
- pm215 5y agoIf you're designing a single CPU that definitely has a simple pipeline, branch delay slots are maybe justifiable. If you're designing an architecture which you hope will eventually be used by many CPU designs which might have a variety of design approaches, then delay slots are pretty bad because every future CPU that isn't a simple non-speculating pipeline will have to do extra work to fake up the behaviour. This is an example of a general principle, which is that it's usually a mistake to let microarchitectural details leak into the architecture -- they quickly go stale and then both hw and sw have to carry the burden of them.