Αρχιτεκτονική Υπολογιστών

Σχετικά έγγραφα
ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Αρχιτεκτονική Υπολογιστών

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Πανεπιστήµιο Θεσσαλίας

Αρχιτεκτονική Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Θέματα Μεταγλωττιστών

Πανεπιστήµιο Θεσσαλίας

Κεντρική Μονάδα Επεξεργασίας

Παραλληλισμός σε επίπεδο εντολών

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Αρχιτεκτονική Υπολογιστών

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

Διάλεξη 12 Καθυστερήσεις (Stalls)

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

Συστήματα σε Ολοκληρωμένα Κυκλώματα

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

ΠΛΕ- 027 Μικροεπεξεργαστές 8ο μάθημα: Παραλληλία επιπέδου εντολής

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Αρχιτεκτονική Υπολογιστών

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

Αρχιτεκτονική Υπολογιστών

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Οργάνωση Υπολογιστών

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων

Διάλεξη 11 Προώθηση (Forwarding)

Πανεπιστήµιο Θεσσαλίας

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 12 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 6 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Πανεπιστήµιο Θεσσαλίας

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

Υ- 01 Αρχιτεκτονική Υπολογιστών Front- end: Προσκόμιση, αποκωδικοποίηση, μετονομασία καταχωρητών

Αρχιτεκτονική Υπολογιστών

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο Σύντομη Επανάληψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 11 ο και 12 ο

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Αρχιτεκτονική Η/Υ. Γιώργος ηµητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο Σύντοµη Επανάληψη

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

Οργάνωση Υπολογιστών (Ι)

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

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Διοχέτευση (Pipeline)

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

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

Πανεπιστήµιο Θεσσαλίας

Αρχιτεκτονική υπολογιστών

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

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

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Transcript:

Γιώργος Δημητρίου Ενότητα 3 η : Μερική Επικάλυψη

Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση Πρόβλεψη διακλαδώσεων Μερική επικάλυψη σε μονάδες εκτέλεσης Επαναχρησιμοποίηση υπομονάδων Χρόνος ολοκλήρωσης μιας εκτέλεσης Ρυθμός επανάληψης διαδοχικών εκτελέσεων

Επικάλυψη Εντολών Διαχωρισμός σε φάσεις ίσης διάρκειας που υλοποιούνται σε υπομονάδες του επεξεργαστή Εισαγωγή απαιτούμενων καταχωρητών μεταξύ των υπομονάδων διαδοχικών φάσεων (βαθμίδων) Αντιμετώπιση κινδύνων Υποστήριξη μηχανισμού παγώματος

Επικάλυψη RISC 5 Φάσεων

Απόδοση Επικάλυψης Βελτίωση στο χρόνο ολοκλήρωσης μιας εντολής; Όχι! (Το αντίθετο πιο πιθανό!) Ρυθμός ολοκλήρωσης εντολών Επιτάχυνση ρυθμού ολοκλήρωσης εντολών Ιδανική απόδοση μερικής επικάλυψης σε μια συγκεκριμένη αρχιτεκτονική

Κίνδυνοι Επικάλυψης Κίνδυνοι από δομικές εξαρτήσεις (structural hazards) Κίνδυνοι εξαρτήσεων από δεδομένα (data hazards) Κίνδυνοι από διαδικασιακές εξαρτήσεις (control hazards) Αντιμετώπιση κινδύνων με πάγωμα του μηχανισμού επικάλυψης

Κίνδυνοι Δομικών Εξαρτήσεων

Κίνδυνοι Εξαρτήσεων από Δεδομένα

Παροχέτευση

Επιτυχημένη Παροχέτευση

Αποτυχημένη Παροχέτευση

Πάγωμα

Παροχέτευση ΑΛΜ MIPS

Υλοποίηση Παροχέτευσης Προσθέτουμε επιλογές των εισόδων της ΑΛΜ από τους καταχωρητές των φάσεων εκτέλεσης και προσπέλασης μνήμης Παράδειγμα: MUXA = 00 : Επέλεξε πρώτη είσοδο από το ΦΚ MUXA = 01 : Επέλεξε πρώτη είσοδο από την ΑΛΜ MUXA = 10 : Επέλεξε πρώτη είσοδο από τη μνήμη MUXB = 00 : Επέλεξε δεύτερη είσοδο από το ΦΚ MUXB = 01 : Επέλεξε δεύτερη είσοδο από την ΑΛΜ MUXB = 10 : Επέλεξε δεύτερη είσοδο από τη μνήμη

Ανίχνευση Κινδύνου Παράδειγμα κινδύνου μεταξύ φάσεων α- ποκωδικοποίησης και εκτέλεσης: ΕΑΝ η εντολή στη φάση εκτέλεσης έχει έξοδο, ΚΑΙ το τελούμενο εξόδου της είναι αποδεκτός καταχωρητής, ΚΑΙ η εντολή στη φάση αποκωδικοποίησης έχει είσοδο, ΚΑΙ το τελούμενο εισόδου αυτής είναι αποδεκτός καταχωρητής, ΚΑΙ οι παραπάνω καταχωρητές ταυτίζονται, ΤΟΤΕ έχουμε κίνδυνο μεταξύ των εντολών! Για πιο μακρινούς κινδύνους ελέγχουμε μήπως υπάρχει και κοντινότερος κίνδυνος!

