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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

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

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

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

Σχεδίαση μονάδας ελέγχου επεξεργαστή

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

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

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

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών II Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Εισαγωγή στην Πληροφορική

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

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

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

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

Εφαρµογές Υπολογιστών Βασίλης Μπλιάµπλιας Γεωργία Τσούτσου Γιώργος Συνάπαλος

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Σύστημα διασύνδεσης και. διαδικασία εισόδου-εξόδου

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

3. Πρόσθεση Πολλαπλασιασμός 4. Πρόσθεση στο πρότυπο ΙΕΕΕ Πολλαπλασιασμός στο πρότυπο ΙΕΕΕ

Το υλικό του υπολογιστή

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

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

Εντολές γλώσσας μηχανής

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

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

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

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

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

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

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

Transcript:

Γιώργος Δημητρίου Μια Ανασκόπηση στην Οργάνωση Η/Υ

Οργάνωση ενός Κλασικού Η/Υ Eπεξεργαστής Βοηθητική Μνήμη Οθόνη Πληκτρολόγιο Προσαρμογέας Δικτύου ΚΜΕ ΜΔΜ Κύρια Μνήμη Ελεγκτής Ελεγκτής Ελεγκτής Ελεγκτής Κρυφή Μνήμη Αρτηρία Εισόδου/Εξόδου Μονάδα Διασύνδεσης Αρτηρίας Μονάδα Διασύνδεσης Επεκτάσεις Αρτηρία Συστήματος

Δομικές Μονάδες ενός Η/Υ Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Μονάδα Επεξεργασίας Δεδομένων (ΜΕΔ) Μονάδα Ελέγχου (ΜΕ) Σύστημα Μνήμης Κρυφές μνήμες Κύρια μνήμη Συσκευές Ε/Ε Αρτηρίες διασύνδεσης

Α. Αναπαράσταση Πληροφορίας Αριθμητικά δεδομένα Σταθερής υποδιαστολής Κινητής υποδιαστολής Μη αριθμητικά δεδομένα Κωδικοποιημένοι χαρακτήρες Εντολές Γλώσσα μηχανής Συμβολική γλώσσα

Γλώσσα Μηχανής ενός Η/Υ Το σύνολο των δυαδικά κωδικοποιημένων αριθμών που ο επεξεργαστής αντιλαμβάνεται ως εντολές για: την εκτέλεση κάποιων πράξεων, τη μεταφορά πληροφορίας μεταξύ υπομονάδων του, ή μεταξύ αυτού και του συστήματος μνήμης ή των συσκευών Ε/Ε, την εκτέλεση άλλων λειτουργιών Διαφορετική για κάθε επεξεργαστή συμβατότητα μεταξύ επεξεργαστών

Συμβολική Γλώσσα Ανάγκη κατανόησης της γλώσσας μηχανής του Η/Υ Κάθε εντολή μηχανής απεικονίζεται συμβολικά Παράδειγμα εντολής μηχανής MIPS: 00000010001100100100000000100000 ισοδύναμη συμβολική γραφή: add $8, $17, $18

Εντολές αριθμητικών πράξεων συμπεριλαμβάνονται πράξεις σύγκρισης Εντολές λογικών πράξεων άλγεβρα Boole και ολισθήσεις Εντολές μεταφοράς δεδομένων αντιγραφή δεδομένων από/προς τη μνήμη μεταφορά μεταξύ καταχωρητών Εντολές ελέγχου ροής προγράμματος άλματα με/χωρίς συνθήκη Εντολές Ε/Ε ή συνεπεξεργαστή Κατηγορίες Εντολών

Διευθυνσιοδότηση Εντολών Άμεση διευθυνσιοδότηση Κατ ευθείαν διευθυνσιοδότηση με αριθμό ή όνομα καταχωρητή με διεύθυνση μνήμης Έμμεση διευθυνσιοδότηση δείκτης προς τη διεύθυνση Σχετική διευθυνσιοδότηση έμμεση με μετατόπιση Δεικτοδοτούμενη διευθυνσιοδότηση με χρήση καταχωρητή-δείκτη

