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



Σχετικά έγγραφα
Αρχιτεκτονική Υπολογιστών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Στοιχεία από Assembly Γιώργος Μανής

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

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

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

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

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

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

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

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

6. Επιστροφή ελέγχου στο σημείο εκκίνησης

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

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

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

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

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

MIPS functions and procedures

Υποστήριξη διαδικασιών στο υλικό των υπολογιστών

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

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

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

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

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

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

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

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

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

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

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

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

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

Εφαρμογές μικροελεγκτών

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

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

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

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

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

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

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

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

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

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

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

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

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

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

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

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

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

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

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

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

Τρόποι Διευθυνσιοδότησης

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

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

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

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

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

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

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

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

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

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

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

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

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

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

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

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών

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

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

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

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

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

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

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

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

Transcript:

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 Αρης Ευθυμίου

Το σημερινό μάθημα! Λυση του lab02! Αρχιτεκτονική ARM σε τι μοιάζει και σε τι διαφέρει από τον MIPS! Αρχιτεκτονική x86 μια γρήγορη ματιά στη γνωστή αρχιτεκτονική για desktop- laptop- servers 2

Αρχιτεκτονική ARM! Ο πρώτος επεξεργαστής ARM παρουσιάστηκε το 1985 Ονομα Acorn RISC Machine, αργότερα Advanced RISC Machine Εμπνεύστηκε από τον Berkeley RISC I! Το 1994 η DEC γνωστή για τον επεξεργαστή Alpha, πήρε άδεια να σχεδιάσει τον strongarm δουλευε στα 233 Mhz με κατανάλωση 1 Wat και ήταν περίπου 35000 τρανζίστορ! Εγινε γνωστός για το μικρό μέγεθος, εξαιρετικά χαμηλή κατανάλωση ενέργειας, καλές επιδόσεις και συμπαγή κώδικα ιδανικός για ενσωματωμένος (embedded) επεξεργαστής 3

ARM διάδοση! Είναι η δημοφιλέστερη αρχιτεκτονική στον κόσμο σε όλα τα κινητά τηλεφωνα και tablets και πολλές αλλες συσκευές 4

ARM ISA! Βασίζεται στις ιδέες των RISC επεξεργαστών αρχιτεκτονική load- store! δεν γίνονται απευθείας αριθμητικές πράξεις με δεδομένα από τη μνήμη σταθερό μέγεθος εντολών 32 bit μορφή εντολών με 3 τελεσταίους: 1 για αποτέλεσμα και 2 πηγές! Αλλά έχει και κάποια CISC χαρακτηριστικά οι εντολές δεν εκτελούνται πάντα σε 1 κύκλο ρολογιού μερικά περίπλοκα addressing modes 5

ARM καταχωρητές! 16 γενικής χρήσης των 32 bit (MIPS έχει 32)! Ο PC είναι ο R15 6

Καταχωρητής κατάστασης! Ειδικός καταχωρητής κατάστασης Current Program Status Register! Αποθηκεύει τα bit κατάστασης (condi on code bits) καταγράφουν αποτελέσματα συγκρίσεων και χρησιμοποιούνται από εντολές διακλάδοσης Nega ve το αποτέλεσμα ήταν αρνητικός αριθμός Zero το αποτέλεσμα ήταν 0 Carry το αποτέλεσμα παράγει κρατούμενο πέρα από το bit 31 overflow - το αποτέλεσμα προκαλεί υπερχείλιση στο bit 31! Υπάρχουν σε πολλούς άλλους επεξεργαστές 7

Είδη εντολών! Παρόμοια με τον MIPS! Εντολές επεξεργασίας δεδομένων αριθμητικές πράξεις, λογικές πράξεις ολισθήσεις,..! Εντολές μεταφοράς δεδομένων αντιγράφουν απο μνήμη σε καταχωρητή (load) και αντίστροφα (store) παραλλαγές για byte, half, word (32bit)! Εντολές αλλαγής ροής διακλαδόσεις υπό συνθήκη άλματα άλμα με σύνδεση (jump and link) 8

Bit κατάστασης! Συνδιασμοί των bit κατάστασης καθορίζουν διάφορες χρήσιμες πληροφορίες για το προηγούμενο αποτέλεσμα Ζ υπονοεί ισότητα Ν υπονοεί αρνητικό αριθμό Ν=V υπονοεί μεγαλύτερο ή ίσο για αριθμούς συμπληρ. ως προς 2...! Στον ARM οι εντολές επεξεργασίας δεδομένων μπορούν προαιρετικά να θέσουν τα bit κατάστασης σε άλλες αρχιτεκτονικές αυτό γίνεται υποχρεωτικά διευκολύνει τον compiler ώστε να αλλάζει σειρά εντολών 9

