Κεφάλαιο 2. Σημείωση

Σχετικά έγγραφα
Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

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

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

Προγραμματισμός Ι (HY120)

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

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

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

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

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

Πράξεις με δυαδικούς αριθμούς

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

Δυαδικό Σύστημα Αρίθμησης

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

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

Διαδικασιακός Προγραμματισμός

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

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

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Chapter 3 Αριθμητική Υπολογιστών

Ψευδοκώδικας. November 7, 2011

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

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

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

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

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Αριθμητική Υπολογιστών (Κεφάλαιο 3)

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

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

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

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

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

Εισαγωγή στους Υπολογιστές

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αρχές κωδικοποίησης. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 08-1

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Δομημένος Προγραμματισμός (ΤΛ1006)

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

Κεφάλαιο 3. Αριθμητική για υπολογιστές

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

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

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

Προγραμματισμός ΙI (Θ)

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

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

Τεχνολογία Πολυμέσων. Ενότητα # 8: Αρχές κωδικοποίησης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

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

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

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1

Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Transcript:

Κεφάλαιο 2 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 1 Σημείωση Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών και παρέχονται αποκλειστικά για προσωπική χρήση των εγγεγραμένων φοιτητών του μαθήματος Οι διαφάνειες αναφέρονται στο διδακτικό βιβλίο του μαθήματος Τα πνευματικά δικαιώματα των διαφανειών και των σχημάτων που περιλαμβάνονται ανήκουν στους συγγραφείς των διαφανειών, τους συγγραφείς του βιβλίου και τους δημιουργούς των σχημάτων Απαγορεύεται ρητά η αντιγραφή, αναπαραγωγή, διανομή, και μετάδοση των διαφανειών χωρίς άδεια Γενικά, απαγορεύεται οποιαδήποτε εμπορική χρήση των διαφανειών και οποιαδήποτε χρήση δεν συνάδει με τον διδακτικό τους σκοπό στοπανεπιστήμιοπατρών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2 1

Αρχές συνόλου εντολών & παραδείγματα ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 3 Εισαγωγή Μεγάλη ποικιλία εναλλακτικών σχεδίων διαθέσιμων στον αρχιτέκτονα ενός συνόλου εντολών. Θα επικεντρωθούμε σε πέντε θέματα: Ταξινόμηση των εναλλακτικών συνόλων εντολών, δίνοντας ποιοτική αποτίμηση των πλεονεκτημάτων και μειονεκτημάτων διαφόρων προσεγγίσεων Μερικές μετρήσεις συνόλων εντολών, οι οποίες είναι (κατά ένα μεγάλο βαθμό) ανεξάρτητες από ένα συγκεκριμένο σύνολο εντολών Την αρχιτεκτονική του συνόλου των εντολών επεξεργαστών που δεν προορίζονται για σταθμούς εργασίας ή εξυπηρετητές αλλά για επεξεργασία σήματος και επξεργασία φωνής και εικόνας Θέμα των γλωσσών και των μεταφραστών και την σημασία που έχουν στην αρχιτεκτονική του συνόλου των εντολών Παράδειγμα, πώς αυτές οι ιδέες αντικατοπτρίζονται στο σύνολο εντολών του ΜΙΡS. Θα εξετάσουμε μια μεγάλη ποικιλία αρχιτεκτονικών μετρήσεων. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 4 2

Σημείωση Είναι σαφές ότι αυτές οι μετρήσεις εξαρτώνται από τα προγράμματα που μετρήθηκαν και από τους μεταγλωττιστές που χρησιμοποιήθηκαν για να γίνουν οι μετρήσεις. Τα αποτελέσματα δε θα έπρεπε να θεωρηθούν απόλυτα, μιας και θα μπορούσατε να βρείτε διαφορετικά αποτελέσματα αν κάνατε τις μετρήσεις με έναν διαφορετικό μεταγλωττιστή ή με ένα διαφορετικό σύνολο προγραμμάτων. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 5 Ταξινόμηση αρχιτεκτονικών συνόλου εντολών Ο τύπος εσωτερικής αποθήκευσης σε έναν επεξεργαστή: η πιο ουσιαστική διαφοροποίηση Οι βασικές επιλογές: Στοίβα Συσσωρευτής αύξησης Σύνολο καταχωρητών Άμεση ή έμμεση ονομασία τελεστέων: Αρχιτεκτονική στοίβας: οι τελεστέοι βρίσκονται αναμφίβολα στην κορυφή της στοίβας Αρχιτεκτονική συσσωρευτή: ένας τελεστέος είναι αναμφίβολα ο συσσωρευτής Αρχιτεκτονικές καταχωρητή γενικού σκοπού: έχουν μόνο άμεσους τελεστέους είτε καταχωρητές, είτε χώρους μνήμης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 6 3

Ταξινόμηση αρχιτεκτονικών συνόλου εντολών (2) Στην πραγματικότητα υπάρχουν δύο τύποι υπολογιστών με καταχωρητές: αρχιτεκτονική καταχωρητή μνήμης: μπορεί να έχει πρόσβαση στην μνήμη σαν κομμάτι οποιασδήποτε εντολής αρχιτεκτονική φόρτωσης-αποθήκευσης (ή καταχωρητή-καταχωρητή): μπορεί να έχει πρόσβαση στην μνήμη μόνο με εντολές φόρτωσης και αποθήκευσης Αρχιτεκτονική μνήμη-μνήμη: κρατάει όλους τους τελεστέους στη μνήμη τρίτος τύπος, που δεν συναντάται στους υπολογιστές Παλαιότεροι υπολογιστές: χρησιμοποιούσαν αρχιτεκτονικές του τύπου στοίβας ή καταχωρητή αύξησης Εμφάνιση των υπολογιστών καταχωρητή γενικού σκοπού (GPR) για δύο βασικούς λόγους: Οι καταχωρητές είναι πιο γρήγοροι από την μνήμη όπως και άλλοι τύποι αποθήκευσης που είναι εσωτερικοί στον υπολογιστή Οι καταχωρητές χρησιμοποιούνται πιο εύκολα από τους μεταγλωττιστές και μπορούν να χρησιμοποιηθούν πιο αποτελεσματικά απ ότι κάποιοι άλλοι τύποι εσωτερικής αποθήκευσης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 7 Οι θέσεις των τελεστέων Τα βέλη δείχνουν εάν ο τελεστέος δίνεται από τον είσοδο ή είναι το αποτέλεσμα μιας λειτουργίας της ΑLU ή είναι και είσοδος και αποτέλεσμα ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 8 4

Ο ρόλος των καταχωρητών Μπορούν να χρησιμοποιηθούν για να κρατήσουν τις μεταβλητές, μειώνοντας την κίνηση στην μνήμη Πολύ μικρός αριθμός καταχωρητών (πραγματικά) γενικού σκοπού => ανώφελο να προσπαθήσουμε να τοποθετήσουμε μεταβλητές στους καταχωρητές Ο μεταγλωττιστής θα δεσμεύσει όλους τους αδέσμευτους καταχωρητές για υπολογισμό εκφράσεων Πόσοι καταχωρητές είναι επαρκείς; Φυσικά, η απάντησηεξαρτάται από την αποτελεσματικότητα του μεταγλωττιστή 3 βασικές αρχιτεκτονικές υπολογιστών καταχωρητών γενικού σκοπού: Καταχωρητή-καταχωρητή Καταχωρητή-μνήμης Μνήμης-μνήμης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 9 Αρχιτεκτονική καταχωρητήκαταχωρητή Πλεονεκτήματα Απλή, σταθερού μήκους κωδικοποίηση εντολής Απλό μοντέλο παραγωγής κώδικα Οι εντολές παίρνουν παρόμοιο αριθμό κύκλων ρολογιού για να εκτελεστούν. Μειονεκτήματα Μεγαλύτερος αριθμός εντολών απ ότι αρχιτεκτονικές με εντολές που επιτρέπουν αναφορές στην μνήμη Περισσότερες εντολές και χαμηλότερη πυκνότητα εντολών οδηγεί σε μεγαλύτερα προγράμματα ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 10 5

