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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

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

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

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

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

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

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

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

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

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

ΜΑΘΗΜΑ: ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

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

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

Μοντελοποίηση Λογικών Κυκλωμάτων

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Ενσωματωμένα Συστήματα

Λογιστικές Εφαρμογές Εργαστήριο

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

Τεχνολογία & Καινοτομία - Αρχές Βιομηχανικής Επιστήμης

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

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

Ενσωματωμένα Συστήματα

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Ενσωματωμένα Συστήματα

Μαθηματική Ανάλυση ΙI

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

ΔΙΔΑΣΚΩΝ: Δρ. Στυλιανός Τσίτσος

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Υπολογιστικά Συστήματα

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

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

Ενσωματωμένα Συστήματα

{ int a = 5; { int b = 7; a = b + 3;

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Μαθηματική Ανάλυση Ι

Εισαγωγή στους Αλγορίθμους

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διδακτική της Πληροφορικής

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 3 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

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

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Εισαγωγή στους Αλγορίθμους

Ενσωματωμένα Συστήματα

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Transcript:

Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 9: Διευθυνσιοδότηση Μνήμης στο 8086 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

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

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

Διευθυνσιοδότηση μνήμης στο 8086 O 8086 ποιες διεθυνσιοδοτήσεις επιτρέπει; Δώστε παραδείγματα: Μετατόπισης. mov al, buffer[0] ή mov al,[buffer] Έμμεσου καταχωρητή. mov al, [bp] Με δείκτη mov al,[si] Άμεση. mov al,apotelesma Συνδυασμό των παραπάνω τρόπων. 4

Ερώτηση Δ/σης 8086 Ποια εντολή θα χρησιμοποιήσουμε για να προσθέσουμε την τιμή 53 στον καταχωρητή AX στις παρακάτω περιπτώσεις: Η τιμή 53 δίνεται απευθείας: ADD AX,53 H τιμή 53 βρίσκεται στον καταχωρητή ΒΧ: ADD AX,BX Η τιμή 53 βρίσκεται στη θέση μνήμης VAR1: ADD AX,VAR1 H τιμή 53 βρίσκεται στη δ/νση που ορίζεται από τον καταχωρητή BP: ADD AX,[BP] Η τιμή 53 βρίσκεται μετατοπισμένη κατά 10Byte από την αρχή του τμήματος δεδομένων: ADD AX,[10] 5

Τύποι Διευθυνσιοδότησης μνήμης στον 8086: χωρίς διεύθυνση Άμεση εκχώρηση τιμής σε καταχωρητή: MOV AL,05 Άμεση εκχώρηση τιμής σε θέση μνήμης: MOV APOTELESMA,05 Άμεση μεταφορά από καταχωρητή σε καταχωρητή: MOV AX,BX Άμεση μεταφορά από καταχωρητή σε θέση μνήμης: MOV APOTELESMA,AL Άμεση μεταφορά από θέση μνήμης σε καταχωρητή: MOV AL,APOTELESMA 6

Τύποι Διευθυνσιοδότησης μνήμης στον 8086: άμεσης διευθυνσιοδότησης 17 είναι οι τρόποι πρόσβασης του x86 στη μνήμη με έμμεσο τρόπο. Απλής μετατόπισης (displacement) Direct Addressing Mode. MOV AL,DS:[8088h] Η μετατόπιση μετριέται από την αρχή του τμήματος. Μπορεί να γίνει και προσπέλαση σε λέξη. Η διεύθυνση είναι 2 Byte και βρίσκεται στο machine code αμέσως μετά τον op-code. Μπορεί να παραληφθεί το DS (είναι προεπιλογή). 7

Τύποι Διευθυνσιοδότησης μνήμης στον 8086: έμμεσης διευθυνσιοδότησης Καλείται register indirect addressing mode. Η διεύθυνση της μνήμης βρίσκεται σε κάποιον καταχωρητή. Ο καταχωρητής φέρει το offset από την αρχή ενός τμήματος. Υπάρχουν 4 υποκατηγορίες αυτού του τύπου: mov al,[bx] (χρησιμοποιεί το τμήμα ds) mov al,[bp] (χρησιμοποιεί το τμήμα ss) mov al,[si] (χρησιμοποιεί το τμήμα ds) mov al,[di] (χρησιμοποιεί το τμήμα ds) 8

Τύποι Διευθυνσιοδότησης της μνήμης στον 8086: έμμεσης διευθυνσιοδότησης Αν θέλουμε να αλλάξουμε την προεπιλογή του τμήματος, τότε χρησιμοποιούμε προθέματα. Για παράδειγμα: mov al, cs:[bx] mov al, ds:[bp] mov al, ss:[si] mov al, es:[di] 9

Τύποι Διευθυνσιοδότησης μνήμης στον 8086: δεικτοδοτούμενης διευθυνσιοδότησης (1/5) Αγγλική Ονομασία: Indexing displacement mode. Είναι 4 τύποι! Ο καταχωρητής φέρει το offset που όμως δεν ξεκινάει από την αρχή του τμήματος. Το offset ξεκινάει από τη διεύθυνση μνήμης που προσδιορίζεται. Είναι της μορφής: mov al, disp[bx] mov al, disp[bp] mov al, disp[si] mov al, disp[di] όπου disp είναι η διεύθυνση αναφοράς (2 Byte) από την αρχή του εκάστοτε τμήματος. Π.χ. mov al,0bb10h[bx] 10

Τύποι Διευθυνσιοδότησης μνήμης στον 8086: δεικτοδοτούμενης διευθυνσιοδότησης (2/5) Μπορούν να χρησιμοποιηθούν και προθέματα για να αλλάξουμε το τμήμα προεπιλογής: mov al, ss:disp[bx] mov al, es:disp[bp] mov al, cs:disp[si] mov al, ss:disp[di] Παράδειγμα mov al,10bbh[bx] και bx=aabbh τότε θα γίνει προσπέλαση στο κελί με μετατόπιση 10ΒΒh+AABBh από το τμήμα δεδομένων (DS). 11

Τύποι Διευθυνσιοδότησης μνήμης στον 8086: δεικτοδοτούμενης διευθυνσιοδότησης (3/5) Αγγλική Ονομασία: based indexed addressing modes. Χρησιμοποιείται ένας base register (bx,bp) και ένας indexed register (si,di). Επιτρεπτές μορφές: mov al, [bx] [si] mov al, [bx] [di] mov al, [bp] [si] mov al, [bp] [di] Όσες μορφές έχουν το bp έχουν ως προεπιλογή το stack εκτός αν το δηλώσουμε ρητώς. 12

Τύποι Διευθυνσιοδότησης μνήμης στον 8086: δεικτοδοτούμενης διευθυνσιοδότησης (4/5) Αγγλική Ονομασία: Based Indexed Plus Displacement Addressing Mode. Η πιο σύνθετη περίπτωση. Χρησιμοποιεί όλα τα παραπάνω. Δηλαδή χρησιμοποιεί: Displacement. Base. Indexing. Παραδείγματα: mov mov mov mov al, disp[bx][si] al, disp[bx+di] al, [bp+si+disp] al, [bp][di][disp] 13

Τύποι Διευθυνσιοδότησης μνήμης στον 8086: δεικτοδοτούμενης διευθυνσιοδότησης (5/5) Υπέθεσε ότι το bp περιέχει 1000h, το bx 2000h, το si 120h και το di 5. Τότε, η mov al,10h[bx,si] φορτώνει το al από την διεύθυνση SS:2120. 112A = 10h+2000h+120h=2120h. Η mov bx,cs:2[bx][di] φορτώνει το bx από την θέση CS:2007 (2007=2 + 2000h+5). 14

Εύκολος τρόπος υπενθύμισης τρόπων διευθυνσιοδότησης Επιλέξτε ένα από κάθε στήλη. Μπορεί να απουσιάζει μια στήλη. Μόνο τα addressing mode που δημιουργούνται από αυτό το διάγραμμα είναι έγκυρα. 15

Τελευταίες παρατηρήσεις για τα addressing modes Η τελική διεύθυνση είναι η τελική απόσταση, παραγόμενη από έναν υπολογισμό του τύπου διευθυνσιοδότησης. Π.χ. αν το bx περιλαμβάνει 10h, η τελική διεύθυνση για το 10h[bx] είναι 20h. Όλοι οι τύποι διευθυνσιοδότησης δεν δημιουργούνται όμοια. Διαφορετικοί addressing modes μπορεί να απαιτούν περισσότερο χρόνο για να υπολογίσουν την τελική διεύθυνση. Η ακριβής διαφορά πηγάζει από το είδος του επεξεργαστή. Αν ο υπολογισμός της τελικής διεύθυνσης παράγει μια τιμή μεγαλύτερη από το OFFFFh, τότε η CPU αγνοεί την υπερχείλιση (overflow) και το αποτέλεσμα πηγαίνει πίσω στο 0. Π.χ., αν το bx περιλαμβάνει 10h, τότε η mov al, OFFFFh[bx] θα φορτώσει τον καταχωρητή al από την θέση ds:ofh και όχι από την θέση ds:1000fh. 16

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