Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)"— Μεταγράφημα παρουσίασης:

1 Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)

2 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Περίγραμμα  Η κεντρική μονάδα επεξεργασίας CPU08  Μπλοκ διάγραμμα & καταχωρητές της CPU08  Αρχές λειτουργίας (monitor & user mode)  Μηχανισμοί διακοπής  Τρόποι διευθυνσιοδότησης εντολών

3 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Μπλοκ διάγραμμα  Η CPU08 αποτελείται από α) τη μονάδα εκτέλεσης (execution unit) και β) τη μονάδα ελέγχου (control unit).  Η μονάδα εκτέλεσης είναι υπεύθυνη για την εκτέλεση μιας σειράς εργασιών που περιγράφονται από το εκάστοτε πρόγραμμα υπολογιστή και αποτελείται από α) την αριθμητική & λογική μονάδα (ALU – Arithmetic Logic Unit), β) τους καταχωρητές (CPU registers) και γ) το δίαυλο διεπαφής (bus interface) της CPU08 με τη μνήμη του μικροϋπολογιστικού συστήματος.  H μονάδα ελέγχου συγκροτεί μία μηχανή πεπερασμένων καταστάσεων (FSM) η οποία παράγει τα απαραίτητα σήματα χρονισμού της μονάδας εκτέλεσης.

4 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Καταχωρητές  Η CPU08 αποτελείται από τους καταχωρητές: accumulator (A), index register (H:X), stack pointer (SP), program counter (PC), condition code regtister (CCR).

