Συστήματα Ψηφιακών Ηλεκτρονικών Θεωρία ΚΕΦ (3) Βιβλίο...
description
Transcript of Συστήματα Ψηφιακών Ηλεκτρονικών Θεωρία ΚΕΦ (3) Βιβλίο...
ΚΕΦΑΛΑΙΟ 3 ΔΟΜΗ & ΛΕΙΤ.ΜΙΚΡΟΥΠΟΛΟΓΙΣΤΩΝ
Αρχιτεκτονική ΗλεκτρονικούΤμήματος (hardware) τωνΥπολογιστικών Συστημάτων.
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 Μικροελεγκτές.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
3
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Με τον όρο υπολογιστικό σύστημαονομάζουμε ένα σύστημα το οποίοαποτελείται από μία Κεντρική ΜονάδαΕπεξεργασίας, μνήμη και συσκευέςεισόδου και εξόδου.
o Το χρησιμοποιούμε για την εκτέλεσηυπολογισμών ή για να ελέγξουμε άλλεςσυσκευές.
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
5
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Ένα υπολογιστικό σύστημα στο οποίο ωςκεντρική μονάδα επεξεργασίας (ΚΜΕ)χρησιμοποιείται ένας μικροεπεξεργαστής(micro – processor) ονομάζεταιμικροϋπολογιστικό σύστημα.
o Ένας μικροεπεξεργαστής είναι ένα Ο.Κγενικού σκοπού, το οποίο μπορεί ναπρογραμματιστεί.
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
7
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Η επεξεργασία των δεδομένων γίνεται σε μια σειράαπό βήματα, κάθε ένα από τα οποία ονομάζεταιεντολή.
o Οι εντολές που εκτελούνται από το μικροεπεξεργαστήείναι σε γλώσσα μηχανής.
o Μια εντολή σε γλώσσα μηχανής είναι μια σειρά απόδυαδικά ψηφία όπου είναι κωδικοποιημένο το είδοςτης εντολής.
o Οι εντολές είναι αποθηκευμένες στην κύρια μνήμη.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
8
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Η κύρια μνήμη είναι ένας χώρος στονοποίο ο υπολογιστής φυλάει δεδομένα ήεντολές προς εκτέλεση.
o Αποτελείτε από λέξεις μνήμης καιδιευθύνσεις.
o Χωρίζεται σε δύο μέρη :o Την ROMo Και την RAM.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
9
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Οι λειτουργίες με τις οποίες ομικροεπεξεργαστής επικοινωνεί με τηνμνήμη RAM είναι η εγγραφή καιανάγνωση.
o Στην εγγραφή, η διεύθυνση της θέσηςμνήμης στην οποία θα πραγματοποιηθεί ηεγγραφή τοποθετείται στον καταχωρητήδιευθύνσεων του μικροεπεξεργαστή, ενώτα δεδομένα στον καταχωρητήδεδομένων.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
10
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Στην ανάγνωση, τα περιεχόμενα της θέσηςμνήμης που υποδεικνύει ο καταχωρητήςδιευθύνσεων του μικροεπεξεργαστήμεταφέρονται στον καταχωρητή δεδομένων.
o Η διεύθυνση μεταφέρεται μέσω του διαδρόμουδιευθύνσεων, τα δεδομένα μέσω τουδιαδρόμου δεδομένων.
o Η μνήμη ROM περιέχει το πρόγραμμαλειτουργίας.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
11
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Τα βασικά χαρακτηριστικά της κύριας μνήμηςείναι :
o Μήκος λέξης.o Χωρητικότητα.o Χρόνος προσπέλασης.o Το μήκος λέξης είναι το πλήθος των δυαδικώνψηφίων κάθε λέξης, ίσο με αυτό που μπορεί ναεκτελέσει πράξεις ο μικροεπεξεργαστής.(2,4,8,16,32,64 bits).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ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 bitso Χρόνος προσπέλασης είναι ο χρόνος που περνάειαπό τη στιγμή που ο μικροεπεξεργαστής ζητάει απότη μνήμη τα περιεχόμενο μιας θέσης, μέχρι τη στιγμήπου η μνήμη δίνει το περιεχόμενο αυτό.
o Επίσης μετριέται και με την συχνότητα λειτουργίας,που είναι πόσες φορές μπορούμε να προσπελάσουμετην μνήμη στην μονάδα του χρόνου (sec), γιαεγγραφή και ανάγνωση.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
13
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Οι μονάδες εισόδου εξόδου είναι τοσύνολο των συσκευών ή διατάξεων πουεπιτρέπουν την επικοινωνία τουσυστήματος με τον έξω κόσμο.
o Οι μονάδες εισόδου μετατρέπουν τηνπληροφορία σε ψηφιακή μορφή.
o Πληκτρολόγιο, ποντίκι, σαρωτής, κλπ.o Και οι μονάδες εξόδου το αντίστροφο.o Οθόνη, εκτυπωτής, κ.λ.π.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
14
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Υπάρχουν και αμφίδρομες μονάδεςεισόδου – εξόδου. Modems, κάρτες ήχου,βίντεο, κλπ.
o Μια συσκευή εισόδου, εξόδου συνδέετεστο σύστημα μέσω θυρών εισόδουεξόδου (Ι/Ο ports) οι οποίες είναικαταχωρητές που μπορεί να προσπελάσειο μικροεπεξεργαστής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
15
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Ένας διάδρομος είναι μια ομάδα αγωγών πουχρησιμοποιείται για την επικοινωνία μεταξύ τωνμονάδων του υπολογιστή.
o Διάδρομος δεδομένων. Όπου μεταφέρονται ταδεδομένα.
o Διάδρομος διευθύνσεων. Όπου μεταφέρονται οιδιευθύνσεις.
o Και ο διάδρομος ελέγχου όπου ο μικροεπεξεργαστήςπληροφορεί όλες τις συσκευές για το την ενέργεια πουπροτίθεται να κάνει.
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
17
3.1 Βασικά στοιχεία αρχιτεκτονικήςμικροϋπολογιστικών συστημάτων
o Για κάθε χρονική στιγμή ΜΟΝΟ ΔΥΟσυσκευές μπορούν να επικοινωνούν μέσωτου διαδρόμου.
o Ο μικροεπεξεργαστής ελέγχει καισυντονίζει μεταφορές και πράξεις σταδεδομένα σύμφωνα με τις εντολές στοπρόγραμμά του.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
18
3.2 Αρχές λειτουργίας καιαρχιτεκτονική μικροεπεξεργαστών.
o Οι μικροεπεξεργαστές (μ/Ε) ξεκίνησαν ως μιαενδιάμεση φθηνή λύση στον έλεγχο συστημάτων πουέπρεπε να κατασκευαστούν κατά περίπτωση.
o Το κύκλωμα που βασίζεται σε μ/Ε μπορεί ναχρησιμοποιηθεί χωρίς μετατροπές στο υλικό αλλά μόνομε τροποποίηση του προγράμματος σε ποικιλίαεφαρμογών, ενώ ένα που κατασκευάζεται με πύλεςμπορεί να χρησιμοποιηθεί μόνο σε μία εφαρμογή.
o Έτσι με τους μ/Ε το πρόβλημα της σχεδίασηςψηφιακών συστημάτων μετατοπίστηκε από το υλικόστο λογισμικό.
3.2 Αρχές λειτουργίας καιαρχιτεκτονική μικροεπεξεργαστών.
3.2 Αρχές λειτουργίας καιαρχιτεκτονική μικροεπεξεργαστών.
Πωςκατασκευάζεται 1
Πωςκατασκευάζεται 2
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
22
3.2 Αρχές λειτουργίας καιαρχιτεκτονική μικροεπεξεργαστών.
o Οι καταχωρητές χρησιμεύουν ως χώροι αποθήκευσηςδεδομένων και διευθύνσεων της μνήμης.
o Οι καταχωρητές που συναντάμε στην πλειοψηφία τωνμ/Ε είναι :
o Ο απαριθμητής προγράμματος PC (Program Counter).o Ο καταχωρητής εντολών IR (Instruction Register).o Ο δείκτης στοίβας SP (Stack Pointer).o Ο καταχωρητής κατάστασης SR (Status Register).
3.2 Αρχές λειτουργίας καιαρχιτεκτονική μικροεπεξεργαστών.
1
2
3
4
5
6
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
24
1. Αριθμητική και λογική μονάδα(arithmetic and logic unit)
o Η αριθμητική και λογική μονάδα εκτελείαριθμητικές και λογικές πράξεις.
o Τα δεδομένα με τα οποία εκτελούνται οιπράξεις αυτές βρίσκονται σε δύοκαταχωρητές : συσσωρευτής ACC(accumulator) & προσωρινόςκαταχωρητής TEMP (temporary).
o Το αποτέλεσμα της πράξης φυλάσσεταιστον συσσωρευτή.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
25
1. Αριθμητική και λογική μονάδα(arithmetic and logic unit)
o Οι συνηθισμένες πράξεις που εκτελούνταιείναι :
o Δυαδική πρόσθεση και αφαίρεση.o Λογικό AND, OR, XOR.o Συμπλήρωμα ως προς 1 και ως προς 2.o Ολίσθηση και περιστροφή δεξιά ήαριστερά.
o Πολλαπλασιασμός και διαίρεση (ΌΧΙ σεόλους τους μ/Ε).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
26
1. Αριθμητική και λογική μονάδα(arithmetic and logic unit)
o Το αποτέλεσμα της πράξης επηρεάζειεπίσης μια σειρά από flip flops πουονομάζονται σημαίες (flags). Π.χ.
o Εάν προκύψει κρατούμενο.o Εάν το αποτέλεσμα είναι μηδέν 0.o Κ.λ.πo Το σύνολο των σημαιών αποτελεί τονκαταχωρητή κατάστασης SR (statusregister).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
27
2. Μονάδα ελέγχου
o Η μονάδα ελέγχου ελέγχει και συγχρονίζειτη μεταφορά και επεξεργασία τωνδεδομένων.
o Χρησιμοποιεί ως είσοδο ένα εξωτερικόρολόι (clk) και παράγει σήματα χρονισμούκαι ελέγχου που ρυθμίζουν τις μεταφορέςδεδομένων και τις πράξεις πουπεριλαμβάνονται σε κάθε εντολή.
2. Μονάδα ελέγχου
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
29
3. Απαριθμητής προγράμματος PC.
o Είναι ένας καταχωρητής διευθύνσεων,στον οποίο φυλάγεται η διεύθυνση τηςμνήμης από την οποία θα ανακληθεί ηεπόμενη προς εκτέλεση εντολή.
o Μπορεί να απευθυνθεί σε οποιαδήποτεθέση μνήμης.
o Όταν η είσοδος reset είναι «1» ο PCπαίρνει την τιμή «0000» ή κάποιαπροκαθορισμένη αρχική τιμή.
3. Απαριθμητής προγράμματος PC.o Όταν το resetξαναγυρίσει στο«0» τότε ημονάδα ελέγχουCU μεταφέρει ταπεριεχόμενα τουPC στοναπομονωτήδιευθύνσεων AL(address latch)δίνοντας έτσι τηνδιεύθυνση τηςπρώτης εντολήςπου θαεκτελεστεί.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
31
3. Απαριθμητής προγράμματος PC.
o Έτσι ξεκινάει με την εκτέλεση της πρώτηςεντολής που βρίσκεται στην θέση «0».
o Οι πρώτες θέσεις μνήμης αντιστοιχούν σεδιευθύνσεις της μνήμης ROM.
o Το πρόγραμμα που περιέχεται σε αυτές τιςθέσεις είναι σημαντικό για την ομαλή λειτουργίατου συστήματος.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
32
4. Καταχωρητής εντολών IR.o Είναι ένας καταχωρητής στον οποίο μεταφέρεται ηεντολή που διαβάστηκε από τη μνήμη.
o Στην συνέχεια αποκωδικοποιείται μέσω τουαποκωδικοποιητή εντολών προκειμένου να εκτελεστεί.
o Οι εντολές ενός μ/Ε μπορεί να έχουν μήκος 1 ήπερισσότερες λέξεις μνήμης.
o Η πρώτη λέξη περιέχει τον κωδικό λειτουργίας(operation code ή opcode) δηλαδή το είδος τηςεντολής (πράξη, μεταφορά δεδομένων κλπ).
o Με αυτό ο μ/Ε γνωρίζει πόσες και ποιες θέσεις μνήμηςκαταλαμβάνει η εντολή καθώς και ποιες ενέργειεςπρέπει να κάνει στην συνέχεια.
4. Καταχωρητής εντολών IR.o Κατά την διάρκειαανάκλησης τηςεντολής (instructionfetch), η πρώτη λέξημνήμης μεταφέρεταιαπό την μνήμη μέσωτου εξωτερικούδιαδρόμουδεδομένων στονκαταχωρητήεντολών.
o Ο οποίος παρέχειπληροφορίες για τοείδος της εντολήςστην CU.
4. Καταχωρητής εντολών IR.o Ο PC αυξάνεταιαυτόματα κατά «1» (μεεντολή της CU) οπότεπεριέχει την διεύθυνσητης επόμενης εντολής.
o Εάν η εντολήκαταλαμβάνειπερισσότερες από μίαθέσεις τότε η CUπροχωρά στηνανάγνωση όλων τωνυπολοίπων θέσεων μετην βοήθεια του PC.
o Όταν φορτωθούν όλεςοι λέξεις εκτελείτε ηεντολή.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
35
5. Δείκτης στοίβας SP.
o Ο δείκτης στοίβας SP (Stack Pointer) είναι έναδείκτης διευθύνσεων της κορυφής της στοίβας ηοποία βρίσκεται στην κύρια μνήμη.
o Η στοίβα είναι μια περιοχή της μνήμης η οποίαχρησιμοποιείται κυρίως για την εξυπηρέτησηκλήσεων διακοπών και υπορουτινών.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
36
6. Καταχωρητής κατάστασης SR.
o Ο καταχωρητής αυτός δίνει πληροφορίεςσχετικά με το αποτελέσματα της τελευταίαςεντολής που εκτελέστηκε και έχει σχέση με τηνALU.
o Περιλαμβάνει κάποιες σημαίες συνθήκης(σήματα) που επηρεάζονται από τοαποτέλεσμα.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ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 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
38
3.3 Εντολές μ/Ε.3.3.1 Εκτέλεση εντολής.
o Η εκτέλεση μιας εντολής περιλαμβάνει τις ακόλουθεςφάσεις :
o Κλήση εντολής : μεταφέρεται ο κώδικας της εντολήςαπό τη μνήμη (αυτήν που δείχνει ο PC).
o Αποκωδικοποίηση : αν η εντολή περιέχει και άλλα byteτότε μεταφέρεται από τη μνήμη η υπόλοιπη εντολή,αλλιώς ερμηνεύεται και εκτελείται.
o Εκτέλεση : η φάση αυτή εξαρτάται από το είδος τηςεντολής.
o Συνήθως οι εντολές αποθηκεύονται σε διαδοχικέςθέσεις μνήμης σύμφωνα με τη σειρά που πρέπει ναεκτελεστούν.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
39
3.3.2 Γλώσσα μηχανής καισυμβολική γλώσσα.
o Κάθε εντολή με μία ή περισσότερες λέξεις χωρίζεται σεδύο τμήματα :
o Τον κώδικα εντολής (opcode) που έχει μήκος «κ»δυαδικά ψηφία.
o Το τμήμα διευθύνσεως που έχει μήκος «τ» δυαδικάψηφία.
o Το άθροισμα «κ+τ» των δυαδικών ψηφίων δίνει τομήκος της εντολής.
o Ο κώδικας ορίζει την λειτουργία που πρέπει ναεκτελεστεί, και το τμήμα της διευθύνσεως περιέχει ταδεδομένα της.
3.3.2 Γλώσσα μηχανής καισυμβολική γλώσσα.
o Το σύνολο των εντολών τις οποίες μπορεί ναεκτελέσει ένας μ/Ε ονομάζεται ρεπερτόριοεντολών (instruction set).
o Κάθε μια από αυτές αντιστοιχίζεται σε έναδυαδικό αριθμό «κ» δυαδικών ψηφίων ο οποίοςτη συμβολίζει.
o Π.χ. 25=32 εντολές.
3.3.2 Γλώσσα μηχανής καισυμβολική γλώσσα.
o Οι εντολές χωρίζονται σε ομάδες ανάλογα μετην εργασία που επιτελούν. (εκτέλεσης,άλματος, ολίσθησης, εισόδου, εξόδου, κ.λ.π).
o Το τμήμα διευθύνσεως παριστάνει μιαδιεύθυνση μνήμης ή έναν καταχωρητή.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
42
3.3.2 Γλώσσα μηχανής καισυμβολική γλώσσα.
o Ένα πρόγραμμα με εντολές γραμμένες στοδυαδικό σύστημα ονομάζεται πρόγραμμά σεγλώσσα μηχανής (machine language).
o Η συγγραφή ενός προγράμματος σε τέτοιαγλώσσα έχει πολλά μειονεκτήματα.
o Έτσι αντικαθιστούμε κάθε εντολή με μία λέξησυμβολική που θυμίζει την λειτουργία της.
o Ένα πρόγραμμα με συμβολικές εντολέςονομάζεται πρόγραμμα σε συμβολική γλώσσα(assembly language).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
43
3.3.2 Γλώσσα μηχανής καισυμβολική γλώσσα.
o Για κάθε εντολή στο ρεπερτόριο υπάρχει ηαντίστοιχη σε συμβολική γλώσσα.
o Για να μπορέσει να εκτελεστεί ένα τέτοιοπρόγραμμα από τον μ/Ε θα πρέπει ναμεταφραστεί σε γλώσσα μηχανής. Αυτό γίνεταιμέσω ενός κατάλληλου προγράμματος(software) που ονομάζεταισυμβολομεταφραστής (assembler).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
44
3.3.3 Κύκλοι εντολής και κύκλοιμηχανής.
o Η ανάκληση και εκτέλεση μιας εντολής αποτελεί ένακύκλο εντολής.
o Ένας κύκλος εντολής αποτελείται από μία ήπερισσότερες λειτουργίες ανάγνωσης ή εγγραφής στημνήμη ή στη μονάδα εισόδου – εξόδου.
o Κάθε αναφορά σε μονάδα εισόδου – εξόδου ή στηνμνήμη απαιτεί ένα κύκλο μηχανής.
o Κάθε φορά που μια λέξη μνήμης μεταφέρεται από καιπρος τον μ/Ε εκτελείται ένας κύκλος μηχανής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ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).
3.3.3 Κύκλοι εντολής και κύκλοι μηχανής.
o Ένας κύκλος μηχανής ενεργοποιείται από την μονάδαελέγχου CU του μ/Ε όταν λάβει τον κώδικα εντολής.
o Η ανάκληση εντολής σε ένα κύκλο εντολής απαιτεί ένακύκλο μηχανής για κάθε λέξη που ανακαλείται.
o Π.χ εάν η εντολή έχει μήκος 3 λέξεις τότε η ανάκλησητης διαρκεί 3 κύκλους μηχανής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
47
3.3.3 Κύκλοι εντολής και κύκλοιμηχανής.
o Ένας κύκλος μηχανής είναι ή περίοδος τηςσυχνότητας λειτουργίας του μ/Ε. Τ=1/F.
o Π.χ αν η συχνότητα λειτουργίας είναι 100MHzτότε ένας κύκλος μηχανής διαρκεί 10nsec.
o Αν μια εντολή έχει μήκος 3 λέξεων για ναεκτελεστεί χρειάζεται 3*10nsec=30nsec. Δηλαδή3 κύκλους μηχανής.
o Τα 30nsec είναι ένας κύκλος εντολής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
48
3.3.4 Είδη εντολώνo Εντολές μεταφοράς δεδομένων. Οι εντολές αυτέςμεταφέρουν δεδομένα μεταξύ καταχωρητών και μνήμηςκαι δεν επηρεάζουν τις σημαίες κατάστασης (flags).
o Εντολές αριθμητικών πράξεων. Πραγματοποιούναριθμητικές πράξεις σε δεδομένα που βρίσκονται στουςκαταχωρητές και στη μνήμη. Η ALU εκτελεί πράξειςμόνο μεταξύ των καταχωρητών του μ/Ε, άρα έναθέλουμε να κάνουμε πράξεις με αριθμούς πουβρίσκονται στην μνήμη θα πρέπει να μεταφερθούνστους καταχωρητές. Οι εντολές επηρεάζουν τιςσημαίες.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
49
3.3.4 Είδη εντολώνo Εντολές λογικών πράξεων. Εκτελούν πράξεις σεδεδομένα «λέξεις» που βρίσκονται στους καταχωρητές,στη μνήμη και στις σημαίες.
o Εντολές άλματος. Οι εντολές ενός προγράμματοςεκτελούνται με την σειρά, οι εντολές άλματος αλλάζουντην ροή εκτέλεσης, γι’ αυτό ονομάζονται και εντολέςδιακλάδωσης.
o Δηλαδή όταν εκτελείται μια εντολή άλματος τότε αντί ναεκτελεστή η επόμενη, ο έλεγχος μεταφέρεται σε άλλοσημείο του προγράμματος, οπουδήποτε, στηνδιεύθυνση που καθορίζεται από την εντολή.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
50
3.3.4 Είδη εντολών
o Οι εντολές άλματος χωρίς συνθήκη μεταφέρουντην καθορισμένη διεύθυνση στον PC.
o Οι εντολές άλματος με συνθήκη εξετάζουνπρώτα την κατάσταση κάποιας από τις σημαίεςκαι αποφασίζουν αν πρέπει ή όχι να μεταφερθείο έλεγχος στην καθορισμένη διεύθυνση.
o Αν ναι τότε φορτώνουν την διεύθυνση αυτήστον PC.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
51
3.4 Τρόποι αναφοράς στην μνήμη.
o Όπως ξέρουμε, μια εντολή αποτελείται από το τμήματου κώδικα και το τμήμα της διεύθυνσης.
o Το τμήμα της διεύθυνσης χρησιμοποιείται για να βρεθείη ενεργή διεύθυνση (effective address), δηλαδή η θέσηαπό την οποία θα διαβαστεί το όρισμα (δεδομένο) τηςεντολής.
o Στην πράξη δεν υποστηρίζονται όλοι οι τρόποιαναφοράς στην μνήμη από όλου τους μ/Ε και είναιδυνατό διαφορετικοί μ/Ε να αναφέρονται στον ίδιοτρόπο χρησιμοποιώντας διαφορετικά ονόματα.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
52
3.4 Τρόποι αναφοράς στην μνήμη.
o Άμεση αναφορά στη μνήμη (immediateaddressing).
o Η τιμή του ορίσματος (δεδομένου) είναι τμήματης εντολής ή ακολουθεί μετά τον κωδικό. Και οκωδικός και το δεδομένο καλούνται από τημνήμη με τον PC.
o Δεν απαιτείται επιπλέων προσπέλαση στημνήμη πέραν από την ανάγνωση της εντολής.
3.4 Τρόποι αναφοράς στην μνήμη.o Π.χ η εντολή
“ADD 30h” θαμπορούσε νασημαίνει«πρόσθεσεστην τρέχουσατιμή τουσυσσωρευτήACC τοδεκαεξαδικόαριθμό 30»
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
54
3.4 Τρόποι αναφοράς στην μνήμη.
o Απευθείας αναφορά στη μνήμη (directaddressing).
o Το δεδομένο βρίσκεται σε μία θέση μνήμης καιαμέσως μετά τον κωδικό της εντολής υπάρχει ηαυτή η διεύθυνση.
o Ο τρόπος αυτός είναι γρήγορος άλλαπεριορίζεται ο αριθμός των θέσεων από τοναριθμό των δυαδικών ψηφίων της διεύθυνσης.
3.4 Τρόποι αναφοράς στην μνήμη.
o Π.χ η εντολή“ADD [30h]” θαμπορούσε νασημαίνει«πρόσθεσεστην τρέχουσατιμή τουσυσσωρευτήACC τη τιμήπου βρίσκεταιστην διεύθυνσημνήμης 30»
3.4 Τρόποι αναφοράς στην μνήμη.o Αναφορά στη μνήμηκαταχωρητών(registeraddressing).
o Το δεδομένοπεριέχεται σε ένανεσωτερικόκαταχωρητή τουμ/Ε.
o Π.χ “ADD A”«πρόσθεσε στηντρέχουσα τιμή τουσυσσωρευτή ACCτη τιμή τουκαταχωρητή Α»
3.4 Τρόποι αναφοράς στην μνήμη.o Έμμεση αναφορά μέσωκαταχωρητή (registerindirect addressing).
o Ο κώδικας της εντολήςπροσδιορίζει ένανκαταχωρητή του μ/Ε οοποίος περιέχει τηδιεύθυνση μνήμης πουπεριέχει το δεδομένο.
o Π.χ “ADD [A]”«πρόσθεσε στηντρέχουσα τιμή τουσυσσωρευτή ACC τητιμή που βρίσκεται στηνθέση μνήμης πουδείχνει ο καταχωρητήςΑ»
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
58
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Τα κυριότερα χαρακτηριστικάτων μ/Ε είναι :
o Η συχνότητα λειτουργίας(operating frequency).
o Το μήκος λέξης (word length).o Το ρεπερτόριο εντολών
(instruction set).
overclocking
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
59
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Η συχνότητα λειτουργίας (operating frequency).o Για να εκτελέσει μια εντολή ο μ/Ε, εκτελεί μια σειρά απόδιαδοχικές λειτουργίες, για το συγχρονισμό τους είναιαπαραίτητο ένα ρολόι.
o Το ρολόι παράγεται από εξωτερικό κύκλωμα, είναιτετραγωνικής μορφής με πλάτος από 0-5 V.
o Η συχνότητα του ρολογιού επιλέγεται να είναι ίση μετην μέγιστη επιτρεπόμενη συχνότητα λειτουργίας τουμ/Ε.
o Όσο μεγαλύτερη είναι τόσο πιο γρήγορα εκτελεί τηςεντολές ο μ/Ε.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
60
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Εάν προσπαθήσουμε να υπερβούμε τηνμέγιστη συχνότητα λειτουργίας το αποτέλεσμαθα είναι είτε λανθασμένη λειτουργία τουολοκληρωμένου ή και η καταστροφή του.
o Η συχνότητα του ρολογιού δείχνει το πλήθοςτων κύκλων μηχανής που εκτελούνται σε έναδευτερόλεπτο.
o Ένας κύκλος εντολής αποτελείται από ένα καιπερισσότερους κύκλους μηχανής.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
61
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Το μήκος λέξης (word length).o Ένας μ/Ε εκτελεί αριθμητικές και λογικέςπράξεις μεταξύ των καταχωρητών του, ταδεδομένα εισάγονται από την μνήμη και τιςπεριφερειακές μονάδες σε κάποιο καταχωρητήκαι μετά γίνεται η επεξεργασία τους.
o Το μήκος λέξης είναι το εύρος του καταχωρητήσε δυαδικά ψηφία, όσο πιο μεγάλος είναι τόσοπερισσότερα δεδομένα χωράει.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
62
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Εάν το μήκος των δεδομένων είναι ίδιο με τωνκαταχωρητών τότε δεν υπάρχει πρόβλημα.
o Εάν όμως οι καταχωρητές είναι μικρότεροι τότε πρώταγίνεται ή πράξη μεταξύ των τμημάτων LSB, ανπροκύψει κρατούμενο μεταφέρεται στην επόμενηπράξη.
o Μετά πραγματοποιείτε η πράξη μεταξύ των τμημάτωνMSB μαζί με το κρατούμενο. Και το κρατούμενο απόαυτήν την πράξη προστίθεται στο τέλος.
o Έτσι για την εκτέλεση της πρόσθεσης απαιτούνται δύοεντολές.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
63
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Άρα το μήκος των καταχωρητών του μ/Ε επηρεάζει τηνταχύτητα με την οποία εκτελούνται οι πράξεις.
o Σύμφωνα με αυτό οι μ/Ε χωρίζονται σε :o 8-μπιτους, μέγεθος καταχωρητή 8 bit. Ο μεγαλύτεροςακέραιος αριθμός που μπορεί να αποθηκευτεί 255.
o 16-μπιτους, 16 bit, 65.535o 32-μπιτους, 32 bit, 4.294.967.295o 64-μπιτους, 64 bit, 18.446.744.073.709.551.615
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
64
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Το ρεπερτόριο εντολών (instruction set).o Είναι το σύνολο των εντολών που μπορεί να εκτελέσει.o Είναι καθοριστικός παράγοντας για να αποφασίσουμεεάν είναι κατάλληλος για την εφαρμογή μας.
o Π.χ επεξεργασία φωνής, χρειαζόμαστε μ/Ε που ναεκτελεί γρήγορα μαθηματικές πράξεις.
o Ψηφιακό τηλεφωνικό κέντρο, μ/Ε με εντολές γιαγρήγορη μεταφορά δεδομένων.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
65
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Επίσης θα πρέπει να υπάρχει συμβατότητα μεπαλαιοτέρους μ/Ε.
o Δηλαδή ένα πρόγραμμα που εκτελούσε ένας παλιόςμ/Ε να μπορεί να το εκτελεί και ο νέος, δηλαδή θαπρέπει να περιέχει όλες τις εντολές του προηγούμενουμ/Ε της εταιρίας.
o Με βάση το κριτήριο του μεγέθους του ρεπερτορίουδιακρίνονται σε δύο κατηγορίες :
o Μειωμένου ρεπερτορίου.o Διευρυμένου ρεπερτορίου.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
66
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Ανάλογα ονομάστηκαν και τα συστήματα πουτους χρησιμοποιούσαν :
o Υπολογιστικά συστήματα διευρυμένουρεπερτορίου. CISC (Complex Instruction SetComputers).
o Υπολογιστικά συστήματα μειωμένουρεπερτορίου. RISC (Reduced Instruction SetComputers).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
67
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Ένα διευρυμένο ρεπερτόριο εντολών περιλαμβάνει πιοπολύπλοκες εντολές, άρα με λιγότερες εντολές μπορείνα κάνει πιο πολύπλοκες διαδικασίες, επομένως θαείναι και πιο ισχυροί.
o Ύστερα από μελέτες προέκυψαν τα εξήςσυμπεράσματα :
o Όσο μεγαλύτερο είναι το ρεπερτόριο τόσο πιοπολύπλοκή η σχεδίαση του και πιο μεγάληκαθυστέρηση για την εκτέλεση κάθε εντολής.
o Σε ένα τυπικό πρόγραμμα μόνο ένα μικρό μέρος τωνεντολών χρησιμοποιείται συχνότατα, ενώ τομεγαλύτερο πλήθος των πολύπλοκων εντολών πιοσπάνια.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
68
3.5 Χαρακτηριστικά και κατηγορίες μ/Ε.
o Τελικά οι σχεδιαστές άρχισαν να σχεδιάζουνμ/Ε με όσο το δυνατόν πιο μικρό ρεπερτόριοεντολών όπου η κάθε μια από τις οποίεςεκτελείται όσο το δυνατόν πιο γρήγορα.
o Δηλαδή κυριάρχησαν οι μ/Ε RISC.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
69
3.6 Οικογένειες μ/Ε.
o Με τον όρο οικογένεια μ/Ε εννοούμε μια σειράεπεξεργαστών που έχουν κατασκευαστεί απότην ίδια εταιρεία και είναι συμβατοί μεταξύ τους.
o Με τον όρο συμβατότητα εννοούμε ότι ένανεότερο μέλος της οικογένειας μπορεί ναεκτελέσει εντολές ενός προηγούμενου(αρχαιότερου) μέλους.
o Υπάρχουν πολλές εταιρίες οι πιο γνωστές είναιτης Intel, Motorola, AMD.
3.6 Οικογένειες μ/Ε.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
71
3.6 Οικογένειες μ/Ε. Στο διαδίκτυο
o CPUso ZILOGo INTELo List of Intel microprocessorso List of AMD microprocessorso MICROPROCESSORo COMPUTER HISTORY MUSEUMo VLSI MICROPROCESSORS
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
72
3.7 Μικροελεγκτέςo Ένα μικρουπολογιστικό σύστημα αποτελείται από έναμικροεπεξεργαστή, μνήμη και μονάδες εισόδου -εξόδου.
o Ένας μ/Ε μπορεί να εκτελεί υπολογισμούς και ναεπεξεργάζεται δεδομένα γρήγορα και αξιόπιστα καιπροκειμένου να επικοινωνήσει με το περιβάλλον τουπρέπει να συνδεθεί με κάποιες περιφερειακές μονάδεςόπως :
o Μνήμη (ROM, RAM).o Ελεγκτής διακοπών από περιφερειακές μονάδες.o Θύρες (ports) επικοινωνίας με τις μονάδες εισόδου –εξόδου.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
73
3.7 Μικροελεγκτές
o Ένα μικρουπολογιστικό σύστημα μπορεί ναχρησιμοποιηθεί για να ελέγξει ένα σύστημα (π.χβιομηχανικό αυτοματισμό) όπου θα πρέπει ναδεχτεί αναλογικά σήματα (π.χ. θερμοκρασία) ταοποία θα πρέπει να μετατραπούν σε ψηφιακάμέσο ενός μετατροπέα A/D.
o Έτσι η σχεδίαση ενός τέτοιου συστήματος είναιπολύπλοκη λόγου του συγχρονισμού πουαπαιτούν όλες αυτές οι μονάδες.
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
74
3.7 Μικροελεγκτές
o Μία λύση είναι η κατασκευή ενός ολοκληρωμένουκυκλώματος το οποίο θα περιλαμβάνει κάποιες από τιςαπαραίτητες περιφερειακές συσκευές.
o Ένα τέτοιο κύκλωμα ονομάζεται μικροελεγκτής(microcontroller).
o Είναι κατάλληλοι για εφαρμογές στις οποίες υπάρχειαυξημένη ανάγκη για χρήση περιφερειακών συσκευών.
o Το κριτήριο επιλογής ενός μικροελεγκτή είναι το είδοςκαι οι δυνατότητες των περιφερειακών που διαθέτει.
1. Μνήμη ROM,RAM
2. Θύρες εισόδου– εξόδου, καισειριακής,παράλληληςεπικοινωνίας.
3. Μονάδααναγνώρισηςδιακοπών.
4. A/D.
5. Μετρητέςχρόνου,χρονιστές(timers).
12/2/2012 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣ ΠΕ1708
77
3.7 Μικροελεγκτές. Στο διαδίκτυο
o MCUo PIC MICROCONTROLLERo http://www.microcontroller.com/o ELECTRONIC CIRCUITS BASED ON
AVR MICROCONTROLLER.o Build Your Own Microcontroller
Projectso http://www.microchip.com/o http://www.freescale.com/