|
Τμήματα
Η αρχιτεκτονική των x86 δυνάμεων επεξεργαστών στη χρήση των τμημάτων μνήμης για να διαχειριστεί τις πληροφορίες, το μέγεθος αυτών των τμημάτων είναι 64kb.
Ο λόγος αυτών των τμημάτων είναι ότι, θεωρώντας ότι το μέγιστο μέγεθος ενός αριθμού που ο επεξεργαστής μπορεί να διαχειριστεί δίνεται από μια λέξη 16 μπιτ ή του καταλόγου, δεν θα ήταν δυνατό να προσεγγιστούν περισσότερες από 65536 τοποθεσίες της μνήμης που χρησιμοποιεί μόνο ενός από αυτούς τους καταλόγους, αλλά τώρα, εάν η μνήμη διαιρείται σε ομάδες ή τμήματα, καθεμία 65536 τοποθεσιών, και χρησιμοποιούμε μια διεύθυνση σε έναν αποκλειστικό κατάλογο για να βρούμε κάθε τμήμα, και έπειτα κάνουμε κάθε διεύθυνση μιας συγκεκριμένης αυλάκωσης με δύο καταλόγους, και είναι δυνατό για μας να έχουμε πρόσβαση σε μια ποσότητα 4294967296 ψηφιολέξεων της μνήμης.
Για η assembler είναι σε θέση να διαχειριστεί τα στοιχεία, είναι απαραίτητο ότι κάθε κομμάτι των πληροφοριών ή της οδηγίας βρίσκεται στην περιοχή που αντιστοιχεί στα αντίστοιχα τμήματά της. Η assembler έχει πρόσβαση σε αυτές τις πληροφορίες λαμβάνοντας υπόψη τον εντοπισμό του τμήματος, που δίνεται από τους καταλόγους DS, ES, SS και καισίου και μέσα στον κατάλογο η διεύθυνση του διευκρινισμένου κομματιού των πληροφοριών. Είναι λόγω αυτού ότι όταν δημιουργούμε ένα πρόγραμμα χρησιμοποιώντας Debug για κάθε γραμμή που συγκεντρώνουμε, κάτι παρεμφερή εμφανίζεται:
1CB0:0102 MOV AX,BX
Όπου ο πρώτος αριθμός, 1CB0, αντιστοιχεί στο τμήμα μνήμης που χρησιμοποιείται, ο δεύτερος αναφέρεται στη διεύθυνση μέσα σε αυτό το τμήμα, και οι οδηγίες που θα αποθηκευτούν από εκείνη την διεύθυνση ακολουθούν.
Η assembler ρυθμίζει το μέγεθος των τμημάτων που παίρνουν ως βάση τον αριθμό ψηφιολέξεων ανάγκες κάθε συγκεντρωμένες οδηγίας, δεδομένου ότι θα ήταν απόβλητα της μνήμης για να χρησιμοποιήσει ολόκληρα τα τμήματα. Παραδείγματος χάριν, εάν ένα πρόγραμμα χρειάζεται μόνο 10kb για να αποθηκεύσει τα στοιχεία, το τμήμα στοιχείων θα είναι μόνο 10kb και όχι 64kb που μπορεί να χειριστεί.
|
|