ΚΕΦΑΛΑΙ0 V ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΟΣ ΕΙΣΟΔΟΥ-ΕΞΟΔΟΥ 5.1 ΠΑΡΑΛΛΗΛΗ ΕΠΙΚΟΙΝΩΝΙΑ Μια απ τις ουσιαστικές απαιτήσεις ενός οποιουδήποτε πρακτικού μικροϋπολογιστικού συστήματος είναι η ικανότητα να ανταλλάσσει δεδομένα μεταξύ του μικροεπεξεργαστή και του έξω κόσμου. Αυτό επιτυγχάνεται με τη χρήση ειδικών καναλιών εισόδου/εξόδου, που ονομάζονται πόρτες ή θύρες [Input/Output (I/O) Ports]. Η απλούστερη και ταχύτερη μεταφορά δεδομένων εισόδου/εξόδου μετακινεί όλα τα ψηφία της λέξης δεδομένων ταυτόχρονα πάνω σ' ένα σύνολο παράλληλων γραμμών με τον ίδιο τρόπο που τα δεδομένα μεταφέρονται πάνω στον κύριο διάδρομο δεδομένων του υπολογιστή. Παρακάτω θα εξετάσουμε μερικές απ τις τεχνικές που χρησιμοποιούνται, για να δώσουν αυτή τη μέθοδο μεταφοράς, που είναι γνωστή ως "παράλληλη" Είσοδος/Έξοδος (Parallel Input Output ή ΡΙΟ). 5.1.1 Χρήση ειδικών καταχωρητών εισόδου και εξόδου του μικροεπεξεργαστή Σ' έναν μικροϋπολογιστή, που είναι σχεδιασμένος πάνω σ' ένα ολοκληρωμένο κύκλωμα, τα κυκλώματα προσαρμογής (Interfaces), μεταξύ των περιφερειακών μονάδων εισόδου/εξόδου και του μικροεπεξεργαστή, γίνονται διαμέσου κάποιων επιπρόσθετων καταχωρητών, που βρίσκονται πάνω στο ίδιο ολοκληρωμένο και μάλιστα μέσα στο μικροεπεξεργαστή. Οι καταχωρητές αυτοί έχουν σχεδιασθεί γι' αυτήν ακριβώς τη δουλειά και συνδέονται με τον τρόπο που φαίνεται στο σχήμα 5.1. Εδώ ο καταχωρητής της πόρτας εξόδου δίνει τα δεδομένα εξόδου. Οι λογικές καταστάσεις των επιμέρους ψηφίων αυτού του καταχωρητή βγαίνουν στον έξω κόσμο, διαμέσου οδηγών κυκλωμάτων, σε ξεχωριστούς ακροδέκτες του ολοκληρωμένου. Όταν πρόκειται μια λέξη δεδομένων να βγει έξω απ το μικροεπεξεργαστή, το πρώτο βήμα είναι να φορτωθεί η λέξη δεδομένων απ τη μνήμη στο συσσωρευτή. Κατόπιν, μετά τη χρήση, και αφού δοθεί απ το μικροεπεξεργαστή η ανάλογη εντολή μεταφοράς δεδομέ- Δ. Πογαρίδη
Κεφάλαιο V νων, τα δεδομένα αυτά μεταφέρονται απ το συσσωρευτή στον καταχωρητή της πόρτας εξόδου, απ' όπου στη συνέχεια θα βγουν πάνω στις γραμμές δεδομένων εξόδου (Outputs). Ο καταχωρητής της πόρτας εισόδου χρησιμοποιείται για την είσοδο των δεδομένων. Εδώ τα δεδομένα οδηγούνται στις γραμμές εισόδου του καταχωρητή C. Όταν πρόκειται δεδομένα να εισαχθούν στο μικροεπεξεργαστή, τότε χρησιμοποιείται μια εντολή μεταφοράς δεδομένων, που μεταφέρει στο συσσωρευτή τα δεδομένα που είναι παρόντα ε- κείνη τη στιγμή στις εισόδους του καταχωρητή της πόρτας εισόδου. Συσσωρευτής Μονάδα Ελέγχου Πόρτα Εξόδου Πόρτα Εισόδου Εξόδου Εισόδου Σχήμα 5.1 Μορφή Ι/Ο με καταχωρητές σχεδιασμένους πάνω στο μικροεπεξεργαστή. Και στις δύο παραπάνω περιπτώσεις, η μεταφορά δεδομένων μεταξύ των γραμμών εισόδου/εξόδου και του μικροεπεξεργαστή ελέγχεται άμεσα από κάποιες εντολές μεταφοράς δεδομένων και οι γραμμές σημάτων είναι μόνιμα αφιερωμένες στους ρόλους εισόδου/εξόδου. 5.1.2 Είσοδος-Έξοδος με εξωτερικούς καταχωρητές Οι μικροεπεξεργαστές γενικού σκοπού δεν έχουν σχεδιασμένους μέσα τους καταχωρητές εισόδου/εξόδου. Αυτό σημαίνει ότι οι καταχωρητές αυτοί πρέπει να προστεθούν εξωτερικά και τα δεδομένα πρέπει να μεταφερθούν μεταξύ του συσσωρευτή και των καταχωρητών Ι/Ο διαμέσου του διαδρόμου δεδομένων. Για το σκοπό αυτό ο κατάλογος εντολών του μικροεπεξεργαστή μπορεί να περιέχει ειδικές εντολές, όπως ΙN ή OUT. Κάτω από κανονικές συνθήκες λειτουργίας, ο διάδρομος δεδομένων μεταφέρει δε- 242 Σχεδίαση Συστημάτων Μικροϋπολογιστών
δομένα μεταξύ του μικροεπεξεργαστή και της μνήμης και οι μεταφορές δεδομένων γίνονται χρησιμοποιώντας εντολές φόρτωσης (LOAD) και αποθήκευσης (STORE). Όταν πρόκειται να γίνει μεταφορά δεδομένων μεταξύ του μικροεπεξεργαστή και του καταχωρητή μιας πόρτας Ι/Ο, τότε χρησιμοποιείται ένα επιπλέον σήμα ελέγχου (Μ/ΙΟ), που επιλέγει για να συνδέσει στο διάδρομο δεδομένων τον καταχωρητή της πόρτας Ι/Ο αντί για τη μνήμη. Οι ειδικές εντολές μεταφοράς ΙΝ ή OUT θα τοποθετήσουν αυτόματα στην απαιτούμενη κατάσταση τη γραμμή ελέγχου Μ/ΙΟ. Ένας απλός κωδικός εντολής IN ή OUT επιτρέπει πρόσβαση μόνο σ' ένα κανάλι Ι/Ο. Η πρόσθεση ενός τελεστέου στην εντολή ΙΝ ή OUT μπορεί να επεκτείνει τις δυνατότητές της. O τελεστέος δίνει τη διεύθυνση του καταχωρητή της πόρτας Ι/Ο προς ή απ τον οποίο θα γίνει η μεταφορά δεδομένων. Η διεύθυνση αυτή πηγαίνει, διαμέσου του διαδρόμου διευθύνσεων, σ' έναν αποκωδικοποιητή διευθύνσεων, όπου γίνεται η αποκωδικοποίησή της και η επιλογή του καταχωρητή της συγκεκριμένης πόρτας Ι/Ο. Μικροεπεξεργαστής M / IO Διάδρομος Δεδομένων Αποκωδικοποιητής Διευθύνσεων Διάδρομος Διευθύνσεων Πόρτα Εξόδου Πόρτα Εισόδου Εξόδου Εισόδου Σχήμα 5.2 Μορφή Ι/Ο που χρησιμοποιεί εξωτερικούς καταχωρητές, οι οποίοι εντοπίζονται απ το μικροεπεξεργαστή μέσω των γραμμών και των εντολών IN ή OUT. Η παραπάνω μέθοδος, που φαίνεται στο διάγραμμα βαθμίδας του σχήματος 5.2, χρησιμοποιείται στο μικροεπεξεργαστή Ζ80, όπου οι 8 χαμηλότερες γραμμές του διαδρόμου διευθύνσεων μπορούν να επιλέγουν ένα απ τα 256 κανάλια Ι/Ο, όταν χρησιμοποιείται μια εντολή ΙΝ ή OUT. 5.1.3 Είσοδος-Έξοδος χαρτογραφημένη σε μνήμη Μερικοί μικροεπεξεργαστές, όπως η σειρά 6800 της Motorola, δεν έχουν ούτε εσωτερικούς καταχωρητές Ι/Ο ούτε ειδικές εντολές ΙΝ ή OUT. Αυτός ο τύπος του μικροεπεξεργαστή μεταχειρίζεται όλες τις μεταφορές δεδομένων διαμέσου του διαδρόμου δεδομένων σαν λειτουργίες ανάγνωσης ή εγγραφής στη μνήμη. Στην περίπτωση αυτή χρησιμοποιείται ο διάδρομος δεδομένων για τη μεταφορά δεδομένων από και προς τους Δ. Πογαρίδη 243
Κεφάλαιο V εξωτερικούς καταχωρητές Ι/Ο με το να θεωρούνται οι καταχωρητές αυτοί σαν θέσεις μνήμης του μικροϋπολογιστή. Σε κάθε καταχωρητή πόρτας εισόδου/εξόδου δίνεται μια διεύθυνση και τα δεδομένα μεταφέρονται από και προς τους καταχωρητές αυτούς με τη χρησιμοποίηση της ίδιας εντολής αποθήκευσης ή φόρτωσης που θα χρησιμοποιούνταν για μεταφορά δεδομένων μεταξύ μικροεπεξεργαστή και μνήμης. Οι διευθύνσεις που χρησιμοποιούνται για τις πόρτες Ι/Ο τώρα καταλαμβάνουν μέρος απ το χάρτη διευθύνσεων της μνήμης. Αυτή η μορφή Ι/Ο αναφέρεται συχνά ως είσοδος/έξοδος χαρτογραφημένη στη μνήμη (Memory Mappe I/O). Στο σχήμα 5.3 φαίνεται σε διάγραμμα βαθμίδων μια τέτοιας μορφής πόρτα εξόδου. Όταν πρόκειται δεδομένα να βγουν προς τα έξω, η διαδικασία που ακολουθείται είναι η παρακάτω και είναι ίδια με εκείνη της εγγραφής στη μνήμη. 1. Τα δεδομένα τοποθετούνται πάνω στο διάδρομο δεδομένων. 2. Η διεύθυνση, στην οποία ανταποκρίνεται ο καταχωρητής της πόρτας, τοποθετείται στο διάδρομο διευθύνσεων και αποκωδικοποιείται διαμέσου του αποκωδικοποιητή διευθύνσεων. 3. Η γραμμή ( R / W ) του μικροεπεξεργαστή γίνεται "0" για εγγραφή. 4. Η γραμμή ( R / W ) μαζί με την έξοδο του αποκωδικοποιητή διευθύνσεων, διαμέσου μιας πύλης AND, ενεργοποιούν το συγκεκριμένο καταχωρητή εξόδου, στον ο- ποίο θα μεταφερθούν τα δεδομένα. Μικροεπεξεργαστής R / W VMA Διάδρομος Δεδομένων Αποκωδικοποιητής Διευθύνσεων Πόρτα Εξόδου Εξόδου Διάδρομος Διευθύνσεων Σχήμα 5.3 Χαρτογραφημένη στη μνήμη (Memory Mappe) πόρτα εξόδου, που εντοπίζεται με τη χρήση μιας εντολής STORE. Απ τη στιγμή που τα δεδομένα έχουν γραφτεί στον καταχωρητή εξόδου, θα συνεχίσουν να κρατούνται εκεί μέχρι που να γίνει, απ το μικροεπεξεργαστή, νέα εγγραφή στην επιλεγόμενη διεύθυνση. Είναι σημαντικό να συμπεριληφθεί η γραμμή ( R / W ) στην αποκωδικοποίηση, έτσι 244 Σχεδίαση Συστημάτων Μικροϋπολογιστών
ώστε ο καταχωρητής να μην ανταποκριθεί αν ο μικροεπεξεργαστής επιλέξει τη διεύθυνση, που είναι αφιερωμένη σ' αυτόν τον καταχωρητή, για μια λειτουργία ανάγνωσης. Μια πόρτα εισόδου μπορεί να αποτελείται από έναν καταχωρητή μανταλωτή εισόδου, που τροφοδοτεί δεδομένα πάνω στο διάδρομο δεδομένων, όπως φαίνεται στο σχήμα 5.4. Η διαδικασία ανάγνωσης του καταχωρητή είναι αυτή που αναφέρεται παρακάτω και είναι η ίδια με τη διαδικασία ανάγνωσης μιας θέσης μνήμης. 1. Η διεύθυνση του καταχωρητή της πόρτας τοποθετείται στο διάδρομο διευθύνσεων και αποκωδικοποιείται απ τον αποκωδικοποιητή διευθύνσεων. 2. Η γραμμή ( R / W ) του μικροεπεξεργαστή γίνεται "1" για ανάγνωση. 3. Η γραμμή ( R / W ) μαζί με την έξοδο του αποκωδικοποιητή διευθύνσεων διαμέσου μιας πύλης AND ενεργοποιούν το συγκεκριμένο καταχωρητή εξόδου. 4. Τα δεδομένα τοποθετούνται απ τον καταχωρητή της πόρτας στο διάδρομο δεδομένων και μεταφέρονται στο μικροεπεξεργαστή. Διάδρομος Δεδομένων Μικροεπεξεργαστής R / W VMA Αποκωδικοποιητής Διευθύνσεων Πόρτα Εισόδου Εισόδου Διάδρομος Διευθύνσεων Σχήμα 5.4 Χαρτογραφημένη στη μνήμη (Memory Mappe) πόρτα εισόδου, που εντοπίζεται με μια εντολή LOAD. 5.1.4 Σήματα χειραψίας Μέχρι τώρα αναφέρθηκε ότι οι πόρτες εξόδου θα δώσουν κάποια συγκεκριμένη λέξη δεδομένων στις γραμμές εξόδου οποτεδήποτε τους δοθεί κάποια εντολή απ τον υ- πολογιστή. Αυτό είναι απόλυτα ικανοποιητικό στο βαθμό που η εξωτερική μονάδα που πρόκειται να δεχθεί τα δεδομένα είναι πάντα έτοιμη να δεχθεί νέα δεδομένα. Δυστυχώς όμως αυτό δεν συμβαίνει πάντοτε. Θεωρούμε, για παράδειγμα, την περίπτωση όπου η εξωτερική μονάδα είναι ένας ε- κτυπωτής. Όταν στον εκτυπωτή σταλούν δεδομένα, αυτός θα επιλέξει ένα συγκεκριμένο χαρακτήρα και θα τον τυπώσει. Η διαδικασία εκτύπωσης του χαρακτήρα χρειάζεται κάποιο χρόνο, κατά τη διάρκεια του οποίου ο εκτυπωτής δεν μπορεί να δεχθεί ένα νέο χαρακτήρα. Έτσι, ενώ ο υπολογιστής μπορεί να στέλνει δεδομένα χαρακτήρων με μια Δ. Πογαρίδη 245
Κεφάλαιο V ταχύτητα x, ο εκτυπωτής μπορεί να τα τυπώνει με μια ταχύτητα y, που είναι κατά πολύ μικρότερη απ τη x. Αυτό δημιουργεί προβλήματα χρονισμού μεταξύ του υπολογιστή και του εκτυπωτή. Αν είναι γνωστός ο χρόνος που χρειάζεται ο εκτυπωτής για να τυπώσει κάποιο σύμβολο, τότε μπορεί να γραφτεί κάποιο πρόγραμμα που θα υποχρεώνει τον υπολογιστή να περιμένει για κάποιο χρονικό διάστημα προτού στείλει τα δεδομένα του επόμενου συμβόλου. Αυτή όμως δεν είναι η καλύτερη λύση, γιατί κάθε φορά που θα άλλαζε ο εκτυπωτής, θα έπρεπε να τροποποιείται και το πρόγραμμα, αφού η ταχύτητα εκτύπωσης διαφέρει από εκτυπωτή σε εκτυπωτή. Μικροεπεξεργαστής Διάδρομος Δεδομένων Γραμμή Stroe Γραμμή Κατάστασης Εκτυπωτής (α) Σήμα Κατάστασης Δεδομένα Σήμα Stroe Εκτυπωτής έτοιμος Δεδομένα έτοιμα Μεταφορά Δεδομένων Μεταφορά πλήρης Εκτυπωτής απασχολημένος (β) Σχήμα 5.5 α) Οι γραμμές χειραψίας STROBE και κατάστασης (STATUS) και ο σχετικός χρονισμός τους σε μια πόρτα δεδομένων. Εκείνο που πραγματικά χρειάζεται, σε παρόμοιες περιπτώσεις, είναι να βρεθεί κάποιος τρόπος, που η εξωτερική μονάδα να μπορεί να ενημερώνει τον υπολογιστή ότι είναι έτοιμη να δεχθεί κάποια νέα δεδομένα. Αυτό επιτυγχάνεται με το να προστεθεί ένα επιπλέον ζευγάρι γραμμών στα κυκλώματα προσαρμογής εισόδου/εξόδου. Τα σήματα, που θα μεταφέρονται πάνω σ' αυτές τις γραμμές, είναι σήματα συνεννόησης μεταξύ του μικροεπεξεργαστή και της περιφερειακής μονάδας και ονομάζονται σήματα "χειραψίας" (Hanshake Sinals). Η μια γραμμή θα είναι μια έξοδος απ το μικροεπεξεργαστή προς την περιφερειακή μονάδα και θα δείχνει ότι νέα δεδομένα είναι διαθέσιμα στην έξοδο του μικροεπεξεργαστή. Η δεύτερη γραμμή θα είναι μια είσοδος απ την εξωτερι- 246 Σχεδίαση Συστημάτων Μικροϋπολογιστών
κή μονάδα προς το μικροεπεξεργαστή, που θα δείχνει ότι είναι έτοιμη να δεχθεί νέα δεδομένα. Μια τέτοια συνδεσμολογία φαίνεται στο σχήμα 5.5. Όταν ο υπολογιστής έχει κάποια δεδομένα έτοιμα για να δώσει στον εκτυπωτή, πρώτα απ' όλα θα ελέγξει την κατάσταση του σήματος χειραψίας εισόδου. Αυτό το σήμα συνήθως ονομάζεται "κατάσταση εισόδου" (Input Status). Αν ο εκτυπωτής δείξει ότι δεν είναι ακόμα έτοιμος, κάνοντας "0" αυτή τη γραμμή, ο μικροεπεξεργαστής θα περιμένει ελέγχοντας κάθε τόσο την κατάσταση εισόδου. Όταν ο εκτυπωτής είναι έτοιμος, τότε θα κάνει "1" τη γραμμή κατάστασης. Μόλις ο υπολογιστής ανιχνεύσει το "1" της γραμμής κατάστασης, θα στείλει την επόμενη λέξη δεδομένων στον εκτυπωτή, διαμέσου της πόρτας εξόδου, και ταυτόχρονα θα κάνει "1" τη δική του γραμμή χειραψίας. Αυτή η γραμμή χειραψίας ονομάζεται και "έξοδος Stroe" και μπορεί να χρησιμοποιηθεί απ τον εκτυπωτή ως ο ωρολογιακός παλμός, που θα διώξει τα δεδομένα απ τις παράλληλες γραμμές δεδομένων, έτοιμος για νέα εκτύπωση. Όταν έχει δεχθεί τα νέα δεδομένα, ο εκτυπωτής κάνει "0" τη γραμμή κατάστασής του, για να δείξει ότι είναι απασχολημένος εκτυπώνοντας κάποιο χαρακτήρα. Όταν το "0" εντοπισθεί πάνω στη γραμμή κατάστασης του εκτυπωτή, ο υπολογιστής τοποθετεί την έξοδο stroe πίσω στην κατάσταση "0", για να δείξει ότι τα δεδομένα δεν είναι πια νέα και ότι όλη η διαδικασία χειραψίας μπορεί να αρχίσει ξανά. Αυτή η διαδικασία χειραψίας επαναλαμβάνεται μεταξύ του υπολογιστή και της ε- ξωτερικής μονάδας για κάθε yte δεδομένων, που μεταφέρεται διαμέσου της πόρτας δεδομένων. Όταν η πόρτα χρησιμοποιείται για την είσοδο δεδομένων στον υπολογιστή, οι ρόλοι των γραμμών χειραψίας αντιστρέφονται. Τώρα η γραμμή χειραψίας εξόδου λειτουργεί ως σήμα κατάστασης, για να δείξει ότι ο υπολογιστής είναι έτοιμος να δεχθεί νέα δεδομένα και η γραμμή εισόδου ως σήμα stroe, που σηματοδοτεί το μικροεπεξεργαστή ότι μπορεί να γίνει ανάγνωση νέων δεδομένων διαμέσου της πόρτας. 5.1.5 Πόρτες δεδομένων δύο κατευθύνσεων Έως τώρα έχουν εξεταστεί πόρτες εισόδου/εξόδου, όπου οι εξωτερικές συνδέσεις είναι μόνιμα συνδεδεμένες είτε ως είσοδος είτε ως έξοδος. Για ένα μικροϋπολογιστή, που είναι σχεδιασμένος πάνω σ' ένα μόνο ολοκληρωμένο, όπου ο αριθμός των ακροδεκτών, που βγαίνουν απ' το ολοκληρωμένο, είναι περιορισμένος, αυτό αποτελεί ένα μειονέκτημα. Ας υποτεθεί ότι ένας μικροϋπολογιστής έχει, για παράδειγμα, οκτώ εισόδους και οκτώ εξόδους. Πολύ συχνά παρατηρείται ότι μερικές πρακτικές εφαρμογές χρειάζονται 12 εισόδους και 4 εξόδους ή 6 εισόδους και 10 εξόδους. Θα έπρεπε λοιπόν να κατασκευαστεί ένας μικροϋπολογιστής για κάθε εφαρμογή, πράγμα που δεν είναι καθόλου πρακτικό. Το πρόβλημα αυτό θα μπορούσε να λυθεί με το να μπορέσουν οι ακροδέκτες εισόδου/εξόδου να λειτουργούν είτε ως είσοδος είτε ως έξοδος, ανάλογα με τις ανάγκες του χρήστη. Αυτή η μορφή της πόρτας δεδομένων ονομάζεται πόρτα δύο κατευθύνσεων. Μία πόρτα δύο κατευθύνσεων έχει ξεχωριστούς καταχωρητές για τα δεδομένα ει- Δ. Πογαρίδη 247
Ερωτήσεις-Ασκήσεις-Προβλήματα 5.1 Γιατί ο 68000 διαθέτει δυνατότητες σύγχρονης και ασύγχρονης διασύνδεσης; 5.2 Ποια απ τα παρακάτω δεν είναι χαρακτηριστικά του 6821 PIA; α. Δυνατότητα προγραμματισμού. β. Δυνατότητα διακοπής. γ. Δυνατότητα χειραψίας. δ. Χειρισμός παράλληλων δεδομένων. ε. Χρονιστής. 5.3 Ποιο θα είναι το αποτέλεσμα της φόρτωσης των παρακάτω δεδομένων στους αντίστοιχους καταχωρητές του PI/T; α. $00 = PADDR (υποθέστε μορφή 0) β. $50 = PADDR (υποθέστε μορφή 0) γ. $FA = PADDR (υποθέστε μορφή 0) δ. $5A = PADDR (υποθέστε μορφή 3) ε. $00 = PGCR στ. $F0 =PGCR ζ. $18 = PSRR 5.4 Γράψτε μια υπορουτίνα αρχικοποίησης του 68230 PI/T, που θα κάνει την πόρτα Α είσοδο 8 ψηφίων διπλού απομονωτή και την πόρτα Β έξοδο 8 ψηφίων διπλού απομονωτή. Ο PI/T πρόκειται να λειτουργήσει σε μορφή οδήγησης διακοπών και όλα τα σήματα ελέγχου είναι ενεργά χαμηλά. Η πόρτα Α χρησιμοποιεί τη γραμμή H2 σε πλήρως κλειδωμένη μορφή χειραψίας και η πόρτα Β χρησιμοποιεί την γραμμή H4 σε μορφή παλμικής χειραψίας. 5.5 Γράψτε ένα πρόγραμμα που θα κάνει τον PI/T ρολόι πραγματικού χρόνου με συχνότητα 50Ηz. Υποθέστε ότι το ρολόι του συστήματος είναι 10ΜHz. 5.6 Σύγκρινε την ασύγχρονη με τη σύγχρονη σειριακή επικοινωνία σε σχέση με τα παρακάτω: α. Ποια χρησιμοποιεί ψηφία START και STOP; β. Ποια χρησιμοποιεί ειδικούς χαρακτήρες συγχρονισμού; γ. Ποια έχει απόδοση μεταφοράς περίπου 98%; δ. Ποια είναι καλύτερη για εκπομπή μεγάλης ταχύτητας μεγάλων σχηματισμών δεδομένων. 5.7 Όταν συνδέεται μια συσκευή εισόδου/εξόδου σ' ένα μικροϋπολογιστή ο όρος "χειραψία" αναφέρεται: α. Στην μετατροπή των παράλληλων δεδομένων της CPU σε σειριακή μορφή για εκπομπή σε μια συσκευή Ι/Ο. β. Στην ανταλλαγή σημάτων ελέγχου μεταξύ της CPU και της συσκευής Ι/Ο. γ. Σε κύκλωμα που εξασφαλίζει ότι οι στάθμες τάσης της συσκευής Ι/Ο είναι συμβατές με αυτές της CPU. δ. Στο ότι η συσκευή Ι/Ο έχει τον έλεγχο των διαδρόμων όταν δεν τους χρησιμοποιεί η CPU. Δ. Πογαρίδη 331
Κεφάλαιο V 5.8 Ο καταχωρητής κατάστασης του 6850 ACIA έχει διαβαστεί και βρέθηκε να έχει τις παρακάτω τιμές. Πως ερμηνεύονται; α. $10 β. $01 γ. $43 δ. $02 5.9 Ποιες είναι οι λειτουργίες των γραμμών CTS, DCD και RTS του 6850 ACIA; 5.10 Σε ποιόν απ τους παρακάτω καταχωρητές του UART είναι καταχωρημένη η πληροφορία που καθορίζει τα χαρακτηριστικά της σειριακής μεταφοράς μεταξύ ενός UART και μιας συσκευής I/O. α. Καταχωρητής εκπομπής δεδομένων. β. Καταχωρητής ελέγχου. γ. Καταχωρητής λήψης δεδομένων. δ. Σειριακός καταχωρητής. ε. Καταχωρητής κατάστασης 5.11 Να γραφτεί μια υπορουτίνα που θα ανάβει το LED ΑΝΩ, που φαίνεται στο σχήμα 5.62, μετρώντας έως το 10 (0,1,...9). Στη συνέχεια θα επαναλαμβάνει τη μέτρηση για κάθε μια απ τις άλλες κατευθύνσεις με τη σειρά: ΑΝΩ, ΚΑΤΩ, ΑΡΙΣΤΕΡΑ, ΔΕΞΙΑ. Μόνο ένα LED κάθε φορά. Τα ψηφία θα αλλάζουν στον ενδείκτη με ταχύτητα ενός ψηφίου το δευτερόλεπτο. +5V 150Ω ΑΝΩ PA7 PA0 68230 PI/T D C B A Οδηγός BCD σε 7 τμήματα Σχήμα 5.62 150Ω ΚΑΤΩ ΑΡΙΣΤΕΡΑ ΔΕΞΙΑ a c f e f e 5.12 Ερμηνεύστε τις παρακάτω τιμές των καταχωρητών του DUART. α. CSRA=$7D όταν ACR=$80 β. MR1A=$00 γ. MR1A=$FB δ. SRA=$00 ε. SRA=$FF στ. MR2B=$3F ζ. ACR=$F1 η. CRA=$05 5.13 Στο σχήμα 5.63 φαίνεται ένα ολοκληρωμένο 14499 της Motorola που είναι ένας πολυπλεγμένος οδηγός ενδείκτη συνδεδεμένος σ ένα ενδείκτη εφτά τμημάτων. Το 14499 κάνει όλη τη δουλειά που χρειάζεται για να γεννηθεί η πολυπλεγμένη ένδειξη τεσσάρων ψηφίων BCD. Αν η είσοδος ENABLE είναι χαμηλή, τα δεδομένα κλειδώνονται στο 14499 με την πτώση του παλμού χρονισμού. Τα ψηφία κλειδώνονται a c 332 Σχεδίαση Συστημάτων Μικροϋπολογιστών
στο 14499 με την παρακάτω μορφή: DP1 έως DP4, μετά το MSB έως LSB του πρώτου δεκαδικού ψηφίου, ακολουθούμενο απ τα δυαδικά ψηφία των άλλων τριών δεκαδικών ψηφίων. Συνολικά 20 ψηφία πρέπει να εισαχθούν στο 14499 δια μέσου των ψηφίων της οκταψήφιας πόρτας εξόδου. Να γραφτεί μια υπορουτίνα που θα βγάζει έξω τον αριθμό τεσσάρων δεκαδικών ψηφίων που είναι αποθηκευμένος στον καταχωρητή D7. Μόνο το κόμμα του τέταρτου ψηφίου θα ενεργοποιηθεί. 7 2 1 0 Οκταψήφια πόρτα στη διεύθυνση $880000 Πολυπλεγμένος οδηγός ενδείκτη 14499 Δεδομένα ΕNABLE a c f e f e Ψηφίο 1 1 2 3 4 a c a a a a a a c f c f c f e e e f e c f e c f e Ψηφίο 2 Ψηφίο 3 Ψηφίο 4 c Σχήμα 5.63 5.14 Ποιο απ τα παρακάτω δεν είναι χαρακτηριστικό του ολοκληρωμένου σειριακής επικοινωνίας 68681 DUART; α. Καθορίζει την ύπαρξη και τη μορφή του ψηφίου ισοτιμίας. β. Διακόπτει το μικροεπεξεργαστή όταν αυτό απαιτείται. γ. Καθορίζει το ρυθμό εκπομπής, τον αριθμό των ψηφίων της ψηφιολέξης και τον αριθμό των ψηφίων STOP. δ. Διαθέτει γραμμές που μπορούν να προγραμματιστούν να λειτουργούν ως γραμμές χειραψίας RTS και DTR. ε. Μετατρέπει την παράλληλη δυαδική πληροφορία, που παίρνει απ το μικροεπεξεργαστή, σε σειριακή, στη συνεχεία την μετατρέπει από 0-5V σε (+13)-(-13)V και την εκπέμπει σε μια απομακρυσμένη συσκευή. 5.15 Με βάση το διάγραμμα βαθμίδων του σχήματος 5.53, να γραφτεί ένα πρόγραμμα επικοινωνίας μεταξύ δύο υπολογιστών. Κάθε πλήκτρο που πατιέται στον ένα θα εμφανίζεται στη δική του την οθόνη αλλά και στην οθόνη του άλλου. Παρατήρηση: Μπορούν να χρησιμοποιηθούν οι εξαιρέσεις TRAP #0 και TRAP #1, που αναφέρονται στο κεφάλαιο 7, για λήψη χαρακτήρα απ το πληκτρολόγιο και εμφάνιση του στην οθόνη. Δ. Πογαρίδη 333