X86: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 279:
=== Άλλοι/ειδικοί καταχωρητές ===
Οι επεξεργαστές x86 (αρχίζοντας από τον 80386) περιλαμβάνουν επίσης κάποιους ειδικούς καταχωρητές όπως οι [[καταχωρητής ελέγχου|καταχωρητές ελέγχου]] (CR0 έως 4, CR8 μόνο στα 64-bit), καταχωρητές αποσφαλμάτωσης (DR0 έως 3, επιπλέον 6 και 7), οι καταχωρητές δοκιμών (TR3 έως 7, μόνο στον 80486), οι καταχωρητές περιγραφέων (GDTR, LDTR, [[Interrupt descriptor table|IDTR]]), ο καταχωρητής εργασιών (TR) και οι διάφοροι ειδικοί καταχωρητές κάθε μοντέλου (model-specific registers ή MSRs, αρχίζοντας από τον Pentium).
 
=== Σκοπός ===
Αν και οι βασικοί καταχωρητές (εκτός του δείκτη εντολής) είναι "γενικής χρήσης" και μπορούν να χρησιμοποιηθούν για οτιδήποτε, αρχικά προτάθηκε η εξής χρήση τους:
* AX/EAX/RAX: συσσωρευτής ('''A'''ccumulator)
* BX/EBX/RBX: δείκτης βάσης ('''B'''ase index), για παράδειγμα σε πίνακες
* CX/ECX/RCX: μετρητής ('''C'''ounter)
* DX/EDX/RDX: δεδομένα ('''D'''ata)/γενική χρήση
* SI/ESI/RSI: δείκτης πηγής ('''S'''ource '''I'''ndex) για λειτουργίες με [[Συμβολοσειρά|συμβολοσειρές]]
* DI/EDI/RDI: δείκτης προορισμού ('''D'''estination '''I'''ndex) για λειτουργίες με συμβολοσειρές
* SP/ESP/RSP: δίκτης στοίβας ('''S'''tack '''P'''ointer) που δείχνει στο πάνω μέρος της στοίβας
* BP/EBP/RBP: δείκτης βάση στοίβας (Stack '''B'''ase '''P'''ointer) που δείχνει στη διεύθυνση του τρέχοντος [[πλαίσιο στοίβας|πλαισίου στοίβας]]
* IP/EIP/RIP: δείκτης εντολής - κρατάει το μετρητή προγράμματος (program counter), που δείχνει στην τρέχουσα εντολή.
 
Δεν προτάθηκαν κάποιες ιδιαίτερες χρήσεις για τους άλλους 8 καταχωρητές που είναι διαθέσιμοι στην κατάσταση 64-bit.
 
Κάποιες εντολές μεταγλωττίζονταν και εκτελούνταν γρηγορότερα όταν χρησιμοποιούσαν τους καταχωρητές ανάλογα με τις παραπάνω χρήσεις. Για παράδειγμα, αν χρησιμοποιηθεί ο AL σαν [[συσσωρευτής (επιστήμη υπολογιστών)|συσσωρευτής]] για να προστεθεί μια απευθείας τιμή τύπου byte σε αυτόν, προκύπτει η γρήγορη εντολή 04h (''πρόσθεση στον AL''), ενώ αν χρησιμοποιηθεί ο καταχωρητής BL προκύπτει η γενική (δηλ. όχι εξειδικευμένη) εντολή 80C3h. Άλλο παράδειγμα είναι η διαίρεση διπλής ακρίβειας και ο πολλαπλασιασμός που λειτουργούν με τους καταχωρητές AX και DX.
 
Οι σύγχρονοι μεταγλωττιστές εκμεταλλεύονται το byte ''sib'' ("scaled index byte") που επιτρέπει τον ομοιόμορφο χειρισμό των καταχωρητών. Κάποιες ειδικές εντολές έχασαν την προτεραιότητά τους στη σχεδίαση υλικού και έγιναν πιο αργές σε σχέση με ισοδύναμες σύντομες ακολουθίες εντολών, όπως η εντολή LODSW.
 
== Δείτε επίσης ==
Ανακτήθηκε από "https://el.wikipedia.org/wiki/X86"