Πίσω
Παράδειγμα 1:
Έστω το ακόλουθο πρόγραμμα:
main:
|
| 1.
| addf
| f1,f2,f3
|
| 2.
| multf
| f2,f4,f6
|
| 3.
| addf
| f3,f3,f4
|
| 4.
| multf
| f6,f6,f6
|
| 5.
| addf
| f1,f3,f5
|
| 6.
| addf
| f2,f3,f4
|
Στο πρόγραμμα αυτό παρουσιάζονται κατασκευαστικοί κίνδυνοι μεταξύ των εντολών 2, 4 και 3, 5. Ο Windlx τους αντιμετωπίζει εισάγοντας καθυστέρηση.
Παρατηρούμε ότι η εντολή 4 προσπαθεί να χρησιμοποιήσει τον πολλαπλασιαστή, ενώ αυτός χρησιμοποιείται ήδη από την εντολή 2.
Με την εισαγωγή 3 κύκλων καθυστέρησης απαλείφεται αυτός ο κίνδυνος.
Η καθυστέρηση αυτή επιλύει και το πρόβλημα που θα παρουσιαζόταν από την ταυτόχρονη αίτηση για τον αθροιστή από τις εντολές 3 και 5.