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

Σχετικά έγγραφα
Αρχιτεκτονική-ΙI Ενότητα 4 :

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

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

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

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

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

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

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

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

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

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

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

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

Μάθημα 8: Διαχείριση Μνήμης

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

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

Εισαγωγή στα Λειτουργικά

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

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

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

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

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

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

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

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

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

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

Υδραυλικά & Πνευματικά ΣΑΕ

Δημήτρης Πρίτσος. ISLAB HACK: Βασικές Έννοιες της Αρχιτεκτονικής

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

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

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

11 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

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

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

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

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

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

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

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

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

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

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

Κεφάλαιο 3. Διδακτικοί Στόχοι

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

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

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

Έλεγχος Κίνησης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

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

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

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

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

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

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

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

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

Τεχνολογίες Κύριας Μνήμης

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

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης III

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

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

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

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

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

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

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

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

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

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

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

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

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

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

Θερμοδυναμική - Εργαστήριο

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

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

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

Διαχείριση Κύριας Μνήμης

7 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

Επιτεύγµατα των Λ.Σ.

Σχεδίαση Ψηφιακών Συστημάτων

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΠΛΕ- 027 Μικροεπεξεργαστές

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

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

Transcript:

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

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

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

Σκοποί ενότητας Στην ενότητα αυτή εξετάζεται ο πρώτος επεξεργαστής των 32 bits ή 80386 και έχει σαν σκοπό να δείξει την εσωτερική του αρχιτεκτονική και τη λειτουργία του σε προστατευμένο τρόπο λειτουργίας στον οποίο βασίζεται η πολύ-επεξεργασία. 4

Περιεχόμενα ενότητας CPU 80386 Protected Mode Εσωτερική αρχιτεκτονική Οργάνωση μνήμης Εσωτερικοί καταχωρητές Καταχωρητής σημαιών Πίνακας διακοπών σε Real Mode Πίνακας διακοπών σε Protected Mode Διαχείριση μνήμης Περιγραφέας τμήματος Προσωρινός καταχωρητής περιγραφέα τμήματος Γενικός πίνακας περιγραφέων Τοπικός πίνακας περιγραφέων Προσδιορισμός περιγραφέων Προσδιορισμός LDT στον GDT Περιγραφέας LDT Περιγραφέας τμήματος Γραμμική διευθυνσιοδότηση Σελιδοποίηση μνήμης Μέθοδος σελιδοποίησης της μνήμης 5

CPU 80386 - P3 (1) Χαρακτηριστικά Εμφάνιση το 1985. Αποτελείται από 280.000 τρανσίστορς. Τροφοδοσία 5V. Ρολόϊ έως 40 MHz. Data bus 32 bits/4 bytes. Εσωτερικοί καταχωρητές των 32 bits. Address bus 32 bits. Φυσική μνήμη μέχρι 2 32 ή 4 GB. Κύκλος διαδρόμου (bus cycle) ίσος με 4 περιόδους ρολογιού. Ταχύτητα διαμεταγωγής (33 ΜΗz/4)X4 bytes=33 MB/s (264 Mbps). Τρεις τρόποι λειτουργίας. Πραγματικός τρόπος (Real mode), προστατευμένος τρόπος (Protected mode) και τον εικονικό πραγματικό τρόπο (Virtual real mode). 6

CPU 80386 - P3 (2) Χαρακτηριστικά Σε Real mode παρουσιάζει την ίδια αρχιτεκτονική με τον 8086. Μνήμη 1 ΜΒ, αλλά λόγω εσωτερικών βελτιωμένων τεχνικών απαιτεί λιγότερες περιόδους ρολογιού για την εκτέλεση εντολών και είναι πιο γρήγορος από τον 8086 στην ίδια συχνότητα λειτουργίας. Μόνο ένα πρόγραμμα μπορεί να εκτελείται κάθε φορά (PC-DOS). Σε Protected mode (με εντολή) μπορεί να λειτουργήσει σαν 80286 με δυνατότητα χρήσης εικονικής μνήμης και πολυεπεξεργασία (λειτουργικό OS/2, Windows NT). Εξελιγμένη μονάδα διαχείρισης μνήμης, η οποία εξασφαλίζει μεγαλύτερη δυνατότητα εικονικής μνήμης (64 ΤΒ) και καλύτερη απόδοση από τον 80286. Σε Virtual real mode μπορεί να λειτουργήσει σαν πολλαπλοί 8086, όπου καθένας είναι ανεξάρτητος από τον άλλο και έχει μνήμη 1 ΜΒ. Αυτό εξασφαλίζει την ταυτόχρονη λειτουργία πολλαπλών προγραμμάτων με ανεξαρτησία και εναλλαγή μεταξύ τους η οποία επιτυγχάνεται μέσω του υλικού. Μεταγωγή από το ένα mode στο άλλο με εντολή. Ολοκληρωμένο 132 pins (PGA-Pin Grid Array). 7