Αρχιτεκτονική καταχωρητή-μνήμης Πλεονεκτήματα Τα δεδομένα μπορούν να προσπελαστούν χωρίς μια επιπλέον εντολή φόρτωσης (προηγούμενα) Η μορφή των εντολών τείνει να είναι εύκολη να κωδικοποιηθεί και αποδίδει καλή πυκνότητα Μειονεκτήματα Οι τελεστέοι δεν είναι ισοδύναμοι, αφού ένας τελεστέος πηγής σε μια δυαδική πράξη καταστρέφεται Η κωδικοποίηση ενός αριθμού καταχωρητή και μιας διεύθυνσης μνήμης σε κάθε εντολή μπορεί να περιορίσει τον αριθμό των καταχωρητών Οι κύκλοι ανά εντολή ποικίλουν από την τοποθεσία των τελεστέων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 11 Αρχιτεκτονική μνήμης-μνήμης Πλεονεκτήματα Πιο συμπαγής εν σπαταλάει καταχωρητές για προσωρινούς καταχωρητές Μειονεκτήματα Μεγάλη διαφοροποίηση στο μέγεθος εντολής, ειδικά για εντολές τριών τελεστέων Επιπρόσθετα, μεγάλη διαφοροποίηση στη δουλειά ανά εντολή Προσβάσεις στη μνήμη δημιουργούν φρακάρισμα στη μνήμη εν χρησιμοποιείται σήμερα Αυτά τα πλεονεκτήματα και μειονεκτήματα δεν είναι απόλυτα. Είναι ποιοτικά και η ουσιαστική τους επίδραση εξαρτάται από το μεταγλωττιστή και τη στρατηγική υλοποίησης. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 12 6

ιευθυνσιοδότηση μνήμης Η αρχιτεκτονική καθορίζει πώς ερμηνεύονται και ορίζονται οι διευθύνσεις μνήμης Ανεξάρτητα τύπου αρχιτεκτονικής (καταχωρητήκαταχωρητή κλπ.) Ποιο αντικείμενο πρέπει να προσπελαστεί ως συνάρτηση της διεύθυνσης και του μήκους; Όλατασύνολαεντολών(εκτός από μερικά DSP s) διευθυνσιοδοτούνται με βάση το byte και παρέχουν προσπέλαση για bytes (8 bits), μισές λέξεις (16 bits), λέξεις (32 bits) και διπλές λέξεις (64 bits) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 13 ιευθυνσιοδότηση μνήμης (2) Υπάρχουν δύο διαφορετικοί τρόποι για να αριθμούμε τα bytes μέσα σε ένα μεγαλύτερο αντικείμενο Little Endian Big Endian ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 14 7

Little Endian Βάζει το byte του οποίου η διεύθυνση είναι x x00, στην λιγότερο σημαντική θέση μέσα στην διπλή λέξη εν μπορεί να ταιριάξει την κανονική αρίθμιση των λέξεων όταν συγκρίνονται αλφαριθμητικά Τα bytes αριθμούνται: 7 6 5 4 3 2 1 0 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 15 Big Endian Βάζει το byte του οποίου η διεύθυνση είναι x x00, στην περισσότερο σημαντική θέση μέσα στην διπλή λέξη Τα bytes αριθμούνται: 0 1 2 3 4 5 6 7 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 16 8

Ευθυγράμμιση μνήμης Σε πολλούς υπολογιστές, οι προσπελάσεις σε αντικείμενα μεγαλύτερα του ενός byte πρέπει να ευθυγραμμιστούν Γιατί θα σχεδίαζε κάποιος έναν υπολογιστή με περιορισμούς ευθυγράμμισης; Μια μη ευθυγραμμισμένη προσπέλαση μνήμης μπορεί να χρειαστεί πολλές αναφορές ευθυγραμμισμένης μνήμης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 17 Μέθοδοι διευθυνσιοδότησης μνήμης Οι μέθοδοι διευθυνσιοδότησης καθορίζουν θέσεις στη μνήμη Σταθερές Καταχωρητές Όταν μια θέση μνήμης χρησιμοποιείται, η τελική διεύθυνση μνήμης που καθορίζεται από τη μέθοδο διευθυνσιοδότησης ονομάζεται πραγματική διεύθυνση (effective address) Υπάρχουν πολλές μέθοδοι διευθυνσιοδότησης (καταχωρητή, άμεση, με εκτόπισμα, με δείκτη, έμμεση, με αυτόματη αύξηση/μείωση, κλιμακούμενη, κλπ.) Υπάρχουν δύο βασικές μέθοδοι διευθυνσιοδότησης: Άμεση διευθυνσιοδότηση ιευθυνσιοδότηση εκτόπισης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 18 9

Χρήση των μεθόδων διευθυνσιοδότησης μνήμης είχνει τα αποτελέσματα της μέτρησης των πρότυπων χρησιμότητας των μεθόδων διευθυνσιοδότησης σε τρία προγράμματα στην αρχιτεκτονική VAX Σε αυτά τα προγράμματα σχεδόν όλες οι έμμεσες αναφορές μνήμης χρησιμοποιούν τη μέθοδο εκτόπισης ως βάση. Η μέθοδος εκτόπισης περιλαμβάνειόλαταμήκηεκτόπισης(8, 16 ή 32bits). ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 19 ιευθυνσιοδότηση εκτόπισης Το βασικό ερώτημα που προκύπτει από μια μέθοδο διεθυνσιοδότησης τύπου εκτόπισης είναι τα μεγέθη της έκτασης των εκτοπίσεων που χρησιμοποιούνται Η επιλογή του μεγέθους του πεδίου εκτοπισμού είναι σημαντική, γιατί επηρεάζει άμεσα το μήκος των εντολών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 20 10

ιευθυνσιοδότηση εκτόπισης (2) Οι τιμές εκτόπισης είναι ευρέως κατανεμημένες Ο άξονας των x είναι ο λογάριθμος της εκτόπισης Το Ø στον άξονα x δείχνει το ποσοστό εκτοπίσεων με την τιμή Ø Οι περισσότερες εκτοπίσεις είναι θετικές, αλλά το μεγαλύτερο ποσοστό των μεγάλων εκτοπίσεων (14+ bits) είναι αρνητικές ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 21 Άμεση ή επακριβής διευθυνσιοδότηση Ειδικά για διακλαδώσεις, οι άμεσοι μπορούν να χρησιμοποιηθούν σε αριθμητικές πράξεις, σε συγκρίσεις και σε μεταφορές, όπου μια σταθερά ζητείται στον καταχωρητή Αυτό συμβαίνει για: σταθερές γραμμένες στον κώδικα (τείνουν να είναι μικρές) σταθερές διευθύνσεων (τείνουν να είναι μεγάλες) Για τη χρήση των άμεσων είναι σημαντικό να ξέρουμε αν πρέπει να υποστηριχθούν για όλες τις λειτουργίες ή μόνο για ένα υποσύνολο. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 22 11

Άμεση ή επακριβής διευθυνσιοδότηση Τα προγράμματα ακεραίων χρησιμοποιούν άμεσους σε περίπου 1/5 των εντολών Τα προγράμματα κινητής υποδιαστολής χρησιμοποιούν άμεσους σε περίπου 1/6 των εντολών H εντολή φόρτωσης άμεσου βάζει 16 bits σε κάποιο μισό ενός καταχωρητή 32 bit ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 23 ιευθυνσιοδότηση για SP: Κυκλική (modulo) διευθυνσιοδότηση Οι DSP έχουν να κάνουν με άπειρες, συνεχείς ροές δεδομένων => συχνά βασίζονται σε κυκλικούς buffers Όταν προστίθενται δεδομένα στον buffer, ένας δείκτης ελέγχεται αν δείχνει στο τέλος του buffer Αν όχι, ο δείκτης αυξάνεται στην επόμενη διεύθυνση Αν ναι, ο δείκτης ορίζεται να δείχνει την αρχή του buffer Κυκλικός (modulo) τρόπος διευθυνσιοδότησης: Καταχωρητές αρχής & τέλους με κάθε καταχωρητή διεύθυνσης Παραλλαγή: καταχωρητής μήκους buffer Οι DSP απευθύνονται σε ένα μικρό αριθμό αλγορίθμων Η επόμενη μέθοδος διευθυνσιοδότησης περιλαμβάνεται σε μόνο μία εφαρμογή ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 24 12

