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



Σχετικά έγγραφα
Σημειώσεις για τον 80x86

Αρχιτεκτονική-ΙI Ενότητα 1 :

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

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

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

Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι:

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

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική-ΙI Ενότητα 6 :

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

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

Συστήματα Μικροϋπολογιστών

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

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

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

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

Συστήματα Μικροϋπολογιστών

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

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

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 4 Real Mode Interrupts

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

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Ποια πρόταση είναι αληθής για τον Μ/Ε 8088: Είναι Μ/Ε 16bit, LSI, 40 pins, 20 γραμμές διευθύνσεων, 8 γραμμές δεδομένων

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

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

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers)

Αρχιτεκτονική-ΙI Ενότητα 4 :

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

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

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

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

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

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

Αρχιτεκτονική-ΙΙ Μέρος 2 ο

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

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

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

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

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

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Γ ΕΠΑΛ 14 / 04 / 2019

0100: MAR ADR; wait;mdr DB; SCR L DH+MDR+CY

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

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

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

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

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

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

Συστήματα Μικροϋπολογιστών

Αρχιτεκτονική-Ι Ενότητα 5:

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

Συστήματα Μικροϋπολογιστών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

Μάθημα 7: Μικροϋπολογιστικό Σύστημα και Μνήμες

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

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

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

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ

Transcript:

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

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

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

Σκοποί ενότητας Στην ενότητα αυτή εξετάζεται το προγραμματιστικό μοντέλο του μικροεπεξεργαστή 8086 της Intel, η εσωτερική του αρχιτεκτονική και οι βασικές λειτουργίες του επεξεργαστή. 4

Περιεχόμενα ενότητας Επεξεργαστής 8086 Οργάνωση συστήματος Τι είναι η διεύθυνση Πρόσβαση στη μνήμη Οργάνωση μνήμης Διαχείριση μνήμης Κατάτμηση μνήμης Διευθυνσιοδότηση Τι είναι ο σωρός Λογική και Φυσική Διεύθυνση Υπολογισμός Φυσικής Διεύθυνσης Παραδείγματα Εσωτερική οργάνωση Εσωτερική οργάνωση του 8086 Λειτουργία καταχωρητών τμημάτων Μονάδα εκτέλεσης Καταχωρητής σημαιών Λειτουργίες CPU Παράδειγμα Ερωτήσεις & Απαντήσεις 5

Ο Επεξεργαστής 8086 6

8086 Επεξεργαστής των 16 bits/ 2 bytes (Ρ1) (1) Χαρακτηριστικά 8086 DIP-40 pins Εμφάνιση το 1978. Τροφοδοσία 5V. Ρολόϊ έως 4 10 MHz. Data bus 16 bits/2 bytes. Address bus 20 bits. Μνήμη μέχρι 1 ΜΒ. Μνήμη άρτιων και περιττών διευθύνσεων (2 Χ 512 ΚΒ). Χρόνος προσπέλασης λέξης (2 bytes) σε ένα κύκλο μνήμης (μηχανής) εφ όσον η λέξη είναι σε άρτια διεύθυνση ή σε δυο κύκλους εφ όσον είναι σε περιττή διεύθυνση (ελάττωση της ταχύτητας). Κύκλος διαδρόμου (bus cycle) ίσος με 4 περιόδους ρολογιού. Ταχύτητα διαμεταγωγής (10ΜΗz/4)X2=5MB/s (40 Mbps). 7

8086 Επεξεργαστής των 16 bits/ 2 bytes (Ρ1) (1) 8086 DIP-40 pins Χαρακτηριστικά Μέσος χρόνος εκτέλεσης εντολής 12 Τ. Κατάτμηση μνήμης. Χρήση 640 ΚΒ για προγράμματα. Δέσμευση των 384 ΚΒ για το BIOS. 6-byte ουρά εντολών (instruction queue), που γεμίζει όταν ο επεξεργαστής εκτελεί άεργους κύκλους (idle) και υπάρχει χώρος 2 bytes στην ουρά. Τεχνική σωλήνωσης (pipelining-επικάλυψη χρόνου ανάκλησης και εκτέλεσης των εντολών). Binary/Decimal arithmetic με 8-bit ή 16-bit signed/unsigned αριθμούς (πολλ/σμός και διαίρεση). Ολοκληρωμένο 40 pins σε συσκευασία DIP (Dual In Package). 8

