1. Ακροδέκτες τυπικού μ/Ε
Ακροδέκτης Ι/Ο
Σημασία
GND
I
Γη
VCC
I
Τάση τροφοδοσίας (+5V)
NMI
I
Non Maskable Interrupt, αίτηση για διακοπή που δεν
μπορεί να παρεμποδιστεί
INT
I
Αίτηση για διακοπή με μάσκα (μπορεί να
παρεμποδιστεί)
CLK
I
Clock
RESET
I
Τερματισμός δραστηριότητας μ/Ε
RD
O
Read, ένδειξη ότι πρόκειται να εκτελεστεί ανάγνωση
WR
O
Write, ένδειξη ότι πρόκειται να εκτελεστεί εγγραφή
στη μνήμη ή σε περιφερειακή συσκευή
A[0:n-1]
O
Ακροδέκτες διαδρόμου διευθύνσεων(2n διευθύνσεις)
D[0:k-1]
I/O
1
k ακροδέκτες του διαδρόμου δεδομένων
2. §4.1.1 Πολυπλεξία διαδρόμων
• Μείωση ακροδεκτών
μ/Ε=> μείωση κόστους
• Η τεχνική με την οποία οι
ίδιες γραμμές (και
ακροδέκτες) του μ/Ε
μπορούν να
χρησιμοποιηθούν σε
διαφορετικές χρονικές
στιγμές για μεταφορά
δεδομένων ή
διευθύνσεων ονομάζεται
πολυπλεξία (multiplexing)
2
3. §4.2 Προσπέλαση συσκευών εισόδου - εξόδου
• Λειτουργία εισόδου – εξόδου : μεταφορά δεδομένων
μεταξύ του μ/Ε ή της μνήμης και μονάδων εισόδου –
εξόδου
• Διαφορές από την επικοινωνία του μ/Ε με τη
μνήμη
• Η μνήμη δεν ζητάει εξυπηρέτηση από τον μ/Ε ενώ μια
μονάδα εισόδου-εξόδου μπορεί να ζητήσει (π.χ. όταν
πληκτρολογούμε ένα χαρακτήρα το πληκτρολόγιο πρέπει να
ενημερώσει τον μ/Ε για την ενέργεια αυτή). Ο μ/Ε
προσπελαύνει τη μνήμη για να γράψει ή να διαβάσει
δεδομένα.
• Η μνήμη αποτελεί μια ενιαία οντότητα. Ο μ/Ε χρησιμοποιεί τη
διεύθυνση της μνήμης για να την προσπελάσει ενώ όταν μια
περιφερειακή συσκευή ζητάει εξυπηρέτηση, ο μ/Ε πρέπει να
γνωρίζει ποια συσκευή είναι για να την εξυπηρετήσει
3
4. §4.2.1 Θύρες εισόδου-εξόδου
• Θύρες = εξωτερικοί
καταχωρητές
• Ολοκληρωμένα
κυκλώματα θυρών
εισόδου – εξόδου
μπορούν να
χρησιμοποιηθούν για το
χειρισμό πολύπλοκων
καταστάσεων εισόδου –
εξόδου, όπως μετατροπή
παράλληλης επικοινωνίας
σε σειριακή και
αντίστροφα
4
5. §4.2.2 Διευθυνσιοδότηση συσκευών εισόδου εξόδου
• Τεχνικές χειρισμού θυρών εισόδου εξόδου
– Είσοδος έξοδος με ειδικές εντολές (isolated I/O)
• Με την εντολή εισόδου (ΙΝ) το περιεχόμενο του απομονωτή
της θύρας μεταφέρεται στο συσσωρευτή και με την εντολή
εξόδου (OUT) το αντίστροφο.
• Απομονώνεται η μνήμη από τις θύρες Ι/Ο και συνεπώς οι
διευθύνσεις των θυρών Ι/Ο δεν αποτελούν τμήμα των
διευθύνσεων μνήμης.
• Στο διάδρομο ελέγχου εκτός από τα σήματα ανάγνωσης –
εγγραφής έχουμε και σήματα που μας πληροφορούν αν η
προσπέλαση γίνεται στη μνήμη ή σε περιφερειακή συσκευή
• Ο μ/Ε μπορεί να διαθέσει όλες τις δυνατές διευθύνσεις του
για μνήμη
5
6. §4.2.2 Διευθυνσιοδότηση συσκευών εισόδου - εξόδου
• Τεχνικές χειρισμού θυρών εισόδου εξόδου
– Είσοδος έξοδος με απεικόνιση μνήμης (memory mapped)
• Οι ίδιες εντολές χρησιμοποιούνται και για ανταλλαγή πληροφοριών
μεταξύ μ/Ε -μνήμης και για είσοδο - έξοδο
• Οι καταχωρητές που σχετίζονται με τις θύρες Ι/Ο αντιστοιχούν σε θέσεις
μνήμης
• Τα συστήματα που λειτουργούν έτσι επιτρέπουν τη χρησιμοποίηση όλων
των δυνατοτήτων των εντολών του μ/Ε τόσο για δεδομένα της μνήμης
όσο και για δεδομένα των θυρών Ι/Ο
– Πλεονεκτήματα
• Εντολές αναφοράς στη μνήμη μπορούν να χρησιμοποιηθούν και για
είσοδο – έξοδο
• Οι περισσότεροι καταχωρητές του μ/Ε μπορούν να ανταλλάξουν
πληροφορίες με συσκευές Ι/Ο
– Μειονεκτήματα
• Μειώνεται το πλήθος των θέσεων μνήμης που μπορεί να προσπελάσει ο
μ/Ε
• Αυξάνει το μήκος προγράμματος γιατί οι εντολές προσπέλασης μνήμης
είναι συνήθως μεγαλύτερες από της εντολές Ι/Ο
6
7. §4.2.3 Τρόποι προσπέλασης συσκευών εισόδου-εξόδου
1.
2.
3.
•
Ελεγχόμενη από το πρόγραμμα
Με χρήση διακοπών
Χρησιμοποιώντας ειδικό επεξεργαστή
Διαφέρουν στον τρόπο που ο μ/Ε
αρχικοποιεί τη λειτουργία και ελέγχει τη
μεταφορά δεδομένων
7
8. Είσοδος – έξοδος ελεγχόμενη από
πρόγραμμα
•
•
•
•
•
•
Συνεχής παρακολούθηση και έλεγχος του
μ/Ε
Υπάρχουν εντολές εισόδου – εξόδου
Προσδιορίζεται αν η περιφερειακή συσκευή
είναι σε θέση να επικοινωνήσει με τον μ/Ε
Polling(περιόδευση): Εξέταση των bits ενός
καταχωρητή
κατάστασης
από
το
πρόγραμμα για να καθοριστεί ποια συσκευή
μπορεί να εξυπηρετηθεί
Βρόχος περιόδευσης (polling loop): το
πρόγραμμα
….
Διαδοχικός
έλεγχος
συσκευών
Πλεονεκτήματα τεχνικής
–
–
•
Ελάχιστο υλικό και καμιά εξειδικευμένη
γραμμή
Σύγχρονη με την εκτέλεση προγράμματος
Μειονεκτήματα
–
–
Ελέγχονται όλες οι συσκευές με κάθε βρόχο
περιόδευσης χωρίς να χρειάζονται όλες
εξυπηρέτηση
Δεν υπάρχει συγκεκριμένο χρονικό διάστημα
μεταξύ της στιγμής που μια συσκευή Ι/Ο είναι
έτοιμη και της στιγμής που θα εξυπηρετηθεί
8
9. Διακοπές
•
•
•
Προτεραιότητα διακοπών
Ο μ/Ε ασχολείται με κάποια
περιφερειακή συσκευή μόνο όταν
αυτή
ζητήσει
εξυπηρέτηση
ενεργοποιώντας
τον
ειδικό
ακροδέκτη INT
Αίτηση διακοπής – εξυπηρέτηση
διακοπής
–
υπορουτίνα
εξυπηρέτησης διακοπής
Πολλές περιφερειακές συσκευές
άρα και περισσότερες από μία
είσοδοι διακοπής ή και πολλές
συσκευές σε μία κοινή γραμμή
διακοπής => προτεραιότητα που
καθορίζεται από τον σχεδιαστή του
μ/Ε
Ενεργοποίηση – απενεργοποίηση
μηχανισμού διακοπών
• Κρίσιμα
τμήματα
του
προγράμματος που πρέπει να
εκτελεστούν χωρίς διακοπές =>
απενεργοποίηση
μηχανισμού
διακοπών
• Ειδικές
εντολές
που
ενσωματώνονται σε κατάλληλα
σημεία του προγράμματος
• Επιλεκτική παρεμπόδιση (μάσκα
διακοπών)
σε
κάποια/ες
εισόδους διακοπών
9
10. Stack pointer
• Στοίβα είναι μια δομή αποθήκευσης στην
οποία ο μ/Ε αποθηκεύει τα περιεχόμενα
των καταχωρητών του (μετρητή
προγράμματος, συσσωρευτή, καταχωρητή
κατάστασης και καταχωρητών γενικού
σκοπού) κατά την κλήση υπορουτινών
διακοπών για να μπορεί να συνεχιστεί
αργότερα ένα πρόγραμμα που διακόπηκε
10
11. Διαδικασία εξυπηρέτησης διακοπής
- Βήματα
• Ολοκληρώνεται η εντολή την οποία εκτελούσε ο
μ/Ε
• Απενεργοποιούνται όλες οι διακοπές
• Σώζεται στη στοίβα η κατάσταση του μ/Ε
(συνήθως ο απαριθμητής προγράμματος και ο
καταχωρητής κατάστασης)
• Εκτελείται η υπορουτίνα εξυπηρέτησης διακοπής
• Ανακτάται η κατάσταση του μ/Ε από τη στοίβα
και επιστρέφεται ο έλεγχος στο πρόγραμμα στην
επόμενη εντολή από εκείνη που είχε τελευταία
εκτελεστεί
11
12. §4.4 Λειτουργία απευθείας προσπέλασης μνήμης
• Όταν απαιτούνται υψηλοί ρυθμοί μεταφοράς δεδομένων
από περιφερειακές συσκευές χρησιμοποιείται direct
memory access (DMA)
• Κύκλος μηχανής:μεταφορά ενός byte ή μιας λέξης μέσω
των διαδρόμων του συστήματος
• Σε ένα κύκλο μηχανής κάποια από τις μονάδες του
συστήματος που συνδέονται στο διάδρομο είναι ο
διαχειριστής (master) και τον ελέγχει, και το στοιχείο με το
οποίο επικοινωνεί ονομάζεται υποτελή (slave)
• Ο ελεγκτής DMA στέλνει στον μ/Ε αίτηση απόκτησης του
διαδρόμου (bus request), γίνεται διαχειριστής του
διαδρόμου,
τοποθετεί
διευθύνσεις
στο
διάδρομο
διευθύνσεων και συντονίζει τη δραστηριότητα του
διαδρόμου κατά τη διάρκεια ενός κύκλου μηχανής
12
13. Βήματα για μεταφορά δεδομένων από ένα
περιφερειακό προς τη μνήμη μέσω DMA
• Η διασύνδεση της περιφερειακής συσκευής στέλνει στον ελεγκτή μια
αίτηση για εξυπηρέτηση DMA
• Ο ελεγκτής ενεργοποιεί το σήμα αίτησης για απόκτηση του διαδρόμου
(HOLD). Ο μ/Ε αποκρίνεται με σήμα αποδοχής αίτησης απόκτησης
(HLDA) και ελευθερώνει το διάδρομο δεδομένων, το διάδρομο
διευθύνσεων και το διάδρομο ελέγχου. Ο ελεγκτής DMA αποκτά τον
έλεγχο των διαδρόμων
• Ο ελεγκτής στέλνει στη διασύνδεση σήμα αποδοχής DMA με το οποίο
ζητάει να τοποθετήσει δεδομένα στο διάδρομο (ΙΝ) ή να πάρει δεδομένα
από το διάδρομο (OUT)
• Το δεδομένο μεταφέρεται από ή προς τη θέση μνήμης που δηλώνεται
μέσω του διαδρόμου διευθύνσεων που ελέγχεται από τον καταχωρητή
διεύθυνσης DMA
• Ο καταχωρητής διευθύνσεων +1, ο απαριθμητής δεδομένων -1
Τεχνικές για απόδοση προτεραιότητας διακοπών που βασίζονται στο
λογισμικό, στο υλικό ή και στα δύο.
13
14. Τρόποι μεταφοράς DMA
• Κατά τη διάρκεια μεταφοράς DMA ο μ/Ε
αδρανοποιείται μέχρι να μεταφερθούν όλα τα
δεδομένα=> μέγιστος ρυθμός
μεταφοράς=>μεγάλη μεταφορά δεδομένων σε
μικρό χρονικό διάστημα
• Μεταφορά DMA παράλληλα με τη λειτουργία του
μ/Ε (όταν δεν απαιτείται μέγιστος ρυθμός
μεταφοράς). Κάθε φορά που μεταφέρεται ένα
byte, ο ελεγκτής DMA παραχωρεί τον έλεγχο του
διαδρόμου στον μ/Ε και στη συνέχεια υποβάλλει
καινούρια αίτηση για μεταφορά DMA. Έτσι
γίνεται κλοπή κύκλων μηχανής από τον μ/Ε για
να μεταφέρει δεδομένα (cycle stealing)
14
15. §4.5.1. Είσοδος δεδομένων
• Ποικιλία διακοπτών που
διαφέρουν στην
κατασκευή
• Pull up resistor
• Κλειστός διακόπτης
Vout=0Volts
• Ανοιχτός διακόπτης
Vout=5V-IR
• Απομονωτής τριών
καταστάσεων (3-state
buffer)
15
16. Πληκτρολόγια
• Για πλήθος πλήκτρων
<16 χρησιμοποιούμε
κωδικοποιητές
• Η έξοδος είναι ένας
αριθμός 3bit και
ενεργοποιείται όταν
οποιαδήποτε είσοδος
είναι ενεργοποιημένη
• Μία επαφή συνδεμένη
από κοινού
16
17. Πληκτρολόγια
• Μειώνεται το κόστος υλοποίησης για την κωδικοποίηση
• Διαδικασία για να αποφασιστεί αν έχει πατηθεί κάποιο
πλήκτρο
– Κάνουμε όλες τις γραμμές του πίνακα ‘0’ και ανιχνεύουμε τις
λογικές τιμές στις στήλες. Αν μία ή περισσότερες στήλες είναι ‘0’
έχει πατηθεί ένα ή περισσότερα πλήκτρα
– Προκειμένου να αναγνωρίσουμε ποιο πλήκτρο έχει πατηθεί,
κάθε οριζόντιο σύρμα γίνεται διαδοχικά ‘0’ ενώ όλα τα υπόλοιπα
οριζόντια σύρματα έχουν την τιμή ‘1’
– Εξετάζεται καθένα από τα κάθετα σύρματα για να δούμε αν είναι
λογικό ‘0’. Αν μια κάθετη γραμμή είναι ‘0’, το νούμερο αυτής της
γραμμής μαζί με το νούμερο της οριζόντιας γραμμής με λογικό
‘0’ προσδιορίζουν το πλήκτρο που έχει πατηθεί
17