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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

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

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

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

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

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

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 2 Addressing

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

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

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

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

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

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

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

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

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

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

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

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

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

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

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

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

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

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

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

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

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

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

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

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

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

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

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

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

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

Πρόχειρες Σημειώσεις. Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

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

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

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

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

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

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

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

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

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

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

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

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

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

MIPS functions and procedures

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

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

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

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

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

ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014

Transcript:

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Μία πολύπλοκη αρχιτεκτονική επεξεργαστών 32-bit (IA32, x86) και 64-bit (x86-64, AMD64, Intel 64) Με σύνθετο σετ εντολών Διατήρηση συμβατότητας με παλαιότερους επεξεργαστές της Intel (legacy compatibility) Με πολύ μεγάλη εγκατεστημένη βάση Συστήματα PCs Όχι η βέλτιστη αρχιτεκτονική αλλά: Το μεγάλο μερίδιο που κατέχει στην αγορά επιτρέπει σε Intel και AMD έρευνα και ανάπτυξη για διαρκείς βελτιώσεις απόδοσης Τελικά η αρχιτεκτονική αυτή είναι βέλτιστη μέσα στην τεράστια πολυπλοκότητά της Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 2

Αρχιτεκτονική x86(-64) Οικογένειες επεξεργαστών (Intel) Pentium P6 Pentium Pro, II, III Netburst Pentium 4, D (IA-32 σε νεώτερες εκδόσεις και 64) Pentium M Intel Core, Core Duo Intel Core (IA-32-64) Intel Core 2 Duo...νεώτερες αρχιτεκτονικές Intel 64 and IA-32 Architectures Software Developer's Manuals https://software.intel.com/en-us/articles/intel-sdm Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 3

32-bit και 64-bit λειτουργία Οι επεξεργαστές x86 των 64 bits λειτουργούν σε 64-bit mode 64-bit OS, 64-bit εφαρμογές 64-bit OS, 32/16-bit εφαρμογές (legacy mode) 32-bit mode 32/16-bit OS, 32/16-bit εφαρμογές Ανάλογα με τον τρόπο λειτουργίας αλλάζει η αρχιτεκτονική συνόλου εντολών (ISA) Προσπελάσιμη μνήμη Αριθμός καταχωρητών Μέγεθος δεδομένων/διεθύνσεων μνήμης Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 4

Αρχιτεκτονική Συνόλου Εντολών Τι περιγράφει; Διαθέσιμες πράξεις/λειτουργίες Κωδικοποίηση εντολών μηχανής Μορφή των δεδομένων Operands Χώροι προσωρινής αποθήκευσης Καταχωρητές Μέθοδοι προσπέλασης μνήμης Προέλευση των δεδομένων Διακοπές και καταστάσεις σφάλματος Ποια η αντίδραση του επεξεργαστή Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 5

Κωδικοποίηση Εντολών Μηχανής Σειρά δυαδικών ψηφίων opcode operand1 operand2.. operandn Περιγράφει το είδος της πράξης που θα εκτελεστεί Περιγράφουν την προέλευση των δεδομένων εισόδου (αριθμό καταχωρητή, διεύθυνση μνήμης κλπ) και τον προορισμό των δεδομένων εξόδου (αποτέλεσμα πράξης) Το είδος της πράξης προσδιορίζει τον τύπο, την προέλευση και τον αριθμό των δεδομένων που συμμετέχουν στην πράξη! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 6

! Εντολές Μηχανής και Assembly Εντολές μηχανής Σειρές από bits (ομάδες bytes ανά εντολή) Τα bits αυτά κωδικοποιούν όλα τα χαρακτηριστικά κάθε εντολής Assembly Μνημονικός τρόπος αναπαράστασης εντολών Ευκολότερη κατανόηση από τον άνθρωπο Κάθε διαφορετική αρχιτεκτονική επεξεργαστών έχει διαφορετική γλώσσα assembly! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 7

