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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

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

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

Εντολές του MIPS (2)

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

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

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

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

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

Εισαγωγή στην πληροφορική -4

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

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

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

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

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

LANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 3: Προσπελάσεις Μνήμης στον MIPS. Μανόλης Γ.Η. Κατεβαίνης

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

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

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

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

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

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

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

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

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

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

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

Οργάνωση και Σχεδίαση Υπολογιστών Η Διασύνδεση Υλικού και Λογισμικού, 4 η έκδοση. Σύντομη Εισαγωγή στη χρήση του προσομοιωτή και συμβολομεταφραστή

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

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

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

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

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

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1

Αναπαράσταση Μη Αριθμητικών Δεδομένων

! Δεδομένα: ανεξάρτητα από τύπο και προέλευση, στον υπολογιστή υπάρχουν σε μία μορφή: 0 και 1

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή

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

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

Τελική Εξέταση, Απαντήσεις/Λύσεις

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές

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

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

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

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

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

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

Εισαγωγή στον Προγραμματισμό

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

με έμφαση στο MIPS R2000

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

Σημειώσεις για τον 80x86

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

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

Βασική δοµή και Λειτουργία Υπολογιστή

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

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος

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

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

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1

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

Μικροαρχιτεκτονική του LC3

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Συναρτήσεις-Διαδικασίες

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

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Λειτουργικά Συστήματα (Λ/Σ)

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

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

Αρχιτεκτονικη υπολογιστων

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

Αρχιτεκτονική Υπολογιστών. Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture)

Transcript:

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 5ο μάθημα:αρχές, ιδιότητες αρχιτεκτονικού συνόλου εντολών (ISA) Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου

Εσωτερική αποθήκευση Κατηγορίες εσωτερικής αποθήκευσης: Στοίβα π.χ. Java vitrual machine τελεσταίοι στις πρώτες θέσεις της στοίβας (implicit naming) Συσωρευτής (accumulator) αποθηκεύει το αποτέλεσμα συχνά είναι και ένας «τελεσταίος πηγής» (source operand) λίγοι επιπλέον καταχωρητές ειδικού σκοπού (extended accumulator, special- purpose register) Καταχωρητές γενικής χρήσης (general purpose registers) π.χ. MIPS αριθμός καταχωρητών για τελεσταίους. χρειάζονται ονόματα Αμεση/έμμεση (explicit/implicit) αναφορά τελεσταίων 2

Προσπέλαση μνήμης register- memory επιτρέπουν προσπέλαση μνήμης ως μέρος της εντολής μερικοί τελεσταίοι μπορεί να είναι στη μνήμη αντί σε καταχωρητές load- store προσπέλαση μνήμης με ξεχωριστές εντολές ονομάζονται και register- register memory- memory όλοι οι τελεσταίοι βρίσκονται στη μνήμη δεν υπάρχουν πλέον τέτοιες αρχιτεκτονικές! 3

Κατηγορίες επεξεργαστών 4

C = A + B Υποθέτουμε A, B, C είναι αποθηκευμένα στη μνήμη 5

Καταχωρητές γενικής χρήσης Οι καταχωρητές είναι γρηγορότεροι από τη μνήμη Οι καταχωρητές προσφέρουν μεγαλύτερη ευελιξία σε σχέση με στοίβα, συσωρευτή π.χ. (A*B) (B*C) (A*D) Στοίβα απαιτεί μία συγκεκριμένη σειρά εκτέλεσης των πράξεων Μπορεί να υπάρχει καλύτερη σειρά εκτέλεσης Οι καταχωρητές μπορούν να κρατούν μεταβλητές αν υπάρχουν αρκετοί Πόσοι καταχωρητές; όσο περισσότεροι, τόσο καλύτερα αλλά, χρειάζονται bits στη κωδικοποίηση κάθε εντολής (log 2 αριθμού καταχωρητών) 6

Αριθμός τελεσταίων μνήμης Παρατήρηση: περισσότεροι τελεσταίοι μνήμης - > λιγότεροι συνολικά τελεσταίοι Εντολές γράφουν αποτέλεσμα «πάνω» σε ένα τελεσταίο πηγής: A <- A + B 7

Τελεσταίοι: σύγκριση 8

Διευθυνσιοδότηση μνήμης Οι περισσότεροι επεξεργαστές μπορούν να χειριστούν απευθείας ένα αριθμό τύπων δεδομένων bytes (8- bit) για χαρακτήρες ASCII half- words (16- bit) για μικρούς ακέραιους, Unicode χαρακτήρες word (32- bit) για ακέραιους, «μισής ακρίβειας» αριθμούς κινητής υποδιαστολής,... double word (64- bit) για μεγάλους ακέραιους, διευθύνσεις μνήμης, αριθμούς κινητής υποδιαστολής,... Η μνήμη ειναι διευθυνσιοδοτημένη σε bytes «Λογικά», μοιάζει με ένα πίνακα από bytes Αλλά μπορεί να διαχειριστεί μεγαλύτερους τύπους δεδομένων «φυσικά» (σε ένα κύκλο) με ποιά σειρά αριθμούνται τα bytes ενός μεγαλύτερου τύπου δεδ.; από τη μικρή μεριά (liole end) ή τη μεγάλη (big end) 9

