X86

x86
ΣχεδιαστήςIntel, AMD
Bits16-bit, 32-bit, 64-bit
Κυκλοφόρησε1978
ΣχεδίασηCISC
ΤύποςΚαταχωρητές-Μνήμη (Register-Memory)
ΚωδικοποίησηΠοικίλλει (1 έως 15 byte)
ΔιακλάδωσηΚαταχωρητής κατάστασης (Status register)
EndiannessLittle
Μέγεθος σελίδας8086i286: κανένα
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.
Ο επεξεργαστής Intel 8086.
Ο επεξεργαστής Intel Core 2 Duo, ένα παράδειγμα x86-συμβατού, πολυπύρηνου επεξεργαστή 64-bit.
Ο επεξεργαστής AMD Athlon (αρχική έκδοση) - διαφορετική τεχνολογία αλλά υλοποίηση πλήρως συμβατή με τους x86.

Ο όρος 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-64x64) για να υποδηλώνει λογισμικό 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).

  1. 80486 32-bit CPU breaks new ground in chip density and operating performance. (Intel Corp.) (product announcement) EDN | May 11, 1989 | Pryce, Dave
  2. Σε αντίθεση με τη μικροαρχιτεκτονική (microarchitecture) και τη συγκεκριμένη ηλεκτρονική και φυσική υλοποίηση που χρησιμοποιείται στη σχεδίαση ενός τσιπ.
  3. Η Intel σταμάτησε να ονομάζει τους επεξεργαστές σαν "x86" από τον P5 Pentium του 1993 (επειδή οι αριθμοί δε μπορούν να αποτελούν κατοχυρωμένες εμπορικές ονομασίες). Παρόλα αυτά, ο όρος x86 ήταν πια εδραιωμένος όσον αφορά τις τεχνικές συζητήσεις, την συγγραφή μεταγλωττιστών, κλπ.
  4. Η Intel χρησιμοποιεί τους όρους IA-32 και Intel 64 (παλαιότερα EM64T ή IA-32e) για το x86 και το x86-64 αντίστοιχα. Η AMD σήμερα προτιμά την ονομασία AMD64 έναντι της x86-64 που εισήγαγε παλαιότερα.
  5. «Linux* Kernel Compiling». Intel. Αρχειοθετήθηκε από το πρωτότυπο στις 6 Ιουνίου 2007. Ανακτήθηκε στις 4 Σεπτεμβρίου 2007. 
  6. «Intel Web page search result for "x64"». Αρχειοθετήθηκε από το πρωτότυπο στις 24 Οκτωβρίου 2007. Ανακτήθηκε στις 4 Σεπτεμβρίου 2007. 
  7. «Birth of a Standard: The Intel 8086 Microprocessor». Αρχειοθετήθηκε από το πρωτότυπο στις 26 Σεπτεμβρίου 2010. Ανακτήθηκε στις 13 Ιουλίου 2011. 
  8. Η αγορά των ενσωματωμένων συστημάτων περιλαμβάνει πάνω από 25 διαφορετικές αρχιτεκτονικές, οι οποίες, λόγω κόστους, κατανάλωσης ενέργειας και απλούστερης υλοποίησης, υπερέχουν των x86.
  9. «"Time and again, processor architects have looked at the inelegant x86 architecture and declared it cannot be stretched to accommodate the latest innovations," said Nathan Brookwood, principal analyst, Insight 64». Αρχειοθετήθηκε από το πρωτότυπο στις 7 Μαρτίου 2012. Ανακτήθηκε στις 13 Ιουλίου 2011. 
  10. Microsoft to End Intel Itanium Support[νεκρός σύνδεσμος]

Developed by StudentB