ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Τύποι δεδομένων και τελεστές,
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Pipelining – Βασικές αρχές.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
Δομή του TRN KME Μνήμη Διάδρομος Διευθύνσεων Διάδρομος Δεδομένων
Το υλικο του Υπολογιστη
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1.Τοποθέτηση παραμέτρων 2.Μεταβίβαση ελέγχου στη διαδικασία 3.Λήψη πόρων αποθήκευσης.
Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκτάριος Κοζύρης
Ημιαγωγοί – Τρανζίστορ – Πύλες - Εξαρτήματα
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ
Εισαγωγή στο AT91 Νίκος Πετρέλλης, ΠΔ407/80. Αρχιτεκτονική του ARM926EJ-S.
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Η Αρχιτεκτονική των Επεξεργαστών Ψ.Ε.Σ Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Εισαγωγή στο AT91 Νίκος Πετρέλλης, ΠΔ407/80.
Μικροπρογραμματιζόμενη Λογική Μειονεκτήματα καλωδιωμένης λογικής (hardwired logic): Πολυπλοκότητα συνδυαστικού κυκλώματος ΜΕ Αδυναμία αλλαγής των εντολών.
Εντολές PIC16F rrf <όνομα καταχωρητή>,a a=f ή a=w
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Pipelining –
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
Τι είναι μία ομάδα / σύνολο εντολών (Instruction Set);
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
© Θέματα Φεβρουαρίου © Θέμα 1ο (30%): Έστω η παρακάτω ακολουθία εντολών που χρησιμοποιείται για την αντιγραφή.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)
ΜΟΝΑΔΑ ΕΛΕΓΧΟΥ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Κεφάλαιο 10 – Υποπρογράμματα
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ. Χαλάτσης, Εισαγωγή στην Επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών 1 Παράσταση Πληροφοριών.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Η Κεντρική Μονάδα Συστήματος Εισαγωγή στην Πληροφορκή 1 Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή.
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
ΕΙΣΑΓΩΓΗ μέρος 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 10 ο Μάθημα.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Γιώργος Δημητρίου Μάθημα 11-12: Σύνθετες Πράξεις
Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα
INSTRUCTIONS LANGUAGE OF THE MACHINE
Single-cyle υλοποίηση:
Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΚΕΡΑΙΩΝ
Η ΑΡΙΘΜΙΤΙΚΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Θέματα Φεβρουαρίου
Single-cyle υλοποίηση:
ΗΜΥ 210: Λογικός Σχεδιασμός
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Οργάνωση - χειριστές δεδομένων - μονάδα ελέγχου - μνήμες - δίαυλοι Εκτέλεση εντολών: πεδία εντολής 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,A R1  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 Δυαδικοί αριθμοί κινητής υποδιαστολής + 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 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΑΡΙΘΜΟΙ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Πολωμένος εκθέτης Για το fraction χρησιμοποιείται συνήθως αναπαράσταση προσημασμένου μέτρου Για τον exponent προτιμάται η αναπαράσταση πολωμένου εκθέτη ώστε να είναι πάντα θετικός - ευκολότερη η σύγκριση μεγέθους αριθμών Τυποποιημένες μορφές FP αριθμών Αριθμοί απλής (32bits) και διπλής (64 bits) ακριβείας Μορφή ορίσματος FP αριθμού 23 f e S 8 1 - ο εκθέτης 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 AB C=0 Branch if lower BL A<B C=1 Branch if lower or equal BLE AB C+Z=1 Branch if equal BE A=B Z=1 Branch if not equal BNE AB Z=0 Αντίστοιχες εντολές για προσημασμένους αριθμούς Branch if grater BG A>B (NV)+Z=0 Branch if grater or equal BGE AB NV=0 Branch if less BL A<B NV=1 Branch if less or equal BLE AB (NV)+Z=1 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΕΝΤΟΛΕΣ ΔΙΑΔΙΚΑΣΙΩΝ CALL ΚΑΙ RETURN Μια διαδικασία (procedure) είναι μια αυτοδύναμη ακολουθία εντολών η οποία εκτελεί ένα συγκεκριμένο έργο - μπορεί να κληθεί πολλές φορές μέσα σε ένα πρόγραμμα Κλήση διαδικασίας γίνεται με εντολή CALL - αποθηκεύει την τιμή του PC (return address) σε προσωρινή διεύθυνση - φορτώνει στον PC τη διεύθυνση της πρώτης εντολής της διαδικασίας Η τελευταία εντολή μιας διαδικασίας είναι η RETURN - φορτώνει στον PC την return address Εκτέλεση εντολής CALL χρησιμοποιώντας στοίβα SP  SP-1 Μείωση δείκτη στοίβας Μ[SP]  PC Αποθήκευση return address στη στοίβα PC effective 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 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