Merced: the case for the defence

Executing instructions in order is OK, reader says

A reader has replied to a story we wrote yesterday that claimed Merced compilers were in bad shape. Story: Optimisers not optimistic about Merced Here are his comments: "I agree that Merced will only execute instructions in order. Load instructions just queue the request to memory. They do not wait until the result is available. If an instruction which requires that data executes before it is available then that instruction will stall and all the instructions behind it will stall. "Now this sounds very bad but it is not in practice. Firstly all compilers will always put as much space as possible between a load and its use. Secondly in an Out-Of-Order(OOO) execution processor if an instruction stalls then other instructions can issue BUT this in practice is limited. "Usually only a handful of instructions will be issued because they are relying on the results of the stalled instruction. "The gap between CPU speed and memory speed is now so vast that a few token instructions executed out of order only fills a small percentage of the wait. "The main disadvantage of the Merced is when data resides on the second level cache then the Out-Of-Order execution processor may fill those few cycles more efficiently. "To make a processor execute Out-Of-Order adds a lot of circuitry and can slow down the clock speed. I assume Merced uses these released resources for other kinds of optimisation." ®

Sponsored: Network DDoS protection