3 ms·
You won't make any CPU of reasonable performance without speculative execution and all the rest. Your limited by data dependencies and the only way to break the
by slededit 8y ago
You won't make any CPU of reasonable performance without speculative execution and all the rest. Your limited by data dependencies and the only way to break them is to "cheat".
Unless your willing to run on the equivalent of a Cortex-M0 then you have to live with it.
- dnautics 8y agoI hear delay slots aren't so bad, and compiler optimizations have gotten really good since the itanium days when they last (half-hearted) tried vliw
- slededit 8y agoDelay slots are merely the pipeline of the uarch peeking through, its bad practice because you'll probably want to change the pipeline depth at some point. Other uarchs have them but they hide them from the public API. VLIW only removes the logic to detect data dependency - it doesn't workaround the actual need to wait for data to be ready. None of this has much to do with speculative execution which is guessing which way a branch will go. You simply can't have what would be considered a modern computer without it.