Protected mode Ο προστατευμένος τρόπος λειτουργίας εξασφαλίζει την πολυεπεξεργασία (δεν περιορίζει το μέγεθος του τμήματος στα 64 ΚΒ, το τμήμα δεν έχει σταθερό μήκος, καθορίζει δικαιώματα προσπέλασης και προτεραιότητες). Mέγιστη χωρητικότητα έως 4 GB και μήκος τμήματος έως 4 GB. Κατάταξη κάθε προγράμματος σε ένα επίπεδο προτεραιότητας 0 (υψηλή) 3 (χαμηλή). PL=0 Λειτουργικό, PL=1- Οδηγοί συσκευών, διαχείριση αρχείων, PL=2- Δευτερεύουσες λειτουργίες λειτουργικού (γραφικά), PL=3-Χρήστης. Πύλη ή Gate Ελεγχόμενοι τρόποι επικοινωνίας (π.χ. χρήση διαδικασιών του ΛΣ) υπό την επιτήρηση του λειτουργικού. Εάν υπάρξει υπέρβαση των κανόνων που θέτει το λειτουργικό σύστημα, τότε προκαλείται διακοπή η οποία καλείται εξαίρεση (exception). 8

80386 Εσωτερική αρχιτεκτονική H αρχιτεκτονική 9

80386 Οργάνωση μνήμης (1) Ο με μπορεί να προσπελάσει σε ένα κύκλο διαδρόμου 4 ή 2 ή 1 byte. Για να προσπελάσει 4 bytes πρέπει η διεύθυνση να είναι πολλαπλάσια του 4 (Α 1 Α 0 =00) ενώ επιλέγονται και οι τέσσερις τράπεζες. Για να προσπελάσει 2 bytes πρέπει η διεύθυνση να τελειώνει σε Α 1 Α 0 =00, οπότε επιλέγονται η πρώτη και η δεύτερη τράπεζα ή σε Α 1 Α 0 =01, οπότε επιλέγονται η δεύτερη και η τρίτη τράπεζα ή σε Α 1 Α 0 =10, οπότε επιλέγονται η τρίτη και η τέταρτη τράπεζα. 10

80386 Οργάνωση μνήμης (2) Για να προσπελάσει 1 byte μπορεί να χρησιμοποιηθεί οποιαδήποτε διεύθυνση μέσω της οποίας θα επιλεγεί μια από τις τέσσερις τράπεζες. ΜOV EAX,[1A50h], MOV EAX,[1A51h]. Σε περίπτωση που η διεύθυνση δεν τελειώνει σε 00 για προσπέλαση 4 bytes ή τελειώνει σε 11 για προσπέλαση 2 bytes, τότε απαιτούνται δυο κύκλοι διαδρόμου. Η ενεργοποίηση των τραπεζών γίνεται με τα σήματα Α 1 Α 0 και τα ΒΗ 0 ΒΗ 3. 11

80386 Εσωτερικοί καταχωρητές Οι παραπάνω εσωτερικοί καταχωρητές χρησιμοποιούνται στον πραγματικό τρόπο λειτουργίας (real mode) του με. Στον προστατευμένο τρόπο λειτουργίας χρησιμοποιούνται και άλλοι εσωτερικοί καταχωρητές οι οποίοι είναι μη ορατοί στο χρήστη και είναι οι καταχωρητές διαχείρισης της μνήμης, οι καταχωρητές ελέγχου λειτουργίας, οι καταχωρητές εντοπισμού λαθών και οι καταχωρητές ελέγχου. 12

