Το (3ο) κεφάλαιο στο μάθημα Συστήματα Ψηφιακών Ηλεκτρονικών Θεωρία του τομέα Ηλεκτρονικής και ειδικότητας Ηλεκτρονικών Υπολογιστικών Συστημάτων και Δικτύων, Γ’ τάξη ΕΠΑΛ.
Η παρουσίαση αυτή (PPT in PDF) είναι ενεργή, συνοδεύεται από κάποια αρχεία τα οποία συνδέονται με υπερσυνδέσεις. Περισσότερες πληροφορίες στην σελίδα http://www.ilektronikoi.gr/index.php?act=viewCat&catId=19
2. o 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων.
o 3.2 Αρχές λειτουργίας και αρχιτεκτονική
μικροεπεξεργαστών.
o 3.3 Εντολές μικροεπεξεργαστών.
n 3.3.1 Εκτέλεση εντολής.
n 3.3.2 Γλώσσα μηχανής και συμβολική γλώσσα.
n 3.3.3 Κύκλοι εντολής και κύκλοι μηχανής.
n 3.3.4 Είδη εντολών.
o 3.4 Τρόποι αναφοράς στη μνήμη.
o 3.5 Χαρακτηριστικά και κατηγορίες
μικροεπεξεργαστών.
o 3.6 Οικογένειες μικροεπεξεργαστών.
o 3.7 Μικροελεγκτές.
3. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Με τον όρο υπολογιστικό σύστημα
ονομάζουμε ένα σύστημα το οποίο
αποτελείται από μία Κεντρική Μονάδα
Επεξεργασίας, μνήμη και συσκευές
εισόδου και εξόδου.
o Το χρησιμοποιούμε για την εκτέλεση
υπολογισμών ή για να ελέγξουμε άλλες
συσκευές.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 3
1708
5. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Ένα υπολογιστικό σύστημα στο οποίο ως
κεντρική μονάδα επεξεργασίας (ΚΜΕ)
χρησιμοποιείται ένας μικροεπεξεργαστής
(micro – processor) ονομάζεται
μικροϋπολογιστικό σύστημα.
o Ένας μικροεπεξεργαστής είναι ένα Ο.Κ
γενικού σκοπού, το οποίο μπορεί να
προγραμματιστεί.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 5
1708
7. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Η επεξεργασία των δεδομένων γίνεται σε μια σειρά
από βήματα, κάθε ένα από τα οποία ονομάζεται
εντολή.
o Οι εντολές που εκτελούνται από το μικροεπεξεργαστή
είναι σε γλώσσα μηχανής.
o Μια εντολή σε γλώσσα μηχανής είναι μια σειρά από
δυαδικά ψηφία όπου είναι κωδικοποιημένο το είδος
της εντολής.
o Οι εντολές είναι αποθηκευμένες στην κύρια μνήμη.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 7
1708
8. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Η κύρια μνήμη είναι ένας χώρος στον
οποίο ο υπολογιστής φυλάει δεδομένα ή
εντολές προς εκτέλεση.
o Αποτελείτε από λέξεις μνήμης και
διευθύνσεις.
o Χωρίζεται σε δύο μέρη :
o Την ROM
o Και την RAM.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 8
1708
9. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Οι λειτουργίες με τις οποίες ο
μικροεπεξεργαστής επικοινωνεί με την
μνήμη RAM είναι η εγγραφή και
ανάγνωση.
o Στην εγγραφή, η διεύθυνση της θέσης
μνήμης στην οποία θα πραγματοποιηθεί η
εγγραφή τοποθετείται στον καταχωρητή
διευθύνσεων του μικροεπεξεργαστή, ενώ
τα δεδομένα στον καταχωρητή
δεδομένων.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 9
1708
10. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Στην ανάγνωση, τα περιεχόμενα της θέσης
μνήμης που υποδεικνύει ο καταχωρητής
διευθύνσεων του μικροεπεξεργαστή
μεταφέρονται στον καταχωρητή δεδομένων.
o Η διεύθυνση μεταφέρεται μέσω του διαδρόμου
διευθύνσεων, τα δεδομένα μέσω του
διαδρόμου δεδομένων.
o Η μνήμη ROM περιέχει το πρόγραμμα
λειτουργίας.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 10
1708
11. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Τα βασικά χαρακτηριστικά της κύριας μνήμης
είναι :
o Μήκος λέξης.
o Χωρητικότητα.
o Χρόνος προσπέλασης.
o Το μήκος λέξης είναι το πλήθος των δυαδικών
ψηφίων κάθε λέξης, ίσο με αυτό που μπορεί να
εκτελέσει πράξεις ο μικροεπεξεργαστής.
(2,4,8,16,32,64 bits).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 11
1708
12. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Χωρητικότητα είναι το πλήθος των λέξεων (bytes).
o 1 KB = 210 = 1.024 bits, 1 MB = 220 = 1.048.576 bits ,1 GB
= 230 = 1.073.741.824 bits
o Χρόνος προσπέλασης είναι ο χρόνος που περνάει
από τη στιγμή που ο μικροεπεξεργαστής ζητάει από
τη μνήμη τα περιεχόμενο μιας θέσης, μέχρι τη στιγμή
που η μνήμη δίνει το περιεχόμενο αυτό.
o Επίσης μετριέται και με την συχνότητα λειτουργίας,
που είναι πόσες φορές μπορούμε να προσπελάσουμε
την μνήμη στην μονάδα του χρόνου (sec), για
εγγραφή και ανάγνωση.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 12
1708
13. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Οι μονάδες εισόδου εξόδου είναι το
σύνολο των συσκευών ή διατάξεων που
επιτρέπουν την επικοινωνία του
συστήματος με τον έξω κόσμο.
o Οι μονάδες εισόδου μετατρέπουν την
πληροφορία σε ψηφιακή μορφή.
o Πληκτρολόγιο, ποντίκι, σαρωτής, κλπ.
o Και οι μονάδες εξόδου το αντίστροφο.
o Οθόνη, εκτυπωτής, κ.λ.π.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 13
1708
14. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Υπάρχουν και αμφίδρομες μονάδες
εισόδου – εξόδου. Modems, κάρτες ήχου,
βίντεο, κλπ.
o Μια συσκευή εισόδου, εξόδου συνδέετε
στο σύστημα μέσω θυρών εισόδου
εξόδου (Ι/Ο ports) οι οποίες είναι
καταχωρητές που μπορεί να προσπελάσει
ο μικροεπεξεργαστής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 14
1708
15. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Ένας διάδρομος είναι μια ομάδα αγωγών που
χρησιμοποιείται για την επικοινωνία μεταξύ των
μονάδων του υπολογιστή.
o Διάδρομος δεδομένων. Όπου μεταφέρονται τα
δεδομένα.
o Διάδρομος διευθύνσεων. Όπου μεταφέρονται οι
διευθύνσεις.
o Και ο διάδρομος ελέγχου όπου ο μικροεπεξεργαστής
πληροφορεί όλες τις συσκευές για το την ενέργεια που
προτίθεται να κάνει.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 15
1708
17. 3.1 Βασικά στοιχεία αρχιτεκτονικής
μικροϋπολογιστικών συστημάτων
o Για κάθε χρονική στιγμή ΜΟΝΟ ΔΥΟ
συσκευές μπορούν να επικοινωνούν μέσω
του διαδρόμου.
o Ο μικροεπεξεργαστής ελέγχει και
συντονίζει μεταφορές και πράξεις στα
δεδομένα σύμφωνα με τις εντολές στο
πρόγραμμά του.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 17
1708
18. 3.2 Αρχές λειτουργίας και
αρχιτεκτονική μικροεπεξεργαστών.
o Οι μικροεπεξεργαστές (μ/Ε) ξεκίνησαν ως μια
ενδιάμεση φθηνή λύση στον έλεγχο συστημάτων που
έπρεπε να κατασκευαστούν κατά περίπτωση.
o Το κύκλωμα που βασίζεται σε μ/Ε μπορεί να
χρησιμοποιηθεί χωρίς μετατροπές στο υλικό αλλά μόνο
με τροποποίηση του προγράμματος σε ποικιλία
εφαρμογών, ενώ ένα που κατασκευάζεται με πύλες
μπορεί να χρησιμοποιηθεί μόνο σε μία εφαρμογή.
o Έτσι με τους μ/Ε το πρόβλημα της σχεδίασης
ψηφιακών συστημάτων μετατοπίστηκε από το υλικό
στο λογισμικό.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 18
1708
22. 3.2 Αρχές λειτουργίας και
αρχιτεκτονική μικροεπεξεργαστών.
o Οι καταχωρητές χρησιμεύουν ως χώροι αποθήκευσης
δεδομένων και διευθύνσεων της μνήμης.
o Οι καταχωρητές που συναντάμε στην πλειοψηφία των
μ/Ε είναι :
o Ο απαριθμητής προγράμματος PC (Program Counter).
o Ο καταχωρητής εντολών IR (Instruction Register).
o Ο δείκτης στοίβας SP (Stack Pointer).
o Ο καταχωρητής κατάστασης SR (Status Register).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 22
1708
24. 1. Αριθμητική και λογική μονάδα
(arithmetic and logic unit)
o Η αριθμητική και λογική μονάδα εκτελεί
αριθμητικές και λογικές πράξεις.
o Τα δεδομένα με τα οποία εκτελούνται οι
πράξεις αυτές βρίσκονται σε δύο
καταχωρητές : συσσωρευτής ACC
(accumulator) & προσωρινός
καταχωρητής TEMP (temporary).
o Το αποτέλεσμα της πράξης φυλάσσεται
στον συσσωρευτή.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 24
1708
25. 1. Αριθμητική και λογική μονάδα
(arithmetic and logic unit)
o Οι συνηθισμένες πράξεις που εκτελούνται
είναι :
o Δυαδική πρόσθεση και αφαίρεση.
o Λογικό AND, OR, XOR.
o Συμπλήρωμα ως προς 1 και ως προς 2.
o Ολίσθηση και περιστροφή δεξιά ή
αριστερά.
o Πολλαπλασιασμός και διαίρεση (ΌΧΙ σε
όλους τους μ/Ε).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 25
1708
26. 1. Αριθμητική και λογική μονάδα
(arithmetic and logic unit)
o Το αποτέλεσμα της πράξης επηρεάζει
επίσης μια σειρά από flip flops που
ονομάζονται σημαίες (flags). Π.χ.
o Εάν προκύψει κρατούμενο.
o Εάν το αποτέλεσμα είναι μηδέν 0.
o Κ.λ.π
o Το σύνολο των σημαιών αποτελεί τον
καταχωρητή κατάστασης SR (status
register).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 26
1708
27. 2. Μονάδα ελέγχου
o Η μονάδα ελέγχου ελέγχει και συγχρονίζει
τη μεταφορά και επεξεργασία των
δεδομένων.
o Χρησιμοποιεί ως είσοδο ένα εξωτερικό
ρολόι (clk) και παράγει σήματα χρονισμού
και ελέγχου που ρυθμίζουν τις μεταφορές
δεδομένων και τις πράξεις που
περιλαμβάνονται σε κάθε εντολή.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 27
1708
29. 3. Απαριθμητής προγράμματος PC.
o Είναι ένας καταχωρητής διευθύνσεων,
στον οποίο φυλάγεται η διεύθυνση της
μνήμης από την οποία θα ανακληθεί η
επόμενη προς εκτέλεση εντολή.
o Μπορεί να απευθυνθεί σε οποιαδήποτε
θέση μνήμης.
o Όταν η είσοδος reset είναι «1» ο PC
παίρνει την τιμή «0000» ή κάποια
προκαθορισμένη αρχική τιμή.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 29
1708
30. 3. Απαριθμητής προγράμματος PC.
o Όταν το reset
ξαναγυρίσει στο
«0» τότε η
μονάδα ελέγχου
CU μεταφέρει τα
περιεχόμενα του
PC στον
απομονωτή
διευθύνσεων AL
(address latch)
δίνοντας έτσι την
διεύθυνση της
πρώτης εντολής
που θα
εκτελεστεί.
31. 3. Απαριθμητής προγράμματος PC.
o Έτσι ξεκινάει με την εκτέλεση της πρώτης
εντολής που βρίσκεται στην θέση «0».
o Οι πρώτες θέσεις μνήμης αντιστοιχούν σε
διευθύνσεις της μνήμης ROM.
o Το πρόγραμμα που περιέχεται σε αυτές τις
θέσεις είναι σημαντικό για την ομαλή λειτουργία
του συστήματος.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 31
1708
32. 4. Καταχωρητής εντολών IR.
o Είναι ένας καταχωρητής στον οποίο μεταφέρεται η
εντολή που διαβάστηκε από τη μνήμη.
o Στην συνέχεια αποκωδικοποιείται μέσω του
αποκωδικοποιητή εντολών προκειμένου να εκτελεστεί.
o Οι εντολές ενός μ/Ε μπορεί να έχουν μήκος 1 ή
περισσότερες λέξεις μνήμης.
o Η πρώτη λέξη περιέχει τον κωδικό λειτουργίας
(operation code ή opcode) δηλαδή το είδος της
εντολής (πράξη, μεταφορά δεδομένων κλπ).
o Με αυτό ο μ/Ε γνωρίζει πόσες και ποιες θέσεις μνήμης
καταλαμβάνει η εντολή καθώς και ποιες ενέργειες
πρέπει να κάνει στην συνέχεια.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 32
1708
33. 4. Καταχωρητής εντολών IR.
o Κατά την διάρκεια
ανάκλησης της
εντολής (instruction
fetch), η πρώτη λέξη
μνήμης μεταφέρεται
από την μνήμη μέσω
του εξωτερικού
διαδρόμου
δεδομένων στον
καταχωρητή
εντολών.
o Ο οποίος παρέχει
πληροφορίες για το
είδος της εντολής
στην CU.
34. 4. Καταχωρητής εντολών IR.
o Ο PC αυξάνεται
αυτόματα κατά «1» (με
εντολή της CU) οπότε
περιέχει την διεύθυνση
της επόμενης εντολής.
o Εάν η εντολή
καταλαμβάνει
περισσότερες από μία
θέσεις τότε η CU
προχωρά στην
ανάγνωση όλων των
υπολοίπων θέσεων με
την βοήθεια του PC.
o Όταν φορτωθούν όλες
οι λέξεις εκτελείτε η
εντολή.
35. 5. Δείκτης στοίβας SP.
o Ο δείκτης στοίβας SP (Stack Pointer) είναι ένα
δείκτης διευθύνσεων της κορυφής της στοίβας η
οποία βρίσκεται στην κύρια μνήμη.
o Η στοίβα είναι μια περιοχή της μνήμης η οποία
χρησιμοποιείται κυρίως για την εξυπηρέτηση
κλήσεων διακοπών και υπορουτινών.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 35
1708
36. 6. Καταχωρητής κατάστασης SR.
o Ο καταχωρητής αυτός δίνει πληροφορίες
σχετικά με το αποτελέσματα της τελευταίας
εντολής που εκτελέστηκε και έχει σχέση με την
ALU.
o Περιλαμβάνει κάποιες σημαίες συνθήκης
(σήματα) που επηρεάζονται από το
αποτέλεσμα.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 36
1708
37. 6. Καταχωρητής κατάστασης SR.
o Σημαία μηδενισμού (Z, Zero) : αν το αποτέλεσμα μίας
εντολής είναι «0» τότε Ζ=«1», διαφορετικά Ζ=«0».
o Σημαία προσήμου (S, Sign) : αν το MSB του
αποτελέσματος μιας πράξης είναι «1» (ο αριθμός είναι
αρνητικός) τότε S=“1” αλλιώς S=“0”.
o Σημαία ισοτιμίας (P, Parity) : αν το αποτέλεσμα μιας
πράξης έχει άρτιο αριθμό «1» δηλαδή άρτια ισοτιμία,
τότε P=“1”, αλλιώς P=“0”.
o Σημαία κρατούμενου (C, Carry) : αν η πράξη είχε ως
αποτέλεσμα να προκύψει κρατούμενο (πρόσθεση) ή
δανικό (αφαίρεση) τότε C=‘1’, αλλιώς C=‘0’.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 37
1708
38. 3.3 Εντολές μ/Ε.
3.3.1 Εκτέλεση εντολής.
o Η εκτέλεση μιας εντολής περιλαμβάνει τις ακόλουθες
φάσεις :
o Κλήση εντολής : μεταφέρεται ο κώδικας της εντολής
από τη μνήμη (αυτήν που δείχνει ο PC).
o Αποκωδικοποίηση : αν η εντολή περιέχει και άλλα byte
τότε μεταφέρεται από τη μνήμη η υπόλοιπη εντολή,
αλλιώς ερμηνεύεται και εκτελείται.
o Εκτέλεση : η φάση αυτή εξαρτάται από το είδος της
εντολής.
o Συνήθως οι εντολές αποθηκεύονται σε διαδοχικές
θέσεις μνήμης σύμφωνα με τη σειρά που πρέπει να
εκτελεστούν.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 38
1708
39. 3.3.2 Γλώσσα μηχανής και
συμβολική γλώσσα.
o Κάθε εντολή με μία ή περισσότερες λέξεις χωρίζεται σε
δύο τμήματα :
o Τον κώδικα εντολής (opcode) που έχει μήκος «κ»
δυαδικά ψηφία.
o Το τμήμα διευθύνσεως που έχει μήκος «τ» δυαδικά
ψηφία.
o Το άθροισμα «κ+τ» των δυαδικών ψηφίων δίνει το
μήκος της εντολής.
o Ο κώδικας ορίζει την λειτουργία που πρέπει να
εκτελεστεί, και το τμήμα της διευθύνσεως περιέχει τα
δεδομένα της.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 39
1708
40. 3.3.2 Γλώσσα μηχανής και
συμβολική γλώσσα.
o Το σύνολο των εντολών τις οποίες μπορεί να
εκτελέσει ένας μ/Ε ονομάζεται ρεπερτόριο
εντολών (instruction set).
o Κάθε μια από αυτές αντιστοιχίζεται σε ένα
δυαδικό αριθμό «κ» δυαδικών ψηφίων ο οποίος
τη συμβολίζει.
o Π.χ. 25=32 εντολές.
41. 3.3.2 Γλώσσα μηχανής και
συμβολική γλώσσα.
o Οι εντολές χωρίζονται σε ομάδες ανάλογα με
την εργασία που επιτελούν. (εκτέλεσης,
άλματος, ολίσθησης, εισόδου, εξόδου, κ.λ.π).
o Το τμήμα διευθύνσεως παριστάνει μια
διεύθυνση μνήμης ή έναν καταχωρητή.
42. 3.3.2 Γλώσσα μηχανής και
συμβολική γλώσσα.
o Ένα πρόγραμμα με εντολές γραμμένες στο
δυαδικό σύστημα ονομάζεται πρόγραμμά σε
γλώσσα μηχανής (machine language).
o Η συγγραφή ενός προγράμματος σε τέτοια
γλώσσα έχει πολλά μειονεκτήματα.
o Έτσι αντικαθιστούμε κάθε εντολή με μία λέξη
συμβολική που θυμίζει την λειτουργία της.
o Ένα πρόγραμμα με συμβολικές εντολές
ονομάζεται πρόγραμμα σε συμβολική γλώσσα
(assembly language).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 42
1708
43. 3.3.2 Γλώσσα μηχανής και
συμβολική γλώσσα.
o Για κάθε εντολή στο ρεπερτόριο υπάρχει η
αντίστοιχη σε συμβολική γλώσσα.
o Για να μπορέσει να εκτελεστεί ένα τέτοιο
πρόγραμμα από τον μ/Ε θα πρέπει να
μεταφραστεί σε γλώσσα μηχανής. Αυτό γίνεται
μέσω ενός κατάλληλου προγράμματος
(software) που ονομάζεται
συμβολομεταφραστής (assembler).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 43
1708
44. 3.3.3 Κύκλοι εντολής και κύκλοι
μηχανής.
o Η ανάκληση και εκτέλεση μιας εντολής αποτελεί ένα
κύκλο εντολής.
o Ένας κύκλος εντολής αποτελείται από μία ή
περισσότερες λειτουργίες ανάγνωσης ή εγγραφής στη
μνήμη ή στη μονάδα εισόδου – εξόδου.
o Κάθε αναφορά σε μονάδα εισόδου – εξόδου ή στην
μνήμη απαιτεί ένα κύκλο μηχανής.
o Κάθε φορά που μια λέξη μνήμης μεταφέρεται από και
προς τον μ/Ε εκτελείται ένας κύκλος μηχανής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 44
1708
45. 3.3.3 Κύκλοι εντολής και κύκλοι
μηχανής.
o Οι πιο συνηθισμένοι κύκλοι που συναντάμε σε
έναν μ/Ε είναι οι ακόλουθοι.
o Ανάκληση κώδικα (opcode fetch).
o Ανάγνωση από τη μνήμη (memory read).
o Εγγραφή στη μνήμη (memory write).
o Ανάγνωση I/O (I/O read) : είσοδος.
o Εγγραφή I/O (I/O write) : έξοδος.
o Αναγνώριση διακοπής (interrupt acknowledge).
o «άεργος» κύκλος (bus idle).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 45
1708
46. 3.3.3 Κύκλοι εντολής και κύκλοι μηχανής.
o Ένας κύκλος μηχανής ενεργοποιείται από την μονάδα
ελέγχου CU του μ/Ε όταν λάβει τον κώδικα εντολής.
o Η ανάκληση εντολής σε ένα κύκλο εντολής απαιτεί ένα
κύκλο μηχανής για κάθε λέξη που ανακαλείται.
o Π.χ εάν η εντολή έχει μήκος 3 λέξεις τότε η ανάκληση
της διαρκεί 3 κύκλους μηχανής.
47. 3.3.3 Κύκλοι εντολής και κύκλοι
μηχανής.
o Ένας κύκλος μηχανής είναι ή περίοδος της
συχνότητας λειτουργίας του μ/Ε. Τ=1/F.
o Π.χ αν η συχνότητα λειτουργίας είναι 100MHz
τότε ένας κύκλος μηχανής διαρκεί 10nsec.
o Αν μια εντολή έχει μήκος 3 λέξεων για να
εκτελεστεί χρειάζεται 3*10nsec=30nsec. Δηλαδή
3 κύκλους μηχανής.
o Τα 30nsec είναι ένας κύκλος εντολής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 47
1708
48. 3.3.4 Είδη εντολών
o Εντολές μεταφοράς δεδομένων. Οι εντολές αυτές
μεταφέρουν δεδομένα μεταξύ καταχωρητών και μνήμης
και δεν επηρεάζουν τις σημαίες κατάστασης (flags).
o Εντολές αριθμητικών πράξεων. Πραγματοποιούν
αριθμητικές πράξεις σε δεδομένα που βρίσκονται στους
καταχωρητές και στη μνήμη. Η ALU εκτελεί πράξεις
μόνο μεταξύ των καταχωρητών του μ/Ε, άρα ένα
θέλουμε να κάνουμε πράξεις με αριθμούς που
βρίσκονται στην μνήμη θα πρέπει να μεταφερθούν
στους καταχωρητές. Οι εντολές επηρεάζουν τις
σημαίες.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 48
1708
49. 3.3.4 Είδη εντολών
o Εντολές λογικών πράξεων. Εκτελούν πράξεις σε
δεδομένα «λέξεις» που βρίσκονται στους καταχωρητές,
στη μνήμη και στις σημαίες.
o Εντολές άλματος. Οι εντολές ενός προγράμματος
εκτελούνται με την σειρά, οι εντολές άλματος αλλάζουν
την ροή εκτέλεσης, γι’ αυτό ονομάζονται και εντολές
διακλάδωσης.
o Δηλαδή όταν εκτελείται μια εντολή άλματος τότε αντί να
εκτελεστή η επόμενη, ο έλεγχος μεταφέρεται σε άλλο
σημείο του προγράμματος, οπουδήποτε, στην
διεύθυνση που καθορίζεται από την εντολή.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 49
1708
50. 3.3.4 Είδη εντολών
o Οι εντολές άλματος χωρίς συνθήκη μεταφέρουν
την καθορισμένη διεύθυνση στον PC.
o Οι εντολές άλματος με συνθήκη εξετάζουν
πρώτα την κατάσταση κάποιας από τις σημαίες
και αποφασίζουν αν πρέπει ή όχι να μεταφερθεί
ο έλεγχος στην καθορισμένη διεύθυνση.
o Αν ναι τότε φορτώνουν την διεύθυνση αυτή
στον PC.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 50
1708
51. 3.4 Τρόποι αναφοράς στην μνήμη.
o Όπως ξέρουμε, μια εντολή αποτελείται από το τμήμα
του κώδικα και το τμήμα της διεύθυνσης.
o Το τμήμα της διεύθυνσης χρησιμοποιείται για να βρεθεί
η ενεργή διεύθυνση (effective address), δηλαδή η θέση
από την οποία θα διαβαστεί το όρισμα (δεδομένο) της
εντολής.
o Στην πράξη δεν υποστηρίζονται όλοι οι τρόποι
αναφοράς στην μνήμη από όλου τους μ/Ε και είναι
δυνατό διαφορετικοί μ/Ε να αναφέρονται στον ίδιο
τρόπο χρησιμοποιώντας διαφορετικά ονόματα.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 51
1708
52. 3.4 Τρόποι αναφοράς στην μνήμη.
o Άμεση αναφορά στη μνήμη (immediate
addressing).
o Η τιμή του ορίσματος (δεδομένου) είναι τμήμα
της εντολής ή ακολουθεί μετά τον κωδικό. Και ο
κωδικός και το δεδομένο καλούνται από τη
μνήμη με τον PC.
o Δεν απαιτείται επιπλέων προσπέλαση στη
μνήμη πέραν από την ανάγνωση της εντολής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 52
1708
53. 3.4 Τρόποι αναφοράς στην μνήμη.
o Π.χ η εντολή
“ADD 30h” θα
μπορούσε να
σημαίνει
«πρόσθεσε
στην τρέχουσα
τιμή του
συσσωρευτή
ACC το
δεκαεξαδικό
αριθμό 30»
54. 3.4 Τρόποι αναφοράς στην μνήμη.
o Απευθείας αναφορά στη μνήμη (direct
addressing).
o Το δεδομένο βρίσκεται σε μία θέση μνήμης και
αμέσως μετά τον κωδικό της εντολής υπάρχει η
αυτή η διεύθυνση.
o Ο τρόπος αυτός είναι γρήγορος άλλα
περιορίζεται ο αριθμός των θέσεων από τον
αριθμό των δυαδικών ψηφίων της διεύθυνσης.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 54
1708
55. 3.4 Τρόποι αναφοράς στην μνήμη.
o Π.χ η εντολή
“ADD [30h]” θα
μπορούσε να
σημαίνει
«πρόσθεσε
στην τρέχουσα
τιμή του
συσσωρευτή
ACC τη τιμή
που βρίσκεται
στην διεύθυνση
μνήμης 30»
56. 3.4 Τρόποι αναφοράς στην μνήμη.
o Αναφορά στη μνήμη
καταχωρητών
(register
addressing).
o Το δεδομένο
περιέχεται σε έναν
εσωτερικό
καταχωρητή του
μ/Ε.
o Π.χ “ADD A”
«πρόσθεσε στην
τρέχουσα τιμή του
συσσωρευτή ACC
τη τιμή του
καταχωρητή Α»
57. 3.4 Τρόποι αναφοράς στην μνήμη.
o Έμμεση αναφορά μέσω
καταχωρητή (register
indirect addressing).
o Ο κώδικας της εντολής
προσδιορίζει έναν
καταχωρητή του μ/Ε ο
οποίος περιέχει τη
διεύθυνση μνήμης που
περιέχει το δεδομένο.
o Π.χ “ADD [A]”
«πρόσθεσε στην
τρέχουσα τιμή του
συσσωρευτή ACC τη
τιμή που βρίσκεται στην
θέση μνήμης που
δείχνει ο καταχωρητής
Α»
58. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Τα κυριότερα χαρακτηριστικά
των μ/Ε είναι :
o Η συχνότητα λειτουργίας
overclocking
(operating frequency).
o Το μήκος λέξης (word length).
o Το ρεπερτόριο εντολών
(instruction set).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 58
1708
59. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Η συχνότητα λειτουργίας (operating frequency).
o Για να εκτελέσει μια εντολή ο μ/Ε, εκτελεί μια σειρά από
διαδοχικές λειτουργίες, για το συγχρονισμό τους είναι
απαραίτητο ένα ρολόι.
o Το ρολόι παράγεται από εξωτερικό κύκλωμα, είναι
τετραγωνικής μορφής με πλάτος από 0-5 V.
o Η συχνότητα του ρολογιού επιλέγεται να είναι ίση με
την μέγιστη επιτρεπόμενη συχνότητα λειτουργίας του
μ/Ε.
o Όσο μεγαλύτερη είναι τόσο πιο γρήγορα εκτελεί της
εντολές ο μ/Ε.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 59
1708
60. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Εάν προσπαθήσουμε να υπερβούμε την
μέγιστη συχνότητα λειτουργίας το αποτέλεσμα
θα είναι είτε λανθασμένη λειτουργία του
ολοκληρωμένου ή και η καταστροφή του.
o Η συχνότητα του ρολογιού δείχνει το πλήθος
των κύκλων μηχανής που εκτελούνται σε ένα
δευτερόλεπτο.
o Ένας κύκλος εντολής αποτελείται από ένα και
περισσότερους κύκλους μηχανής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 60
1708
61. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Το μήκος λέξης (word length).
o Ένας μ/Ε εκτελεί αριθμητικές και λογικές
πράξεις μεταξύ των καταχωρητών του, τα
δεδομένα εισάγονται από την μνήμη και τις
περιφερειακές μονάδες σε κάποιο καταχωρητή
και μετά γίνεται η επεξεργασία τους.
o Το μήκος λέξης είναι το εύρος του καταχωρητή
σε δυαδικά ψηφία, όσο πιο μεγάλος είναι τόσο
περισσότερα δεδομένα χωράει.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 61
1708
62. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Εάν το μήκος των δεδομένων είναι ίδιο με των
καταχωρητών τότε δεν υπάρχει πρόβλημα.
o Εάν όμως οι καταχωρητές είναι μικρότεροι τότε πρώτα
γίνεται ή πράξη μεταξύ των τμημάτων LSB, αν
προκύψει κρατούμενο μεταφέρεται στην επόμενη
πράξη.
o Μετά πραγματοποιείτε η πράξη μεταξύ των τμημάτων
MSB μαζί με το κρατούμενο. Και το κρατούμενο από
αυτήν την πράξη προστίθεται στο τέλος.
o Έτσι για την εκτέλεση της πρόσθεσης απαιτούνται δύο
εντολές.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 62
1708
63. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Άρα το μήκος των καταχωρητών του μ/Ε επηρεάζει την
ταχύτητα με την οποία εκτελούνται οι πράξεις.
o Σύμφωνα με αυτό οι μ/Ε χωρίζονται σε :
o 8-μπιτους, μέγεθος καταχωρητή 8 bit. Ο μεγαλύτερος
ακέραιος αριθμός που μπορεί να αποθηκευτεί 255.
o 16-μπιτους, 16 bit, 65.535
o 32-μπιτους, 32 bit, 4.294.967.295
o 64-μπιτους, 64 bit, 18.446.744.073.709.551.615
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 63
1708
64. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Το ρεπερτόριο εντολών (instruction set).
o Είναι το σύνολο των εντολών που μπορεί να εκτελέσει.
o Είναι καθοριστικός παράγοντας για να αποφασίσουμε
εάν είναι κατάλληλος για την εφαρμογή μας.
o Π.χ επεξεργασία φωνής, χρειαζόμαστε μ/Ε που να
εκτελεί γρήγορα μαθηματικές πράξεις.
o Ψηφιακό τηλεφωνικό κέντρο, μ/Ε με εντολές για
γρήγορη μεταφορά δεδομένων.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 64
1708
65. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Επίσης θα πρέπει να υπάρχει συμβατότητα με
παλαιοτέρους μ/Ε.
o Δηλαδή ένα πρόγραμμα που εκτελούσε ένας παλιός
μ/Ε να μπορεί να το εκτελεί και ο νέος, δηλαδή θα
πρέπει να περιέχει όλες τις εντολές του προηγούμενου
μ/Ε της εταιρίας.
o Με βάση το κριτήριο του μεγέθους του ρεπερτορίου
διακρίνονται σε δύο κατηγορίες :
o Μειωμένου ρεπερτορίου.
o Διευρυμένου ρεπερτορίου.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 65
1708
66. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Ανάλογα ονομάστηκαν και τα συστήματα που
τους χρησιμοποιούσαν :
o Υπολογιστικά συστήματα διευρυμένου
ρεπερτορίου. CISC (Complex Instruction Set
Computers).
o Υπολογιστικά συστήματα μειωμένου
ρεπερτορίου. RISC (Reduced Instruction Set
Computers).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 66
1708
67. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Ένα διευρυμένο ρεπερτόριο εντολών περιλαμβάνει πιο
πολύπλοκες εντολές, άρα με λιγότερες εντολές μπορεί
να κάνει πιο πολύπλοκες διαδικασίες, επομένως θα
είναι και πιο ισχυροί.
o Ύστερα από μελέτες προέκυψαν τα εξής
συμπεράσματα :
o Όσο μεγαλύτερο είναι το ρεπερτόριο τόσο πιο
πολύπλοκή η σχεδίαση του και πιο μεγάλη
καθυστέρηση για την εκτέλεση κάθε εντολής.
o Σε ένα τυπικό πρόγραμμα μόνο ένα μικρό μέρος των
εντολών χρησιμοποιείται συχνότατα, ενώ το
μεγαλύτερο πλήθος των πολύπλοκων εντολών πιο
σπάνια.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 67
1708
68. 3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Τελικά οι σχεδιαστές άρχισαν να σχεδιάζουν
μ/Ε με όσο το δυνατόν πιο μικρό ρεπερτόριο
εντολών όπου η κάθε μια από τις οποίες
εκτελείται όσο το δυνατόν πιο γρήγορα.
o Δηλαδή κυριάρχησαν οι μ/Ε RISC.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 68
1708
69. 3.6 Οικογένειες μ/Ε.
o Με τον όρο οικογένεια μ/Ε εννοούμε μια σειρά
επεξεργαστών που έχουν κατασκευαστεί από
την ίδια εταιρεία και είναι συμβατοί μεταξύ τους.
o Με τον όρο συμβατότητα εννοούμε ότι ένα
νεότερο μέλος της οικογένειας μπορεί να
εκτελέσει εντολές ενός προηγούμενου
(αρχαιότερου) μέλους.
o Υπάρχουν πολλές εταιρίες οι πιο γνωστές είναι
της Intel, Motorola, AMD.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 69
1708
71. 3.6 Οικογένειες μ/Ε. Στο διαδίκτυο
o CPUs
o ZILOG
o INTEL
o List of Intel microprocessors
o List of AMD microprocessors
o MICROPROCESSOR
o COMPUTER HISTORY MUSEUM
o VLSI MICROPROCESSORS
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 71
1708
72. 3.7 Μικροελεγκτές
o Ένα μικρουπολογιστικό σύστημα αποτελείται από ένα
μικροεπεξεργαστή, μνήμη και μονάδες εισόδου -
εξόδου.
o Ένας μ/Ε μπορεί να εκτελεί υπολογισμούς και να
επεξεργάζεται δεδομένα γρήγορα και αξιόπιστα και
προκειμένου να επικοινωνήσει με το περιβάλλον του
πρέπει να συνδεθεί με κάποιες περιφερειακές μονάδες
όπως :
o Μνήμη (ROM, RAM).
o Ελεγκτής διακοπών από περιφερειακές μονάδες.
o Θύρες (ports) επικοινωνίας με τις μονάδες εισόδου –
εξόδου.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 72
1708
73. 3.7 Μικροελεγκτές
o Ένα μικρουπολογιστικό σύστημα μπορεί να
χρησιμοποιηθεί για να ελέγξει ένα σύστημα (π.χ
βιομηχανικό αυτοματισμό) όπου θα πρέπει να
δεχτεί αναλογικά σήματα (π.χ. θερμοκρασία) τα
οποία θα πρέπει να μετατραπούν σε ψηφιακά
μέσο ενός μετατροπέα A/D.
o Έτσι η σχεδίαση ενός τέτοιου συστήματος είναι
πολύπλοκη λόγου του συγχρονισμού που
απαιτούν όλες αυτές οι μονάδες.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 73
1708
74. 3.7 Μικροελεγκτές
o Μία λύση είναι η κατασκευή ενός ολοκληρωμένου
κυκλώματος το οποίο θα περιλαμβάνει κάποιες από τις
απαραίτητες περιφερειακές συσκευές.
o Ένα τέτοιο κύκλωμα ονομάζεται μικροελεγκτής
(microcontroller).
o Είναι κατάλληλοι για εφαρμογές στις οποίες υπάρχει
αυξημένη ανάγκη για χρήση περιφερειακών συσκευών.
o Το κριτήριο επιλογής ενός μικροελεγκτή είναι το είδος
και οι δυνατότητες των περιφερειακών που διαθέτει.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 74
1708
77. 3.7 Μικροελεγκτές. Στο διαδίκτυο
o MCU
o PIC MICROCONTROLLER
o http://www.microcontroller.com/
o ELECTRONIC CIRCUITS BASED ON
AVR MICROCONTROLLER.
o Build Your Own Microcontroller
Projects
o http://www.microchip.com/
o http://www.freescale.com/
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ 77
1708