Β. Μονάδα Επεξεργασίας Δεδομένων (ΜΕΔ) Υπομονάδες αριθμητικών και λογικών πράξεων αριθμητική σταθερής/κινητής υποδιαστολής Υπομονάδα ολίσθησης Καταχωρητές ειδικού/γενικού σκοπού Κρυφή μνήμη εντολών και δεδομένων Δρόμοι μεταφοράς πληροφορίας

Αριθμητικές Πράξεις Σταθερής/Κινητής υποδιαστολής πρόσθεση/αφαίρεση πολλαπλασιασμός διαίρεση Αλγόριθμοι πράξεων Υλικό πράξεων άμεση απεικόνιση των αλγόριθμων σε λογικά κυκλώματα μονάδα πρόσθεσης/αφαίρεσης ακεραίων απαραίτητη για όλες τις πράξεις

Πρόσθεση Ακεραίων Το βασικό πρόβλημα ταχύτητας είναι η παραγωγή κρατουμένου: Διάδοση (carry-propagate) Πρόβλεψη (carry-lookahead) Επιλογή (carry-select) Παράκαμψη (carry-skip) Άλλο πρόβλημα είναι ο χειρισμός πολλαπλών προσθετέων: Επαναληπτικά ή συνδυαστικά Διατήρηση κρατουμένου (carry-save)

Πολλαπλασιασμός Ακεραίων Πολλαπλασιασμός με πρόσθεση/ολίσθηση γινόμενο-πολλαπλασιαστής πολλαπλασιαστέος έλεγχος Κ1/Κ2 υπολογίζει το γινόμενο Αλγόριθμος Booth

Πολλαπλασιασμός Ακεραίων Με συγκράτηση κρατουμένου: A 3 A 2 A 1 A 0 B 0 B 1 Η Π Π Η B 2 Π Π Π Η B 3 Αθροιστής Πρόβλεψης Κρατουμένου Γ 7 Γ 6 Γ 5 Γ 4 Γ 3 Γ 2 Γ 1 Γ 0

Υπομονάδα Ολίσθησης πράξη επίπεδο 0 επίπεδο 1 επίπεδο 2

Φάκελος Καταχωρητών 1 θύρα εγγραφής 2 θύρες ανάγνωσης

Γ. Κύκλος Εντολής Ανάκληση από τη μνήμη Αποκωδικοποίηση Ανάγνωση τελούμενων (προαιρετικά) Εκτέλεση Αποθήκευση αποτελέσματος (προαιρετικά)

Σειριακή/Παράλληλη Εκτέλεση Βασική αρχή σειριακής εκτέλεσης μοντέλο von Neumann χρήση του μετρητή προγράμματος άλματα/βρόχοι Επικάλυψη εκτέλεσης μερική επικάλυψη εκτέλεση εντολών εκτός σειράς παράλληλα προγράμματα Ροή ελέγχου και ροή δεδομένων

Σύνολα Εντολών Αρχιτεκτονικές στοίβας Αρχιτεκτονικές συσσωρευτή Αρχιτεκτονικές καταχωρητών γενικού σκοπού Αρχιτεκτονικές καταχωρητή-μνήμης Αρχιτεκτονικές φόρτωσης-αποθήκευσης ή καταχωρητή-καταχωρητή RISC/CISC αρχιτεκτονικές

Έλεγχος ΜΕΔ Οι μικρολειτουργίες ενεργοποιούνται με σήματα ελέγχου Με καλωδιωμένη λογική: σήματα ελέγχου από λογικό κύκλωμα δύο μέθοδοι υλοποίησης: ένας κύκλος μηχανής για κάθε κύκλο εντολής ένας κύκλος μηχανής για κάθε φάση κύκλου εντολής Με μικροπρογραμματισμένη λογική: σήματα ελέγχου από μικροεντολή, σαν αποτέλεσμα της εκτέλεσης ενός προγράμματος