Endianess bit 31 Big Endian bit 0 bit 31 Little Endian bit 0 4 5 6 7 word 4 0 1 2 3 byte0 byte1 byte2 byte3 7 6 5 4 word 4 3 2 1 0 byte3 byte2 byte1 byte0 figure source: wikipedia, endianess 10

Προβλήματα Endianess Προβληματα παρουσιάζονται όταν μεταφέρονται δεδομένα από το ένα είδος ΗΥ στο άλλο όταν γίνεται προσπέλαση στα επιμέρους bytes μιας λέξης Καλά ορισμένα πρωτόκολλα επικοινωνίας ορίζουν το endianess με το οποίο αναπαριστούν τα δεδομένα 11

Τοποθέτηση στη μνήμη Πού μπορεί να τοποθετηθεί μια λέξη (32 bit); αντίστοιχα για άλλους τύπους δεδομένων Οπουδήποτε, π.χ. από τη διεύθυνση 5 και πάνω Ευθυγραμμισμένα (aligned): σε διευθύνσεις που είναι πολλαπλάσια του μεγέθους της s, σε bytes Πρέπει A mod s = 0 π.χ. για 32- bit λέξεις διευθύνσεις 0, 4, 8,... Γιατί η ευθυγράμμιση είναι σημαντική; «Φυσικά» η μνήμη είναι οργανωμένη σε σειρές κάποιου μεγέθους μη ευθυγραμισμένα δεδομένα απαιτούν 2 προσπελάσεις 12

Alignment network 13

Addressing modes Ο τρόπος προσδιορισμού «θέσης» αντικειμένου προς προσπέλαση Συχνά αναφέρεται σε τρόπους υπολογισμού διευθύνσεων μνήμης Εδώ, ο όρος χρησιμοποιείται και για προσδιορισμό σταθερών και καταχωρητών Για αντικείμενα στη μνήμη, η διεύθυνση που προσδιορίζεται από το addressing mode λέγεται effec ve address Μπορούν να μειώσουν τον αριθμό εντολών, αλλά αυξάνουν την πολυπλοκότητα (CPI) 14

Είδη addressing mode (1/2) 15

Είδη addressing mode (2/2) Υπάρχουν και «addressing modes» που χρησιμοποιούν τον PC π.χ. PC- rela ve (PC+displacement) Χρησιμοποιούνται για εντολές διακλάδωσης, για να προσδιορίσουν τη διεύθυνση στόχο της διακλάδωσης 16

Συχνότητα χρήσης addr. mode Δε φαίνεται Register 50% Ο ρόλος του compiler είναι σημαντικός 17

Μέγεθος displacement Χρησιμοποιείται για διαφορετικά είδη αποθήκευσης: stack, heap, globals 18

Immediate Δύο κύρια είδη: «φόρτωμα» σε καταχωρητή μιας σταθεράς (συχνά σε μέρος του καταχωρητή) τελεσταίος σε πράξη ALU 19

Μέγεθος immediate Integer benchmarks: 20% nega ve, FP: 30% 16 bits αρκετά για ~80% περιπτώσεων, 8 bits για ~50% 20

Μέγεθος/τύπος τελεσταίων Δύο τρόποι (στη θεωρία) καθορισμού μεγέθους: Διαφορετικές εντολές για κάθε τύπο/μέγεθος Ο τύπος κωδικοποιείται μαζί με τα δεδομένα στη πράξη δε χρησιμοποιείται Κινητή υποδιαστολή: πρότυπο IEEE 754 καθορίζει κωδικοποίηση, μεγέθη, στρογγυλοποιήσεις,... Ακέραιοι τύποι: bytes, half- words(16), words, double, quad Με πρόσημο (signed) ή χωρίς (unsigned) Καταχωρητές έχουν το μέγιστο πλάτος σε bits (π.χ. 64) εντολές load/store συμπληρώνουν με 0 ή κάνουν επέκταση προσήμου 21

Κατανομή μεγεθών Η συχνή χρήση 64 bit είναι για διευθύνσεις (δείκτες) οι μετρήσεις έγιναν σε μηχάνημα 64- bit 22