80386 Καταχωρητής σημαιών (EFR) IOP (Input Output Privilege level) Τα δυο bits καθορίζουν το προνομιακό επίπεδο για είσοδο/έξοδο στον προστατευμένο τρόπο λειτουργίας. ΝΤ (Nested Task)-Ο δείκτης γίνεται 1 εάν η τρέχουσα διαδικασία έχει κληθεί από μια άλλη. Η τιμή του μπορεί να αλλάξει από το πρόγραμμα. RF (Resume Flag) - Με αυτή τη σημαία ελέγχεται η συνέχιση μιας λειτουργίας μετά την επόμενη εντολή, η οποία είχε διακοπεί για εξέταση καταχωρητών, μνήμης κλπ (debugging). VM (Virtual Mode) -Επιλέγεται ο δυνητικός τρόπος λειτουργίας του επεξεργαστή. 13

CR=Control Registers DR=Debug Registers TR=Task Register Εσωτερικοί καταχωρητές σε LDTR=Local Descriptor Table Register GDTR=Global Descriptor Table Register IDTR=Interrupt Descriptor Table register protected mode(1) 14

Εσωτερικοί καταχωρητές σε protected mode(2) Οι καταχωρητές τμημάτων καλούνται επιλογείς τμημάτων (Segment Selectors). Ο καταχωρητής διεργασίας (TR-Task Register) προσδιορίζει τη διεύθυνση μνήμης στην οποία ευρίσκεται το τμήμα κατάστασης (TSS-Task State Segment). Ο TR περιέχει τη διεύθυνση αρχής και το μήκος του TSS στο γενικό πίνακα GDT. Το λειτουργικό για κάθε διεργασία που πρόκειται να εκτελέσει δημιουργεί ένα TSS, όπου αποθηκεύονται τα χαρακτηριστικά της διεργασίας και μεταφέρονται στον με για την εκτέλεση. Η εναλλαγή των διεργασιών πραγματοποιείται με αποθήκευση της εσωτερικής κατάστασης του με στο TSS της απερχόμενης διεργασίας και τη μεταφορά του TSS της επικείμενης διεργασίας. 15

Εσωτερικοί καταχωρητές σε protected mode(3) Ο καταχωρητής γενικού πίνακα (GDTR-Global Description Table Register) περιέχει τη διεύθυνση αρχής και το μήκος του πίνακα GDT (εντολή LGDT mem_address). Ο καταχωρητής τοπικού πίνακα (LDTR-Local Description Table Register) περιέχει τη διεύθυνση αρχής και το μήκος του πίνακα LDT (εντολή LLDT register/16 bit address). Ο καταχωρητής πίνακα διακοπών (IDTR-Interrupt Description Table Register) περιέχει τη διεύθυνση αρχής και το μήκος του πίνακα IDT, ο οποίος περιέχει τις διευθύνσεις των διεργασιών διακοπής που τώρα καλούνται πύλες διακοπής (interrupt gates) και είναι επιλογείς τμημάτων TSS σαν μια κοινή διεργασία. 16

80386 Πίνακας διακοπών σε real mode Πίνακας διακοπών IDT σε real mode (8086) 17

80386 Πίνακας διακοπών σε protected mode Πίνακας διακοπών IDT σε protected mode 18

80386 Διαχείριση Μνήμης Η λογική διεύθυνση αποτελείται από τη διεύθυνση τμήματος (segment) και τη μετατόπιση μέσα σε αυτό (offset). Στον προστατευμένο τρόπο λειτουργίας (protected mode), ο καταχωρητής τμήματος (segment register) δεν δίνει τα 16 πιο σημαντικά bits της φυσικής διεύθυνσης (όπως στο real mode δηλ. στον 8086) αλλά είναι δείκτης σε κάποιον πίνακα ο οποίος περιέχει τη διεύθυνση. Ο καταχωρητής τμήματος ονομάζεται επιλογέας τμήματος (segment selector) και ο πίνακας με τις διευθύνσεις καλείται περιγραφέας τμήματος (segment descriptor). 19

