Πίσω

Παράδειγμα λειτουργίας ασύγχρονης αρτηρίας

Ας θεωρήσουμε μία συσκευή που ζητά μία λέξη δεδομένων από το σύστημα μνήμης, δηλαδή θα εξετάσουμε μια διαδικασία ανάγνωσης από τη μνήμη. Υποθέστε ότι υπάρχουν τρεις γραμμές ελέγχου:

  1. ReadReq: Χρησιμοποιείται για να δηλώσει μία αίτηση ανάγνωσης από τη μνήμη. Η διεύθυνση τοποθετείται στις γραμμές δεδομένων την ίδια στιγμή.
  2. DataRdy: Χρησιμοποιείται για να δηλώσει ότι η λέξη δεδομένων είναι τώρα έτοιμη στις γραμμές δεδομένων. Σε μία συναλλαγή εξόδου, η μνήμη θα ενεργοποιήσει αυτό το σήμα, από τη στιγμή που είναι ικανή να παρέχει τα δεδομένα. Σε μία συναλλαγή εισόδου, μία συσκευή I/O θα ενεργοποιούσε αυτό το σήμα, από τη στιγμή που θα μπορούσε να παρέχει δεδομένα. Σε κάθε περίπτωση, τα δεδομένα τοποθετούνται στις γραμμές δεδομένων την ίδια στιγμή.
  3. Ack: Χρησιμοποιείται για να επιβεβαιώσει το σήμα ReadReq ή DataRdy της άλλης πλευράς.

Σε ένα ασύγχρονο πρωτόκολλο, τα σήματα ελέγχου ReadReq και DataRdy ενεργοποιούνται μέχρι η άλλη πλευρά (η μνήμη ή η συσκευή) να δηλώσει πως έχει δει τις γραμμές ελέγχου και έχει διαβάσει τις γραμμές δεδομένων· αυτή η δήλωση γίνεται ενεργοποιώντας τη γραμμή Ack. H χειραψία (handshaking) αποτελεί τη συνολική αυτή διαδικασία

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

Σχήμα 5.5.1 - Το ασύγχρονο πρωτόκολλο χειραψίας αποτελείται από επτά βήματα για την ανάγνωση μίας λέξης από τη μνήμη και την παραλαβή της από τη συσκευή I/O. Τα σήματα με παχιά γραμμή είναι εκείνα που ενεργοποιούνται από τη συσκευή I/O, ενώ η μνήμη ενεργοποιεί τα σήματα που φαίνονται με λεπτή γραμμή. Τα βέλη σημειώνουν τα επτά βήματα και το γεγονός που ενεργοποιεί κάθε σήμα. Το σύμβολο που δείχνει δύο γραμμές (υψηλή και χαμηλή) ταυτόχρονα στις γραμμές δεδομένων, δηλώνει ότι οι γραμμές δεδομένων έχουν έγκυρα δεδομένα σε αυτό το σημείο. (Το σύμβολο δηλώνει ότι τα δεδομένα είναι έγκυρα, αλλά η τιμή τους είναι άγνωστη)

Τέλος παραδείγματος