Παράλειψη περιήγησης

Προσπέλαση συσκευών εισόδου-εξόδου

Προσπέλαση συκευών εισόδου-εξόδου

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

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

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

Αξίζει να αναφερθεί ακόμη ότι στην αγορά υπάρχουν ολοκληρωμένα κυκλώματα θυρών εισόδου-εξόδου (τεχνολογίας LSI) τα οποία μπορούν να χρησιμοποιηθούν για το χειρισμό πολύπλοκων καταστάσεων εισόδου-εξόδου όπως π.χ.
μετατροπή παράλληλης επικοινωνίας σε σειριακή και αντίστροφα. Τα ολοκληρωμένα αυτά κυκλώματα είναι συνήθως προγραμματιζόμενες συσκευές, με την έννοια ότι μπορούν να διαμορφωθούν σα θύρες εισόδου, εξόδου ή διπλής κατεύθυνσης (εισόδου και εξόδου).

Άσκηση

 

Ερώτηση 1

Λειτουργία Ι/Ο ονομάζουμε την επικοινωνία μεταξύ μνήμης και μ/Ε.

Ερώτηση 2

Λειτουργία Ι/Ο ονομάζουμε την επικοινωνία μεταξύ μνήμης και περιφερειακών συσκευών.

Ερώτηση 3

Λειτουργία Ι/Ο ονομάζουμε την επικοινωνία μεταξύ μ/Ε και περιφερειακών συσκευών.

Ερώτηση 4

Λειτουργία Ι/Ο ονομάζουμε την πολυπλεξία του διαδρόμου διευθύνσεων και του διαδρόμου δεδομένων.

Άσκηση

- Η μεταφορά δεδομένων μεταξύ της και των μονάδων εισόδου-εξόδου ή του μ/Ε και των μονάδων εισόδου-εξόδου, ονομάζεται .

- Για την επικοινωνία με τον μ/Ε, η δε ζητάει εξυπηρέτηση από τον μ/Ε, ενώ η ζητάει.

- Ο μ/Ε ανταλλάσει δεδομένα με τη μνήμη χρησιμοποιώντας μια μνήμης .

- Μια θύρα εισόδου αποτελείται από ένα τριών καταστάσεων για κάθε bit.

- Μια θύρα εξόδου αποτελείται από ένα για κάθε bit.

Ενεργοποίηση JavaScript

Διευθυνσιοδότηση συσκευών Ι/Ο

Οι θύρες εισόδου-εξόδου μπορούν να προσπελαστούν με ένα από δύο τρόπους: είτε ως κοινές θέσεις μνήμης, είτε με ειδικές εντολές. Έτσι, υπάρχουν δύο τεχνικές χειρισμού των θυρών εισόδου-εξόδου. Η τεχνική μέσω ειδικών εντολών εισόδου εξόδου (isolated I/O) και η τεχνική με απεικόνιση μνήμης (memory mapped).

  • Είσοδος-έξοδος με ειδικές εντολές

Στην ξεχωριστή ή απομονωμένη είσοδο-έξοδο (isolated I/O) η μεταφορά των δεδομένων γίνεται χρησιμοποιώντας δύο ειδικές εντολές, οι οποίες σε συμβολική γλώσσα ονομάζονται συνήθως IN και OUT. Η διακίνηση των δεδομένων πραγματοποιείται μέσω του συσσωρευτή. Έτσι, με την εντολή εισόδου το περιεχόμενο του απομονωτή της θύρας μεταφέρεται στο συσσωρευτή, ενώ στην εντολή εξόδου συμβαίνει το αντίστροφο. Κατά τη μεταφορά, η διεύθυνση της θύρας μπαίνει στο διάδρομο διευθύνσεων. Οι εντολές εισόδου-εξόδου απομονώνουν τη μνήμη από τις θύρες εισόδου-εξόδου έτσι ώστε ο χώρος μνήμης να μην επηρεάζεται από το χώρο των θυρών εισόδου- εξόδου. Έτσι, οι διευθύνσεις των θυρών εισόδου-εξόδου δεν αποτελούν τμήμα των διευθύνσεων μνήμης. Γι’ αυτό το λόγο, στο διάδρομο ελέγχου εκτός από τα σήματα που μας δίνουν τη δυνατότητα να αναγνωρίσουμε αν έχουμε ανάγνωση ή εγγραφή, έχουμε και επιπρόσθετα σήματα που μας πληροφορούν αν η προσπέλαση γίνεται σε μνήμη ή περιφερειακή συσκευή. Με την απομονωμένη είσοδο-έξοδο ο μικροϋπολογιστής μπορεί να διαθέσει όλες τις δυνατές διευθύνσεις του για μνήμη.

  • Είσοδος-έξοδος με απεικόνιση μνήμης

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

