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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MIPS functions and procedures

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

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

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

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

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

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

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

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

Μικροβιολογία & Υγιεινή Τροφίμων

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

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

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

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

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

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

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

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

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

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Ηλεκτρονικοί Υπολογιστές I

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

Ηλεκτρονικοί Υπολογιστές I

Εφαρμοσμένη Στατιστική

Ιστορία της μετάφρασης

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

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

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

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

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

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

Βασικοί άξονες Μαθηματικά στην εκπαίδευση:

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Ηλεκτρονικοί Υπολογιστές IV

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Πιθανότητες. Συνδυαστική Ανάλυση Διδάσκων: Επίκουρος Καθηγητής Κωνσταντίνος Μπλέκας

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

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

Εφαρμοσμένη Στατιστική

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

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΦΥΣΙΚΟΧΗΜΕΙΑ ΙΙ

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

Δομημένος Προγραμματισμός

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

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

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

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Ηλεκτρονικοί Υπολογιστές I

Εκκλησιαστικό Δίκαιο

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Υπολογιστές Ι. Άδειες Χρήσης. Πολυδιάστατοι πίνακες. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

ΜΥΥ- 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

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Έκδοση 1.0 διαθέσιμη εδώ. http://ecourse.uoi.gr/course/view.php?id=1307.

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου. «Αρχιτεκτονική Υπολογιστών. Αρχιτεκτονικό σύνολο εντολών». Έκδοση: 1.0. Ιωάννινα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourse.uoi.gr/course/view.php?id=1307.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1] https://creativecommons.org/licenses/by-sa/4.0/.