80386 Περιγραφέας Τμήματος Μήκος περιγραφέα = 8 bytes 20

80386 Προσωρινός καταχωρητής περιγραφέα τμήματος 21

80386 Γενικός Πίνακας Περιγραφέων -GDT (1) Η διεύθυνση του πίνακα GDT καθορίζεται από τον αντίστοιχο καταχωρητή GDTR (GDT Register). O GDTR περιέχει τη διεύθυνση βάσης του πίνακα GDT, η οποία έχει μήκος 32 bits και το μήκος του πίνακα, το οποίο είναι 16 bits (64 KB = 8192 στοιχεία * 8 bytes ανά στοιχείο). Το περιεχόμενο του GDTR καθορίζεται με την εντολή LGDT s, όπου s είναι η διεύθυνση της μνήμης που περιέχει το πρώτο από τα 6 bytes που θα φορτωθούν στον GDTR. Η τιμή του GDTR τίθεται από το λειτουργικό σύστημα και παραμένει σταθερή, ενώ η τιμή του LDTR μεταβάλλεται κάθε φορά που αλλάζει η τρέχουσα διεργασία. 22

80386 Γενικός Πίνακας Περιγραφέων -GDT (2) Ο GDT δημιουργείται από το ΛΣ, είναι μοναδικός και περιέχει τους περιγραφείς: - Περιγραφείς για την πρόσβαση στον πίνακα TSS κάθε διεργασίας. - Περιγραφείς για την πρόσβαση στον πίνακα LDT κάθε διεργασίας. - Περιγραφείς για την πρόσβαση σε κοινόχρηστα τμήματα κώδικα, δεδομένων, σωρού. - Περιγραφείς για την πρόσβαση σε διεργασίες με μεγαλύτερη προτεραιότητα (Call Gates). - Περιγραφείς για την εναλλαγή των διεργασιών (Task Gates). Είναι 64 ΚΒ επειδή έχει 8192 εγγραφές (δεν υπάρχει η μηδενική) με 8 bytes η καθεμιά. Κάθε περιγραφέας ή εγγραφή ορίζει μνήμη έως 4 GB και επομένως η συνολική μνήμη που ορίζεται είναι 32 ΤΒ (4 GB X 8192). 23

80386 Τοπικός Πίνακας Περιγραφέων -LDT Το λειτουργικό δημιουργεί έναν πίνακα LDT για κάθε διεργασία. Ο τοπικός πίνακας περιγραφέων περιλαμβάνει τα τμήματα (κώδικα, δεδομένων, σωρού) κάθε διεργασίας. Η θέση του κάθε πίνακα LDT στη μνήμη (δηλ. ο περιγραφέας του) υπάρχει στον πίνακα GDT. Η επιλογή του περιγραφέα στον GDT γίνεται μέσω του καταχωρητή LDTR (LDT Register), δηλαδή του επιλογέα LDT (16 bits). Ο προσωρινός καταχωρητής του LDTR φορτώνεται από τον περιγραφέα με τη διεύθυνση βάσης (32 bits) και το μήκος (16 bits) του αντίστοιχου πίνακα LDT. Η εντολή με την οποία παίρνει τιμή ο LDTR (ο επιλογέας LDT) είναι η LLDT s, όπου s είναι ένας καταχωρητής των 16 bits ή μια θέση μνήμης των 16 bits. 24

80386 Προσδιορισμός Περιγραφέων Περιγραφείς 25

80386 Προσδιορισμός LDT στον GDT Πίνακας GDT 26

80386 Περιγραφέας LDT LDT 27

80386 Περιγραφέας Τμήματος R=0 Πρόσβαση μόνο για ανάγνωση κώδικα εντολής R=1 Πρόσβαση για ανάγνωση κώδικα ή δεδομένων (π.χ. πίνακα σταθερών) A=0/1 Το τμήμα δεν έχει ή έχει προσπελαθεί W=0 Τμήμα δεδομένων (μόνο για ανάγνωση) W=1 Τμήμα δεδομένων/σωρού για εγγραφή/ανάγνωση δεδομένων Ε=0/1 Ο σωρός κινείται προς φθίνουσες/αύξουσες διευθύνσεις 28