Κύκλος Εντολής MIPS 1. Προσκόμισε την εντολή από τη θέση μνήμης που δείχνει ο PC. 2. Αύξησε την τιμή του PC κατά 1 λέξη. 3. Αποκωδικοποίησε την εντολή. 4. Διάβασε τα τελούμενα από το φάκελο καταχωρητών (ΦΚ). 5. Εκτέλεσε την εντολή στην ΑΛΜ. 6. Προσπέλασε τη μνήμη δεδομένων. 7. Αποθήκευσε το αποτέλεσμα στο ΦΚ.

ΑΛΜ ΜΕΔ Απλού Κύκλου Μηχανής PC MUX PCSrc MUX PCtoReg MUX MemToReg MemRead, MemWrite ΜΔΜ & Αποθηκευμένο Πρόγραμμα Μονάδα Ελέγχου MUX RegDst Φάκελος Καταχωρητών Γενικού Σκοπού RegWrite MUX ALUSrcB ALUOp ΜΔΜ & Αποθηκευμένα Δεδομένα Διακοπή

Αξιολόγηση - Προβλήματα Το σταθερό μήκος παλμού δημιουργεί ένα μοναδικό μακρύ κύκλο μηχανής. Το μήκος παλμού θα αντιστοιχεί στο μέγιστο μήκος κύκλου εντολής. Το μέγιστο μήκος κύκλου εντολής μπορεί να αντιστοιχεί σε σπάνια εντολή. Ο απλός παλμός δεν επιτρέπει επαναχρησιμοποίηση υπομονάδων στον ίδιο κύκλο εντολής.

Πολλαπλοί Κύκλοι Μηχανής Διαχωρισμός των φάσεων του κύκλου εντολής. Κάθε φάση αντιστοιχείται σε διαφορετικό κύκλο μηχανής. Σε κάθε κύκλο μηχανής εκτελούνται μόνο οι συγκεκριμένες μικρολειτουργίες της αντίστοιχης φάσης. Η μονάδα ελέγχου πρέπει να ξέρει κάθε στιγμή ποια φάση εκτελείται και ποια φάση ακολουθεί.

ΑΛΜ ΜΕΔ Πολλαπλών Κύκλων Μηχανής PCWrite, PCWriteCond MUX IorD PC MUX PCSrc MemRead ΜΔΜMemWrite & Μονάδα Μνήμης IR DR IRWrite Μονάδα Ελέγχου MUX PCtoReg MUX RegDst RegWrite Φάκελος Καταχωρητών Γενικού Σκοπού MUX MemtoReg A B MUX ALUSrcA MUX ALUSrcB ALUOp C Διακοπή

Σχεδίαση Μονάδας Ελέγχου Ορισμός καταστάσεων από τις φάσεις των εντολών. Κάθε τύπος εντολής και διευθυνσιοδότησης δίνει διαφορετική ακολουθία καταστάσεων Σχεδίαση μηχανής καταστάσεων. Καθορισμός των συνθηκών διαδοχής καταστάσεων Καθορισμός των σημάτων ελέγχου για την εκτέλεση των μικρολειτουργιών Σχεδίαση του κυκλώματος ελέγχου.

Μηχανή Καταστάσεων Αρχή 0 MemRead IorD = εντολή IRWrite ALUSrcA = PC ALUSrcB = 4 ALUOp = add PCSrc = ΑΛΜ PCWrite Εντολή Μνήμης ALUSrcA = PC ALUSrcB = προ(ir 15-0 ) ALUOp = add 1 4 Φόρτωση 2 ALUSrcA = Α ALUSrcB = προ(ir 15-0 ) ALUOp = add MemRead IorD = δεδομένα RegWrite MemtoReg = 1 PCtoReg = 0 RegDst = IR 20-16 3 Αποθήκευση MemWrite IorD = δεδομένα 6 5 Εντολή ΑΛΜ ALUSrcA = Α ALUSrcB = Β ALUOp = funct 7 RegWrite MemtoReg = 0 RegDst = IR 15-11 Εντολή Άλματος με Συνθήκη 8 ALUSrcA = Α ALUSrcB = Β ALUOp = sub PCSrc=C PCWriteCond Εντολή Άμεσου Άλματος Εντολή Έμμεσου Άλματος PCSrc = A PCWrite 9 PCSrc=PC 31-28 IR 25-0 00 PCWrite 10

