Σχεδιαστής | Intel, AMD |
---|---|
Bits | 16-bit, 32-bit, 64-bit |
Κυκλοφόρησε | 1978 |
Σχεδίαση | CISC |
Τύπος | Καταχωρητές-Μνήμη (Register-Memory) |
Κωδικοποίηση | Ποικίλλει (1 έως 15 byte) |
Διακλάδωση | Καταχωρητής κατάστασης (Status register) |
Endianness | Little |
Μέγεθος σελίδας | 8086–i286: κανένα i386, i486: σελίδες των 4 KB P5 Pentium: πρόσθεσε σελίδες των 4 MB (Legacy PAE: 4 KB→2 MB) x86-64: πρόσθεσε σελίδες του 1 GB |
Επεκτάσεις | x87, IA-32, P6, MMX, SSE, SSE2, x86-64, SSE3, SSSE3, SSE4, SSE5, AVX |
Ανοιχτός | Όχι πλήρως. Για συγκεκριμένα προχωρημένα χαρακτηριστικά του x86 χρειάζεται άδεια από την Intel, ενώ αντίστοιχα για τον x86-64 ίσως χρειάζεται άδεια από την AMD. Ο επεξεργαστής 80486 κυκλοφορεί πάνω από 20 χρόνια στην αγορά [1] και δεν τον επηρεάζουν πατέντες. Αυτό το υποσύνολο της αρχιτεκτονικής x86 είναι επομένως ανοιχτό. |
Καταχωρητές | |
Γενικής χρήσης | 16-bit: 6 καταχωρητές με ειδικούς ρόλους + BP και SP; 32-bit: 6 GPRs + EBP και ESP; 64-bit: 14 GPRs + RBP και RSP. |
Κινητής υποδιαστολής | 16-bit: Επιπλέον ξεχωριστή μονάδα κινητής υποδιαστολής x87 (FPU). 32-bit: Ξεχωριστή ή ενσωματωμένη μονάδα κινητής υποδιαστολής x87 (FPU), ενσωματωμένες μονάδες SSE2 σε μεταγενέστερους επεξεργαστές. 64-bit: Ενσωματωμένες μονάδες x87 και SSE2. |
Ο όρος x86 αναφέρεται σε μια οικογένεια από αρχιτεκτονικές συνόλου εντολών[2] που βασίζονται στην CPU Intel 8086. Ο επεξεργαστής 8086 κυκλοφόρησε το 1978 σαν μια πλήρως 16-bit επέκταση του 8080 της Intel που βασιζόταν σε τεχνολογία 8-bit, και εισήγαγε το segmentation για να ξεπεράσει το φράγμα των 16-bit διευθύνσεων της προηγούμενης σχεδίασης. Ο όρος x86 προήλθε από το γεγονός ότι οι πρώτοι απόγονοι του 8086 είχαν και αυτοί ονόματα που τελείωναν σε "86". Με τα χρόνια έχουν γίνει πολλές προσθήκες και επεκτάσεις στο σύνολο εντολών x86, σχεδόν πάντα με βάση την προς τα πίσω συμβατότητα (backward compatibility).[3] Η αρχιτεκτονική έχει υλοποιηθεί σε επεξεργαστές της Intel, της Cyrix, της AMD, της VIA, και πολλών άλλων εταιρειών.
Ο όρος δεν είναι συνώνυμος με την συμβατότητα με τον IBM PC: η τελευταία απαιτεί και άλλο υλικό. Υπήρξαν και άλλα συστήματα που χρησιμοποίησαν τσιπ x86, όπως τα ενσωματωμένα συστήματα και ο φορητός υπολογιστής GRID Compass, κάποιες φορές πριν από τον ίδιο τον IBM PC.
Ο όρος διαδόθηκε μετά την κυκλοφορία του 80386, και υπονοεί συνήθως συμβατότητα με το σύνολο εντολών 32-bit του 80386. Αυτό συχνά γράφεται και σαν x86-32 για να ξεχωρίζει από το αρχικό "x86-16" που ήταν 16-bit ή από το x86-64 που είναι 64-bit.[4] Αν και οι περισσότεροι επεξεργαστές x86 που χρησιμοποιούνται σε νέους προσωπικούς υπολογιστές και εξυπηρετητές έχουν δυνατότητες 64-bit, για να αποφεύγονται προβλήματα συμβατότητας με παλαιότερους υπολογιστές ή συστήματα, συχνά χρησιμοποιείται ο όρος x86-64 (ή x64) για να υποδηλώνει λογισμικό 64-bit, με τον όρο x86 να χρησιμοποιείται μόνο για λογισμικό 32-bit.[5][6]
Αν και ο 8086 αναπτύχθηκε αρχικά για ενσωματωμένα συστήματα και μικρούς προσωπικούς υπολογιστές (για χρήση δηλαδή από έναν χρήστη), ως απάντηση στον επιτυχημένο Zilog Z80 που ήταν 8080-συμβατός,[7] σύντομα η γραμμή των x86 απέκτησε περισσότερα χαρακτηριστικά και επεξεργαστική ισχύ. Σήμερα οι x86 είναι πολύ διαδεδομένοι στους σταθερούς και στους φορητούς υπολογιστές και έχουν αντικαταστήσει τους μεσαίου μεγέθους υπολογιστές (midrange computers) και τους επεξεργαστές RISC σε πολλούς εξυπηρετητές και σταθμούς εργασίας. Το υλικό των x86 υποστηρίζεται από ένα μεγάλο μέρος του λογισμικού, όπως τα λειτουργικά συστήματα DOS, Windows, Linux, BSD, Solaris και Mac OS X.
Οι σύγχρονοι x86 δεν απαντώνται συχνά σε ενσωματωμένα συστήματα και σε εφαρμογές με απαιτήσεις χαμηλής κατανάλωσης ενέργειας (όπως αυτές που βασίζονται σε μικρές μπαταρίες), ούτε σε αγορές φτηνών μικροεπεξεργαστών, όπως οι οικιακές συσκευές και τα παιχνίδια.[8] Συνήθως χρησιμοποιούνται απλές αρχιτεκτονικές 8-bit και 16-bit, αν και υπάρχουν οι x86-συμβατοί VIA C7, VIA Nano, AMD Geode, Athlon Neo, και Intel Atom, που είναι σχεδιάσεις 32-bit και 64-bit με σχετικά μικρή κατανάλωση και κόστος.
Πολλοί έχουν προσπαθήσει, συμπεριλαμβανομένης της ίδιας της Intel, να αντικατασταθεί η "άκομψη" αρχιτεκτονική x86, η οποία είχε προκύψει κατευθείαν από τους πρώτους απλούς μικροεπεξεργαστές 8-bit. Παραδείγματα είναι ο iAPX 432 (γνωστός και σαν Intel 8800), ο Intel 960, ο Intel 860 και η αρχιτεκτονική Itanium της Intel και της Hewlett Packard. Παρόλα αυτά, η συνεχής βελτίωση της μικροαρχιτεκτονικής και των κυκλωμάτων των x86, καθώς και η ανάπτυξη της βιομηχανίας των ημιαγωγών έχουν εδραιώσει τους x86 σε πολλές περιοχές εφαρμογών. Η επέκταση 64 bit της AMD για τους x86 (στην οποία η Intel τελικά απάντησε με μια συμβατή σχεδίαση)[9] και η δυνατότητα των x86 να κλιμακώνουν τις επιδόσεις τους, όπως ο οκταπύρηνος Intel Xeon και ο 12-πύρηνος AMD Opteron δείχνουν πώς στην περίπτωση του x86 η συνεχής εξέλιξη κλασικών βιομηχανικών προτύπων μπορεί να αντεπεξέλθει στον ανταγωνισμό από νέες και διαφορετικές αρχιτεκτονικές.[10]
Σημείωση: Στο κείμενο που ακολουθεί, κάθε χρήση των προθεμάτων kilo/mega/giga/tera έχει τη δυαδική τους σημασία (δυνάμεις του 1024).