Κίνδυνοι Διαδικασιακών Εξαρτήσεων Πάγωμα επικάλυψης μέχρι την εκτέλεση της διακλάδωσης Πρόβλεψη και εκκένωση (flush) της ΜΕΔ σε αποτυχία πρόβλεψης Η κατάσταση του επεξεργαστή δεν αλλάζει πριν την εκτέλεση της διακλάδωσης Εκτέλεση στη φάση αποκωδικοποίησης Χρήση θέσεων καθυστέρησης (branch delay slots)

Πλήρωση Θέσεων Καθυστέρησης

Διακλάδωση MIPS

Ειδικές Περιπτώσεις Διακοπή Ε/Ε Κλήση συστήματος Κατάσταση αναλυτικής εκτέλεσης (trace) Διακοπή χρήστη (breakpoint) Αριθμητική εξαίρεση Σφάλμα σελίδας Σφάλμα προσπέλασης μνήμης Παραβίαση προστασίας μνήμης Λανθασμένη λέξη εντολής Σφάλμα υλικού

Κατηγοριοποίηση Ειδικών Περιπτώσεων Ασύγχρονα / Σύγχρονα σε σχέση με τον τρέχοντα κώδικα Όταν τις ζητάμε (user requested) / Αναγκαστικές (coerced) Αποτρεπτή (maskable) / Μη αποτρεπτή Μεταξύ διαδοχικών εντολών / Κατά την εκτέλεση μιας εντολής Με δυνατότητα επανόδου (resumable) / Χωρίς επάνοδο

Αντιμετώπιση Ειδικών Περιπτώσεων Για δυνατότητα επανόδου ο μηχανισμός επικάλυψης σώζει την κατάστασή του ως εξής: Εισαγωγή ειδικής εντολής (trap) στη φάση IF. Ακύρωση αλλαγών από την εντολή στην οποία εμφανίστηκε η ειδική περίπτωση και από όσες την ακολουθούν (έως την ειδική εντολή). Αποθήκευση της τιμής του PC από τη ρουτίνα χειρισμού ειδικών περιπτώσεων που αναλαμβάνει με την εκτέλεση της ειδικής εντολής.

Ακριβείς/Μη Ακριβείς Ειδικές Περιπτώσεις Ακριβής αντιμετώπιση ειδικών περιπτώσεων: οι εντολές που προηγούνται πρέπει να ολοκληρώνονται πριν την αντιμετώπιση της ειδικής περίπτωσης, ενώ οι εντολές που ακολουθούν πρέπει να μπορούν να ξαναρχίσουν από την αρχή. Υποστήριξη από το υλικό ή το λογισμικό Χωρίς κάποιου είδους ακριβή αντιμετώπιση δε μπορεί να υπάρχει επάνοδος!

Ακριβής Αντιμετώπιση Ειδικών Περιπτώσεων LD: IF ID EX MEM WB DADD: IF ID EX MEM WB Τι γίνεται αν η πρώτη εντολή αποτύχει στη φάση ΜΕΜ και η δεύτερη στη φάση ΕΧ; Τι γίνεται αν η πρώτη εντολή αποτύχει στη φάση ΜΕΜ και η δεύτερη στη φάση IF;

Μη Ακριβής Αντιμετώπιση Ειδικών Περιπτώσεων Η κατάσταση του επεξεργαστή πιθανά να είναι λανθασμένη μετά την ειδική περίπτωση Δεν επιτρέπεται όταν η ειδική περίπτωση έχει δυνατότητα επανόδου (πχ. σε σφάλμα σελίδας) Εύκολη και πιο γρήγορη εκτέλεση, ειδικά για εντολές από πολύπλοκο σετ εντολών

Εκτέλεση Πολλαπλών Κύκλων Κύκλος Μηχανής Εντολή 1 2 3 4 5 6 7 8 9 10 11 Mul.d F0,F4,F6 IF ID M1 M2 M3 M4 M5 M6 M7 MEM WB Χρόνος καθυστέρησης (latency) ο χρόνος που πρέπει να μεσολαβήσει μέχρι μια άλλη εξαρτημένη από αυτήν εντολή Ρυθμός επανάληψης (repeat rate) η συχνότητα με την οποία ξεκινούν εκτέλεση διαδοχικές παρόμοιες εντολές

Προβλήματα Εκτέλεσης Πολλαπλών Κύκλων Πιθανοί κίνδυνοι δομικών εξαρτήσεων στη μονάδα εκτέλεσης Πιθανή ολοκλήρωση εκτός σειράς, με: Κινδύνους δομικών εξαρτήσεων στο ΦΚ Κινδύνους εξαρτήσεων από δεδομένα τύπου ΕΜΕ Συχνά παγώματα και πιο πολύπλοκος μηχανισμός παροχέτευσης Αντιμετώπιση ειδικών περιπτώσεων;