Αναπαράσταση αριθμών Η πιο συνηθισμένη είναι συμπλήρωμα ως προς 2 ή συνηθισμένη απρόσημη αναπαράσταση Μερικές αρχιτεκτονικές υποστηρίζουν BCD binary coded decimal 4 bit για κάθε (δεκαδικό) ψηφίο) Οπως τα string, μόνο που κάθε «χαρακτήρας» είναι 4 bit Χειρότερη πυκνότητα: σε 8bit, μέγιστος BCD 99, μέγιστος bin. 256 Γιατί BCD; Για ομοιόμορφη αναπαράσταση με το δεκαδικό σύστημα Π.χ. (0.1) 10 = (0.000110011) 2 Σε εμπορικές εφαρμογές 23

Είδη εντολών 24

Κατανομή εντολών Μεγάλη ποικιλία, πολλές εξειδικευμένες εντολές Οι πιο συχνές εντολές είναι οι πιο απλές 25

Εντολές ελέγχου ροής Διακλαδώσεις (υπό συνθήκη) Αλματα Κλήση, επιστροφή υπορουτίνας 26

Διεύθυνση προορισμού PC- rela ve: ένας αριθμός εντολών/bytes πρίν ή μετά Ο προορισμός μιας διακλάδωσης (συχνά και άλματος) βρίσκεται κοντά στη διεύθυνση της διακλάδωσης Απαιτεί σχετικά μικρό αριθμό από bit Διευκολύνει code reloca on Ιδιότητα ονομάζεται posi on independence Δυναμικός καθορισμός στόχου Επιστροφή υπορουτίνας, indirect jump (δείκτης σε συνάρτηση, virtual methods, switch/case statements, dynamically shared libraries) Συνήθως χρησιμοποιείται ένας καταχωρητής 27

Branch displacement Το 75% των διακλαδώσεων έχει διεύθυνση «προς τα εμπρός», σε μετέπειτα εντολή 28

Υλοποίηση ελέγχου συνθήκης 29

Συνθήκες Οι περισσότερες συνθήκες είναι απλές συγκρίσεις, συχνά ισότητα με το 0 30

Κλήση υπορουτίνας Κατ ελάχιστο απαιτείται η αποθήκευση της διεύθυνσης επιστροφής σε ειδικό καταχωρητή (link/return register), σε έναν από τους καταχ. γενικού σκοπού, ή στη στοίβα (μνήμη) Σε παλιές αρχιτεκτονικές αποθηκεύαν και τιμές καταχωρητών ή να άλλαζαν το τρέχον σύνολο καταχωρητών (register windows) Caller save ο καλών «σώζει» τις τιμές των καταχωρητών που θα χρειαστεί μετά την επιστροφή από την υπορουτίνα Callee save ο καλούμενος κάνει την αποθήκευση Η σύμβαση είναι μέρος του Applica on Binary Interface (ΑΒΙ) 31

Κωδικοποίηση εντολών Επηρεάζει το μέγεθος κώδικα μέγεθος/κόστος μνήμης (ειδικά σε ενσωματομένους Η/Υ) επιδόσεις κρυφής μνήμης Αλλά και την υλοποίηση πρέπει η αποκωδικοποίηση της εντολής και των τελεσταίων να γίνει γρήγορα Πεδία προσδιορίζουν την πράξη (opcode) και τους τελεσταίους Αν υπάρχουν πολλά addressing mode, υπάρχει ένας address specifier για κάθε τελεσταίο αλλιώς το addressing mode κωδικοποιείται στο opcode 32

Είδη κωδικοποίησης (length) 33

Ο ρόλος του compiler Παλιότερες αρχιτεκτονικές σχεδίαζαν τις εντολές μηχανής με την υπόθεση ότι ο προγραμματισμός γίνεται κυρίως σε assembly δεν γίνεται πλέον εκτός από μικρά τμήματα Λ.Σ. ή βιβλιοθηκών Κύριο μέλημα είναι η σωστή μετάφραση από γλώσσα υψηλού επιπέδου σε γλώσσα μηχανής πάντα επιλέγεται η ορθότητα σε βάρος της ταχύτητας Make the frequent cases fast and the rare case correct Μεγάλη πολυπλοκότητα μεταγλώτιση σε φάσεις Χρόνος μεταγλώτισης είναι σημαντικός οι βελτιστοποιήσεις είναι προεραιτικές 34

Δομή compiler 35

Χρήσιμες ιδιότητες Ομοιομορφία the opera ons, the data types, and the addressing modes should be orthogonal Παροχή αρχέτυπων όχι λύσεων έτοιμες λύσεις ειδικά για κάποια γλώσσα προγραμματισμού δεν είναι χρήσιμες π.χ. εντολές κλήσης υπορουτίνας που αποθηκεύουν και καταχωρητές Απλοποίηση επιλογών αν υπάρχουν πολλαπλές επιλογές, πρέπει να είναι εύκολο να υπολογιστεί ποιά λύση είναι καλύτερη σε κάθε περίπτωση 36