ιευθυνσιοδότηση για SP: Αναστροφή bit (bit reversal) Ο FFT ξεκινά ή τελειώνει την επεξεργασία με τα δεδομένα τοποθετημένα σε μια συγκεκριμένη σειρά. Για 8 δεδομένα σε έναν FFT ρίζας 2, ο μετασχηματισμός αναφέρεται πιο κάτω, με τις διευθύνσεις στην παρένθεση να είναι δυαδικές: 0 (0002 ) 0 (0002 ) 1(0012 ) 4 (1002) 2 (0102) 2 (0102) 3 (0112 ) 6 (1102) 4 (1002) 1(0012 ) 5 (1012 ) 5 (1012 ) 6 (1102) 3 (0112 ) (111 ) 7 (111 ) 7 2 2 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 25 ιευθυνσιοδότηση για SP: Αναστροφή bit Λύση για DSP: βασίζεταιστηνπαρατήρησηότιη καινούργια δυαδική διεύθυνση είναι το αντίστροφο της αρχικής διεύθυνσης (πχ., η διεύθυνση 100 (4) γίνεται 001 (1)). Έτσι πολλοί DSP έχουν ένα δεύτερο τρόπο διευθυνσιοδότησης, αναστροφής bit, στον οποίο το υλικό αντιστρέφει τα χαμηλότερα bit της διεύθυνσης, όπου ο αριθμός των bit που αντιστρέφονται εξαρτάται από το βήμα του αλγορίθμου FFT ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 26 13

Συνοψίζοντας: τι θα περιμέναμε Λόγω της ευρείας χρήσης τους, οι καινούργιες αρχιτεκτονικές να υποστηρίζουν τουλάχιστον τους εξής τρόπους διευθυνσιοδότησης: Εκτόπιση Άμεση Έμμεση μέσω καταχωρητή Το μέγεθος της διεύθυνσης για την διευθυνσιοδότηση εκτόπισης να είναι τουλάχιστον 12-16 bits Το μέγεθος του άμεσου πεδίου να είναι 8-16 bits ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 27 Τύποι & μεγέθη τελεστέων Τύπος τελεστέου (ακέραιου αριθμού ή αριθμού κινητής υποδιαστολής μονής ακρίβειας, ή χαρακτήρα, κ.ο.κ.) δίνει αποτελεσματικά το μέγεθος Οι κοινοί τύποι τελεστέων περιλαμβάνουν χαρακτήρα (1 byte), μισή λέξη (16 bits), λέξη (32 bits), κινητής υποδιαστολής μονής ακρίβειας (επίσης μια λέξη), και κινητής υποδιαστολής μονής ακρίβειας (2 λέξεις) ύο βασικές εναλλακτικές μέθοδοι ορισμού τύπου τελεστέου Ο τύπος ενός τελεστέου μπορεί να σχεδαστεί κωδικοποιώντας τον στον κωδικό εντολής (αυτή η μέθοδος χρησιμοποιείται πιο συχνά) Τα δεδομένα μπορούν να περιγραφούν με ετικέτες (tags), οι οποίες ερμηνεύονται από το υλικό ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 28 14

Τύποι & μεγέθη τελεστέων (2) Για τις εφαρμογές επιχειρήσεων, μερικές αρχιτεκτονικές υποστηρίζουν έναν δεκαδικό τύπο 4 bitsχρησιμοποιούνται για να κωδικοποιήσουμε τις τιμές 0-9 και δύο δεκαδικά ψηφία αποθηκεύονται σε κάθε byte. Ένας από τους λόγους που χρησιμοποιούμε δεκαδικούς τελεστέους είναι για να πάρουμε αποτελέσματα που ταιριάζουν απόλυτα σε δεκαδικούς αριθμούς, καθώς κάποια δεκαδικά κλάσματα δεν έχουν ακριβή αναπαράσταση στο δυαδικό. Οι DSP χρειάζονται καταχωρητές συσσώρευσης με μεγαλύτερο πλάτος από το μέγεθος της μνήμης, για να ενισχύσουν την ακρίβεια σε αριθμητική σταθερής υποδιαστολής Παράδειγμα Το 0,1 είναι ένα απλό δεκαδικό κλάσμα, αλλά στα δυαδικό σύστημα χρειάζεται ένα άπειρο σύνολο επαναλαμβανόμενων ψηφίων: 0,001100110011... ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 29 Κατανομή προσπελάσεων δεδομένων σε προγράμματα αναφοράς είχνει τη δυναμική κατανομή του μεγέθους των αντικειμένων που προσπελάσθηκαν στη μνήμη από αυτά τα προγράμματα Θα έπρεπε ο υπολογιστής να έχει ένα μονοπάτι προσπέλασης των 64 bit Χρησιμοποιεί αναφορές στη μνήμη για να εξετάσουμε τον τύπο των δεδομένων που προσπελαύνονται ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 30 15

Παράδειγμα θεωρείστε τρία απλά σχήματα των 16 bits: 0100 0000 0000 0000 0000 1000 0000 0000 0100 1000 0000 1000 Τι τιμές αντιπροσωπεύουν, αν είναι ακέραιοι συμπληρώματος ως προς 2; Τι τιμές αντιπροσωπεύουν, αν είναι αριθμοί σταθερής υποδιαστολής; Η ακέραια αριθμητική αναπαράσταση ορίζει ότι το ν- ιοστό ψηφίο αριστερά της υποδιαστολής αναπαριστά το 2 ν-1 και το ν-ιοστό ψηφίο δεξία της υποδιαστολής αναπαριστά το 2 -ν ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 31 Ακέραιοι 0100 0000 0000 0000 0000 1000 0000 0000 0100 1000 0000 1000 Η υποδιαστολή είναι στα δεξιά Οι αριθμοί που αναπαριστάνονται είναι οι 2 14,2 11 και (2 14 +2 11 +2 3 ), ήοι16384, 2048 και 18440 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 32 16

Σταθερή υποδιαστολή 0100 0000 0000 0000 0000 1000 0000 0000 0100 1000 0000 1000 Η υποδιαστολή είναι στα δεξιά του ψηφίου προσήμου Οι εκφράσεις αναπαριστούν τους αριθμούς 2-1, 2-4 και (2-1 +2-4 +2-12 ). Τα κλάσματα είναι ½, 1/16, και (2048+256+1)/4096, που αναπαριστούν τα 0.5, 0.0625 και 0.56274. Στην περίπτωση ενός αριθμού σταθερής υποδιαστολής σε αναπαράσταση συμπληρώματος ως προς 2, μπορούμε να διαιρέσουμε την ακέραια τιμή με το 2 ν-1 γιαναφτάσουμεσταίδιααποτελέσματα: 16384/32768= 1/2 2048/32768= 1/16 18440/32768= 2305/4096 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 33 Λειτουργίες & κατηγορίες στο σύνολο εντολών Εμπειρικός κανόνας: οι εντολές που έχουν εκτελεστεί περισσότερο είναι οι απλές λειτουργίες ενός συνόλου εντολών (ισχύει για όλες τις αρχιτεκτονικές) Τύπος τελεστή Γενικά όλοι οι υπολογιστές παρέχουν ένα ολοκληρωμένο σύνολο λειτουργιών για τις τρεις πρώτες κατηγορίες ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 34 17

