300 likes | 451 Views
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Οργάνωση - χειριστές δεδομένων - μονάδα ελέγχου - μνήμες - δίαυλοι Εκτέλεση εντολών : πεδία εντολής 1. « opcode field” προσδιορίζει την λειτουργία που θα εκτελεστεί 2. « address field” παρέχει είτε τις διευθύνσεις για τη μνήμη είτε για την
E N D
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ • Οργάνωση - χειριστές δεδομένων - μονάδα ελέγχου - μνήμες - δίαυλοι • Εκτέλεση εντολών: πεδία εντολής 1. «opcode field” προσδιορίζει την λειτουργία που θα εκτελεστεί 2. «address field” παρέχει είτε τις διευθύνσεις για τη μνήμη είτε για την επιλογή των καταχωρητών του επεξεργαστή 3. «mode field” προσδιορίζει τον τρόπο με τον οποίο το address field χρησιμοποιείται • Κύκλος εκτέλεσης εντολής 1. Κλήση εντολής (fetch) 2. Αποκωδικοποίηση εντολής (decode) 3. Καθορισμός των χρησιμοποιούμενων ορισμάτων 4. Κλήση ορισμάτων (εάν είναι αναγκαίο) 5. Εκτέλεση λειτουργίας (execute) 6. Αποθήκευση αποτελεσμάτων 7. Επιστροφή στο βήμα 1 για κλήση επόμενης εντολής ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗ ΟΡΙΣΜΑΤΩΝ • Τύποι διευθυνσιοδότησης - explicit address - υπάρχει πεδίο διεύθυνσης στην εντολή - implicit address - υπονοείται • Επίδραση αριθμού διευθύνσεων ορισμάτων στο πρόγραμμα π.χ. X=(A+B)(C+D) • Εντολές με τρεις διευθύνσεις ορισμάτων ADD T1, A, B M[T1] M[A] + M[B] ADD T2, C, D M[T2] M[C] + M[D] MUL X, T1,T2 M[X] M[T1] * M[T2] - Aντί Μ[Τ1], Μ[Τ2] μπορεί να έχουμε R1, R2. • Μικρά προγράμματα αλλά απαιτούν περισσότερα ψηφία στην κωδικοποίηση της εντολής ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗ ΟΡΙΣΜΑΤΩΝ • Εντολές με δυο διευθύνσεις ορισμάτων MOV T1, A M[T1] M[A] ADD T1, B M[T1] M[T1] + M[B] MOV X, C M[X] M[C] ADD X, D M[X] M[X] + M[D] MUL X, T1 M[X] M[X] * M[T1] • Εντολές με μια διεύθυνση ορισμάτων - απαιτείται χρησιμοποίηση accumulator (implied address) LD A ACC M[A] ADD B ACC ACC + M[B] ST X M[X] ACC LD C ACC M[C] ADD D ACC ACC + M[D] MUL X ACC ACC * M[X] ST X M[X] ACC ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗ ΟΡΙΣΜΑΤΩΝ • Εντολές χωρίς διευθύνσεις ορισμάτων - αρχιτεκτονική στοίβας (LIFO stack) ADD => TOS TOS + TOS-1 • Για μεταφορά δεδομένων: PUSH X => TOS M[X] POP X => M[X] TOS • Απαιτείται ο μεγαλύτερος αριθμός εντολών ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗΣ • Υπάρχουν διάφοροι τύποι αρχιτεκτονικής υπολογιστών που καθορίζονται από τον τρόπο διευθυνσιοδότησης που χρησιμοποιείται στις εντολές τους 1. Memory-to-memory architecture - μεγάλος χρόνος εκτέλεσης, πολύπλοκη μονάδα ελέγχου, μεγάλη κατανάλωση ισχύος 2. Register-to-register (load/store) architecture - επιτρέπει μια διεύθυνση μνήμης και μόνο για load/store - οι εντολές επεξεργασίας δεδομένων χρησιμοποιούν ορίσματα καταχωρητών - πλέον χρησιμοποιούμενη αρχιτεκτονική 3. Register - memory architecture π.χ. ADD R1,AR1 R1 + M[A] - ευέλικτη αρχιτεκτονική 4. Single accumulator architecture - μη αποδοτική αρχιτεκτονική 5. Stack architecture - τα ορίσματα σε στοίβα - εντολές μεταφοράς δεδομένων μεταξύ μνήμης/στοίβας ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΤΥΠΟΙ ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗΣ • Ο τύπος διευθυνσιοδότησης μιας εντολής καθορίζει τον τρόπο επιλογής των ορισμάτων • Χρησιμοποιούνται διαφορετικοί τύποι διευθυνσιοδότησης: 1. Ευελιξία προγραμματισμού 2. Μείωση του αριθμού των ψηφίων στα πεδία διεύθυνσης της εντολής • Τύπος implied - δεν υπάρχει πεδίο διεύθυνσης - το όρισμα καθορίζεται από τον λειτουργικό κώδικα • Τύπος immediate - το ίδιο το όρισμα καθορίζεται στην εντολή - δεν υπάρχει πεδίο διεύθυνσης αλλά πεδίο ορίσματος - χρησιμοποιείται συνήθως για να δίνεται αρχική τιμή σε καταχωρητές ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΤΥΠΟΙ ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗΣ • Τύπος register-to-register - το πεδίο διεύθυνσης προσδιορίζει έναν καταχωρητή που περιέχει το όρισμα • Τύπος register indirect addressing - το πεδίο διεύθυνσης της εντολής προσδιορίζει έναν καταχωρητή που περιέχει τη διεύθυνση της μνήμης όπου είναι αποθηκευμένο το όρισμα - πλεονέκτημα η μείωση των απαιτούμενων ψηφίων στο πεδίο διεύθυνσης της εντολής • Τύπος direct addressing - το πεδίο διεύθυνσης της εντολής περιέχει τη διεύθυνση της μνήμης όπου είναι αποθηκευμένο το όρισμα • Τύπος indirect addressing - το πεδίο διεύθυνσης της εντολής προσδιορίζει τη διεύθυνσης μνήμης που περιέχει την ενεργεί διεύθυνση (effective address) μνήμης όπου είναι αποθηκευμένο το όρισμα ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΤΥΠΟΙ ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗΣ • Τύπος relative addressing - η ενεργός διεύθυνση προάγεται ως εξής: Ενεργός διεύθυνση = περιεχόμενο πεδίου διεύθυνσης + περιεχόμενο PC - μικρότερο πεδίο διεύθυνσης • Τύπος indexed addressing - η ενεργός διεύθυνση προάγεται ως εξής: Ενεργός διεύθυνση = περιεχόμενο πεδίου διεύθυνσης + περιεχόμενο register - ο καταχωρητής δείκτη μπορεί να είναι κοινός καταχωρητής ή ειδικός καταχωρητής που να έχει και δυνατότητα αύξησης ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΠΑΡΑΔΕΙΓΜΑΤΑ ΤΥΠΩΝ ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗΣ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΜΑΔΑΣ ΕΝΤΟΛΩΝ • Υπάρχουν δυο βασικές κατηγορίες: 1. Complex Instruction Set Computers (CISCs) - παρέχουν εντολές για πολύπλοκες λειτουργίες 2. Reduced Instruction Set Computers (RISCs) - παρέχουν απλές εντολές αλλά μεγάλη ευελιξία που οδηγεί σε υψηλότερη ταχύτητα εκτέλεσης προγραμμάτων ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
CISC ΑΡΧΙΤΕΚΤΟΝΙΚΗ • Οι περισσότερες εντολές έχουν δυνατότητα προσπέλασης στη μνήμη • Μεγάλος αριθμός τύπων διευθυνσιοδότησης • Διαφορετικά μεγέθη κωδικοποίησης εντολών • Οι εντολές πραγματοποιούν απλές αλλά και πολύπλοκες λειτουργίες - πιο συμπαγή προγράμματα - λιγότερη απαίτηση για μνήμη - μικρότερος αριθμός καταχωρητών - χρησιμοποιείται συνήθως μικροπρογραμματιζόμενη μονάδα ελέγχου - πιθανή αύξηση απόδοσης λόγω μείωσης των προσπελάσεων στη μνήμη για κλήση εντολών ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
RISC ΑΡΧΙΤΕΚΤΟΝΙΚΗ • Οι προσπελάσεις στη μνήμη περιορίζονται σε load/store εντολές • Oι εντολές χειρισμού δεδομένων είναι τύπου register-to-register • Περιορισμένος αριθμός τύπων διευθυνσιοδότησης • Ίδιου μεγέθους κωδικοποίησης εντολές • Οι εντολές εκτελούν μόνο απλές λειτουργίες - υψηλός ρυθμός εκτέλεσης εντολών και προγραμμάτων - μεγάλο αριθμό καταχωρητών - η μονάδα ελέγχου είναι συνήθως hardwired - χρησιμοποίηση τεχνικής pipeline ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΜΑΔΑΣ ΕΝΤΟΛΩΝ • Σε νεότερους υπολογιστές οι CISC αρχιτεκτονικές μετατρέπονται σε RISC-like αρχιτεκτονικές - χρήση pipeline - διατήρηση δυνατότητας προσπέλασης στη μνήμη και από εντολές χειρισμού δεδομένων • Γενικά, οι αρχιτεκτονικές επεξεργαστών κινούνται μεταξύ καθαρών CISC και RISC αρχιτεκτονικών • Βασικές στοιχειώδης λειτουργίες - Βασικοί τύποι εντολών 1. Εντολές μεταφοράς δεδομένων 2. Εντολές επεξεργασίας δεδομένων 3. Εντολές ελέγχου προγράμματος ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΤΟΛΕΣ ΜΕΤΑΦΟΡΑΣ ΔΕΔΟΜΕΝΩΝ • Μεταφέρουν δεδομένα μεταξύ μονάδων αποθήκευσης του υπολογιστή χωρίς μεταβολή του περιεχόμενού τους • Τυπικές εντολές μεταφοράς δεδομένω Όνομα Σύμβολο Load LD Store ST Move MOVE Exchange XCH Push PUSH Pop POP Input IN Output OUT ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΤΟΛΕΣ ΣΤΟΙΒΑΣ • Τοποθετούν (push) ή απάγουν (pop) δεδομένα μεταξύ μιας μνήμης στοίβας και των καταχωρητών ή της μνήμης - η PUSH τοποθετεί μια λέξη στην κορυφή της στοίβας - η POP μετακινεί μια λέξη από την κορυφή της στοίβας • O καταχωρητής που διατηρεί τη διεύθυνση της στοίβας καλείται stack pointer (SP) - δείχνει πάντα την κορυφή της στοίβας - οι PUSH, POP εντολές υλοποιούνται με μείωση ή αύξηση της τιμής του SP • Οργάνωση μνήμης στοίβας PUSH λειτουργία SP SP - 1 M[SP] R1 POP λειτουργία R1 M[SP] SP SP + 1 SP=101 100 C 101 B 102 A 103 R1 104 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΤΡΟΠΟΙ ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗΣ I/O ΘΥΡΩΝ • Independent I/O system - οι διευθύνσεις των θυρών είναι ανεξάρτητες από αυτές της μνήμης - ο επεξεργαστής διαθέτει ανεξάρτητες εντολές για είσοδο (IN) και έξοδο (OUT) δεδομένων • Memory-mapped I/O - κάθε Ι/Ο θύρα αντιμετωπίζεται σαν μια θέση μνήμης - για απαλλαγή δεδομένων με Ι/Ο θύρες χρησιμοποιούνται οι κοινές load/store εντολές ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΤΟΛΕΣ ΧΕΙΡΙΣΜΟΥ ΔΕΔΟΜΕΝΩΝ • Πραγματοποιούν την επεξεργασία των δεδομένων 1. Αριθμητικές εντολές 2. Λογικές και χειρισμού ψηφίων εντολές 3. Εντολές ολίσθησης Αριθμητικές εντολές Όνομα Σύμβολο Increment INC Decrement DEC Add ADD Subtract SUB Multiply MUL Divide DIV Add with Carry ADDC Subtract with borrow SUBB Subtract reverse SUBR Negate NEG • Οι εντολές ADD, SUB, MUL, DIV μπορεί να είναι διαθέσιμες για διαφορετικούς τύπους δεδομένων που καθορίζεται στον κώδικα λειτουργίας (opcode) • Οι περισσότεροι επεξεργαστές παρέχουν ειδικές εντολές για αριθμητικές πράξεις διπλής ακριβείας ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΛΟΓΙΚΕΣ ΕΝΤΟΛΕΣ ΚΑΙ ΧΕΙΡΙΣΜΟΥ ΨΗΦΙΟΥ • Πραγματοποιούν δυαδικές λειτουργίες σε δεδομένα αποθηκευμένα σε καταχωρητές ή θέσεις μνήμης Τυπικές εντολές Όνομα Σύμβολο Clear CLR Set SET Complement NOT AND AND OR OR Exclusive-OR XOR Clear carry CLRC Set carry SETC Complement carry COMC ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΤΟΛΕΣ ΟΛΙΣΘΗΣΗΣ • Προκαλούν ολίσθηση των περιεχομένων ενός ή περισσότερων καταχωρητών Τυπικές εντολές Όνομα Σύμβολο Logical shift right SHR Logical shift left SHL Arithmetic shift right SHRA Arithmetic shift left SHLA Rotate right ROR Rotate left ROL Rotate right with carry RORC Rotate left with carry ROLC ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΡΙΘΜΟΙ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ • Παράδειγμα: αναπαράσταση του +6132.789 σε floating point fraction exponent +.6132789 +04 F x10E Δυαδικοί αριθμοί κινητής υποδιαστολής fraction exponent + 1001.11 +.1001110 000100 (0.1001110)2 x2+4 • Είναι κανονικοποιημένοι (normalized) όταν το MSB του κλασματικού μέρους είναι μη μηδενικό • Οι αριθμοί κινητής υποδιαστολής καλύπτουν μεγάλη περιοχή τιμών Παράδειγμα: Για δυαδικούς αριθμούς 48 ψηφίων - σε ακέραια αναπαράσταση πεδίο τιμών: ±(247-1) ~ ±1014 -με fraction 36 ψηφία και exponent 12:±(1-2-35)x2+2^(11)-1= ±(1-2-35)x22047 ~ ±10615 - Στην περίπτωση όμως των FP αριθμών η ακρίβεια μειώνεται στα 35 ψηφία ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΡΙΘΜΟΙ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Αριθμητικές λειτουργίες • Οι αριθμητικές πράξεις με αριθμούς κινητής υποδιαστολής είναι πολυπλοκότερες • Για την άθροιση/αφαίρεση απαιτείται οι exponent να είναι ίδιοι. Αυτό επιτυγχάνεται με ολίσθηση του fraction • π.χ. 0.5372400x102 0.5372400x102 + 0.1580000x10-2 + 0.0001580x102 0.5373980x102 • Αν προκύψει ψηφίο υπερχείλισης μπορεί το αποτέλεσμα να διορθωθεί με μια δεξιά ολίσθηση στο fraction και αύξηση του exponent • Αφαίρεση: αν προκύψει μη κανονικοποιημένο αποτέλεσμα το κανονικοποιούμε με αριστερή ολίσθηση στο fraction και μείωση του exponent • Για τον πολλαπλασιασμό (διαίρεση) FP αριθμών πολλαπλασιάζουμε (διαιρούμε) τα fraction και προσθέτουμε (αφαιρούμε)τα exponent ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
1 8 23 S e f ΑΡΙΘΜΟΙ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Πολωμένος εκθέτης • Για το fraction χρησιμοποιείται συνήθως αναπαράσταση προσημασμένου μέτρου • Για τον exponent προτιμάται η αναπαράσταση πολωμένου εκθέτη ώστε να είναι πάντα θετικός • - ευκολότερη η σύγκριση μεγέθους αριθμών Τυποποιημένες μορφές FP αριθμών • Αριθμοί απλής (32bits) και διπλής (64 bits) ακριβείας • Μορφή ορίσματος FP αριθμού - ο εκθέτης e είναι πολωμένος με 127 - το δυαδικό σημείο υποτίθεται να είναι ακριβώς στα αριστερά του MSB του f - θεωρείται ότι υπάρχει ένα ψηφίο «1» στα αριστερά του δυαδικού σημείου που καλείται significant - ο significant εισέρχεται απευθείας στο υλικό • Η τιμή ενός αριθμού δίνεται ως: (-1)S2e-127x(1.f) ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ • Αλλάζουν την τιμή του PC προκαλώντας αλλαγή στη ροή του προγράμματος Τυπικές εντολές ελέγχου προγράμματος Όνομα Σύμβολο Branch BR Jump JMP Skip next instruction SKP Call procedure CALL Return from procedure RET Compare (by substraction) CMP Test (by adding) TEST • Οι εντολές αυτές μπορεί να εκτελούνται υπό συνθήκη ή όχι Branch condition Mnemonic Test condition Branch if zero BZ Z=1 Branch if not zero BNZ Z=0 Branch if carry BC C=1 Branch if no carry BNC C=0 Branch if plus BNN N=0 Branch if overflow BV V=1 Branch if no overflow BNV V=0 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ • Η εντολή compare αφαιρεί δυο αριθμούς και ενημερώνει τα status bits - μπορούν να χρησιμοποιηθούν ειδικές εντολές για υπό συνθήκη έλεγχο ροής του προγράμματος μετά την compare - διαφορετική αντιμετώπιση προσημασμένων και μη αριθμών • Αντίστοιχες εντολές για μη-προσημασμένους αριθμούς Branch condition Mnemonic Condition Status bits Branch if higher BH A>B C+Z=0 Branch if higher or equal BHE AB C=0 Branch if lower BL A<B C=1 Branch if lower or equal BLE AB C+Z=1 Branch if equal BE A=B Z=1 Branch if not equal BNE AB Z=0 • Αντίστοιχες εντολές για προσημασμένους αριθμούς Branch condition Mnemonic Condition Status bits Branch if grater BG A>B (NV)+Z=0 Branch if grater or equal BGE AB NV=0 Branch if less BL A<B NV=1 Branch if less or equal BLE AB (NV)+Z=1 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΤΟΛΕΣ ΔΙΑΔΙΚΑΣΙΩΝ CALL ΚΑΙ RETURN • Μια διαδικασία (procedure) είναι μια αυτοδύναμη ακολουθία εντολών η οποία εκτελεί ένα συγκεκριμένο έργο - μπορεί να κληθεί πολλές φορές μέσα σε ένα πρόγραμμα • Κλήση διαδικασίας γίνεται με εντολή CALL - αποθηκεύει την τιμή του PC (return address) σε προσωρινή διεύθυνση - φορτώνει στον PC τη διεύθυνση της πρώτης εντολής της διαδικασίας • Η τελευταία εντολή μιας διαδικασίας είναι η RETURN - φορτώνει στον PC την return address • Εκτέλεση εντολής CALL χρησιμοποιώντας στοίβα SP SP-1 Μείωση δείκτη στοίβας Μ[SP] PC Αποθήκευση return address στη στοίβα PCeffective address Μεταφορά ελέγχου στη διαδικασία • Εκτέλεση εντολής RETURN χρησιμοποιώντας στοίβα PC M[SP] Μεταφορά της return address στο PC SP SP+1 Αύξηση του δείκτη στοίβας ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΑΚΟΠΗ ΠΡΟΓΡΑΜΜΑΤΟΣ • Ένα πρόγραμμα εξυπηρέτησης διακοπών μεταφέρει τον έλεγχο από ένα πρόγραμμα που τρέχει σε ένα άλλο σαν αποτέλεσμα μιας εξωτερικής ή εσωτερικής απαίτησης - μετά την εκτέλεση του προγράμματος εξυπηρέτησης της διακοπής ο έλεγχος επιστρέφει στο αρχικό πρόγραμμα • Μια διαδικασία διακοπής μοιάζει με μια υπορουτίνα Διαφέρει στο ότι: 1. Η διακοπή συνήθως ενεργοποιείται σε ένα απροσδιόριστο σημείο του προγράμματος από ένα εξωτερικό ή εσωτερικό σήμα 2. Η διεύθυνση του προγράμματος διακοπής προσδιορίζεται στο hardware 3. Σε ανταπόκριση σε διακοπή είναι αναγκαία η αποθήκευση πληροφορίας όχι μόνο του PC αλλά και των εσωτερικών καταχωρητών ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΑΚΟΠΗ ΠΡΟΓΡΑΜΜΑΤΟΣ • Οι περισσότεροι επεξεργαστές δεν ανταποκρίνονται σε απαίτηση διακοπής πριν ολοκληρώσουν την τρέχουσα εντολή • Αν υπάρχει απαίτηση διακοπής μπαίνουν σε έναν hardware κύκλο, όπου: - τα περιεχόμενα των καταχωρητών αποθηκεύονται στη στοίβα - η διεύθυνση εξυπηρέτησης της διακοπής αποθηκεύεται στον PC - η τελευταία εντολή του προγράμματος εξυπηρέτησης επαναφέρει τον επεξεργαστή στην αρχική του κατάσταση Τύποι διακοπών 1. Εξωτερικές διακοπές - προέρχονται από εξωτερικές συσκευές 2. Εσωτερικές διακοπές - προέρχονται από εσφαλμένη χρήση εντολών ή δεδομένων 3. Διακοπές λογισμικού - πρόκειται για ειδικές υπορουτίνες που λειτουργούν ως διακοπές - ελεγχόμενη ενεργοποίηση διακοπών ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΠΕΞΕΡΓΑΣΙΑ ΕΞΩΤΕΡΙΚΩΝ ΔΙΑΚΟΠΩΝ • Λειτουργία εξωτερικής διακοπής • Ο επεξεργαστής ανταποκρίνεται σε μια απαίτηση διακοπής αν Ε=1 και η τρέχουσα εντολή ολοκληρωθεί • Τυπικές μικροεντολές υλοποίησης διακοπής SP SP - 1 Decrement stack pointer M[SP] PC Store return address on stack SP SP-1 Decrement stack pointer M[SP] PSR Store processor status word on stack EI 0 Reset enable-interrupt flip/flop INTACK 1 Enable interrupt acknowledge PC IVAD Transfer interrupt vector address to PC ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