Η είσοδος-έξοδος με απεικόνιση μνήμης έχει τα ακόλουθα πλεονεκτήματα:

• Εντολές αναφοράς στη μνήμη μπορούν να χρησιμοποιηθούν και για είσοδο-έξοδο (για παράδειγμα, μπορούν να γίνουν αριθμητικές πράξεις με τα περιεχόμενα μίας θύρας εισόδου ή εξόδου χωρίς να τοποθετηθούν τα δεδομένα της σε προσωρινούς καταχωρητές.
• Οι περισσότεροι καταχωρητές του μικροεπεξεργαστή μπορούν να ανταλλάξουν πληροφορίες με συσκευές εισόδου-εξόδου, σε αντίθεση με την τεχνική εισόδου - εξόδου με ειδικές εντολές (στις οποίες η μεταφορά δεδομένων γίνεται, όπως είδαμε, από και προς τον συσσωρευτή).

Τα μειονεκτήματα της τεχνικής αυτής είναι ότι:

• Μειώνεται το πλήθος των θέσεων μνήμης που μπορεί να προσπελάσει ο μικροεπεξεργαστής.
• Οι εντολές προσπέλασης μνήμης είναι συνήθως μεγαλύτερες από τις εντολές τύπου εισόδου-εξόδου (για παράδειγμα, στο μικροεπεξεργαστή 8085 οι εντολές προσπέλασης μνήμης είναι συνήθως τριών bytes, ενώ οι ειδικές εντολές εισόδου-εξόδου είναι μόνο δύο bytes). Έτσι, το μήκος του προγράμματος αυξάνει.

Άσκηση

Να αναφέρετε τους τρόπους διευθυνσιοδότησης συσκευών εισόδου–εξόδου σε ένα μικροϋπολογιστικό σύστημα.

Άσκηση

Να αναφέρετε τα πλεονεκτήματα και τα μειονεκτήματα των 2 τρόπων διευθυνσιοδότησης συσκευών Ι/Ο.

Τρόποι προσπέλασης συσκευών Ι/Ο

Άσκηση

Να αναφέρετε τους τρόπους με τους οποίους μπορεί να εξυπηρετήσει (προσπελάσει) ο μ/Ε μια μονάδα Ι/Ο.

Είσοδος-Έξοδος δεδομένων ελεγχόμενη από το πρόγραμμα

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

Το πρόγραμμα καθορίζει ποια συσκευή πρόκειται να εξυπηρετηθεί εξετάζοντας τα bits ενός καταχωρητή κατάστασης. Η εξέταση των bits αυτών ονομάζεται περιόδευση (polling), ενώ το πρόγραμμα που χρησιμοποιείται λέγεται βρόγχος περιόδευσης (polling loop). To πρόγραμμα εκτελεί το βρόγχο περιόδευσης ελέγχοντας διαδοχικά όλες τις συσκευές που είναι συνδεδεμένες στο διάδρομο δεδομένων και εξετάζοντας αν κάποιες από αυτές ζητούν εξυπηρέτηση.

Τα πλεονεκτήματα της τεχνικής περιόδευσης είναι τα ακόλουθα:

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

Τα μειονεκτήματα της μεθόδου αυτής είναι:
• Το γεγονός ότι ελέγχονται όλες οι συσκευές κάθε φορά που ξεκινάει ένας βρόγχος περιόδευσης, ενώ πρακτικά οι περισσότερες δε θα χρειάζονται εξυπηρέτηση.
• Το χρονικό διάστημα μεταξύ της χρονικής στιγμής που μια συσκευή εισόδου-εξόδου είναι έτοιμη και της χρονικής στιγμής κατά την οποία θα εξυπηρετηθεί δεν είναι συγκεκριμένο.

Άσκηση

Περιγράψτε τον τρόπο προσπέλασης συσκευών εισόδου-εξόδου ελεγχόμενη από πρόγραμμα.

Άσκηση

Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα της τεχνικής περιόδευσης (polling);


(c) Αμπατζόγλου Γιάννης, MSc  Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ84

Αδειοδοτημένο υπό τους όρους Creative Commons Αναφορά Δημιουργού 4.0

Δημιουργήθηκε με το eXeLearning (Νέο παράθυρο)