8086 Ακροδέκτες (1) Πολυπλεγμένες γραμμές διεύθυνσης/δεδομένων (Time multiplexed address/data lines) Αποπλέκονται με τη βοήθεια του σήματος ελέγχου ALE στην πρώτη περίοδο Τ1. Κατά την Τ1 φέρουν διεύθυνση. Κατά τις Τ2, Τ3, Τ4 φέρουν δεδομένα. Non Maskable Interrupt (ΙΝΤ 2) : Οδηγεί το πρόγραμμα στις θέσεις 00008 0000Β Η, όπου πρέπει να ευρίσκονται οι τιμές του CS και του IP για οδήγηση του προγράμματος στην κατάλληλη ΥΕΔ. Maskable Interrupt (σημαία ΙΕ=1) : Δίδεται ένα byte n κατά τη διάρκεια του σήματος /INTA και οδηγεί το πρόγραμμα στις θέσεις 4 n 4 n+3 Η, όπου πρέπει να ευρίσκονται οι τιμές του CS και του IP για οδήγηση του προγράμματος στην κατάλληλη ΥΕΔ. GND AD 14 AD 13 AD 12 AD 11 AD 10 AD 9 AD 8 AD 7 AD 6 AD 5 AD 4 AD 3 AD 2 AD 1 AD 0 NMI INTR CLK GND 8086 9

8086 Ακροδέκτες (2) Κατά τη διάρκεια του Τ 1 είναι διευθύνσεις, ενώ κατά τη διάρκεια των Τ 2, Τ 3, Τ 4 είναι δείκτες κατάστασης (status indicators). Το BHE (Bus High Enable) γίνεται latch με το σήμα ALE και χρησιμοποιείται με το Α 0 για να καθορίσουν τον τρόπο πρόσβασης στη μνήμη. min mode: ο 8086 χρειάζεται ένα latch και ένα κύκλωμα ρολογιού για να γίνει cpu με δίαυλο ελέγχου όμοιο με τον 8085. max mode: ο 8086 συνεργάζεται με το μαθηματικό συνεπεξεργαστή 8087 και τον περιφερειακό επεξεργαστή Ι/Ο 8089 καθώς επίσης και με το 8288 (bus controller), το οποίο δημιουργεί τα σήματα ελέγχου για μνήμες και πόρτες. 10

8086 Ακροδέκτες (3) V cc AD 15 A 16 /S 3 A 17 /S 4 A 18 /S 5 A 19 /S 6 BHE/S 7 MN/MX MN/MX=1 MN/MX=0 8086 RD HOLD HLDA WR RQ/GT0 RQ/GT1 LOCK M/IO S2 DT/R S1 DEN S0 ALE QS0 INTA QS1 TEST READY RESET Εισάγεται περίοδος αναμονής εάν η είσοδος αυτή είναι high κατά την εκτέλεση της εντολής WAIT. Συγχρονίζει τον 8086 με αργά περιφερειακά. Εισάγει περίοδο αναμονής εάν κατά την Τ 2 ευρεθεί low. Επανεκκίνηση και μετάβαση του προγράμματος στη διεύθυνση FFFF0 H. 11

Οργάνωση συστήματος Διάδρομοι (Buses) Διάδρομος διευθύνσεων: Ομάδα γραμμών μέσω των οποίων ο με δίνει τη διεύθυνση των γραμμών που θα μετακινηθεί στην μνήμη ή στην πόρτα. 8086 : 20 bit εύρος διαδρόμου διευθύνσεων 2 20 =1048576 bytes ή 1 ΜΒ Διάδρομος δεδομένων: Ομάδα γραμμών μέσω των οποίων διακινούνται τα δεδομένα μεταξύ του με και των περιφερειακών συσκευών 8086 : 16 bit εύρος διαδρόμου δεδομένων Διάδρομος ελέγχου: Ομάδα γραμμών μέσω των οποίων εξασφαλίζεται ο συγχρονισμός των διαφόρων λειτουργιών του μικροϋπολογιστικού συστήματος 12