Κατηγορίες εντολών στο σύνολο εντολών Αριθμητικές και λογικές: Αριθμητικές και λογικές λειτουργίες ακεραίων- πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση Μεταφοράς δεδομένων: Φορτώσεις Αποθηκεύσεις (εντολές μεταφοράς σε υπολογιστές με διευθυνσιοδότηση μνήμης Ελέγχου: ιακλαδώσεις, άλματα, κλήσεις υπο-προγραμμάτων και επιστροφές, παγίδες Συστήματος: Κλήσεις λειτουργικού συστήματος, εντολές διαχείρισης εικονικής μνήμης Κινητής υποδιαστολής: Λειτουργίες κινητής υποδιαστολής πρόσθεση, πολλαπλασιασμός, διαίρεση, σύγκριση εκαδικός: εκαδική πρόσθεση, δεκαδικός πολλαπλασιασμός, μετατροπές δεκαδικού σε χαρακτήρα Αλφαριθμητικός: Μεταφορά αλφαριθμητικού, σύγκριση αλφαριθμητικού, αναζήτηση αλφαριθμητικού Γραφικών: Λειτουργίες εικονοστοιχείου και κορυφών, λειτουργίες συμπίεσης/αποσυμπίεσης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 35 Οι πρώτες εντολές 80x86 10 απλές εντολές αποτελούν το 96% των εντολών που εκτελέστηκαν για μια συλλογή προγραμμάτων ακέραιων αριθμώνστονδιάσημοintel 80x86 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 36 18

Λειτουργίες για επεξεργασία σήματος και μέσων Η επεξεργασία γραφικών & μέσων κρίνεται από την ανθρώπινη αντίληψη. Αποτέλεσμα: Οι λειτουργίες κινητής υποδιαστολής για τα γραφικά είναι συνήθως σε απλή (όχι διπλή) ακρίβεια Συχνά με ακρίβεια κάτω από αυτή που απαιτείται από το ΙΕΕΕ 754 Μπορούμε να χρησιμοποιήσουμε συζευγμένες λειτουργίες Π.χ., ALU 64-bits μπορεί να εκτελέσει 4 παράλληλες προσθέσεις των 16 bits Αυτές οι λειτουργίες ονομάζονται συνήθως μιας εντολής πολλαπλών δεδομένων (SIMD) ή εντολές διανύσματος Οι περισσότερες εφαρμογές γραφικών χρησιμοποιούν λειτουργίες κινητής υποδιαστολής 32 bits. Μερικοί υπολογιστές διπλασιάζουν την μέγιστη απόδοση των λειτουργιών κινητής υποδιαστολής απλής ακρίβειας. Με εντολές τύπου SIMD, τα δύο τμήματα πρέπει να είναι απομονωμένα για να εμποδίσουμε τις λειτουργίες στο ένα μισό να επιδράσουν στο άλλο. Π.χ., μια τέτοια λειτουργία μπορεί να χρησιμοποιηθεί για τον γραφικό μετασχηματισμό των κορυφών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 37 Λειτουργίες για επεξεργασία σήματος και μέσων Οι DSP παρέχουν λειτουργίες στις 3 πρώτες κατηγορίες εντολών, αλλά με αλλαγές: 1) Λόγω χρήσης σε εφαρμογές πραγματικού χρόνου (real time), δεν υπάρχει η δυνατότητα για εξαίρεση σε αριθμητική υπερχείλιση. Το αποτέλεσμα χρησιμοποιείται πάντα. Γι αυτό χρησιμοποιείται κορεσμένη αριθμητική: εάν ένα αποτέλεσμα είναι πολύ μεγάλο για να αναπαρασταθεί, στρογγυλεύεται στον μεγαλύτερο αριθμό που μπορεί να αναπαρασταθεί (ανάλογα με το πρόσημο του αποτελέσματος). Αντίθετα: σε αριθμητική συμπληρώματος ως προς 2, υπερχείλιση άθροισης θετικών αριθμών μπορεί να καταλήξει σε αρνητική τιμή αποτελέσματος 2) Υπάρχουν διάφοροι τρόποι στρογγυλοποίησης πλατιών συσσωρευτών σε στενότερες λέξεις δεδομένων (όπως το ΙΕΕΕ 754 έχει διαφορετικούς τρόπους στρογγυλοποίησης) 3) Οι πυρήνες για τους DSP συσσωρεύουν μια σειρά από γινόμενα, και έτσι έχουν μια εντολή πολλαπλασιασμού συσσώρευσης (MAC) Το κύριο μέτρο μέτρησης απόδοσης DSP είναι MAC/sec Φαρδείς συσσωρευτές χρησιμοποιούνται συνήθως για συσσώρευση δεδομένων & στρογγυλοποίηση όταν τα αποτελέσματα μεταφέρονται στη μνήμη ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 38 19

Η κατανομή εντολών του DSP Ένα στατικό μίγμα εντολών για τον ΤΙ ΤΜS320C540X για ένα σύνολο ρουτινών βιβλιοθήκης Αυτή η αρχιτεκτονική 16 bits χρησιμοποιεί δύο συσσωρευτές 40 bits Οι σχεδιαστές DSP πιστεύουν ότι οι πολλαπλασιασμοί και οι MAC είναι πιο συχνοί στις δικές τους εφαρμογές απ ότι στις εφαρμογές των σταθμών εργασίας ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 39 Εντολές ελέγχου ροής Επειδή οι μετρήσεις της συμπεριφοράς διακλάδωσης και αλμάτων είναι σχετικά ανεξάρτητη από άλλες μετρήσεις και εφαρμογές, εξετάζουμε τη χρήση εντολών ελέγχου ροής εν υπάρχουν συνεκτικοί όροι για τις εντολές που αλλάζουν την ροή του ελέγχου Στην δεκαετία του 1950 ονομάζονται μεταφορές. Αρχίζοντας από το 1960 άρχισε να χρησιμοποιείται ο όρος διακλάδωση. Αργότερα, οι υπολογιστές έδωσαν καινούργια ονόματα. Μπορούμε να διαχωρίσουμε τέσσερεις τύπους αλλαγής ροής ελέγχου: ιακλαδώσεις υπό όρους Άλματα Κλήση σε υποπρογράμματα Επιστροφή υποπρογράμματος ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 40 20

Ανάλυση των εντολών ελέγχου ροής Εμφανίζεται η συχνότητα των εντολών ελέγχου ροής σε υπολογιστή φόρτωσης αποθήκευσης που εκτελεί τα προγράμματα αναφοράς Οι διακλαδώσεις με συνθήκη είναι σαφώς το κυρίαρχο στοιχείο Κάθε τύπος μετράται σε μία από τις τρεις στήλες Για να εξηγήσουμε αυτή την ενότητα πρέπει να περιγράψουμε: Τρόπους διευθυνσιοδότησης Επιλογές διακλάδωσης υπό όρους Επιλογές κλήσεις υποπρογραμμάτων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 41 Τρόποι διευθυνσιοδότησης Η εντολή ελέγχου ροής πρέπει να ορίζεται πάντα Ο πιο συνήθης τρόπος για να ορίζεται ο προορισμός είναι να δίνεται μια μετατόπιση, η οποία προστίθεται στον μετρητή προγράμματος (PC) Για να υλοποιήσουμε επιστροφές και έμμεσα άλματα, όταν ο στόχος δεν είναι γνωστός κατά την διάρκεια της μετάφρασης, χρειάζεται ένας τρόπος διευθυνσιοδότησης διαφορετικός από τον σχετικό ως προς τον PC Αυτά τα έμμεσα άλματα μέσω καταχωρητή είναι χρήσιμα και σε τέσσερεις ακόμα περιπτώσεις: Εντολές case ή switch Εικονικές συναρτήσεις ή μέθοδοι (κλήση ρουτινών ανάλογα με τα ορίσματα) Συναρτήσεις υψηλής τάξεως Βιβλιοθήκες δυναμικής κοινής χρήσης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 42 21