x86-64: η γενική μορφή των εντολών Μεταβλητός αριθμός bytes ανά εντολή 1 έως 15 bytes Συνδυασμός από Προθέματα (prefixes) Αλλάζουν τον τρόπο λειτουργίας, το είδος και το μέγεθος των δεδομένων, τον αριθμό των χρησιμοποιούμενων καταχωρητών ή την κωδικοποίηση της εντολής Opcode (1 byte) Ποια η βασική λειτουργία της εντολής ModRM και SIB (Scale-Index-Base) bytes Επιλογή καταχωρητή/μνήμης και τρόπου σχηματισμού διεύθυνσης Displacement ή/και Immediate bytes (1, 2, 4 ή 8) Offset και άμεσες τιμές μέσα στην εντολή Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 8

Οι εντολές που περιγράφει η αρχιτεκτονική συνόλου εντολών είναι σύνθετες Πολλές εντολές πέραν των load/store προσπελαύνουν τη μνήμη Ένα τυπικό παράδειγμα αρχιτεκτονικής CISC Αναγκαίο για την τήρηση της προς τα πίσω συμβατότητας Αλλά x86-64: CISC ή RISC; Εσωτερικά, κάθε σύνθετη εντολή μετατρέπεται σε μια σειρά μικρότερες Micro-operations (μops) Αυτόματα, κατά την αποκωδικοποίηση Ουσιαστικά η εκτέλεση είναι σε στυλ RISC! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 9

x86-64: Είδη εντολών Εντολές γενικού σκοπού Αριθμητικές και λογικές πράξεις Μεταφορά δεδομένων Από-πρός Καταχωρητές και Μνήμη (PUSH/POP για στοίβα) Έλεγχος ροής εκτέλεσης Διακλαδώσεις και κλήσεις ρουτινών Άλλες κατηγορίες Ειδικές εντολές συστήματος ΛΣ, εικονική μνήμη Επεξεργασία πολλαπλών δεδομένων Χρήσιμο για γραφικά, σειρές χαρακτήρων, multimedia Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 10

Εντολές μεταφοράς δεδομένων Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 11

x86-64: Εντολές διακλάδωσης Με ή χωρίς συνθήκη Σε απόλυτη ή σχετική διεύθυνση πιθανώς αποθηκευμένη σε μνήμη ή καταχωρητή Συνθήκη: καταχωρητής κατάστασης EFLAGS Μεταξύ τμημάτων κώδικα της ίδιας ή διαφορετικής διεργασίας Κλήση συναρτήσεων Όπως η διακλάδωση με αποθήκευση πρόσθετης πληροφορίας (program stack) για επιστροφή από συνάρτηση στο σημείο μετά την κλήση Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 12

Εντολές διακλάδωσης Κλήση συναρτήσεων και επιστροφή Αποθήκευση της τρέχουσας διεύθυνσης εκτέλεσης (καταχωρητή PC) Πριν τη μετάβαση στη συνάρτηση Χρήση αποθηκευμένης τιμής Κατά την επιστροφή (return) στοίβα εκτέλεσης Παράμετροι εισόδου frame pointer (fp) Χώρος για επιστρεφόμενη τιμή Διεύθυνση επιστροφής stack pointer (sp) Προηγούμενη τιμή frame pointer Τοπικές μεταβλητές Προσωρινές θέσεις αποθήκευσης Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 13

x86-64: Προέλευση δεδομένων Προέλευση δεδομένων Τα δεδομένα που επεξεργάζονται οι εντολές προέρχονται από Καταχωρητές Μνήμη (ή I/O ports) Τιμή μέσα στην εντολή (immediate values) Και μπορούν να αποθηκευτούν σε Καταχωρητές Μνήμη (ή I/O ports) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 14

x86-64: Αρχιτεκτονική με καταχωρητές Προέλευση δεδομένων καταχωρητές μνήμη ALU! Καταχωρητές: προσωρινές θέσεις αποθήκευσης αποτελεσμάτων. Memory-register Οποιαδήποτε εντολή γενικού σκοπού μπορεί να προσπελάσει τη μνήμη Όχι μόνο οι εντολές load/store Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 15

