MTE εξηγεί: Οι διαφορές μεταξύ ARM και Intel
Με τη συνεχώς υπάρχουσα φήμη των MacBooks ARM που κερδίζουν ανανεωμένη ενέργεια, ήρθε η ώρα να κατανοήσουμε τις τεχνικές διαφορές μεταξύ των επεξεργαστών ARM και των πιο συνηθισμένων επεξεργαστών x86 της Intel και της AMD.
Τι σημαίνει x86 σημαίνει οπωσδήποτε;
Οι επεξεργαστές Intel που βρίσκονται σε επιτραπέζιους και φορητούς υπολογιστές αναφέρονται μερικές φορές ως επεξεργαστές "x86". Αυτό μπορεί να είναι λίγο συγκεχυμένο αν έχετε παρατηρήσει ποτέ τους δύο φακέλους προγραμμάτων αρχείων σας στα Windows.
Τα Windows 7, 8 και 10 αναφέρονται στα 32-bit προγράμματα τους με τον όρο "x86" και τα 64-bit προγράμματα τους (σε ορισμένες περιπτώσεις) ως "x64." Αυτό δεν είναι αυστηρά ακριβές. Οι επεξεργαστές με δυνατότητα 64-bit θα πρέπει να αναφέρονται ως x86-64, αλλά είναι πολύ πιο καυτά.
Το όνομα "x86" προέρχεται από τους αρχικούς επεξεργαστές Intel με 16bit που χρησιμοποίησαν το σύνολο x86instruction, το 8086. Οι μελλοντικές γενιές που μοιράζονταν το ίδιο σύνολο εντολών μοιράστηκαν το ίδιο επίθημα, όπως το 80386. Αυτό διατηρήθηκε μέχρι τα τσιπ Pentium, τα οποία έσπασε τη σύμβαση ονομασίας, αλλά εξακολουθούμε να χρησιμοποιούμε το "x86" για να αναφερθούμε σε αυτά τα είδη μαρκών.
Σετ διδασκαλίας
Όλοι οι επεξεργαστές βασίζονται σε αυτό που ονομάζεται "σύνολο εντολών". Πρόκειται για ένα σύνολο στοιχειωδών λειτουργιών που μπορεί να εκτελέσει ένα τσιπ και οδηγίες για τον τρόπο εκτέλεσης τους. Λέει στο τσιπ πώς να κάνει τα βασικά μαθηματικά και να μετακινήσει τα δεδομένα γύρω. Η γλώσσα προγραμματισμού για αυτές τις οδηγίες ονομάζεται γλώσσα συναρμολόγησης.
Η βασική διαφορά μεταξύ του ARM και των chips x86 είναι το σύνολο των εντολών. Τα τσιπ x86 είναι CISC, το οποίο σημαίνει "σύνθετο σύνολο υπολογιστικών οδηγιών". Τα τσιπ CISC προσπαθούν να αντιπροσωπεύσουν ένα δεδομένο έργο στις λιγότερες γραμμές συναρμολόγησης όσο το δυνατόν, αφαιρώντας τις βασικές λειτουργίες. Αυτές οι πιο σύνθετες λειτουργίες πρέπει επίσης να τρέξουν κατά τη διάρκεια των πολλαπλών κύκλων ρολογιού. Τα τσιπ ARM είναι RISC, που σημαίνει "μειωμένη υπολογιστική ομάδα εντολών". Τα τσιπ RISC περιλαμβάνουν εξαιρετικά στοιχειώδη σύνολα εντολών, σπάζοντας κάθε διαδικασία σε εξαιρετικά μικρά, απλά βήματα. Κάθε ένα από αυτά τα μικρότερα βήματα μπορεί να εκτελεστεί σε ένα μόνο κύκλο ρολογιού.
CISC εναντίον RISC
Εάν ένα τσιπ CISC χρειάζεται να πολλαπλασιάσει δύο αριθμούς, μπορεί να εκτελέσει μια μόνο εντολή: MULT 2, 3
. Αυτή η ενιαία εντολή θα καλύψει τη φόρτωση αριθμών από τη μνήμη, την πολλαπλασιασμό τους και την αποθήκευση του αποτελέσματος στη σωστή θέση μνήμης. Ένα τσιπ RISC που εκτελεί την ίδια διαδικασία θα απαιτούσε πολλά περισσότερα βήματα. Πρώτον, μια εντολή LOAD
για να μετακινήσετε τους αριθμούς από τους καταχωρητές στη μονάδα εκτέλεσης. Στη συνέχεια, μια εντολή PROD
για να πολλαπλασιάσετε τους αριθμούς. Τέλος, μια εντολή STOR
για να τοποθετήσετε το αποτέλεσμα στο σωστό μητρώο.
Ενώ το τσιπ CISC μπορεί να φανεί πιο αποδοτικό επειδή οι εντολές του φαίνονται απλούστερες, να έχετε κατά νου μερικές σημαντικές διαφορές:
- Πρώτον, τα τσιπ CISC εκτελούν εντολές σε πολλαπλούς κύκλους ρολογιού, ενώ κάθε εντολή σε ένα τσιπ RISC εκτελείται σε ένα μόνο κύκλο ρολογιού. Εξαιτίας αυτού, η υποθετική εντολή
MULT
μπορεί να τρέξει στον ίδιο αριθμό κύκλων με το σύνολο των οδηγιών RISC που εκτελούν την ίδια εργασία. - Δεύτερον, όλες οι οδηγίες και λογική του CISC πρέπει να αποθηκεύονται σε τρανζίστορ. Τα τσιπ RISC μπορούν να χρησιμοποιήσουν λιγότερα τρανζίστορ επειδή χρειάζονται λιγότερες οδηγίες.
- Τρίτον, ο μικρότερος αριθμός τρανζίστορ που απαιτείται από το RISC επιτρέπει χαμηλότερη κατανάλωση ισχύος.
Υπάρχουν ορισμένα πλεονεκτήματα για την CISC. Πρώτον, ο υπολογιστής δεν χρειάζεται να κάνει πολλή δουλειά για να μετατραπεί από μια ανθρώπινη γλώσσα προγραμματισμού όπως το C σε μια γλώσσα συναρμολόγησης σε επίπεδο επεξεργαστή. Στην πραγματικότητα, η εντολή MULT
αναφέρθηκε παραπάνω είναι πολύ παρόμοια με την εντολή C foo = foo * bar
. Τα τσιπ RISC ζητούν από τον μεταγλωττιστή να κάνει πολύ περισσότερη δουλειά για να πάρει κώδικα κάτω στη γλώσσα συναρμολόγησης. Τα τσιπ CISC μπορούν επίσης να λειτουργούν απευθείας στην κύρια μνήμη, ενώ τα τσιπ RISC μπορούν να λειτουργούν μόνο σε καταχωρητές CPU.
Κατανάλωση ενέργειας
Η άλλη βασική διαφορά μεταξύ των αρχιτεκτονικών είναι η χρήση ενέργειας. Χάρη στα μειωμένα σύνολα εντολών, τα τσιπ RISC απαιτούν λιγότερα τρανζίστορ για να λειτουργήσουν. Αυτό σημαίνει ότι λιγότερα τρανζίστορ πρέπει να τροφοδοτούνται, οδηγώντας σε εξοικονόμηση ενέργειας και μείωση της θερμότητας. Αυτό έχει οδηγήσει σε τσιπ ARM που τροφοδοτούν σχεδόν όλες τις κινητές συσκευές.
Τα τσιπ x86 της Intel και της AMD είναι καλύτερα για επιτραπέζιες μηχανές, όπου η κατανάλωση ρεύματος δεν είναι εξίσου σημαντικό. Περιλαμβάνονται επίσης σε φορητούς υπολογιστές οι οποίοι είναι προφανώς τροφοδοτούμενοι από μπαταρία. Εντούτοις, η ισχύς δεν είναι τόσο πολύτιμη όσο στα smartphones, επιτρέποντας πιο ισχυρές μάρκες.
συμπέρασμα
Η υψηλότερη διάκριση μεταξύ των τσιπ βασίζεται στην ισχύ και την ταχύτητα. Τα τσιπ ARM είναι ιδανικά για περιβάλλοντα χαμηλής κατανάλωσης, αλλά είναι συνήθως πιο αργά, ενώ τα x86 μάρκες λειτουργούν γρήγορα, αλλά δεν είναι τόσο συνειδητά. Αυτή η βασική γενίκευση αλλάζει, όμως, καθώς η Intel προσπαθεί να παράγει χαμηλής ισχύος εκδόσεις των τσιπ x86 και μάρκες ARM, όπως η A10 Fusion της Apple, ξεκινούν να ξεπερνούν τις μάρκες των φορητών υπολογιστών.