Οι πυρήνες ARM υπάρχουν παντού, όμως πολλοί άνθρωποι αναρωτιούνται τι τους διαφοροποιεί... Cortex-R και Cortex-M μέσα στο οικοσύστημα. Από τις αυτοκινητιστικές συσκευές μέχρι τους μικροσκοπικούς αισθητήρες, αυτές οι δύο γενεαλογικές σειρές καλύπτουν πολύ διαφορετικές ανάγκες σε ελεγκτές πραγματικού χρόνου και μικροελεγκτές.
Για να κατανοήσουμε πλήρως τον ρόλο του, αξίζει να εξετάσουμε πώς λειτουργεί η ARM ως εταιρεία και ως αρχιτεκτονική, γιατί η προσέγγισή της στο RISC είναι τόσο αποτελεσματική και πώς διαφέρουν οι σειρές. Α, Ρ και ΜΑυτό θα σας βοηθήσει να προσδιορίσετε πότε είναι καλύτερο να χρησιμοποιήσετε έναν Cortex-R με ντετερμινιστική απόκριση ή έναν ελαφρύ, οικονομικό Cortex-M που είναι ιδανικός για την ενσωμάτωση περιφερειακών.
Τι είναι το ARM και γιατί είναι σημαντικό
Η ARM είναι μια βρετανική εταιρεία που σχεδιάζει IP επεξεργαστών και άδεια χρήσης σε τρίτους για κατασκευαστές όπως QualcommΟι Samsung, Apple και NXP δημιουργούν τα δικά τους τσιπ. Σε αντίθεση με την Intel ή την AMD, η ARM δεν κατασκευάζει τσιπ. Η δύναμή της έγκειται σε έναν κατάλογο πυρήνων και επεκτάσεων που άλλες εταιρείες ενσωματώνουν και προσαρμόζουν στα προϊόντα τους.
Η ιστορία της ξεκινά στην Acorn Computers τη δεκαετία του '80, με Σόφι Γουίλσον και Στιβ Φέρμπερ ηγούμενος της ανάπτυξης των πρώτων ARM1 και ARM2. Η ιδέα ήταν να διατηρηθεί ο σχεδιασμός απλός και αποτελεσματικός, κάτι που ενοποιήθηκε με το ARM6, την επιτυχία του ARM7TDMI σε κινητές συσκευές και την άφιξη παραλλαγών όπως το StrongARM και αργότερα το XScale. Αυτή η μινιμαλιστική προσέγγιση επέτρεψε πολύ χαμηλή κατανάλωση ενέργειας και υψηλή απόδοση ανά watt σε μια εποχή χωρίς μεγάλες κρυφές μνήμες ή πολύπλοκο μικροκώδικα.
Η αρχιτεκτονική ARM είναι τύπου ΚΙΝΔΥΝΟΣ: συμπαγείς, εντολές σταθερού μεγέθους με απλή εκτέλεση. Αυτό διευκολύνει βαθιές αγωγούς, προβλέψιμες καθυστερήσεις και μικρά τσιπ. Επιπλέον, η ARM εισήγαγε λειτουργίες όπως Αντίχειρας (υποσύνολο 16-bit για την απόκτηση πυκνότητας κώδικα) και τεχνολογίες όπως Τζαζέλ (επιταχυνόμενη εκτέλεση bytecode Java σε ορισμένους πυρήνες), NEON για SIMD και TrustZone για ασφαλή απομόνωση.
Μια άλλη βασική έννοια είναι big.LITTLE, μια ετερογενή αρχιτεκτονική που συνδυάζει πυρήνες χαμηλής κατανάλωσης ενέργειας με πυρήνες υψηλής απόδοσης: οι ΜΙΚΡΟΙ πυρήνες χειρίζονται ελαφριές εργασίες, ενώ οι μεγάλοι πυρήνες ενεργοποιούνται όταν χρειάζεται ισχύς. Παρόλο που σχετίζεται με τη σειρά Cortex-A, καταδεικνύει με σαφήνεια τη φιλοσοφία της ARM για αποδοτικότητα χωρίς να θυσιάζει την απόδοση όταν απαιτείται.
Η σειρά Cortex: A εναντίον R εναντίον M
Το 2003, η ARM αναδιοργάνωσε τον κατάλογό της υπό την ομπρέλα του Cortex και τον διαίρεσε σε τρεις οικογένειες. Αυτός ο διαχωρισμός καθορίζει το επίκεντρο κάθε πυρήνα και βοηθά στην επιλογή του κατάλληλου για κάθε έργο. πλούσια διαδραστικότητα με ντετερμινιστικές απαντήσεις ή στον κόσμο των μικροελεγκτών.
- Φλοιός-ΑΠροφίλ εφαρμογής, σχεδιασμένο για λειτουργικά συστήματα πλήρους λειτουργικότητας όπως Linux ή Android, υψηλή απόδοση, υποστήριξη πολυμέσων και MMU.
- Cortex-R: προφίλ σε πραγματικό χρόνο, με επίκεντρο χαμηλή καθυστέρηση και ντετερμινισμός, ανοχή σφαλμάτων και υψηλή διαθεσιμότητα, χαρακτηριστικά που χαρακτηρίζουν την αυτοκινητοβιομηχανία και την αποθήκευση.
- Cortex-M: προφίλ μικροελεγκτή, πολύ οικονομικό και ενεργειακά αποδοτικό, με ενσωματωμένα περιφερειακά και εκτέλεση Thumb ή Thumb-2.