Predicate execu on! Κάθε εντολή μπορεί να εκτελείται υπό συνθήκη! Υπάρχουν 4 bit που καθορίζουν υπό ποιές συνθήκες θα εκτελεστεί η εντολή ανάλογα με την κατάσταση των condi on code bits υπαρχει, φυσικά, η συνθήκη «πάντα»! Διευκολύνει «μικρές» διακλαδόσεις γιατί δεν απαιτούνται εντολές διακλάδοσης- άλματα και ταχύτερη εκτέλεση (όπως θα δούμε αργότερα) if (x==y) a=a+1 else a=a- 1 CMP r1, r2 ADDNE r0, r0, 1 SUBEQ r0, r0, 1 10

Διακλαδόσεις! Μία εντολή για όλα τα είδη διακλάδοσης γίνεται υπό συνθήκη αλλάζοντας το πεδίο Cond γίνεται και κλήση υπορουτινας, θέτοντας το πεδίο L! Το offset είναι 24 bit MIPS: 16 για διακλαδόσεις, 28 για άλματα Οπως στον MIPS είναι σχετικό με το PC και σε αριθμό εντολών, όχι σε bytes. 11

Διακλαδόσεις ARM vs MIPS! Στον MIPS απλή συγκριση και διακλάδοση σε μία εντολή beq, bne πιο σύνθετες συγκρίσεις (<, >=,...) απαιτούν 2 εντολές! Ο ARM χρειάζεται μία εντολη για τη σύγκριση και μετά μια εντολή διακλάδοσης αλλά οι εντολές διακλάδοσης είναι πιο γενικές! π.χ. branch if greater or equal BGE συχνά η σύγκριση είναι «δωρεάν»: μια χρήσιμη αριθμητική εντολή θέτει τα bits κατάστασης 12

Επιστροφή υπορουτίνας MOV PC, r14 ο r14 είναι ο καταχωρητής που κρατά διεύθυνση επιστροφής! Ο PC μπορεί να γραφτεί από αριθμητικές εντολές! 13

Εντολές επεξεργασίας!!!! Με 3 τελεσταίους Καταχωρητής προορισμού 1ος καταχωρητής πηγής 2η πηγή: καταχωρητής ή σταθερά προεραιτικά η 2η πηγή μπορεί να ολισθηθεί! αριστερά, δεξιά, περιστροφή,... η σταθερά, μέσω περιστροφής, μπορεί «βρεθεί» στα περισσότερο σημαντικά bit. 14

Μεταφορά δεδομένων Πολλά addressing modes:! Base+offset (όπως ο MIPS): reg + immediate! Double register: reg +/- reg! Double register w scaling: reg + reg shi const! Auto- indexed pre/post ο καταχωρητής βάσης ενημερώνεται με τη νέα effec ve address! Εντολή μεταφοράς πολλαπλών καταχωρητών 1 εντολή! 15

Πυκνότητα κώδικα! Η γλώσσα του ARM παράγει «πυκνό» κώδικα απαραίτητο για το χώρο των ενσωματωμένων συστημάτων! Γνωστό μειωνέκτημα άλλων RISC επεξεργαστών! Επιπλέον υπάρχει και 2η μορφή εντολών 16 bit ονομάζεται Thumb! T32 (Thumb- 2) χρησιμοποιεί μίγμα 16- and 32- bit εντολών 16

Η αρχιτεκτονική x86 (amd64)! Ο x86 (Pen um, Core, Xeon) είναι ο ίσως ο μόνος CISC επεξεργαστής που υπάρχει ακόμα! Η βασική ιδέα των CISC είναι: υλοποιούμε σχετικά πολύπλοκες εντολές απευθείας στο υλικό! Σκεπτικό: εκτέλεση λιγότερων εντολών κώδικα μηχανής για ένα πρόγραμμα σημαίνει μικρότερος χρόνος εκτέλεσης! Ηταν καλή ιδέα όταν η μνήμη ήταν ταχύτερη από τον επεξεργαστή όλοι οι «πρώτοι» υπολογιστές ήταν CISC 17

Πολυπλοκότητα! Οι πολύπλοκες εντολές δυσκολεύουν την υλοποίηση της μηχανής σε hardware Μπορεί η συχνότητα εκτέλεσης (ρολογιού) να είναι μικρή Η, ο αριθμός κύκλων εκτέλεσης κάθε εντολής να είναι μεγάλος! Ο αριθμός εντολών που εκτελούνται για ένα πρόγραμμα δεν είναι πάντα ανάλογος του χρόνου εκτέλεσης! Ο compiler δυσκολεύεται να χρησιμοποιήσει τις πολύπλοκες εντολές 18