x86-64: αρχιτεκτονική memory-register Προέλευση δεδομένων Πολλές εντολές γενικού σκοπού πέρα από τις load και store έχουν ως πηγή ή προορισμό τη μνήμη, π.χ. AND Logical AND Opcode Instruction... 81 /4 iw AND r/m16, imm16 81 /4 id AND r/m32, imm32... 21 /r AND r/m16, r16 21 /r AND r/m32, r32 REX.W + 21 /r AND r/m64, r64 22 /r AND r8, r/m8... 23 /r AND r32, r/m32 REX.W + 23 /r AND r64, r/m64...κλπ.. Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 16

x86-64: καταχωρητές Προέλευση δεδομένων 16 καταχωρητές γενικού σκοπού 64 bits: RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 R15 32 bits (το χαμηλό μισό των προηγούμενων): EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP, R8D-R15D 16 bits (το χαμηλό τέταρτο): AX, BX, CX, DX, SI, DI, SP, BP, R8W-R15W 8 bits (τμήματα των προηγούμενων): AL, BL, CL, DL, AH, BH, CH, DH, SIL, DIL, SPL, BPL, R8L-R15L Κάποιοι από τους καταχωρητές αυτούς χρησιμοποιούνται με ειδικό τρόπο! Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 17

x86-64: καταχωρητές (2) Προέλευση δεδομένων RIP (EIP στα 32 bits) Program counter RFLAGS (EFLAGS) Σημαίες κατάστασης Καταχωρητές πράξεων SIMD Εύρος καταχωρητών έως 512 bits Λοιποί καταχωρητές ελέγχου Διαχείριση μνήμης, διεργασιών, προνομίων, τρόπου λειτουργίας κ.ο.κ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 18

x86-64: Μοντέλο μνήμης Προέλευση δεδομένων Προσπέλαση μνήμης Ο χώρος διευθύνσεων που βλέπει κάθε εκτελούμενο πρόγραμμα Στα 64 bit: flat model Ενιαίος χώρος διευθύνσεων, από το 0 μέχρι το μέγιστο δυνατό (2 64-1) Στην πράξη οι σύγχρονοι επεξεργαστές διαθέτουν 48-52 γραμμές διεύθυνσης Στα 32 bit το μοντέλο είναι πιο πολύπλοκο (segmentation) Προσοχή: πρόκειται για εικονικές διεύθυνσεις Παράγονται από την ΚΜΕ Θα ακολουθήσει μετάφραση σε φυσική διεύθυνση μέσω του συστήματος εικονικής μνήμης Virtual Memory (σε επόμενο μάθημα) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 19

Μέθοδοι προσπέλασης μνήμης Προέλευση δεδομένων Προσπέλαση μνήμης Πολλές εντολές γενικού σκοπού προσπελαύνουν τη μνήμη για ανάγνωση ή εγγραφή δεδομένων Πώς σχηματίζεται η διεύθυνση προσπέλασης; Η γενική ιδέα: υποβοήθηση του λογισμικού Διαφορετικός σχηματισμός διεύθυνσης για Τοπικές μεταβλητές Δείκτες (έμμεση προσπέλαση) Στατικά δεδομένα Διάσχιση πινάκων (Σταθερές τιμές) Υποστήριξη ανάλογα με αρχιτεκτονική Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 20

x86-64: Σχηματισμός διευθύνσεων Προέλευση δεδομένων Προσπέλαση μνήμης Στατική τιμή διεύθυνσης Εντός εντολής Υπολογιζόμενη τιμή διεύθυνσης address = scale * index + base + offset Scale: 2, 4 ή 8 Index: η τιμή ενός καταχωρητή γενικού σκοπού Base: η τιμή ενός καταχωρητή γενικού σκοπού Offset (ή displacement): μια 8-, 16- ή 32-bit τιμή (εντός εντολής) Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) 21