shrey wrote:> Are there inorder architectures that need precise number of nops> inserted between operations. If so, how does a compiler guarantee> that ? I am especially thinking of producers and consumers in faraway> basic blocks.

TTA processors are statically scheduled, so the compiler determines at
compilation time the timing of when operands are written to functional
units and when the results are read. To do this, the compiler of
course needs to have detailed information about the latencies of
operations, pipelines, etc.

For producers and consumers in different basic blocks the problem is
indeed a bit trickier, but it is still basically a data flow
problem. If there is an upper bound as well as lower bound, the
problem is even harder, but I suppose optimization techniques like
Interger Linear Programming should be applicable.