Τρόποι διευθυνσιοδότησης Φαίνεται η κατανομή των μετατοπίσεων για διακλαδώσεις ως προς τον PC σε εντολές. Περίπου 75% διακλαδώσεων είναι προς τα εμπρός. Οι πιο συχνές διακλαδώσεις στα προγράμματα ακεραίων είναι σε στόχους που μπορούν να κωδικοποιηθούν σε 4-8 bits Αυτό σημαίνει ότι μικρά πεδία εκτόπισης είναι συχνά αρκετά για τις διακλαδώσεις Ο σχεδιαστής μπορεί να κερδίσει πυκνότητα κωδικοποίησης έχοντας μια μικρότερη εντολή με μικρότερη εκτόπιση διακλάδωσης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 43 Επιλογές διακλάδωσης υπό συνθήκη ιακλαδώσεις: οι περισσότερες αλλαγές στην ροή ελέγχου Πως ορίζουμε τον όρο διακλάδωση? Πολύ σημαντικό! Τρειςκύριεςτεχνικέςσήμερα Κώδικας συνθήκης Καταχωρητής συνθήκης Σύγκριση και διακλάδωση Εμφανείς ιδιότητες των διακλαδώσεων Μεγάλος αριθμός συγκρίσεων είναι απλές Μεγάλος αριθμός είναι συγκρίσεις με τον 0 Οι DSP προσθέτουν μια ακόμα δομή βρόχου, η οποίασυνήθως ονομάζεται εντολή repeat (επανάληψης) Επιτρέπει σε μια εντολή ή σε ένα σύνολο εντολών να επαναληφθούν Μερικοί DSP (πχ., TMS 320C54) χρησιμοποιούν 3 καταχωρητές για μεγαλύτερη απόδοση: (1) αρχική διεύθυνση block, (2) τελική διεύθυνση, και (3) μετρητή επανάληψης. ιευθυνσιοδότηση: αυτόματη αύξηση ή μείωση ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 44 22

ιακλάδωση υπό συνθήκη Φαίνεται η συχνότητα των διαφορετικών συγκρίσεων που χρησιμοποιούνται στην διακλάδωση υπό συνθήκη Αυτέςοιμετρήσεις περιλαμβάνουν τόσο συγκρίσεις αριθμών κινητής υποδιαστολής όσο και ακεραίων Μεγαλύτερος αριθμός συγκρίσεων περιλαμβάνουν την μικρότερο Μεγάλος αριθμός συγκρίσεων είναι απλές Μεγάλος αριθμός είναι συγκρίσεις με το 0 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 45 Επιλογές κλήσης υποπρογραμμάτων Οι κλήσεις και οι επιστροφές υποπρογραμμάτων περιλαμβάνουν Μεταφορά ελέγχου Αποθήκευση κάποιων καταστάσεων (πιθανότατα) Η διεύθυνση επιστροφής πρέπει να αποθηκευτεί κάπου Μερικές φορές σε έναν ειδικό καταχωρητή σύνδεσης Οι νεώτερες αρχιτεκτονικές επιβάλλουν στον μεταγλωττιστή να δημιουργήσει αποθηκεύσεις και φορτώσεις για κάθε καταχωρητή που αποθηκεύεται και επαναφέρεται ύο βασικοί τρόποι για την αποθήκευση καταχωρητών 1) στοσημείοκλήσης 2) μέσα στο υποπρόγραμμα το οποίο καλείται Τα περισσότερα πραγματικά συστήματα χρησιμοποιούν έναν συνδυασμό των δύο μηχανισμών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 46 23

Κωδικοποιώντας το σύνολο εντολών Η αναπαράσταση των εντολών επηρεάζει Το μέγεθος του μεταγλωττισμένου προγράμματος Την υλοποίηση του επεξεργαστή (που πρέπει να τις αποκωδικοποιήσει γρήγορα για να βρει τη λειτουργία και τους τελεστέους τους) Η σημαντική απόφαση εξαρτάται από Την έκταση των μεθόδων διευθυνσιοδότησης Τον βαθμό της ανεξαρτησίας μεταξύ των κωδικών εντολής και των μεθόδων Όταν κωδικοποιούμε τις εντολές, ο αριθμός των καταχωρητών και ο αριθμός των μεθόδων διευθυνσιοδότησης έχουν σημαντική επιρροή στο μέγεθος των εντολών, αφού και το πεδίο των μεθόδων διευθυνσιοδότησης και το πεδίο του καταχωρητή μπορεί να εμφανιστούν αρκετές φορές σε μία μόνο εντολή Οαρχιτέκτονας, όταν κωδικοποιεί το σύνολο εντολών, πρέπει να ισορροπήσει (trade-off) ανάμεσα σε: Επιθυμία περισσότερων καταχωρητών και μεθόδων διευθυνσιοδότησης Επιρροή του μεγέθους του πεδίου του καταχωρητή και της μεθόδου διευθυνσιοδότησης στο μέσο μέγεθος εντολών (επομένως στο μέσο μέγεθος του προγράμματος) Επιθυμία κωδικοποίησης των εντολών σε μήκη που εύκολα θα χειριστούμε σε pipeline ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 47 3 βασικές επιλογές στην κωδικοποίηση Τρεις δημοφιλείς επιλογές για την κωδικοποίηση του συνόλου εντολών Μεταβλητού μήκους Σταθερού μήκους Υβριδική ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 48 24

Παράδειγμα Παράδειγμα μεταβλητής κωδικοποίησης (μια εντολή 80x86): add EAX, 1000 (EBX) Ο κώδικας add σημαίνει μια εντολή πρόσθεσης με 2 ακέραιους τελεστέους 32 bits & καταλαμβάνει ένα byte Το όρισμα της διεύθυνσης στην 80x86 είναι 1 ή 2 bytes, προσδιορίζοντας τον καταχωρητή εκκίνησης/κατάληξης (EAX) και τον τρόπο διευθυνσιοδότησης και τον καταχωρητή αναφοράς (EBX) για τον δεύτερο τελεστέο. Ο συνδυασμόςχρειάζεται1 byte για να ορίσει τους τελεστέους. Όταν βρισκόμαστε σε κατάσταση 32 bits, το μέγεθος του πεδίου διεύθυνσης είναι είτε 1 είτε 4 byte. Καθώς το 1000 είναι μεγαλύτερο από 2 8, το συνολικό μήκος της εντολής είναι: 1+1+4=6 bytes. Το μήκος των εντολών 80x86 μεταβάλλεται μεταξύ του 1 και των 17 bytes ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 49 ιασταυρούμενα θέματα Ο ρόλος των μεταφραστών Η δομή σύγχρονων μεταγλωττιστών Κατανομή στον καταχωρητή Επίδραση των βελτιστοποιήσεων στην απόδοση Η επίδραση που έχει η τεχνολογία μεταγλωττιστών στις αποφάσεις του αρχιτέκτονα Πώς ένας αρχιτέκτονας μπορεί να βοηθήσει τον δημιουργό ενός μεταγλωττιστή Υποστήριξη μεταφραστών για εντολές πολυμέσων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 50 25

Ο ρόλος των μεταφραστών Όλος ο προγραμματισμός σήμερα γίνεται σε γλώσσες υψηλού επιπέδου για τις εφαρμογές σταθμών εργασίας και διακομιστών Αυτή η ανάπτυξη σημαίνει ότι, αφού οι περισσότερες εντολές που εκτελούνται αποτελούν την έξοδο ενός μεταφραστή, μια αρχιτεκτονική συνόλου εντολών είναι ένας στόχος του μεταφραστή Ο μεταφραστής επηρεάζει σημαντικά την απόδοση ενός υπολογιστή. Η κατανόηση της τεχνολογίας μεταφραστών είναι απαραίτητη για την σχεδίαση και την αποδοτική υλοποίηση ενός συνόλου εντολών σήμερα. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 51 Η δομή σύγχρονων μεταφραστών Ο κυρίαρχος στόχος ενός δημιουργού μεταφραστών είναι η ορθότητα: όλα τα έγκυρα προγράμματα πρέπει να μεταφραστούν σωστά Ο δεύτερος στόχος είναι συνήθως η ταχύτητα του μεταφρασμένου κώδικα Πρόσθετοι στόχοι Ταχύτητα μετάφρασης Υποστήριξη διόρθωσης ιαλειτουργικότητα μεταξύ γλωσσών Αν και η δομή με πολλά περάσματα βοηθάει στη μείωση της πολυπλοκότητας ενός μεταφραστή, ο μεταφραστής πρέπει να δώσει εντολή για ορισμένους μετασχηματισμούς και να τους εκτελέσει πριν από κάποιους άλλους ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 52 26