5 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Καταχωρητές  Ο Α είναι ένας 8-bit καταχωρητής γενικής χρήσης που χρησιμοποιείται για την ανάκτηση/καταχώρηση δεδομένων από και προς τη μνήμη του μικροελεγκτή και τον υπολογισμό αριθμητικών και λογικών πράξεων.  Ο H:X είναι ένας 16-bit καταχωρητής που μπορεί να χρησιμοποιηθεί είτε σε λειτουργία των 16, είτε σε λειτουργία των 8 bits. Ο δεύτερος τρόπος λειτουργίας χρησιμοποιεί τα bits 0 έως 7, δηλαδή μόνο τον καταχωρητή Χ. Ο Χ είναι και αυτός ένας γενικής χρήσης που χρησιμοποιείται για την ανάκτηση/καταχώρηση δεδομένων από και προς τη μνήμη του μικροελεγκτή (συμβατότητας με την προηγούμενη γενιά μικροελεγκτών της Motorola M6805, η οποία διέθετε 8-bit καταχωρητή δείκτη (IX).  Ο PC είναι ένας 16-bit καταχωρητής, η τιμή του οποίου υποδεικνύει πάντοτε την διεύθυνση μνήμης της επόμενης εκτελούμενης εντολής. Κατά την εκκίνηση της κεντρικής μονάδας επεξεργασίας, ο PC λαμβάνει τιμή από το άνυσμα εκκίνησης (reset vector) του μικροελεγκτή. Κατά την ομαλή εκτέλεση εντολών η τιμή του PC υποδεικνύει την επόμενη στη σειρά εντολή, με εξαίρεση την περίπτωση αλλαγής της ροής προγράμματος που προκαλείται είτε από κάποια εντολή, είτε από κάποιο μηχανισμό διακοπής (interrupt) του μικροελεγκτή.

6 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Καταχωρητές  Ο SP είναι ένας 16-bit καταχωρητής, η τιμή του οποίου υποδεικνύει πάντοτε την επόμενη (διαθέσιμη) θέση στο σωρό. Η έννοια του σωρού περιγράφει τη μνήμη δεδομένων ενός μικροελεγκτή, και τη δυνατότητα αυτής να χρησιμοποιηθεί ως μνήμη αυτόματης (και όχι μόνο) καταχώρησης δεδομένων, απαραίτητων για την εκτέλεση ενός προγράμματος. Για παράδειγμα, κατά την εκτέλεση ενός κώδικα απαιτείται πολλές φορές η αυτόματη αποθήκευση του καταχωρητή PC στο σωρό, προτού το πρόγραμμα προβεί στην αλλαγή της ακολουθιακής ροής εκτέλεσης εντολών. Η καταχώρηση δεδομένων στο σωρό πραγματοποιείται από το τέλος προς την αρχή, και αυτό διότι η καταχώρηση των πληροφοριών που καθορίζει ο προγραμματιστής πραγματοποιείται κατά κύριο λόγο στις αρχικές διευθύνσεις μνήμης. Κάθε φορά που καταχωρείται μία πληροφορία στο σωρό η τιμή του SP μειώνεται, ενώ κατά την ανάκτηση δεδομένων από το σωρό η τιμή του SP αυξάνεται. Αυτός ο τρόπος καταχώρησης και ανάκτησης δεδομένων ονομάζεται LIFO (Last-In, First-Out). Κατά την εκκίνηση της κεντρικής μονάδας επεξεργασίας η τιμή του SP ορίζεται σε 0x00FF. Υπάρχουν, εντολές που υποστηρίζουν την αλλαγή τιμής στον SP.

7 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Καταχωρητές  Ο CCR είναι ένας 8-bit καταχωρητής ο οποίος συγκροτείται από καταχωρητές του ενός bit για τον έλεγχο της κατάστασης της CPU08:  Η σημαία C τίθεται σε λογικό «1» όταν προκύπτει κρατούμενο κατά την πρόσθεση ή δανειζόμενο κατά την αφαίρεση δύο αριθμών.  Η σημαία Z τίθεται σε λογικό «1» όταν το αποτέλεσμα μιας αριθμητικής ή λογικής πράξης είναι μηδέν.  Η σημαία N τίθεται σε λογικό «1» όταν προκύπτει αρνητικό αποτέλεσμα κατά την εκτέλεση μιας αριθμητικής ή λογικής πράξης.  Η μάσκα I χρησιμοποιείται για την ενεργοποίηση και απενεργοποίηση των μηχανισμών διακοπής που διαθέτει ο μικροελεγκτής (λειτουργία που επιτυγχάνεται θέτοντας αντίστοιχα Ι=0 και Ι=1).  Η σημαία H τίθεται σε λογικό «1» όταν προκύπτει κρατούμενο μεταξύ του 3ου και του 4ου bit του καταχωρητή A κατά την εκτέλεση μιας πρόσθεσης.  Η σημαία V τίθεται σε λογικό «1» όταν προκύπτει κατάσταση υπερχείλισης σε προσημασμένους αριθμούς συμπληρώματος βάσης.

8 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Αρχές λειτουργίας  Η CPU08 διαθέτει δύο τρόπους λειτουργίας α) τη λειτουργία εποπτείας προγράμματος (monitor mode) και β) τη λειτουργία χρήστη (user mode).  Στη λειτουργία monitor η CPU08 εκτελεί firmware που βρίσκεται μόνιμα καταχωρημένο στη μνήμη του μικροελεγκτή και που χρησιμοποιείται για την επικοινωνία του τελευταίου με προσωπικό υπολογιστή (μέσω σειριακού τρόπου διασύνδεσης). Η λειτουργία αυτή παρέχει τη δυνατότητα καταχώρησης ενός κώδικα στη μνήμη προγράμματος του μικροελεγκτή, αλλά και τη δυνατότητα ενδοκυκλωματικής προσομοίωσης/εκσφαλμάτωσης (in-circuit simulation/debugging) του κώδικα αυτού.  Στη λειτουργία user η CPU08 εκτελεί τον κώδικα του χρήστη (προγραμματιστή) που είναι καταχωρημένος στη μνήμη προγράμματος του μικροελεγκτή. Η επιλογή του τρόπου λειτουργίας πραγματοποιείται κατά την επαναφορά (reset) της CPU08 στην αρχική της (προεπιλεγμένη) κατάσταση, και προαποφασίζεται από το επίπεδο της παρεχόμενης τάσης σε ένα συγκεκριμένο ακροδέκτη του ολοκληρωμένου που φέρει το όνομα IRQ. Κατά την επαναφορά της CPU08 σε λειτουργία user πραγματοποιείται ανάκτηση της διεύθυνσης μνήμης που είναι καταχωρημένη στο άνυσμα εκκίνησης του μικροελεγκτή.

