Κεφάλαιο 1 |Ενότητα 4 |Ερωτήσεις επισκόπησης | Επόμενο |Προηγούμενο |Λεξικό όρων
 

Ταξινόμηση των κινδύνων δεδομένων

 

Ένας κίνδυνος δεδομένων δημιουργείται όταν υπάρχει εξάρτηση μεταξύ των εντολών, οι οποίες είναι τόσο κοντά, ώστε η επικάλυψη που προέρχεται από τη σωλήνωση να αλλάζει τη σειρά πρόσβασης σε έναν τελεστέο.

Οι κίνδυνοι δεδομένων μπορούν να ταξινομηθούν σε μία από τις τρεις επόμενες κατηγορίες, ανάλογα με τη σειρά των αναγνώσεων και των εγγραφών στις εντολές.

Έστω ότι έχουμε δύο διαδοχικές εντολές τις i και j (πρώτα την i και μετά την j)

RAW (Read After Write - ανάγνωση μετά από εγγραφή)

Στην κατηγορία αυτή εντάσσονται οι κίνδυνοι που συμβαίνουν όταν η εντολή j προσπαθεί να διαβάσει έναν πηγαίο τελεστέο προτού η εντολή i ενημερώσει την τιμή του τελεστέου. Στην περίπτωση αυτή η εντολή j παίρνει λάθος την παλιά τιμή.

WAW(Write After Write - εγγραφή μετά από εγγραφή)

Ο κίνδυνος αυτός εμφανίζεται όταν η εντολή j προσπαθεί να γράψει σε έναν τελεστέο προορισμού πριν αυτός ενημερωθεί από την εντολή i. Αποτέλεσμα αυτής της κατάστασης είναι να γίνονται με λάθος σειρά οι εγγραφές, αφήνοντας στον προορισμό την τιμή που γράφτηκε από την i και όχι αυτή που γράφτηκε από τη j, όπως θα ήταν και το σωστό.

WAR (Write After Read - εγγραφή μετά από ανάγνωση)

Οι κίνδυνοι αυτοί παρατηρούνται όταν η εντολή j προσπαθεί να γράψει σε ένα τελεστέο προορισμού πριν προλάβει η εντολή i να τον διαβάσει, με αποτέλεσμα η εντολή i να παίρνει λάθος τη νέα τιμή.

RAR(Read After Read - ανάγνωση μετά από ανάγνωση)

Ο RAR δεν είναι κίνδυνος.

 

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 3

Μπορείτε να αναφέρετε τις κατηγορίες στις οποίες ταξινομούνται οι κίνδυνοι δεδομένων; Να συγκρίνετε την απάντησή σας με την υποενότητα που μόλις διαβάσατε: "Ταξινόμηση των κινδύνων δεδομένων".