80386 Γραμμική διευθυνσιοδότηση Κάθε διεργασία έχει τον τοπικό πίνακα των περιγραφέων (LDT-Local Descriptor Table), ο οποίος περιέχει τα τμήματα της διεργασίας. Επειδή κάθε πίνακας έχει 8192 στοιχεία και κάθε στοιχείο μπορεί να ορίσει μνήμη 4 GB, κάθε διεργασία μπορεί να ορίσει μνήμη 8192*4 GB=32 TB. Ουσιαστικά κάθε διεργασία ορίζει μνήμη 64 ΤΒ επειδή υπάρχει και ο GDT. Οι περιγραφείς των τοπικών πινάκων όλων των διεργασιών αποθηκεύονται στο γενικό πίνακα GDT. Ο γενικός πίνακας των περιγραφέων (GDT-Global Descriptor Table) ανήκει στο λειτουργικό σύστημα και η επιλογή του LDT ή του GDT γίνεται από το bit ΤΙ του επιλογέα. 29

80386 Γραμμική διευθυνσιοδότηση τμημάτων (1) Γραμμική διευθυνσιοδότηση τμημάτων 30

80386 Γραμμική διευθυνσιοδότηση τμημάτων (2) LDTR - GDTR 31

80386 Παράδειγμα 1 (1) Θα τοποθετήσει CS=0019h (επιλογέας τμήματος) 0000 0000 0001 1 0 01 Θα επιλεγεί η τρίτη εγγραφή στον πίνακα GDT. Έστω ότι τα περιεχόμενά του είναι αυτά που υπάρχουν στην επόμενη διαφάνεια. Το νέο τμήμα είναι τμήμα κώδικα (C/D=1), δεν είναι του ΛΣ (S=1), είναι τμήμα των 32 bits (D/B=1), περιέχει κώδικα εντολών (R=0) και ευρίσκεται στη μνήμη (P=1). Το μήκος του είναι 256 ΚΒ (G=0). Ελέγχει αν η μετατόπιση 0100h ευρίσκεται μέσα στο τμήμα. 32

80386 Παράδειγμα 1 (2) DPL=1 και C=0 Μπορεί να προσπελαστεί από το καλών πρόγραμμα επειδή RPL=1. Ο περιγραφέας φορτώνεται στον προσωρινό καταχωρητή τμήματος (48 bits). Ο έλεγχος μεταφέρεται στη διεύθυνση μνήμης 002Α05B2h:0100h 002A06B2h. Κάνει Α=1 σηματοδοτώντας τη χρήση του τμήματος. 33

80386 Παράδειγμα 2 (1) DS=2A1Dh (Επιλογέας τμήματος) 0010 1010 0001 1 1 01 Ο περιγραφέας του νέου τμήματος θα είναι στον πίνακα LDT (TI=1) και στην 1348 εγγραφή. Το νέο τμήμα είναι τμήμα δεδομένων ή σωρού (C/D=0), δεν είναι τμήμα του ΛΣ (S=1), είναι 32 bits (D/B=1), είναι στη μνήμη (P=1), είναι τμήμα για ανάγνωση και εγγραφή (W=1) και εάν είναι τμήμα σωρού θα λειτουργεί προς φθίνουσες διευθύνσεις (E=0). Το μήκος του νέου τμήματος είναι 64 ΚΒ (G=0). 34

80386 Παράδειγμα 2 (2) DPL=3, RPL=1 Μπορεί να προσπελαστεί Ο περιγραφέας φορτώνεται στον προσωρινό καταχωρητή. Ο με εκτελεί την τρίτη εντολή. Ελέγχει αν η μετατόπιση 0200h ευρίσκεται μέσα στο νέο τμήμα συγκρίνοντας με το μήκος του. Ο με μεταφέρει τον έλεγχο στη διεύθυνση 00001F48h + 0200h=00002148h. Κάνει Α=1 επειδή το νέο τμήμα χρησιμοποιείται. 35

