Previous | Next --- Slide 54 of 78
Back to Lecture Thumbnails
pufan

I'm always interested in is ILP is a thing that programmer should care about, or just leave it to hardware?

neonachronism

I don't think it matters on a high-level language level, which generally have no concept of registers, ALUs, etc, but the assembly/machine language level can affect it. For example, if you can reorder instructions so that adjacent instructions don't contain dependencies, they're more likely to be issued simultaneously/in the pipeline without a bubble. And, of course, with a VLIW processor, you explicitly identify sets of instructions to issue simultaneously; this was back when they thought identifying dependencies would be too difficult to implement in hardware, so they pushed the decisions to the compiler.

bpr

@neonachronism, you offered a good explanation, but I wanted to add to one point. VLIW continues to be a competing approach to computer architecture. Identifying dependencies is not too difficult, the initial design has been known since the 60s (see Tomasulo's algorithm). Rather, identifying dependencies in HW is expensive in terms of transistors and power.