Ιστορία του x86! Ο x86 έχει μακρά ιστορία και σε κάθε εξέλιξη κρατάει τη συμβατότητα προς τα πίσω (σχεδόν)! 1978 ανακοινώθηκε ο 8086 16 bit, λίγοι καταχωρητές, καθένας είχε ένα ειδικό ρόλο.! 1980: συνεπεξεργαστής για floa ng point 8087! 1982: 80286, περισότερες διευθύνσεις μνήμης, «εικονική μνήμη»! 1985: 80386 32 bit, καταχωρητές έγιναν σχεδόν γενικής χρήσης! 1989: 80486! 1992+: Pen um, Pen um Pro, Pen um II, III, 4 αύξηση επιδόσεων, προσθήκη εντολών MMX, SSE καταχωρητες για SSE εντολές, χρήση και για floa ng point! 2003: AMD64 64bit διευθύνσεις και καταχωρητές, περισσότεροι καταχωρητές! Περίπου 1 νέα εντολή κάθε μήνα! 19

Καταχωρητές (80386, amd64)! Φαίνεται καθαρά η εξέλιξη από 16 σε 32 και μετά σε 64 bit και η σχέση με τον 8bit 8088.! Καταχωρητής Α: stack pointer 64b RAX 32b EAX 16b AX 8b AL (ή AH)! Καταχωρητής κατάστασης (EFLAGS,RFLAGS) 20

Μέγεθος δεδομένων! Η λέξη (word) του x86 είναι 16 bit.! 32b ονομάζεται double word! 64b quad word! Οι εντολές του 386 δουλεύουν με bytes και με ένα μεγαλύτερο μέγεθος (16b ή 32b) επιλογή γίνεται σύμφωνα με 1 bit κατάστασης του επεξεργαστή! Υποστηρίζονται πολλά διαφορετικά είδη κωδικοποίηση και μεγέθους... 21

Εντολές επεξεργασίας! Οι εντολές έχουν 2 τελεσταίους! Ενας τελεσταίος χρησιμομοιείται και ως πηγή και ως προορισμός π.χ. a = a + b! Ενας τελεσταίος μπορεί να αναφέρεται στην μνήμη δεν είναι load- store αρχιτεκτονική γενικά μία προσπέλαση στη μνήμη ανα εντολή αλλά υπάρχουν εντολές με 2 προσπελασεις στη μνήμη! μία ανάγνωση και μία εγγραφή! Περιορισμοί στη χρήση καταχωρητών σχεδόν εξαλιφθεί απο amd64 και μετά 22

Αλματα και διακλαδώσεις! Χρησιμοποιούν τα condi on codes / flags! Οπως ο ARM! Οι κλήσεις υπορουτινών (call) γράφουν την διεύθυνση επιστροφής στη στοίβα! Αντίθετα η εντολή επιστροφής (ret) διαβάζει από τη στοιβα τη διεύθυνση! Υπάρχουν εντολές push, pop για τη στοίβα 23

Addressing modes! Επιπλέον των immediate, register, 24

Κωδικοποίηση εντολών! Δεν είναι όλες σταθερού μεγέθους 1-15 bytes ανάλογα με το addressing mode, κ.α.! Παραλλαγές εντολών με ειδικά προθέματα! ή post- byte π.χ. ειδικά κωδικοποιημένο πρόθεμα σημαίνει ότι η εντολή λειτουργεί με byte αντί για word (16b)! Μερικές φορές η ίδια εντολή μπορεί να έχει πολλαπλές κωδικοποιήσεις!! Υπάρχουν προθέματα επανάληψης της εντολής για εντολές string 25

Assembly x86! Δύο τρόποι σύνταξης AT&T ή gas (gnu assembler) Intel Syntax! Σε gas: mnemonic src, dest $ ακολουθεί σταθερά, % ακολουθεί όνομα καταχωρητή, () προσπέλαση μνήμης movl $0, %eax # EAX = 0 movl (%ecx), %edx # EDX = Mem[ECX] movl - 4(%ecx), %eαx # EAX=MEM[ECX+4] 26

Λόγοι επιτυχίας του x86! 2 χρόνια μπροστά απο τον ανταγωνισμό στην αρχή χρησιμοποιήθηκε για το IBM PC! Η Intel είναι εξαιρετικά καλή στην κατασκευή ολοκληρωμένων κυκλωμάτων! Υλοποιήσεις ακολουθούν RISC φιλοσοφία χονδρικά οι εντολές x86 μεταφράζονται εσωτερικά σε μίκρο- εντολές (που μοιάζουν με αυτές του MIPS) 27

Τι αξίζει να κρατήσετε! Την ιδέα των condi on codes μία πράξη αλλάζει αυτά τα 4 bit κατάστασης (μερικές φορές αναφέρονται ως flags) ανάλογα με το αποτέλεσμα επόμενες εντολές διακλάδοσης απλά «κοιτάνε» τα bits! Την ιδέα του predicate execu on κάθε εντολή εκτελείται υπό συνθήκη! Το γεγονώς ότι υπάρχουν αρκετά addressing modes και την ιδέα του auto- indexing! Τη σημασία του μεγέθους του πυρήνα, κατανάλωσης ενέργειας και πυκνότητας κώδικα 28

Επόμενο μάθημα Η γλώσσα περιγραφής υλικού Verilog 29