Βελτιστοποίηση μεταφραστή Μπορούμε να δούμε ότι μερικές βελτιστοποιήσεις υψηλού επιπέδου εκτελούνται πολύ πριν γνωστοποιηθούν οι λεπτομέρειες του κώδικα που θα προκύψει Οι πρόσφατοι μεταγλωττιστές συνήθως αποτελούνται από 2-4 περάσματα, ενώ οι πιο βελτιστοποιημένοι έχουν περισσότερα ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 53 Η δομή σύγχρονων μεταφραστών Οι βελτιστοποιήσεις που εκτελούνται από σύγχρονους μεταγλωττιστές μπορούν να κατηγοριοποιηθούν σύμφωνα με τον τύπο του μετασχηματισμού, ως εξής: Οι βελτιστοποιήσεις υψηλού επιπέδου συχνά γίνονται στην πηγή και το αποτέλεσμα τροφοδοτείται σε μετέπειτα περάσματα βελτιστοποίησης Οι τοπικές βελτιστοποιήσεις βελτιστοποιούν τον κώδικα μέσα στα πλαίσια σειριακού (straight line) κώδικα (βασικών blocks) Οι γενικές βελτιστοποιήσεις επεκτείνουν τις τοπικές βελτιστοποιήσεις στις διακλαδώσεις και εισάγουν ένα σύνολο μετασχηματισμών που προορίζεται για τη βελτιστοποίηση των βρόχων Μεταφορά στον καταχωρητή, η οποία συσχετίζει τους καταχωρητές με τους τελεστέους Αρχιτεκτονικές βελτιστοποιήσεις που προσπαθούν να εκμεταλλευθούν συγκεκριμένα χαρακτηριστικά του επεξεργαστή ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 54 27

Κατανομή στους καταχωρητές Μία από τις πιο σημαντικές βελτιστοποιήσεις, εξαιτίας του κεντρικού ρόλου που έχει τόσο στην επιτάχυνση του κώδικα όσο και στο να κάνει χρήσιμες κάποιες άλλες βελτιστοποιήσεις Οι σύγχρονοι αλγόριθμοι γα κατανομή στους καταχωρητές βασίζονται σε μια τεχνική που ονομάζεται χρωματισμός γράφου. Βασική ιδέα: φτιάχνουμε έναν γράφο που αναπαριστά τους πιθανούς υποψήφιους τελεστέους για κατανομή σε καταχωρητή Χρησιμοποιούμε τον γράφο για να κατανείμουμε τους καταχωρητές: χρωματίζουμε τον γράφο με τόσα χρώματα όσα οι καταχωρητές, ώστε 2 συνδεδεμένοι κόμβοι (τελεστέοι) να μην έχουν το ίδιο χρώμα (δηλ. να μην αντισοιχούν στον ίδιο καταχωρητή) Ο χρωματισμός ενός γράφου είναι πρόβλημα NP-hard Ο χρωματισμός ενός γράφου γίνεται καλύτερος, όταν υπάρχουν τουλάχιστον 16 καταχωρητές γενικού σκοπού, οι οποίοι να είναι διαθέσιμοι για γενικές κατανομές μεταβλητών ακέραιων αριθμών. Όταν ο αριθμός των καταχωρητών είναι μικρός, ο χρωματισμός δεν γίνεται πολύ καλός. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 55 Επίδραση των βελτιστοποιήσεων στην απόδοση Παραδείγματα βελτιστοποιήσεων Ολοκλήρωση υποπρογράμματος: αντικατάσταση κλήσης υποπρογράμματος με το σώμα υποπρογράμματος Κίνηση κώδικα: απομάκρυνση κώδικα από ένα βρόχο που υπολογίζει την ίδια τιμή σε κάθε επανάληψη του βρόχου Μείωσης δύναμης: Πολλές περιπτώσεις, όπως η αντικατάσταση του πολλαπλασιασμού με μια σταθερά από προσθέσεις και ολισθήσεις. Μερικές φορές είναι δύσκολο να ξεχωρίσουμε κάποιες από τις απλούστερες βελτιστοποιήσεις τις τοπικές και αυτές που εξαρτώνται από τον επεξεργαστή από τους μετασχηματισμούς που έχουν γίνει στη δημιουργία του κώδικα ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 56 28

Επίδραση των μεταφραστών στις αποφάσεις του αρχιτέκτονα Η αλληλεπίδραση των μεταγλωττιστών και των γλωσσών υψηλού επιπέδου επηρεάζει σημαντικά το πώς χρησιμοποιούν τα προγράμματα την αρχιτεκτονική ενός συνόλου εντολών Σημαντικά προβλήματα: Πώς κατανέμονται και διευθυνσιοδοτούνται οι μεταβλητές; Πόσοι καταχωρητές χρειάζονται για να κατανείμουμε σωστά τις μεταβλητές; Η στοίβα χρησιμοποιείται για την κατανομή τοπικών μεταβλητών. Χρησιμοποιείται για καταγραφή δραστηριοποιήσεων, και όχι για υπολογισμούς Ο χώρος γενικών δεδομένων χρησιμοποιείται για την κατανομή στατικά δηλωμένων αντικειμένων, όπως οι γενικές μεταβλητές και σταθερές Ο σωρός (heap) χρησιμοποιείται για την κατανομή δυναμικών αντικειμένων, τα οποία δεν υπακούουν σε κάποια αρχή στοίβας ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 57 Πως ο αρχιτέκτονας βοηθά τον δημιουργό μεταφραστή Οι δημιουργοί των μεταφραστών συχνά δουλεύουν κάτω από την δική τους υπόθεση μιας βασικής αρχής της αρχιτεκτονικής: κάνετε τις συχνές περιπτώσεις γρήγορα, και τις σπάνιες σωστά Παροχή κανονικότητας: τα τρία βασικά συστατικά ενός συνόλου εντολών- οι λειτουργίες, οι τύποι δεδομένων και οι τρόποι διευθυνσιοδότησης- θα πρέπει να είναι ορθογώνια. ύο όψεις μιας αρχιτεκτονικής λέγεται ότι είναι ορθογώνιες, αν είναι ανεξάρτητες. Παροχή βασικών δομικών στοιχείων και όχι λύσεων: ειδικά χαρακτηριστικά που ταιριάζουν σε ένα προϊόν γλώσσας ή σε μια λειτουργία του πυρήνα πολλές φορές είναι αχρησιμοποίητα ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 58 29

Πως ο αρχιτέκτονας βοηθά τον δημιουργό μεταφραστή (συν.) Απλοποίηση της εξισορρόπησης παραμέτρων : μια από τις πιο δύσκολες δουλειές είναι ο προσδιορισμός της αλληλουχίας εντολών που είναι καλύτερη για κάθε τμήμα του κώδικα. Μετιςκρυφέςμνήμεςκαιτηνομοχειρία, η εξισορρόπηση όλων των παραγόντων έχουν γίνει πολύ περίπλοκη. Παράδειγμα: σε αρχιτεκτονική καταχωρητή-μνήμης, πόσες φορές πρέπει να προσπελαστεί μια μεταβλητή για να συμφέρει να την τοποθετήσουμε σε καταχωρητή? Παροχή εντολών που να δεσμεύουν τις ποσότητες που είναι γνωστές στο χρόνο μετάφρασης ως σταθερές: ένας δημιουργός μεταφραστών μισεί το να ερμηνεύει ένας επεξεργαστής κατά το χρόνο εκτέλεσης μια τιμή που ήταν γνωστή στο χρόνο μετάφρασης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 59 Υποστήριξη μεταφραστών για εντολές πολυμέσων Οι εντολές SIMD είναι λύσεις και όχι βασικά δομικά στοιχεία εν έχουν αρκετούς καταχωρητές Οι τύποι δεδομένων δεν είναι συμβατοί με τις υπάρχουσες γλώσσες προγραμματισμού Οι εντολές SIMD είναι στην πραγματικότητα μια συνοπτική εκδοχή ενός ιδιαίτερου αρχιτεκτονικού στυλ που έχει την δική του τεχνολογία μεταφραστών Όταν υποστηρίζονται SIMD εντολές, η κομψότητα που απουσιάζει από αυτές τις αρχιτεκτονικές περιλαμβάνει τον ορισμό του μήκους του διανύσματος και τους τρόπους διευθυνσιοδότησης της μνήμης. Επιτρέποντας μεταβλητό μέγεθος ανύσματος, τα διανύσματα μπορούν να αλλάζουν χωρίς πρόβλημα ανάμεσα σε διαφορετικό εύρος δεδομένων, απλά αυξάνοντας τον αριθμό των στοιχείων ανά διάνυσμα. Παράδειγμα: τα διανύσματα θα μπορούσαν να έχουν 32 στοιχεία των 64 bits, 64 στοιχεία των 32 bits, 128 στοιχεία των 16 bits ή 256 στοιχεία των 8 bits. Ο αριθμός των στοιχείων ανά καταχωρητή διανύσματος μπορεί να μεταβάλλεται από γενιά σε γενιά, ενώ παραμένει δυαδικά συμβατός. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 60 30