Μονάδα Ελέγχου Συνδυαστικό Κύκλωμα Σήματα Ελέγχου IR 31-26 Καταχωρητής Καταστάσεων

Μικροπρογραμματισμένη Λογική Καλωδιωμένη λογική για πραγματικές αρχιτεκτονικές: πάνω από 100 εντολές μηχανής πολύπλοκες μέθοδοι διευθυνσιοδότησης χιλιάδες καταστάσεις Τεχνική μικροπρογραμματισμού: αντιστοίχιση κάθε ομάδας μικρολειτουργιών σε μια μικροεντολή εκτέλεση σα να έχουμε πρόγραμμα

Μικροπρογραμματισμένη ΜΕ μpc

Παράδειγμα Εντολές MIPS lw, sw, add, sub, beq, j, jr: Ετικέτα Άλμα ΑΛΜ ΑΛΜ1 ΑΛΜ2 ΦΚ ΜΕΜ PC= Fetch: seq add PC 4 readir ΑΛΜ disp add PC προ(ir) <<2 LW: seq add A προ(ir) seq readdr j Fetch writedr SW: seq add A προ(ir) j Fetch write REGΑΛΜ: seq funct Α Β j Fetch writec BEQ: j Fetch sub A B C(Z==1) J: j Fetch (PC IR) <<2 JR: j Fetch A

Μερική Επικάλυψη Εντολών Διαχωρισμός σε ισόχρονες φάσεις Ομοιόμορφη επικάλυψη Ε1 Φ1 Φ2 Φ3 Φ4 Φ5 50ns Χρόνος Ε2 Ε3 Φ1 Φ2 Φ3 Φ4 Φ5 Φ1 Φ2 Φ3 Φ4 Φ5 Συνολικός χρόνος: 50ns Χρόνος μεταξύ διαδοχικών εντολών: 10ns

ΑΛΜ ΑΥΞ ΜΕΔ MIPS με Επικάλυψη Εντολών Διακοπή Μ1 ΑΘΡ PC Μονάδα Ελέγχου c1 c2 c3 c2 c3 c3 F D E M ΜΔΜ & Αποθηκευμένο Πρόγραμμα pc ir Φάκελος Καταχωρητών Γενικού Σκοπού pc a b ir Μ2 Ζ c b ΜΔΜ & Αποθηκευμένα Δεδομένα dr c Μ3

Εξαρτήσεις Μεταξύ Εντολών Δομικές εξαρτήσεις Εξαρτήσεις υλικού Εξαρτήσεις από δεδομένα Εξαρτήσεις εγγραφής δεδομένων, όπως: add $7, $10, $26 sw $7, -204($8) Διαδικασιακές εξαρτήσεις Εξαρτήσεις ροής προγράμματος, όπως: beq $2, $8, Label add $7, $10, $26

Δομικές Εξαρτήσεις Παραδείγματα κινδύνων: Στη μνήμη, μεταξύ των φάσεων Φ1, Φ4 Στην ΑΛΜ, στη φάση Φ3 εντολών άλματος με συνθήκη Στην ΑΛΜ, σε πράξεις μακρύτερες του ενός κύκλου μηχανής, όπως: div $4,$6 add $10,$8,$6 Αντιμετωπίζονται με πάγωμα ή με πολλαπλασιασμό υλικού

Εξαρτήσεις από Δεδομένα Ανάγνωση μετά από εγγραφή (ΑΜΕ) Φ5 Φ2 Εγγραφή μετά από εγγραφή (ΕΜΕ) Φ5 Φ5 Εγγραφή μετά από ανάγνωση (ΕΜΑ) Φ2 Φ5 Οι ΕΜΕ και ΕΜΑ δεν αποτελούν κίνδυνο στη ΜΕΔ που μελετάμε (γιατί;)