Τι είναι η διεύθυνση; Η μνήμη ενός μικροϋπολογιστικού συστήματος χωρίζεται σε μικρά τμήματα του ενός byte Κάθε byte έχει μια ξεχωριστή ταυτότητα που ονομάζεται διεύθυνση Οι διευθύνσεις είναι αριθμητικές τιμές μήκους σε bit όσο το address bus (δίαυλος διευθύνσεων) 13

Πρόσβαση στη μνήμη Για να έχουμε πρόσβαση σε ένα ή περισσότερα bytes, πρέπει να γνωρίζουμε τις διευθύνσεις τους στο χάρτη μνήμης Στον 80x86 τηρείται η Little Endian μορφή αποθήκευσης δεδομένων. Τα χαμηλά bytes αποθηκεύονται σε χαμηλές (αριθμητικά) διευθύνσεις. 14

Οργάνωση μνήμης (1) 15

Οργάνωση μνήμης (2) 8086: Ο πρώτος επεξεργαστής που δεν θεωρεί τη μνήμη σαν ένα ενιαίο σύνολο! (γραμμική διευθυνσιοδότηση) γιατί? Κατάτμηση μνήμης: Κάθε στιγμή υπάρχουν 4 ενεργά τμήματα μνήμης, τα τμήματα: κώδικα (CS), σωρού (SS), 2 τμήματα δεδομένων (DS ES) Μέγιστη χωρητικότητα τμήματος: 64 Kbytes Καταχωρητές τμημάτων (16-bit): Ένας καταχωρητής ορίζει την αρχή κάθε τμήματος και δίνει την αρχική φυσική διεύθυνση κάθε τμήματος (CS, DS, ES, SS) 16

Οργάνωση μνήμης (3) Γενικοί καταχωρητές (16-bit): Καταχωρητές γενικής χρήσης (AX, BX, CX, DX, BP, IP, SP, SI, DI) Λογική διεύθυνση (16-bit): Η διεύθυνση μέσα στον επεξεργαστή. Ορίζεται: από έναν καταχωρητή τμήματος και ένα γενικό καταχωρητή π.χ. (τμήμα κώδικα : καταχωρητή προγράμματος) ή (CS:IP) 17

Διαχείριση μνήμης στον 8086 Ο 80x86 είναι επεξεργαστής των 16bits με address bus μήκους 20bits Διευθυνσιοδοτεί 1Mbyte μνήμης (2 20 bytes) Πρόβλημα Ο καταχωρητής διεύθυνσης επόμενης εντολής (IP) έχει μήκος 16bits και δεν μπορεί να δει ολόκληρη τη μνήμη που προσφέρει το address bus Λύση Η μνήμη διασπάται σε πολλαπλά λογικά τμήματα (segments) των 64kBytes Κάθε τμήμα μπορεί να ξεκινά (βάση τμήματος) ανά 16 θέσεις στη φυσική διεύθυνση της μνήμης (20bit) και να επιτρέπει στον επεξεργαστή να δει τις επόμενες 64k θέσεις που ακολουθούν 18

Κατάτμηση μνήμης Μετατοπίσεις μέσα στο τμήμα ή offset CS=A308 h DS=2000 h ES= C10A h SS=C90A h 19

Διευθυνσιοδότηση μνήμης μετατόπιση Σωστό Σωστό Σωστό Λάθος MOV AX,[BX] ή [SI] ή [BP] ή [DI] MOV AX, [BX+SI] ή [BP+DI] ή [BX+DI] ή [BP+SI] MOV AX, [BX+SI+128] ή [BP+DI-3] ή [BX+DI+7] MOV [BX+BP],AX ή MOV AX,[SI+DI] ή MOV AX, [DX] ή [CX] 8 ή 16 bit BX SI disp BP DI 20

