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

Πως προκύπτουν οι Κίνδυνοι Ελέγχου

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

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

Θυμάστε τον τρόπο με τον οποίο αλλάζει η τιμή του PC όταν εκτελείται μια εντολή διακλάδωσης με συνθήκη;
· Για περισσότερες λεπτομέρειες για τις εντολές διακλάδωσης με συνθήκη, θα ήταν καλό να ανατρέξετε στις σημειώσεις «Αρχιτεκτονική Υπολογιστών Ι» και συγκεκριμένα στο 2ο κεφάλαιο «Αρχιτεκτονικές Συνόλου Εντολών».
· Για την εκτέλεση των εντολών διακλάδωσης με συνθήκη μπορείτε να ανατρέξετε στις σημειώσεις «Αρχιτεκτονική Υπολογιστών Ι» και συγκεκριμένα στο 3ο κεφάλαιο «Κεντρική Μονάδα Επεξεργασίας».
· Να αναφέρετε τις τιμές που μπορεί να πάρει ο PC μετά την εκτέλεση μιας εντολής διακλάδωσης με συνθήκη και να προσδιορίσετε τις περιπτώσεις που ο PC λαμβάνει τις τιμές αυτές.

 

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 1

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

Επίσης ένα άλλο σημείο που αξίζει να τονίσουμε είναι το εξής:

  • Αν η εντολή διακλάδωσης με συνθήκη ακολουθείται, τότε το στάδιο IF της επόμενης εντολής πρέπει να επαναληφθεί μετά από την καθυστέρηση. Έτσι ο πρώτος κύκλος IF είναι ουσιαστικά μία καθυστέρηση, αφού ποτέ δεν εκτελεί μία χρήσιμη εργασία.
  • Αν εντολή διακλάδωσης με συνθήκη δεν ακολουθείται, τότε η επανάληψη του σταδίου IF δεν είναι απαραίτητη γιατί έχει γίνει ανάκληση της σωστής εντολής.


Στο σχήμα 1.6.1 που ακολουθεί, παρουσιάζουμε τη συμπεριφορά της σωλήνωσης όταν υπάρχει διακλάδωση με συνθήκη, η οποία ακολουθείται. Παρατηρήστε ότι η καθυστέρηση συμβαίνει μόνο μετά το στάδιο ID.



Σχήμα 1.6.1 Η συμπεριφορά της σωλήνωσης όταν υπάρχει εντολή διακλάδωσης με συνθήκη, η οποία ακολουθείται. Μία εντολή διακλάδωσης με συνθήκη προκαλεί καθυστέρηση τριών κύκλων στη σωλήνωση του υπολογιστή DLX: Ο ένας κύκλος είναι ένας επαναλαμβανόμενος κύκλος IF και οι άλλοι δύο κύκλοι είναι ανενεργοί. Η ανάκληση της εντολής που ακολουθεί τη διακλάδωση με συνθήκη γίνεται, αλλά αγνοείται, και η ανάκληση ξαναρχίζει μόλις ο στόχος της διακλάδωσης γίνεται γνωστός. Είναι προφανές ότι, αν δεν αληθεύει η συνθήκη της διακλάδωσης ο δεύτερος κύκλος IF για το διάδοχο I+1 της διακλάδωσης είναι περιττός.

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

Να συγκρίνετε την απώλεια στην απόδοση για τη σωλήνωση του υπολογιστή DLX, όταν προκαλούνται κίνδυνοι ελέγχου και όταν προκαλούνται κίνδυνοι δεδομένων. Να αιτιολογήσετε την απάντησή σας. (Για την εύρεση της απόδοσης στις δύο αυτές περιπτώσεις δεν είναι απαραίτητο να υπολογίστε ή χρησιμοποιήσετε τους τύπους.)

 

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 2