Τεχνική Παροχέτευσης Προωθούμε τα δεδομένα όπου και όταν χρειάζονται Παραδείγματα κινδύνων: add $R1, $R2, $R3 Φ1 Φ2 Φ3 Φ4 Φ5 lw $R5, -100($R1) Φ1 Φ2 Φ3 Φ4 Φ5 sub $R8, $R2, $R5 Φ1 Φ2 Χ Φ3 Φ4 Φ5

Υλοποίηση Παροχέτευσης Η φάση αποκωδικοποίησης ανιχνεύει τις εξαρτήσεις από δεδομένα και παράγει κατάλληλα σήματα ελέγχου Μετά τη φάση εκτέλεσης τα δεδομένα προωθούνται πίσω στις εισόδους της ΑΛΜ Αν περιμένουμε τη μνήμη, παγώνουμε την εξαρτημένη εντολή όσο χρειάζεται

Αποφυγή Παροχέτευσης Ο μεταγλωττιστής μπορεί να εισάγει εντολές μεταξύ παραγωγής και χρήσης κάποιου δεδομένου. Τέτοιες εντολές δεν είναι πάντα διαθέσιμες. Οι εξαρτήσεις από δεδομένα είναι πολύ συχνές για να τις αφήσουμε στο μεταγλωττιστή...

Διαδικασιακές Εξαρτήσεις Εξαρτήσεις λόγω αλμάτων: Φ2 Φ1 είτε Φ3 Φ1 Παραδείγματα κινδύνων: j 0x1a402c0 Φ1 Φ2 Φ3 Φ4 Φ5 add $7, $5, $12 beq $3, $6, -2044 Φ1 Φ2 Φ3 Φ4 Φ5 Φ1 Φ2 Φ3 Φ4 Φ5 lw $16, 4($9) Φ1 Φ2 Φ3 Φ4 Φ5

Καθυστερημένο Άλμα Το άλμα εκτελείται μετά την επόμενη εντολή Η εξάρτηση μεταβιβάζεται στη μεθεπόμενη εντολή Παράδειγμα: j 0x1a402c0 Φ1 Φ2 Φ3 Φ4 Φ5 add $7, $5, $12 Φ1 Φ2 Φ3 Φ4 Φ5 εντολή προορισμού Φ1 Φ2 Φ3 Φ4 Φ5

Πρόβλεψη Διακλάδωσης Πρόβλεψη στην αποτίμηση της συνθήκης Άλμα / Όχι άλμα Σωστή πρόβλεψη (όχι άλμα): beq $3, $6, -2044 Φ1 Φ2 Φ3 Φ4 Φ5 lw $16, 4($9) Φ1 Φ2 Φ3 Φ4 Φ5 Λάθος πρόβλεψη (με εκτέλεση στη Φ2): beq $3, $6, -2044 Φ1 Φ2 Φ3 Φ4 Φ5 lw $16, 4($9) Φ1 - - - - εντολή προορισμού Φ1 Φ2 Φ3 Φ4 Φ5

Στατική Πρόβλεψη Η πρόβλεψη κάθε διακλάδωσης δεν αλλάζει με την εκτέλεση του κώδικα Πρόβλεψη ανάλογα με την εντολή Πρόβλεψη ανάλογα με τη μετατόπιση Πρόβλεψη που ορίζει ο μεταγλωττιστής

Δυναμική Πρόβλεψη Η πρόβλεψη αλλάζει κατά τη διάρκεια εκτέλεσης του κώδικα, ανάλογα με τη συμπεριφορά της διακλάδωσης Πρόβλεψη στην αποτίμηση της συνθήκης: Κρατάμε τις τιμές που αποτιμήθηκαν Πρόβλεψη στον προορισμό της διακλάδωσης: Κρατάμε τις διευθύνσεις προορισμού