Τι είναι ο σωρός Περιοχή μνήμης για προσωρινή αποθήκευση δεδομένων. Το τμήμα σωρού δημιουργείται με τη βοήθεια του SS και έχει σαν δείκτη τον SP Λειτουργεί προς μικρότερες διευθύνσεις γι αυτό συνήθως θέτουμε SP=0000h Λειτουργεί με τις εντολές: PUSH, POP, CALL, RET, INT, IRET Δείκτης στο σωρό μπορεί να είναι ο καταχωρητής BP π.χ. CS SP-1 AX=1234 h, SP=0000 h και εκτελείται η: SP 0000 h PUSH AX SP-2=FFFE h SP-1=FFFF h 34 h 12 h AH AL 12 h 34 h Offset FFFF h 21

Λογική σε Φυσική διεύθυνση 22

Υπολογισμός φυσικής διεύθυνσης CS=1234h IP=5678h 5678h 1234h 05678h 12340h 179B8h 23

Παραδείγματα MOV AX,[1A5E0h]; 24

8086 Εσωτερική οργάνωση (1) EXECUTION UNIT (EU) BUS INTERFACE UNIT (BIU) REGISTER FILE DATA POINTER & INDEX REGS (8 WORDS) SEGMENT REGS & INSTRUCTION POINTER (5 WORDS) RELOCATION REGISTER FILE Διάδρομοι και εσωτερικοί καταχωρητές των 16 bits 16 BIT ALU FLAGS BUS INTERFASCE UNIT 4 16 3 /BHE or S 7 A 16 -A 19 or S 3 -S 6 AD 0 -AD 15 /INTA, /RD, /WR 3 DT-/R, /DEN, ALE Address Bus=20 bits /TEST INTR NMI /RG-/GT 0,1 2 CONTROL & TIMING 6-BYTE INSTRUCTION QUEUE /LOCK 2 QS 0, QS 1 Data Bus=16 bits Ουρά εντολών βάθους 6 bytes HOLD HLDA 3 /S 2, /S 1, /S 0 CLK RESET READY MN-/MX GND, GND, V CC 25

8086 Εσωτερική οργάνωση (2) Προσαρμογή Μνήμης Σ B-BUS ES 16 CS 16 SS 16 DS 16 IP 16 C-BUS BIU 6 5 4 3 2 1 ΣΥΣΤΗΜΑ ΕΛΕΓΧΟΥ 6-BYTES ΟΥΡΑ ΡΟΗΣ ΕΝΤΟΛΩΝ AH 8 AL BH BL 8 CH CL DH DL SP BP 16 SI DI A-BUS EU ALU ΟΡΙΣΜΑΤΑ (OPERANDS) ΣΗΜΑΙΕΣ (FLAGS) 26

Εσωτερική οργάνωση του 8086 27

Λειτουργία καταχωρητών τμημάτων 28

Μονάδα εκτέλεσης (EU) 29

Καταχωρητής σημαιών 30

Σημασία του καταχωρητή σημαιών (1) Zero Flag Γίνεται 1 όταν το αποτέλεσμα μιας αριθμητικής ή λογικής πράξης είναι μηδέν. mov al,01h dec al mov al,0h or al,0ffh xor al,0ffh ; al=0, ZF=1 ; al=00h ; al=ffh, ZF=0 ; al=00h, ZF= 31

Σημασία του καταχωρητή σημαιών (2) Carry Flag Γίνεται 1 όταν υπάρχει κρατούμενο από πρόσθεση ή δανεικό από αφαίρεση (υπερχείλιση του καταχωρητή) mov ax,0ffffh add ax,1 clc mov al,2 mov bl,3 sub al,bl ;al=ffffh ;ax=ax+1 ax=0000h, CF=1 ;CF=0 clear carry flag ;al=2-3=0000 0010+1111 1101=1111 1111 (-1) CF=1, SF=1 32

