Here you can ask questions and find or give answers to organizational, academic and other questions about studying computer science.

1.1k questions

1.2k answers


543 users

0 votes
In slide 56 of PA-03-ParallelizingCompilers-1 there is an example in which a given compensation code is supposed to reduce the amount of VLIW instructions through trace scheduling. The question is, is this really the case? It looks to me, that the instructions that are supposed to be in one VLIW instruction have dependencies and cannot be exectuted in parallel. For example the instruction x4 = x3 / x2 and c = x3 + x4 have dependencies.
in * TF "Emb. Sys. and Rob." by (160 points)

1 Answer

+1 vote
Best answer
Yes, you are right. The example shows how trace scheduling works (which is correct), but the intention is then to generate VLIW instructions from that which is not possible because of the dependency on x4 as you remarked (unless the VLIW execution engines would provide forwarding which is however against the philosophy to keep the processor as simple as possible).

Since there is also a declaration of a local variable x6, it seems that I forgot to rename one of the x4 to x6.
by (166k points)
selected by
Imprint | Privacy Policy