Λανθασμένη Πρόβλεψη Επαναφορά στην προηγούμενη κατάσταση: Δε μπορεί να αλλάζει η κατάσταση που φαίνεται εξωτερικά, άρα Δε γράφονται καταχωρητές γενικού σκοπού Δε γράφεται μνήμη πριν αποτιμηθεί η συνθήκη άλματος Κόστος λάθους Ανάλογα με την απόσταση από τη Φ1 της φάσης αποτίμησης της συνθήκης

ΑΛΜ Πρόβλεψη Διακλαδώσεων ΑΥΞ Πλήρης ΜΕΔ MIPS με Επικάλυψη Εντολών PC wrdis Ανίχνευση Κινδύνων Μονάδα Ελέγχου CZ M1 c1 c2 c3 ΑΘΡ c2 c3 c3 F D E M pc pc ΜΔΜ & Αποθηκευμένο Πρόγραμμα ir Φάκελος Καταχωρητών Γενικού Σκοπού a b M4 M5 M2 Z c ΜΔΜ & Αποθηκευμένα Δεδομένα dr c M3 ir b flush fwd Διακοπή Παροχέτευση

Δ. Σύστημα Μνήμης Κεντρική μνήμη κρυφή και κύρια μνήμη φυσικές διευθύνσεις και χώρος φυσικών διευθύνσεων Βοηθητική μνήμη (σύστημα δίσκων) κρυφή βοηθητική μνήμη Ιδεατή (ή εικονική) μνήμη λογικές διευθύνσεις και χώρος λογικών διευθύνσεων

Ιεραρχία Μνήμης ΚΜΕ Μ 1 Μ 2 Μ 3 Μ 4 C i > C i+1, t i < t i+1, S i < S i+1 Δ i Δ i+1 (εγκλεισμός)

Προσπέλαση Ιεραρχίας Μνήμης Η ΚΜΕ παράγει τη διεύθυνση Ψάχνουμε διαδοχικά στις Μ 1, Μ 2, Όταν βρούμε τη διεύθυνση, φέρνουμε το δεδομένο διαδοχικά μέχρι τη ΚΜΕ Προσπελαύνουμε τη Μ 1 Τυχόν εγγραφή παραμένει στη Μ 1 (πρόβλημα ασυνέπειας)

Στόχοι Ιεραρχίας Μνήμης Ιδανικά: C = C n, t = t 1, S = S n Η πραγματική απόδοση καθορίζεται από: Χαρακτηριστικά λογισμικού Παράμετροι κατασκευής Λειτουργικοί αλγόριθμοι Τρόπος απεικόνισης Δ i+1 Δ i Τακτική προσκόμισης μπλοκ Μ i+1 Μ i Στρατηγική αντικατάστασης M i Τακτική ενημέρωσης Μ i Μ i+1

Απεικόνιση Πώς απεικονίζουμε μεγαλύτερη μνήμη σε μικρότερη; Χρήση συσχετιστικής (ή ψευδοσυσχετιστικής) μνήμης με κλειδί που είναι μέρος της διεύθυνσης Ένα μέρος της διεύθυνσης καθορίζει το πλαίσιο, ενώ άλλο μέρος αποθηκεύεται σαν κλειδί σύγκρισης Ψηφίο εγκυρότητας

Τρόπος Απεικόνισης Άμεση απεικόνιση κάθε μπλοκ σε καθορισμένο πλαίσιο Απεικόνιση πλήρους συσχέτισης κάθε μπλοκ σε οποιοδήποτε πλαίσιο Απεικόνιση τ-τρόπων συνόλου συσχέτισης κάθε μπλοκ σε ένα από τ πλαίσια ενός καθορισμένου συνόλου

Σύγκριση Απεικονίσεων Άμεση απεικόνιση: πιο γρήγορη πιο πολλές αποτυχίες έλλειψη χώρου κι όταν η μνήμη περιέχει ένα μόνο έγκυρο πλαίσιο Απεικόνιση πλήρους συσχέτισης πιο αργή λιγότερες αποτυχίες έλλειψη χώρου μόνο όταν γεμίσει η μνήμη τ-τρόποι συνόλου συσχέτισης ενδιάμεσα χαρακτηριστικά