Υποστήριξη μεταφραστών για εντολές πολυμέσων (συν.) Ένα πλεονέκτημα των υπολογιστών διανύσματος είναι η απόκρυψη της καθυστέρησης της πρόσβασης στην μνήμη φορτώνοντας πολλά στοιχεία ταυτόχρονα και στη συνέχεια επικαλύπτοντας την εκτέλεση με μεταφορά δεδομένων Για βοήθεια, προστέθηκαν μέθοδοι διευθυνσιοδότησης βηματική διευθυνσιοδότηση (stride addressing): διαδοχικές προσπελάσεις διαφέρουν κατά σταθερή ποσότητα (μοναδιαία βήμα προσπελαύνει διαδοχικές θέσεις μνήμης) διευθυνσιοδότηση συγκέντρωσης/διασποράς (gather/scatter addressing): βρίσκουν διευθύνσεις σε άλλους καταχωρητές ανυσμάτων (είναι σαν έμμεση διευθυνσιοδότηση μέσω καταχωρητή για διανυσματικούς υπολογιστές) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 61 Παράδειγμα Συγκρίνουμε έναν διανυσματικό υπολογιστή με τον ΜΜΧ για μετατροπή της απεικόνισης χρώματος των εικονοστοιχείων (pixel) από RGB (κόκκινο, πράσινο, μπλε) σε YUV (φωτεινότητα, χρωματικότητα), όπου κάθε εικονοστοιχείο αναπαριστάται με 3 bytes Η μετατροπή είναι μόλις τρεις γραμμές κώδικα C τοποθετημένες σε έναν βρόχο: Y = U = V = ( 9798* R + 19235* G + 3736* B) / 32768; ( 4784* R 9437 * G + 4221* B) / 32768 + 128; ( 20218* R + 16941* G + 3277 * B) / 32768 + 128; ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 62 31

Παράδειγμα (2) Ένας ανυσματικός υπολογιστής εύρους 64 bits μπορεί να υπολογίσει 8 εικονοστοιχεία ταυτόχρονα. Ένας υπολογιστής διανύσματος για πολυμέσα με βηματικές διευθύνσεις χρειάζεται: Τρεις φορτώσεις διανύσματος (για να πάρει RGB) Τρεις πολλαπλασιασμούς διανύσματος (γιαναμετατρέψειτοr) Έξι συνδυασμούς πολλαπλασιασμού/πρόσθεσης (για να μετατρέψει το G και το B) Τρεις ολισθήσεις διανύσματος (για να διαιρέσει με το 32.768) ύο προσθέσεις διανύσματος (για να προσθέσει το 128) Τρεις αποθηκεύσεις διανύσματος (για να αποθηκεύσει το YUV) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 63 Παράδειγμα (3) Το σύνολο είναι 20 εντολές για να εκτελέσουν 20 πράξεις στον προηγούμενο κώδικα C, ώστε να μετατρέψουν 8 εικονοστοιχεία Αντίθετα, ο δικτυακός τόπος της Intel δείχνει ότι μια ρουτίνα βιβλιοθήκης για να κάνει την ίδια μετατροπή σε 8 εικονοστοιχεία χρειάζεται 116 εντολές ΜΜΧ και 6 εντολές 80x86 (Intel 2001) Η αύξηση των εντολών κατά ένα παράγοντα 6 οφείλεται στον μεγάλο αριθμό εντολών που χρειάζονται για την φόρτωση και αποσυμπίεση των εικονοστοιχείων RGB και την συμπίεση και αποθήκευση των εικονοστοιχείων YUV, καθώς δεν υπάρχει βηματική πρόσβαση στην μνήμη ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 64 32

Αρχιτεκτονική MIPS64 MIPS: απλή, κατανοητή αρχιτεκτονική Πολλά versions Η αρχιτεκτονική του συνόλου εντολών του MIPS (64 bits) δίνει έμφαση: Σε ένα απλό σύνολο εντολών φόρτωσης αποθήκευσης Στο σχεδιασμό για την αποτελεσματικότητα της ομοχειρίας, περιλαμβάνοντας μια σταθερή κωδικοποίηση του συνόλου εντολών Στην αποτελεσματικότητα, ως στόχο του μεταφραστή Ο MIPS64 έχει 32 καταχωρητές γενικής χρήσης 64 bit (GPR), που ονομάζονται R0, R1,, R31. Οι GPR είναι γνωστοί και ως καταχωρητές ακεραίων. Υπάρχει ένα σύνολο από 32 καταχωρητές κινητής υποδιαστολής (FPR) που ονομάζονται F0, F1,, F31, οι οποίοι μπορούν να αποθηκεύσουν 32 τιμές απλής ακρίβειας (32 bits) ή 32 τιμέςδιπλήςακρίβειας(64 bits). Η τιμήτουr0 είναι παντα 0. Επίσης, υπάρχουν εντολές για την μετακίνηση μεταξύ FPR και ενός GPR. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 65 MIPS: Τύποι δεδομένων & διευθυνσιοδότηση Οι τύποι δεδομένων είναι bytes (8 bits), μισές λέξεις (16 bits), λέξεις (32 bits) καιδιπλέςλέξεις(64-bits) για ακέραια δεδομένα και 32 bits απλής ακρίβειας και 64 bits διπλής ακρίβειας για δεδομένα κινητής υποδιαστολής. Οι λειτουργίες του MIPS χρησιμοποιούν ακέραιους αριθμούς των 64 bits και αριθμούς κινητής υποδιαστολής των 32 ή των64 bits. Τα bytes, οι μισές λέξεις και οι λέξεις φορτώνονται στους καταχωρητές γενικού σκοπού είτε με μηδενικά είτε με το bit προσήμου που έχει αντιγραφεί πιστά για να γεμίσει τα 64 bits του GPR. Μνήμη προσπελάσιμη σε byte (διεύθυνση 64 bits) Bit επιλογής Big-Endian/Little-Endian Οι μόνοι τρόποι διευθυνσιοδότησης είναι 2: Άμεση: με πεδίο 16 bits Εκτόπιση: με πεδίο 16 bits Άλλοι τρόποι υλοποιούνται χρησιμοποιώντας τους παραπάνω: Έμμεση: ως εκτόπιση με πεδίο = 0 Απόλυτη: χρησιμοποιεί τον καταχωρητή 0 ως καταχωρητή βάσης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 66 33

