6 ms·
An alternative view (imho more accurate) on Tomasulo-like processors is that they essentially execute the data flow graph implied by a sliding window of instruc
by blattimwind 7y ago
An alternative view (imho more accurate) on Tomasulo-like processors is that they essentially execute the data flow graph implied by a sliding window of instructions.
- wahern 7y agoSort of like a tracing JIT? I'm not trying to equivocate modern CPUs with the JVM, just emphasize the similarities as a way to understand and explain observed behaviors.
- dfox 7y agoTracing JIT tries to synthesize graph of all distinct execution paths (in practice for some smallish value of “all” at a time), ie. there is no sliding window. In comparison OoO CPUs try to execute as much as possible of instructions they see “at once” (this can mean in parallel or in other order than is encoded by the instruction stream). Doing this in hardware involves looking at some block of memory (eg. L1I Cache line or several of them) and doing what is essentially an more involved variant of peephole optimization pass.