9 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Μηχανισμοί διακοπής  Για την εξυπηρέτηση μιας διακοπής απαιτείται μια συγκεκριμένη ακολουθία βημάτων:  Ενεργοποίηση (μέσα από κατάλληλες εντολές) του επιθυμητού μηχανισμού διακοπής.  Συγγραφή του κώδικα που εκτελείται κατά την εξυπηρέτηση της διακοπής και τοποθέτηση αυτού σε ρουτίνα.  Προσδιορισμός του κατάλληλου ανύσματος εκκίνησης του συγκεκριμένου μηχανισμού, ώστε να πραγματοποιηθεί η αυτόματη κλίση της ρουτίνας όταν ανιχνευτεί η διακοπή.  Η CPU08 διαθέτει (ανάλογα με το μοντέλο του μικροελεγκτή στο οποίο χρησιμοποιείται) έως και 127 διαφορετικά ανύσματα εκκίνησης διακοπών, συμπεριλαμβανομένης και της διακοπής λογισμικού. Τα ανύσματα αυτά εντοπίζονται στη μνήμη του εκάστοτε μικροελεγκτή πάνω ακριβώς από το άνυσμα εκκίνησης του τελευταίου, δηλαδή πάνω από τις διευθύνσεις 0xFFFE και 0xFFFF

10 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Τρόποι διευθυνσιοδότησης εντολών:  Διαδικασία με την οποία οι εντολές του υπολογιστικού συστήματος αποκτούν πρόσβαση στους καταχωρητές της κεντρικής μονάδας επεξεργασίας και της μνήμης.  Η CPU08 διαθέτει 6 βασικούς τρόπους διευθυνσιοδότητης (οι οποίοι, μαζί με κάποιες υποκατηγορίες τους, επεκτείνονται συνολικά σε 16):  Έμφυτος/εγγενής (inherent) Συντάσσονται χωρίς όρισμα (συνήθως δεσμεύουν 1byte μνήμης).  Αμετάβλητος (immediate) Το όρισμα περιγράφει ακέραια τιμή.  Άμεσος (direct) Χρησιμοποιούνται για προσπέλαση 256 θέσεων μνήμης (2 bytes μνήμης).  Εκτεταμένος (extended) Προσπέλαση σε οποιαδήποτε θέση της 64Κ μνήμης (3 bytes μνήμης).  Δεικτοδοτούμενος (indexed) Χρησιμοποιούν είτε τον δείκτη (H:X), είτε τον SP για την προσπέλαση σε θέσεις της μνήμης με απόκλιση που υποδεικνύεται από τους καταχωρητές.  Σχετικός (relative) Εντολές που προκαλούν διακλάδωση από -128 έως +127 bytes.

11 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Τρόποι διευθυνσιοδότησης εντολών Εντολές με έμφυτο/εγγενή (inherent) τρόπο διευθυνσιοδότησης

12 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Τρόποι διευθυνσιοδότησης εντολών Εντολές με αμετάβλητο (immediate) τρόπο διευθυνσιοδότησης

13 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Τρόποι διευθυνσιοδότησης εντολών Εντολές με άμεσο (direct) τρόπο διευθυνσιοδότησης

14 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Τρόποι διευθυνσιοδότησης εντολών Εντολές με εκτεταμένο (extended) τρόπο διευθυνσιοδότησης

15 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Τρόποι διευθυνσιοδότησης εντολών Εντολές με δεικτοδοτούμενο (indexed) τρόπο διευθυνσιοδότησης

16 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Η κεντρική μονάδα επεξεργασίας CPU08  Τρόποι διευθυνσιοδότησης εντολών Εντολές με σχετικό (relative) τρόπο διευθυνσιοδότησης

17 Αρχές Προγραμματισμού Χαμηλού Επιπέδου & Εφαρμογές με το Μικροελεγκτή M68HC908GP32 Ευχαριστώ για την προσοχή σας


Κατέβασμα ppt "Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google