Τακτική Προσκόμισης Μπλοκ Όταν αυτό απαιτείται (on demand) Απλή τακτική Εκ των προτέρων (prefetch) Πιο εύκολη υλοποίηση σε προσκόμιση εντολών, λόγω σειριακής εκτέλεσης Πιο δύσκολη υλοποίηση σε προσκόμιση δεδομένων Ειδική εντολή γλώσσας μηχανής Ανίχνευση διαδοχικών προσπελάσεων

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

Τακτική Ενημέρωσης Εγγραφές σε σχέση με αναγνώσεις Όταν έχουμε επιτυχία: Άμεση ενημέρωση (write through) Τελική ενημέρωση (write back) Σημαία αλλαγής (dirty bit) Όταν έχουμε αποτυχία: Προσκόμιση κατά την εγγραφή (fetch on write) Μη προσκόμιση κατά την εγγραφή (write around)

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

Ιδεατή μνήμη Αριθμός Τμήματος Λογική Διεύθυνση Αριθμός Σελίδας Αριθμός Λέξης ΚΠΤ + Πίνακας Τμημάτων όριο.. βάση + Πίνακας Σελίδων.. Αριθμός Ενότητας Αριθμός Λέξης Φυσική Διεύθυνση

Χρήση Ιδεατής Μνήμης Η μετάφραση από λογικές σε φυσικές διευθύνσεις επιταχύνεται με τη χρήση ειδικής κρυφής μνήμης, την TLB Ο έλεγχος της TLB και γενικότερα της ιδεατής μνήμης γίνεται από το λειτουργικό σύστημα Θετική παρενέργεια της χρήσης ιδεατής μνήμης είναι ο μηχανισμός προστασίας μνήμης

Ε. Συσκευές Εισόδου/Εξόδου Τύπος συσκευής Εισόδου, εξόδου, εισόδου + εξόδου, αποθήκευσης Χρήστης συσκευής Άνθρωπος, μηχανή Ρυθμός μεταφοράς δεδομένων

Επικοινωνία με ΚΜΕ Πρόσβαση στους ελεγκτές από ΚΜΕ: Ειδικές εντολές Ε/Ε Μέσα από το χώρο διευθύνσεων μνήμης Επικοινωνία ελεγκτών Ε/Ε με ΚΜΕ: Η ΚΜΕ εξετάζει τακτικά τους ελεγκτές Οι ελεγκτές διακόπτουν την ΚΜΕ Προσπέλαση μνήμης από ελεγκτές Ε/Ε: Μέσω ΚΜΕ Άμεσα

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

Άμεση Προσπέλαση Μνήμης Ε/Ε με τη μέθοδο των διακοπών Η ΚΜΕ στέλνει στον ελεγκτή ΑΠΜ τα στοιχεία της προσπέλασης Η συσκευή Ε/Ε προσπελαύνει άμεσα τη μνήμη όποτε χρειάζεται Συνεχής προσπέλαση Προσπέλαση μόνο σε διαθέσιμους κύκλους Η ΚΜΕ απελευθερώνεται από το κόστος της μεταφοράς δεδομένων

ΣΤ. Αρτηρίες Διασύνδεσης Σύγχρονες/Ασύγχρονες Γραμμές διευθύνσεων/δεδομένων ξεχωριστές ή χρονικά πολυπλεγμένες Γραμμές ελέγχου πρωτόκολλα επικοινωνίας Μηχανισμός διαιτησίας προτεραιότητες, δικαιοσύνη Προσαρμογείς αρτηριών σύνδεση αρτηριών Διασύνδεση μέσω δικτύων

Είδη Αρτηριών Επεξεργαστή - Μνήμης (processor - memory bus) Πολύ γρήγορες, μικρού μήκους Συστήματος (system bus, backplane bus, local bus) Γρήγορες, μεσαίου μήκους Εισόδου/Εξόδου (I/O bus) Αργές, μεγάλου μήκους