x86 vs x64
Η πιο σημαντική διαφορά μεταξύ x86 και x64 είναι ότι η πρώτη είναι η αρχιτεκτονική των 32 bit και η δεύτερη είναι η αρχιτεκτονική συνόλου εντολών 64 bit. Μια αρχιτεκτονική συνόλου εντολών (ISA) είναι ένας πολύ σημαντικός όρος που ισχύει για κάθε CPU. Οδηγίες, διευθύνσεις μνήμης, καταχωρητές και πολλά άλλα αρχιτεκτονικά τμήματα μιας CPU καθορίζονται από το ISA. Το x86 είναι ένα παγκοσμίως γνωστό ISA που εισήχθη από την Intel το 1978 με τον επεξεργαστή 8086. Στη συνέχεια έγιναν διάφορες επεκτάσεις και, το 2000, η AMD δημιούργησε την προδιαγραφή για να επεκτείνει το σύνολο εντολών x86 στα 64 bit με το όνομα AMD64. Αργότερα άλλες εταιρείες όπως η Intel εφάρμοσαν επίσης αυτή την προδιαγραφή και αυτή η AMD64 είναι αυτή που προσδιορίζεται με το όνομα x64.
Τι είναι το x86;
Το x86 είναι μια αρχιτεκτονική σετ εντολών που εισήχθη από την Intel με τον περίφημο επεξεργαστή 8086. Το 1978, η Intel παρουσίασε τον επεξεργαστή 8086 που ήταν επεξεργαστής 16 bit. Στη συνέχεια, αργότερα εισήγαγαν διάφορους επεξεργαστές όπως 80186, 80286, 80386 και 80486, και όλοι ήταν συμβατοί με το αρχικό σύνολο εντολών που χρησιμοποιήθηκε στον επεξεργαστή 8086. Δεδομένου ότι όλοι αυτοί οι επεξεργαστές τελειώνουν με τον αριθμό 86, η αρχιτεκτονική του συνόλου εντολών αναγνωρίστηκε με το όνομα x86. Με την εισαγωγή του 80386, η εντολή x86 επεκτάθηκε σε ένα σύστημα 32 bit. Εδώ, 32 bit σημαίνει ότι όλοι οι καταχωρητές, ο δίαυλος μνήμης και ο δίαυλος δεδομένων είναι 32 bit. Στη συνέχεια οι επεξεργαστές Pentium ήρθαν ως Pentium I, Pentium II, Pentium III, Pentium IV και όλοι αυτοί ακολούθησαν επίσης μια αρχιτεκτονική 32 bit. Αλλά διάφορες άλλες επεκτάσεις συνέβησαν στην αρχιτεκτονική x86, όπως η προσθήκη εντολών όπως MMX, SSE και SSE2. Εκτός από αυτό, έγιναν και πολλές άλλες βελτιώσεις. Στη συνέχεια, το σύνολο εντολών x86 επεκτάθηκε σε ένα σύνολο εντολών 64 bit και από αυτό το σημείο και μετά ονομάστηκε x64, το οποίο θα συζητήσουμε στην επόμενη ενότητα. Τέλος πάντων, γενικά, το x86 αναφέρεται στην αρχιτεκτονική 32 bit που εξελίχθηκε από μια αρχιτεκτονική 16 bit που προέκυψε με τον επεξεργαστή 8086.
8086 επεξεργαστής
Τι είναι το x64;
Ένα σύστημα 32 bit μπορεί να αντιπροσωπεύει μόνο 232 διακριτές τιμές και, επομένως, η διευθυνσιοδότηση μνήμης περιορίζεται σε αυτόν τον αριθμό διευθύνσεων. 232 byte είναι ίσα με 4 GB και, επομένως, το x86 είχε μέγιστο όριο διευθυνσιοδοτήσιμης μνήμης 4 GB. Για να ξεπεραστεί αυτό, έγιναν περαιτέρω επεκτάσεις στην αρχιτεκτονική x86. Η AMD, περίπου το 2000, εισήγαγε τέτοιες προδιαγραφές που επέκτεινε την αρχιτεκτονική x86 στα 64 bit. Αυτό παρουσιάστηκε με το όνομα AMD64. Το x64 είναι ένα άλλο όνομα που δόθηκε σε αυτήν την αρχιτεκτονική AMD64. Αυτή η αρχιτεκτονική AMD64 ή x64 είναι επίσης γνωστή με το όνομα x86_64. Με την αρχιτεκτονική των 64 bit, όλοι οι καταχωρητές έγιναν 64 bit και ο δίαυλος μνήμης και ο δίαυλος δεδομένων έγιναν επίσης 64 bit. Τώρα μπορούν να αντιμετωπιστούν 264 διαφορετικές τιμές και αυτό δίνει ένα τεράστιο ανώτατο όριο στην πιθανή μέγιστη μνήμη. Ο AMD K8 ήταν ο πρώτος επεξεργαστής που εφάρμοσε αυτήν την αρχιτεκτονική 64 bit. Στη συνέχεια, η Intel υιοθέτησε επίσης αυτήν την αρχιτεκτονική. Με τους επεξεργαστές Intel Core που ξεκίνησαν από τον Intel Core 2, η Intel άρχισε να χρησιμοποιεί αυτή την αρχιτεκτονική στους επεξεργαστές της. Επί του παρόντος, όλοι οι επεξεργαστές της Intel, όπως οι Core i3, Core i5 και Core i7 χρησιμοποιούν αυτήν την αρχιτεκτονική x64. Κάποιο σημαντικό πράγμα που πρέπει να τονιστεί είναι ότι αυτή η αρχιτεκτονική x64 εξακολουθεί να είναι συμβατή με το παλιό σύνολο εντολών x86.
επεξεργαστής 64 bit
Ποια είναι η διαφορά μεταξύ x86 και x64;
• το x86 παρουσιάστηκε περίπου το έτος 1978 ενώ το x64 εμφανίστηκε πιο πρόσφατα το έτος 2000.
Το • ο x86 προέκυψε από τον διάσημο επεξεργαστή Intel 8086 και, ως εκ τούτου, ο x86 εισήχθη από την Intel. Αλλά το x64, το οποίο ήρθε ως επέκταση του x86, εισήχθη από την AMD.
• Η αρχιτεκτονική x86 είναι 32 bit. (Οι πρώτοι επεξεργαστές x86 ήταν 16 bit αλλά, σε μεταγενέστερους επεξεργαστές, έγινε επέκταση στα 32 bit). Η αρχιτεκτονική x64 είναι 64 bit.
• Επεξεργαστές με αρχιτεκτονική συνόλου εντολών x86, επομένως, έχουν καταχωρητές 32 bit, δίαυλο μνήμης 32 bit και δίαυλο δεδομένων 32 bit. Αλλά το x64 έχει καταχωρητές 64 bit, δίαυλο μνήμης 64 bit και δίαυλο δεδομένων 64 bit.
• Το x86 έχει έναν περιορισμό στη μέγιστη διευθυνσιοδοτούμενη μνήμη που είναι το ανώτερο όριο των 4 GB (232 byte). Όμως, σε συστήματα x64, αυτό το όριο είναι τεράστιο, το οποίο είναι 264 byte.
• Το x64 είναι μια επέκταση του x86; Επομένως, είναι πολύ βελτιωμένο και ισχυρό από το παλιό x86.
• Οι τιμές που μπορούν να αποθηκευτούν σε έναν καταχωρητή, σε ένα σύστημα x64, είναι μεγαλύτερες από τις τιμές που μπορούν να αποθηκευτούν σε έναν καταχωρητή που βασίζεται σε x86. Επομένως, το x64 μπορεί να χειριστεί τον υπολογισμό μεγαλύτερων ακεραίων πολύ πιο γρήγορα, καθώς δεν είναι απαραίτητο να χρησιμοποιηθούν αρκετοί καταχωρητές σε αυτήν την περίπτωση για να χωρίσετε την τιμή και να αποθηκεύσετε όπως στο x86.
• το x64 μπορεί να μεταδίδει παράλληλα δεδομένα μεγαλύτερου μεγέθους κατά μήκος του διαύλου δεδομένων. Δηλαδή, ένας δίαυλος δεδομένων 64 bit μπορεί να μεταδώσει παράλληλα 64 bit ενώ η αρχιτεκτονική x86 που έχει δίαυλο 32 bit μπορεί παράλληλη μετάδοση μόνο 32 bit.
Σύνοψη:
x86 vs x64
x86 η αρχιτεκτονική συνόλου εντολών είναι 32 bit ενώ η αρχιτεκτονική συνόλου εντολών x64 είναι 64 bit. Το x64 ήρθε ως επέκταση της υπάρχουσας αρχιτεκτονικής x86. Οι καταχωρητές, ο δίαυλος μνήμης, ο δίαυλος δεδομένων στις αρχιτεκτονικές x86 είναι 32 bit ενώ αυτός είναι 64 bit σε x64. Επομένως, η μέγιστη ποσότητα διευθυνσιοδοτούμενης μνήμης είναι πολύ μεγαλύτερη στα συστήματα x64 από ότι στα συστήματα x86. Το x86 εισήχθη από την Intel με τον επεξεργαστή 8086 που ήταν επεξεργαστής 16 bit και με τον καιρό αυτό το x86 επεκτάθηκε στα 32 bit. Στη συνέχεια, αργότερα, η AMD εισήγαγε την αρχιτεκτονική x64 επεκτείνοντας την υπάρχουσα αρχιτεκτονική x86 και αυτό το x64 είναι πλήρως συμβατό με το σύνολο εντολών x86.