Cortex-R: πραγματικός χρόνος, ασφάλεια και αξιοπιστία
Οι πυρήνες Cortex-R Έχουν σχεδιαστεί για έλεγχο σε πραγματικό χρόνο με προβλέψιμη απόκριση, γεγονός που τα καθιστά ιδανικά για αυτοκινήτων (αερόσακοι, ABS, διαχείριση κινητήρα), ελεγκτές αποθήκευσης και εξοπλισμός δικτύου. Η καθυστέρηση διακοπής, τα γρήγορα κανάλια μνήμης (TCM) και συχνά τα σχέδια διπλασιασμού για λειτουργική ασφάλεια είναι το κλειδί εδώ.
Cortex-R4 εγκαινίασε την οικογένεια με συχνότητες έως ~600 MHz, 8-βαθμιδωτή διοχέτευση με διπλή εκπομπή, προ-αναζήτηση και ένα σύστημα διακοπών χαμηλής καθυστέρησης. Εκτιμάται ιδιαίτερα σε κρίσιμα συστήματα, ειδικά για τον συνδυασμό απόδοσης και προβλεψιμότητας.
El Cortex-R5 επέκτεινε τις δυνατότητες του R4 με βελτιώσεις στην απόδοση, την αξιοπιστία και τον χειρισμό σφαλμάτων. Αυτό παρατηρείται συχνά σε διαμορφώσεις διπύρηνος για τη δημιουργία ισχυρών και ευέλικτων λύσεων με λειτουργία πλεονασμού ή κλειδώματος, διατηρώντας παράλληλα σκληρές αποκρίσεις σε πραγματικό χρόνο.
με Cortex-R7 ανεβάζει τα στοιχήματα: αγωγός 11 σταδίων, εκτέλεση εκτός λειτουργίας και πιο προηγμένη πρόβλεψη διακλάδωσης. Υποστηρίζει συμμετρική και ασύμμετρη πολυεπεξεργασία και ενσωματώνει έναν γενικό ελεγκτή διακοπών. Έχει σχεδιαστεί για απαιτητικά σενάρια όπου κάθε μικροδευτερόλεπτο μετράει και η διαθεσιμότητα είναι μη διαπραγματεύσιμη.
Στην πράξη, τα Cortex-R συνήθως ενσωματώνουν MPU (Μονάδα Προστασίας Μνήμης) για διαμέριση χώρων και προστασία εργασιών πραγματικού χρόνου, καθώς και TCM για ντετερμινιστική πρόσβαση. Δεν εστιάζει στην εκτέλεση πλούσιου Linux, αλλά στη διασφάλιση ότι μια κρίσιμη διακοπή αντιμετωπίζεται όταν είναι απαραίτητο και πάντα με τον ίδιο χρόνο απόκρισης.
Cortex-M: Μικροελεγκτές 32-bit για τα πάντα
Η σειρά Cortex-M έχει τυποποιήσει την αγορά MCU 32-bit: ελαφριοί, οικονομικοί, εύκολοι στην αποσφαλμάτωση πυρήνες με ένα τεράστιο οικοσύστημα. Μπορείτε να τους βρείτε ως ολοκληρωμένους MCU με ενσωματωμένη μνήμη και περιφερειακά ή ως μαλακούς πυρήνες που απευθύνονται σε FPGA σε συγκεκριμένες περιπτώσεις.
Στο απλούστερο άκρο βρίσκονται Cortex-M0 και M0+, βασισμένα στο ARMv6-M και εστιάζοντας στο κόστος και την κατανάλωση ενέργειας. Χρησιμοποιούν ένα υποσύνολο Thumb-2, μικρούς αγωγούς και, στην περίπτωση του M0+, ένα GPIO ενός κύκλου και προαιρετική μικροανίχνευση. Είναι ιδανικά για τη μετεγκατάσταση από 8 σε 32 bit διατηρώντας παράλληλα περιορισμένος προυπολογισμός.
Η αύξηση της απόδοσης έρχεται με Cortex-M3 y Cortex-M4 (ARMv7-M). Μοιράζονται την αρχιτεκτονική και την υποστήριξη Thumb-2, πολλαπλούς διαύλους 32-bit και μια τυπική ταχύτητα ρολογιού έως ~200 MHz, με πολύ ικανά εργαλεία εντοπισμού σφαλμάτων. Το M4 προσθέτει εντολές DSP και, ανάλογα με την παραλλαγή, FPUΑν κάνετε φιλτράρισμα σήματος, ήχο ή περισσότερο μαθηματικό έλεγχο, το M4 σας εξοικονομεί κύκλους σε σύγκριση με ένα M3.
Για να πιέσουμε ακόμα περισσότερο, Cortex-M7 εστιάζει στη μέγιστη απόδοση της MCU, με βαθύτερους αγωγούς, αυξημένο πλάτος διαύλου και επιλογές προσωρινής μνήμης. TCM για την επιτάχυνση κρίσιμου κώδικα και δεδομένων. Πολλά M7 ενσωματώνουν προαιρετικές μονάδες FPU διπλής ακρίβειας και στοχεύουν σε προηγμένο έλεγχο κινητήρα, ήχο υψηλής πιστότητας ή πύλες με αυστηρές απαιτήσεις καθυστέρησης.
Η ασφάλεια ενισχύεται με Cortex-M23 y Cortex-M33 (βασισμένο στο ARMv8-M), το οποίο εισάγει το TrustZone για να διαιρέσει το σύστημα σε Ασφαλής και Μη Ασφαλής Κόσμοςκαι το στοιχείο SAU για τον ορισμό χαρακτηριστικών ασφαλείας. Αυτό ταιριάζει απόλυτα στο IoT, όπου πρέπει να απομονώσετε διαπιστευτήρια, ασφαλή εκκίνηση και στοίβες συνδεσιμότητας.
Κυρία παραλήπτη, Cortex-M55 y Cortex-M85 Στοχεύουν στη μηχανική μάθηση στα άκρα. Ενσωματώνουν βελτιώσεις στο DSP, στη διανυσματοποίηση και στην επιτάχυνση που διευκολύνουν την εκτέλεση. συμπέρασμα τοπικά σε αισθητήρες και συσκευές που τροφοδοτούνται από μπαταρία, ανεβάζοντας τον υπολογιστικό μηχανισμό σε ένα επίπεδο διατηρώντας παράλληλα την ουσία της MCU.
Ανάλογα με τον πυρήνα, θα δείτε προαιρετικές λειτουργίες όπως 24-bit SysTick, bit-banding, MPU με διάφορους αριθμούς περιοχών, SAU, cache εντολών και δεδομένων ή TCM. Σε μικροαρχιτεκτονικό επίπεδο, ορισμένα Ms υιοθετούν ένα Χάρβαρντ (M3, M4, M7, M33, M55, M85) για να διαχωρίσουν τη ροή εντολών και δεδομένων, ενώ άλλα διατηρούν τον Von Neumann (M0, M0+, M1, M23), ο οποίος επηρεάζει την ταχύτητα πρόσβασης και την υλοποίηση στη μνήμη.
Βασικές τεχνολογίες που εμφανίζονται συχνά
Αντίχειρας και Αντίχειρας-2 Βελτιώνουν την πυκνότητα κώδικα μειώνοντας το μέγεθος των εντολών σε 16 bit (ή συνδυάζοντάς τες με 32 bit στο Thumb-2). Αυτό επιτρέπει την εκτέλεση περισσότερων εντολών από περιορισμένη μνήμη και μειώνει την κατανάλωση ενέργειας. Σε πολλά Cortex-M, το Thumb-2 είναι η μόνη λειτουργία, απλοποιώντας το υλικό και εξοικονομώντας χώρο.
Στις σειρές A και R, η ARM προσφέρει επεκτάσεις όπως NEON για SIMD, VFP για κινητή υποδιαστολή και TrustZone για ασφαλή απομόνωση σε επίπεδο συστήματος. Επιπλέον, υποστηρίζονται ορισμένοι κλασικοί πυρήνες Τζαζέλ για την επιτάχυνση του bytecode της Java, μια αναφορά στις πρώτες ημέρες της κινητικότητας.
Σε πραγματικό χρόνο, ο συνδυασμός MPU, TCM και έλεγχος διακοπών Είναι ζωτικής σημασίας. Οι μονάδες επεξεργασίας δεδομένων (MPU) τμηματοποιούν τη μνήμη και αποτρέπουν την μη εξουσιοδοτημένη πρόσβαση. Τα TCM διασφαλίζουν την ντετερμινιστική πρόσβαση χωρίς αναμονή. Και οι ελεγκτές διακοπών ρυθμίζουν με ακρίβεια τις προτεραιότητες και τις καθυστερήσεις, ώστε να μην χάνονται ποτέ κρίσιμα συμβάντα.
Μια σύντομη ιστορία του οικοσυστήματος ARM
Μετά τα πρώτα ARM1 και ARM2, η εξέλιξη έφερε ARM3 με μνήμη cache 4KB, την οικογένεια ARM6 και τη διάδοση με το ARM7TDMI, πανταχού παρόν σε κινητά τηλέφωνα και φορητές κονσόλες. Στη συνέχεια ήρθαν τα ARM9, ARM11 και η μετάβαση στο Φλοιός με ARMv7 και ARMv8, ανοίγοντας το δρόμο για τα 64-bit στη σειρά Α.
Παράλληλα, υπήρχαν αξιοσημείωτες άδειες όπως DEC StrongARM (αργότερα στα χέρια της Intel) και το XScale, το οποίο τροφοδοτούσε PDA και ενσωματωμένες συσκευές. Αυτή η περίοδος εδραίωσε την ιδέα ότι το ARM ήταν ο δρόμος προς τα εμπρός για τις καταναλωτικές και τις συσκευές χαμηλής κατανάλωσης, ενώ το x86 παρέμεινε η κυρίαρχη συσκευή για επιτραπέζιους υπολογιστές και διακομιστές.
Η Apple υιοθέτησε την τεχνολογία ARM για iPhone και iPad και αργότερα έκανε το άλμα σε υπολογιστές με Πυρίτιο μήλου, βασιζόμενο σε δυναμική μετάφραση όπως το Rosetta 2 για τη μετάβαση λογισμικού. Η απόδοση ανά watt και η ενσωμάτωση SoC σφράγισαν τη συμφωνία.
Λειτουργικά συστήματα και οικοσύστημα λογισμικού
Το ARM υποστηρίζεται από μια τεράστια γκάμα συστημάτων: από Android, iOS και macOS στην Apple Silicon, έως και Windows σε CE, RT και σύγχρονες εκδόσεις με υποστήριξη ARM, και το Πιστοποίηση ARM SystemReady Βελτιώνει τη συμβατότητα. Στην επιφάνεια εργασίας, υπάρχουν τα Windows 10 και 11 για ARM, με ιστορικούς περιορισμούς στην εκτέλεση εγγενών δυαδικών αρχείων x86, οι οποίοι μετριάζονται από επίπεδα μετάφρασης.
Στον ελεύθερο κόσμο, η οικογένεια BSD (FreeBSD, NetBSD, OpenBSD) τρέχει σε ARM, και σε Linux υπάρχει ευρεία υποστήριξη με διανομές όπως Debian, Ubuntu, Arch, Kali, Manjaro, Gentoo ή Oracle LinuxΣε ενσωματωμένο και πραγματικό χρόνο, η λίστα είναι μεγάλη: FreeRTOS, ChibiOS, eCos, ThreadX, QNX, VxWorks, Nucleus, RTEMS, Ακεραιότητα και πολλά άλλα, που καλύπτουν τα πάντα, από μικροσκοπικές MCU έως κρίσιμο βιομηχανικό έλεγχο.
Αδειοδότηση, χυτήρια και γιατί η ARM κλιμακώνεται τόσο πολύ
Η διαφορική αξία της ARM επιτρέπει σε τρίτους προσαρμογή SoCsΑντί να πουλάει μια κλειστή CPU, προσφέρει πυρήνες, διαύλους, GPU IP. Μάλι και NPU Ήθος για κάθε κατασκευαστή για να συναρμολογήσει το παζλ: μπορείτε να προσθέσετε ένα μόντεμ 5G, ενσωματωμένη μνήμη, μηχανές τεχνητής νοημοσύνης ή προσαρμοσμένη ασφάλεια.
Παρόλο που η ARM δεν κατασκευάζει, διατηρεί συμφωνίες με χυτήρια όπως TSMC (και την Intel εκείνη την εποχή) για να διευκολύνουν την υιοθέτηση. Οι κάτοχοι άδειας χρήσης επιλέγουν εγκαταστάσεις: σήμερα η TSMC και η Samsung ηγούνται προηγμένων διαδικασιών, επιτρέποντας την ανάπτυξη ARM σε κινητά, IoT, ακόμη και σε κέντρα δεδομένων με τη γραμμή Αντίστροφα.
Η σύγκριση με το x86 είναι σαφής: σε έναν υπολογιστή κατασκευάζετε υπολογιστές με τυποποιημένα εξαρτήματα· με ARM, σχεδιάζετε το SoC που ταιριάζει στο προϊόν σας. Γι' αυτό το λόγο η τεχνολογία ARM κυριαρχεί στα smartphone, τα tablet και το IoT και κερδίζει έδαφος στην αυτοκινητοβιομηχανία και τους διακομιστές, όπου η αποδοτικότητα, η ενσωμάτωση και το κόστος ανά λειτουργία έχουν σημασία.
GPU, AI και άλλα μέρη του καταλόγου
Εκτός από τις CPU, τα σχέδια ARM GPU Μάλι Ενσωματωμένα σε πολλά SoC για γραφικά 2D/3D και βίντεο σε κινητά τηλέφωνα, τηλεοράσεις και tablet. Ενώ δεν ανταγωνίζονται τις διακριτές GPU υψηλής τεχνολογίας, έχουν εξελιχθεί ραγδαία και καλύπτουν με το παραπάνω τις ανάγκες της αγοράς-στόχου τους.
να αυτόματη μάθηση, τα μπλοκ Ήθος-Ν y Ήθος-U επιταχύνουν τα νευρωνικά δίκτυα· τα πρώτα ως πιο ικανές μονάδες NPU και τα δεύτερα ως ελαφριοί συνεπεξεργαστές που συνοδεύουν τον Cortex-A. Στα όρια, οι πρόσφατοι επεξεργαστές Cortex-M με βελτιώσεις DSP επιτρέπουν επίσης την τοπική συμπερασματολογία.
Οικογενειακός χάρτης και παραδείγματα κατασκευαστών
Πολυάριθμοι προμηθευτές ενσωματώνουν τα Cortex-M και A στους εκτενείς καταλόγους τους. Ως πρακτικός οδηγός, αυτά είναι παραδείγματα αξιοσημείωτων σειρών που θα δείτε στην αγορά, τα οποία σας βοηθούν να προσδιορίσετε ποιες Πυρήνας ARM αγοράζεις.
- NXP ΚινέτιςΟι σειρές L, EA, E, W, K και V συνδυάζουν Cortex-M0+, M4 και M7 για έλεγχο χαμηλής ισχύος, βιομηχανικό, RF και κινητήρα.
- NXP LPC: οικογένειες 800/1100/1200 (M0/M0+), 1300/1500/1700/1800 (M3) και 4000/4300/54000 (M4).
- NXP i.MXSoC εφαρμογών με Cortex-A7, A9, A53 και παραλλαγές με Cortex-M7 υποστήριξη σε πραγματικό χρόνο.
- Μικροτσίπ Atmel SAMΣειρά C και D (M0/M0+), 3x (M3), 4x (M4), I/O/V (M7) και A5 σε προφίλ εφαρμογής.
- Σιτάρα της Texas Instruments: AM3/AM335x (A8), AM437x/AM38x/AM1x (A9), AM57x (A15); OMAP 35xx με A8.
- STMicroelectronics STM32: L0/F0 (M0/M0+), L1/F1/F2 (M3), L4/L4+/F3/F4 (M4), F7/H7 (M7).
- Μαξίμ MAX32: οικογένειες 600 (M3), 62x/63x (M4F) και 65x/66x (M4).
Επιλογή μεταξύ Cortex-R και Cortex-M
Αν το κρίσιμο στοιχείο είναι σκληρός ντετερμινισμός, ελάχιστοι χρόνοι διακοπής λειτουργίας, ανοχή σφαλμάτων και πιστοποιήσεις ασφαλείας (π.χ. ASIL), η οικογένεια Cortex-R ταιριάζει καλύτερα. Σκεφτείτε τον έλεγχο φρένων, τους αερόσακους, τους ελεγκτές δίσκου ή τα backplanes δικτύου που δεν μπορούν να παρουσιάσουν βλάβη.
Όταν ο στόχος είναι η ενσωμάτωση περιφερειακών, η προσαρμογή της κατανάλωσης και του κόστους και η εκτέλεση ελέγχου, αισθητήρων και επικοινωνιών με Ελαφρύ RTOS, μια Cortex-M Είναι η φυσική επιλογή. Επιλέξτε M0/M0+ για εξαιρετικά χαμηλή ισχύ και προϋπολογισμό, M3 για γενικό έλεγχο, M4 εάν χρειάζεστε DSP/FPU και M7 όταν η απόδοση της MCU είναι κρίσιμη. Για την ασφάλεια της πλατφόρμας, σκεφτείτε το M23/M33 με TrustZone και SAU.
Σε υβριδικά σχέδια, είναι σύνηθες να βρίσκουμε SoCs της σειράς Φλοιός-Α με ένα μικρό συνοδευτικό Cortex-M για εργασίες σε πραγματικό χρόνο ή ακόμα και συνδυασμούς όπου ένα R διαχειρίζεται το κρίσιμο επίπεδο ενώ ένα A χειρίζεται τη διεπαφή χρήστη και τη συνδεσιμότητα.
Για να κλείσουμε τον κύκλο, αξίζει να θυμηθούμε ότι η δύναμη του ARM πηγάζει από το μοντέλο άδειας χρήσηςΑποδοτικότητα RISC και δυνατότητα δημιουργίας προσαρμοσμένων SoCs. Τα Cortex-R και Cortex-M καλύπτουν τα πάντα, από τα πιο απαιτητικά χειριστήρια σε πραγματικό χρόνο έως οικονομικά αποδοτικές MCU που ταιριάζουν σε οποιοδήποτε προϊόν, με ένα οικοσύστημα εργαλείων, λειτουργικών συστημάτων και κατασκευαστών που διευκολύνει την εύρεση του κατάλληλου ανταλλακτικού για κάθε ανάγκη.