Σημασία του καταχωρητή σημαιών (3) Sign Flag Γίνεται 1 ή 0 όταν το σημαντικότερο bit του αποτελέσματος είναι 1 ή 0 mov al,7fh add al,01h ; al=80h (1000 0000), SF=1, OF=1 Overflow Flag Γίνεται 1 όταν υπάρχει υπερχείλιση των 7 λιγότερο σημαντικών bits και προκύπτει αριθμός με αντίθετο πρόσημο (π.χ. από την πρόσθεση 2 θετικών προκύπτει αρνητικός ή από την πρόσθεση 2 αρνητικών προκύπτει θετικός) mov al,7fh mov bl,3 add al,bl mov al,0ffh mov bl,80h add al,bl ;al=0111 1111+0000 0011=1000 0010 CF=0, SF=1, OF=1 ;al=1111 1111+1000 0000=0111 1111 CF=1, SF=0, OF=1 33

Σημασία του καταχωρητή σημαιών (4) Parity Flag Γίνεται 1 όταν στο αποτέλεσμα υπάρχει άρτιος αριθμός μονάδων (άρτια ισοτιμία) και 0 όταν υπάρχει περιττός αριθμός μονάδων (περιττή ισοτιμία) mov al,7fh add al,01h ; al=80h (1000 0000), PF=0 Auxiliary Flag Γίνεται 1 όταν υπάρχει κρατούμενο στα 4 λιγότερο σημαντικά bits mov al,7fh mov bl,01 add al,bl SF=1, OF=1, AF=1 ;al=0111 1111+0000 0001=1000 0000 CF=0, Direction Flag Χρησιμοποιείται με τις εντολής διαχείρισης συμβολοσειρών (movsb/movsw, κλπ) Γίνεται 0 με την εντολή CLD και σημαίνει αύξουσες διευθύνσεις ή γίνεται 1 με την εντολή STD και σημαίνει φθίνουσες διευθύνσεις. 34

Να θυμόμαστε το εσωτερικό του 8086! 35

Λειτουργίες CPU ΣΗΜΕΙΩΣΗ: Κύκλος μηχανής είναι ο χρόνος που παίρνει την CPU για να εκτελέσει μια από τις προαναφερθείσες λειτουργίες, οι οποίες αφορούν την επικοινωνία της με ένα εξωτερικό περιφερειακό (μνήμη ή πόρτα). Η εσωτερική λειτουργία της CPU (π.χ. η τοποθέτηση ενός δεδομένου σε κάποιον καταχωρητή, η πρόσθεση κλπ) δεν συνιστά κύκλο μηχανής. Κύκλος εντολής = Χρόνος εκτέλεσης μιας εντολής Κύκλος μηχανής = Χρόνος εκτέλεσης μιας λειτουργίας της CPU Κατάσταση (State) = Μια περίοδος ρολογιού Κύκλος μηχανής Ανάκληση εντολής (Fetch) Ανάγνωση δεδομένων από μνήμη (Read Memory) Εγγραφή δεδομένων σε μνήμη (Write Memory) Ανάγνωση δεδομένων από πόρτα (Read I/O) Εγγραφή δεδομένων σε πόρτα (Write I/O) 4T 4T 4T 4T 4T 36

Παράδειγμα A3 MOV [1000h],AX 00 10 37

Ερωτήσεις και Απαντήσεις 38

Βιβλιογραφία 1. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ-Ο επεξεργαστής 8086, Ι. Ν. Έλληνας, Π. Δ. Κεντερλής, ISBN: 978-960-930663-8, Αθήνα 2008. 2. Γ. Δ. Κόγιας, Αρχιτεκτονική, Οργάνωση και Προγραμματισμός μικροϋπολογιστών, Σύγχρονη Εκδοτική. 3. Κ. Ζ. Πεκμεστζή, Συστήματα μικροϋπολογιστών, Εκδόσεις Συμμετρία. 39

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