80386 Σελιδοποίηση μνήμης (1) Η ανταλλαγή κώδικα ή δεδομένων από το λειτουργικό σύστημα, μεταξύ κύριας φυσικής μνήμης (περιορισμένη σε μέγεθος) και δευτερεύουσας φυσικής μνήμης (σκληρός δίσκος με μεγάλη χωρητικότητα), η οποία καλείται εικονική μνήμη (virtual memory), δίνει στα προγράμματα εφαρμογής μεγαλύτερο χώρο ή λογική μνήμη. Το μικρότερο μέγεθος ανταλλαγής είναι το μήκος του τμήματος. Το πρόβλημα που δημιουργείται, το οποίο γίνεται μεγαλύτερο με το μέγεθος του τμήματος, είναι ότι ο με πρέπει να βρίσκει συνεχόμενο χώρο στη μνήμη για την αποθήκευση του τμήματος και αυτή η διαδικασία είναι ιδιαίτερα χρονοβόρα γιατί προϋποθέτει αναδιάταξη των περιεχομένων της μνήμης. 36

80386 Σελιδοποίηση μνήμης (2) Η σελιδοποίηση της λογικής ή φυσικής μνήμης (δηλαδή των τμημάτων κώδικα ή δεδομένων) σε σελίδες των 4 ΚΒ δίνει μια λύση στο παραπάνω πρόβλημα. Το μικρότερο μέγεθος ανταλλαγής είναι μια σελίδα και οι σελίδες ενός τμήματος μπορεί να είναι διασκορπισμένες στη μνήμη. Το λειτουργικό οφείλει με κάποιο μηχανισμό να σχηματοποιήσει το τμήμα από αυτές τις σελίδες. Ο τρόπος με τον οποίο γίνεται αυτό είναι ο εξής: Δημιουργείται η γραμμική διεύθυνση (Linear Address), όπως έχει ήδη αναφερθεί, σύμφωνα με την οποία υπάρχει συνεχόμενη διευθυνσιοδότηση σε ένα τμήμα. 37

80386 Σελιδοποίηση μνήμης (3) Το λειτουργικό διατηρεί στη μνήμη πίνακες, μεγέθους 4 ΚΒ, με τις διευθύνσεις αρχής όλων των σελίδων (Page Table). Η κάθε εγγραφή του πίνακα (Page Table Entry) είναι η διεύθυνση αρχής μιας σελίδας. Οι διευθύνσεις όλων των πινάκων διατηρούνται σε έναν πίνακα ευρετήριο (Page Directory). Η διεύθυνση αρχής του πίνακα-ευρετήριου ευρίσκεται στον καταχωρητή ελέγχου CR3. Μέρος της γραμμικής διεύθυνσης υποδεικνύει τη διεύθυνση του πίνακα σελίδων στον πίνακα-ευρετήριο, δηλαδή λειτουργεί σαν δείκτης. Άλλο μέρος της γραμμικής διεύθυνσης λειτουργεί σαν δείκτης στον πίνακα σελίδων και υποδεικνύει τη σελίδα. Τέλος, άλλο μέρος της γραμμικής διεύθυνσης λειτουργεί σαν δείκτης μέσα στην επιλεγμένη σελίδα. 38

80386 Μέθοδος σελιδοποίηση της μνήμης Σελιδοποίηση μνήμης 39

Βιβλιογραφία 1. Ι. Ν. Έλληνας, ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ-Οικογένεια Επεξεργαστών 80Χ86,, ISBN: 978-960-930121-3, Αθήνα 2007. 2. Γεωργίου Δ. Κόγια, Αρχιτεκτονική, Οργάνωση και Προγραμματισμός μικροϋπολογιστών, Σύγχρονη Εκδοτική. 3. Κ. Ζ. Πεκμεστζή, Συστήματα μικροϋπολογιστών, Εκδόσεις Συμμετρία. 4. Yu-Cheng Liu, Glenn A. Gibson, Microprocessor systems: The 8086/8088-Family Architecture, Programming and Design, Prentice Hall. 5. Barry B. Brey, The Intel Microprocessors 8086 Pentium. Architecture, Programming and Interfacing. 6. John Uffenbeck, Microcomputers and Microprocessors, Prentice Hall. 7. W. H. Murray, C. H. Pappas, 80386/80286 Assembly Language Programming, McGraw Hill. 40

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