3 ms·
This is really interesting. Any recommendations for further reading on EPIC and related technologies?
by klelatti 4y ago
This is really interesting. Any recommendations for further reading on EPIC and related technologies?
- FullyFunctional 4y agoIn practice EPIC = IA-64 and Itanium is the only implementation, but IA-64 is probably the easier thing to search for. The only book I have is “IA-64 and Elementary Functions: Speed and Precision”. EPIC’s problem is shared with VLIW of which EPIC can be understood as a refinement. VLIW excels in a deterministic world where the compiler can predict latencies and produce a good schedule, but falls apart in face of loads with highly variable latencies (an in-order implementation has no option but to stall when load data doesn’t arrive on time). EPIC patches this a bit by allowing software prefetching and SW exposed speculation, but it comes at a significant code bloat and it can cover only a small fraction of what dynamic scheduling can cover. At Transmeta, our VLIW engine did this too (with some obvious advantages over IA-64) and we suffered from similar problems.
- klelatti 4y agoThanks!
- FullyFunctional 4y agoIt such a fascinating topic and the story is far from over. VLIW (maybe not EPIC though) has tremendous power efficiency so sometimes it’s the right trade-off (say, if you can cover latencies by switching to another hyper-thread). Micro-architecture is still a hot topic and everything is a trade-off. Next I’ll start talking about super scalar OoO stack machines …
- fanf2 4y agoWere there any superscalar stack machines other than the inmos T9000 transputer? (It’s a bit of a cheat, though, because the transputer has a very limited stack, and the T9 worked more like a register machine, treating the very short local addressing mode as a register number)