Αποφυγή Δομικών Εξαρτήσεων στη Μονάδα Εκτέλεσης Επικάλυψη των φάσεων εκτέλεσης ρυθμός επανάληψης = 1 εντολή ανά κύκλο μηχανής Αντιγραφή υπομονάδων για να αποφευχτεί επαναχρησιμοποίησή τους Ισοστάθμιση χρόνου / κόστους συχνότητα εμφάνισης της εντολής βέλτιστος ρυθμός επανάληψης

Βελτιστοποίηση Επικάλυψης στην Εκτέλεση Από τον αλγόριθμο εκτέλεσης της εντολής αντιστοιχίζουμε φάσεις σε υπομονάδες: Πίνακας δέσμευσης (reservation table) 1 2 3 4 5 6 7 A X X X B X X C X X D X Διάνυσμα σύγκρουσης (collision vector) 0 1 0 1 0 1

Διάγραμμα Καταστάσεων και Μέγιστος Ρυθμός Επανάληψης Αρχική κατάσταση = διάνυσμα σύγκρουσης Για ξεκίνημα εντολής ν κύκλους αργότερα: νέα κατάσταση = (διάνυσμα παρούσας κατάστασης << ν) OR διάνυσμα σύγκρουσης σύνδεσε τις καταστάσεις με ετικέτα ν, και τη νέα με την αρχική με ετικέτα Ν Επανέλαβε για κάθε δυνατό ν και κάθε νέα κατάσταση Βρες τον κύκλο με το μέγιστο ρυθμό επανάληψης

7 1 1 1 1 1 1 1 Παράδειγμα 0 1 0 1 0 1 7 3 1 1 1 1 0 1 5 1 1 0 1 0 1 Μέγιστος ρυθμός επανάληψης: 2 πράξεις σε 8cc ή 1/4 3 7 5 5 7

Βελτίωση Μέγιστου Ρυθμού Επανάληψης Ο πίνακας δέσμευσης θέτει το άνω φράγμα στο ρυθμό επανάληψης Αν ο μέγιστος ρυθμός δε συμπίπτει με το άνω φράγμα: Τοποθέτησε υπομονάδες καθυστέρησης (καταχωρητές) σε κατάλληλα σημεία της μονάδας, ώστε να πάρεις ένα νέο πίνακα δέσμευσης (μεγαλύτερου εύρους), ο οποίος να δίνει ρυθμό επανάληψης ίσο με το άνω φράγμα

Παράδειγμα Άνω φράγμα ρυθμού επανάληψης: 1/3 1 2 3 4 5 6 7 8 A X X F F FD X B X F X F C X X F D X F Η χρήση της υπομονάδας Α την τρίτη φορά για κάθε πράξη πρέπει να καθυστερεί κατά 1 cc Εισαγωγή υπομονάδας καθυστέρησης μεταξύ Β και Α με κατάλληλο έλεγχο για τη χρήση της

Ολοκλήρωση εκτός Σειράς Πάγωμα εντολών που ζητούν ταυτόχρονη εγγραφή στο ΦΚ Ανίχνευση στη φάση ID: όλα τα παγώματα στην ίδια φάση Ανίχνευση μόλις ζητηθεί ταυτόχρονη εγγραφή: πιο εύκολη Ανίχνευση εγγραφής στον ίδιο καταχωρητή πάγωμα της εντολής που ακολουθεί ακύρωση εγγραφής της πρώτης

Ειδικές Περιπτώσεις στην Ολοκλήρωση εκτός Σειράς DIV.D ADD.D SUB.D F0,F2,F4 F10,F10,F8 F12,F12,F14 Ανίχνευση πιθανής ειδικής περίπτωσης και περιορισμός στην επικάλυψη Χρήση χώρου εγγραφής (write buffer), όπου τοποθετούνται οι νέες τιμές καταχωρητών, μέχρι οι προηγούμενες εντολές να ολοκληρωθούν (history file, future file) Μη ακριβής αντιμετώπιση με συμπλήρωση ημιτελών εντολών

Ενσωμάτωση Υπομονάδων Εκτέλεσης με/χωρίς Επικάλυψη

Παράδειγμα Κύκλος Μηχανής Εντολή 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 L.d F4,0(R2) IF ID EX MEM WB Mul.d F0,F4,F6 IF ID X M1 M2 M3 M4 M5 M6 M7 MEM WB Add.d F2,F0,F8 IF X ID X X X X X X A1 A2 A3 A4 MEM WB S.d F2,0(R2) IF X X X X X X ID EX X X X MEM

Παγώματα σε Υπομονάδες Κινητής Υποδιαστολής MIPS

Επικάλυψη στον MIPS R4000 Superpipelining:

Παροχέτευση στον R4000

Διακλαδώσεις στον R4000

Απόδοση Επικάλυψης στον R4000