HW/SW Codesign Analysis of Control & Data Flow I ECE 522
ECE UNM 7 (7/6/17)
Implementation Issues
Parallelism in the underlying architecture can be leveraged to remove control edges,
e.g., superscalar processors can execute instructions out-of-order
On the other hand, parallel architectures MUST always preserve data dependen-
cies otherwise, the results will be erroneous
int sum(int a, b, c) { // operation 1
int v1;
v1 = a + b; // operation 2
v2 = v1 + c; // operation 3
return v2; } // operation 4
A fully parallel hardware implementation
of this program can in fact carry out both
additions in a single clock cycle
The sequential order specified by the CFG
is eliminated in the hardware implementa-
tion