MIPS: Τύποι εντολών Αφού ο MIPS έχει μόνο δυο τρόπους διευθυνσιοδότησης, αυτοί μπορούν να κωδικοποιηθούν μέσα στην εντολή Όλες οι εντολές είναι των 32 bits με ένα κώδικα εντολής των 6 bits Οι διατάξεις εντολών για το MIPS είναι απλές, ενώ διαθέτουν πεδία των 16 bits για εκτόπιση διεύθυνσης, άμεσες σταθερές ή διευθύνσεις διακλαδώσεων σχετικών ως προς τον PC ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 67 MIPS: Λειτουργίες Ο MIPS υποστηρίζει τη λίστα απλών λειτουργιών 4 μεγάλεςκατηγορίεςεντολών φορτώσεις και οι αποθηκεύσεις λειτουργίες ALU διακλαδώσεις και τα άλματα λειτουργίες κινητής υποδιαστολής Οποιοσδήποτε καταχωρητής γενικού σκοπού ή κινητής υποδιαστολής μπορεί να φορτωθεί ή να αποθηκευτεί, εκτός του R0. Οι αριθμοί κινητής υποδιαστολής απλής ακρίβειας καταλαμβάνουν μισό καταχωρητή κινητής υποδιαστολής. Οι μετατροπές μεταξύ απλής και διπλής ακρίβειας γίνονται ρητά. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 68 34

MIPS: Εντολές ελέγχου ροής Ο MIPS έχει εντολές σύγκρισης, που συγκρίνουν δύο καταχωρητές για να δουν αν ο πρώτος είναι μικρότερος από τον δεύτερο (εάν η συνθήκη ισχύει, ο καταχωρητής προορισμού γίνεται 1, αλλιώς γίνεται 0) Ο έλεγχος γίνεται μέσα από ένα σύνολο αλμάτων και διακλαδώσεων Υπάρχουν δύο τύποι άλματος Το απλό άλμα Το άλμα και σύνδεση, αυτό τοποθετεί τη διεύθυνση προορισμού Όλες οι διακλαδώσεις είναι υπό συνθήκη Με έλεγχο εάν ένας καταχωρητής είναι αρνητικός Με έλεγχο για ισότητα μεταξύ δύο καταχωρητών, κλπ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 69 MIPS: Εντολές ελέγχου ροής Τυπικές εντολές ελέγχου ροής στον MIPS. Όλες οι εντολές ελέγχου είναι σχετικές ως προς τον PC, εκτός από τα άλματα σε κάποια διεύθυνση που βρίσκεται σε καταχωρητή Όλες οι εντολές είναι 32 bits ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 70 35

MIPS: Εντολές κινητής υποδιαστολής Οι εντολές κινητής υποδιαστολής διαχειρίζονται τους καταχωρητές κινητής υποδιαστολής και υποδεικνύουν το αν η λειτουργία που πρόκειται να εκτελεστεί είναι απλής (MOV.S) ή διπλής ακρίβειας (MOV.D) Οι λειτουργίες MFCI και MTCI μετακινούν δεδομένα μεταξύ ενός καταχωρητή κινητής υποδιαστολής απλής ακρίβειας και ενός καταχωρητή ακέραιων αριθμών Οι λειτουργίες κινητής υποδιαστολής είναι η πρόσθεση, η αφαίρεση, ο πολλαπλασιασμός και η διαίρεση ΗκατάληξηD χρησιμοποιείται για την διπλή ακρίβεια και η κατάληξη S για την απλή ακρίβεια (π.χ., ADD.D, ADD.S, SUB.D, SUB.S MUL.D, MUL.S, DIV.D, DIV.S) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 71 Trimedia 32 H CPU Trimedia TM32 είναι ένα χαρακτηριστικό παράδειγμα ενσωματωμένου επεξεργαστή πολυμέσων Οι εφαρμογές πολυμέσων έχουν σημαντικό παραλληλισμό στην επεξεργασία των δεδομένων Ιδιαίτερα χαρακτηριστικά Υπάρχουν πολλοί περισσότεροι καταχωρητές: 128 καταχωρητές 32 bits, που περιέχουν δεδομένα είτε ακεραίων είτε κινητής υποδιαστολής κατατμημένες εντολές ALU και SIMD που επιτρέπουν υπολογισμούς σε πολλαπλές εκφάνσεις στενότερων δεδομένων Αριθμητική συμπληρώματος ως προς 2 & κορεσμένη αριθμητική Αρχιτεκτονική VLIW (Very Large Instruction Word). ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 72 36

Trimedia 32 (συν.) Αρχιτεκτονική VLIW (Very Large Instruction Word). Eπιτρέπει στον προγραμματιστή να ορίσει πέντε ανεξάρτητες λειτουργίες που εκδίδονται την ίδια στιγμή Εάν δεν υπάρχουν πέντε ανεξάρτητες εντολές που να μπορέσει ο μεταφραστής να συν-δρομολογήσει, αυτό σημαίνει ότι οι υπόλοιπες είναι εξαρτημένες Η CPU Trimedia ΤΜ32 έχει μεγαλύτερες λέξεις εντολών και συχνά περιλαμβάνουν ΝΟP οι εντολές συμπιέζονται στην μνήμη & αποκωδικοποιούνται στο κανονικό τους μέγεθος όταν φορτώνονται στην κρυφή μνήμη Το κόστος σε μέγεθος κώδικα αυτών των εντολών VLIW είναι ένας παράγοντας 2 ή 3 παραπάνω από τις εντολές MIPS ακόμα και μετά την συμπίεση ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 73 Κατάλογος λειτουργιών Κατάλογος λειτουργιών και αριθμός διαφορετικών εκφάνσεων στη CPU Trimedia TM32 Ο αριθμός των λειτουργιών είναι υψηλός σε σχέση με άλλες αρχιτεκτονικές Οι διακλαδώσεις καθυστερούν κατά τρεις θέσεις ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 74 37

Συμπερασματικά σχόλια εκαετία 1960: οι αρχιτεκτονικές στοίβας έγιναν δημοφιλείς. Αντιμετωπίζονταν ως ένας καλός συνδυασμός για τις γλώσσες υψηλού επιπέδου και πιθανότατα ήταν, αν λάβουμε υπόψη μας την τεχνολογία των μεταφραστών εκείνης της εποχής εκαετία 1970: το κύριο μέλημα των αρχιτεκτόνων ήταν η μείωση του κόστους του λογισμικού εκαετία 1980: η έμφαση στην απόδοση του επεξεργαστή έδειξε μια τάση επιστροφής προς πιο απλές αρχιτεκτονικές, που βασιζόταν κυρίως σε επεξεργαστές του στυλ φόρτωσης αποθήκευσης εκαετία 1990: το μέγεθος της διεύθυνσης διπλασιάζεται, γίνεται βελτιστοποίηση των διακλαδώσεων υπό συνθήκη, βελτιστοποίηση της απόδοσης της κρυφής μνήμη μέσω της προμεταφοράς, υποστήριξη για πολυμέσα, γρηγορότερες πράξεις κινητής υποδιαστολής ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 75 Ιστορική ανασκόπηση & αναφορές Ο πρώτος υπολογιστής καταχωρητή γενικού τύπου ήταν ο Pegasus, που κατασκευάστηκε από την Ferranti Ltd το 1956. Ο Pegasus είχε 8 καταχωρητές γενικού σκοπού, με τον R0 να είναι πάντα 0. Οι μεταφορές των μπλόκ φόρτωναν τους 8 καταχωρητές από τη μνήμη. Αρχιτεκτονικές στοίβας Ορισμός της αρχιτεκτονικής υπολογιστών Αρχιτεκτονικές υπολογιστών γλώσσας υψηλού επιπέδου Υπολογιστές περιορισμένου συνόλου εντολών Μια σύντομη ιστορία των επεξεργαστών υηφιακού σήματος Υποστήριξη πολυμέσων σε σύνολα εντολών υπολογιστών σταθμών εργασίας ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 76 38

Αναλογία MIPS M2000 & VAX 8700 Φαίνεται η αναλογία του αριθμού εντολών που εκτελέστηκαν, η αναλογία των CPI και η αναλογία της απόδοσης, μετρημένη σε κύκλους ρολογιού Οι χρόνοι των κύκλων ρολογιού θεωρούνται ίδιοι Ο MIPS εκτελεί περίπου διπλάσιες εντολές από τον VAX ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 77 39