ARM-Architektur

ARM ist eine Befehlssatz-von ARM Holdings entwickelte 32-Bit-Architektur (ISA) des reduzierten Befehlssatz-Computers (RISC). Es wurde die Fortgeschrittene RISC Maschine und, davor, der Acorn RISC Maschine genannt. Die ARM-Architektur ist die am weitesten verwendete 32-Bit-Befehlssatz-Architektur in erzeugten Zahlen. Ursprünglich konzipiert von Acorn Computers für den Gebrauch in seinen Personalcomputern waren die ersten Arm-basierten Produkte die 1987 eingeführte Reihe von Acorn Archimedes.

Eigenschaften und Anwendungen

2005 haben ungefähr 98 % der mehr als einer Milliarde Mobiltelefone verkauft jedes Jahr mindestens einen ARM-Verarbeiter verwendet., ARM-Verarbeiter-Rechnung für etwa 90 % von allen hat RISC 32-Bit-Verarbeiter eingebettet und wird umfassend in der Verbraucherelektronik, einschließlich persönlicher Digitalhelfer (PDAs), Blöcke, Mobiltelefone, Digitalmedien und Musik-Spieler, tragbarer Spielkonsolen, Rechenmaschinen und Computerperipherie wie Festplatten und Router verwendet.

Lizenznehmer

Die ARM-Architektur ist licensable. Gesellschaften, die aktuell sind oder ehemalige ARM-Lizenznehmer, schließen Alcatel-Lucent, Apple Inc., AppliedMicro, Atmel, Broadcom, Ranke-Logik, Digital Equipment Corporation, Glut, Energie Mikro-, Freescale, Intel (den ganzen dem DEZ), LG, Marvell Technology Group, Mikrohalb-, Microsoft, NEC, Nintendo, Nuvoton, Nvidia, Sony, NXP (früher Philips Semiconductor), Oki, AUF Halbleiter, Psion, Qualcomm, Renesas, Samsung, Scharfen Silikonlaboratorien, STMicroelectronics, Symbios Logik, Instrumenten von Texas, VLSI Technologie, Yamaha, Fuzhou Rockchip und ZiiLABS ein.

Zusätzlich zur abstrakten Architektur bietet ARM mehrere Mikroprozessor-Kerndesigns, einschließlich des ARM7, ARM9, ARM11, Kortexes-A8, Kortexes-A9 und Kortexes-A15 an. Gesellschaften lizenzieren häufig diese Designs vom ARM, um zu verfertigen und in ihr eigenes System auf einem Span (SoC) mit anderen Bestandteilen wie RAM, GPUs oder Radiobasisbänder (für Mobiltelefone) zu integrieren.

Auf dem Spansystempakete, die die Kerndesigns des ARMS integrieren, schließen die ersten drei Generationen von Nvidia Tegra, ST-Ericsson's Nova und NovaThor, der Precision32 von Silikonlaboratorien MCU, Texas OMAP Produkte von Instrumenten, die Produkte von Hummingbird und Exynos des Samsung, der A4 des Apfels, A5, und A5X Chips und die i von Freescale ein. MX.

Gesellschaften können auch einen ARM architektonische Lizenz erhalten, um ihre eigenen, verschiedenen Zentraleinheitskerne mit dem ARM-Befehlssatz zu entwerfen. Verschiedene ARM-Architektur-Durchführungen durch Lizenznehmer schließen X-Gene von AppliedMicro, Snapdragon von Qualcomm und Krait, StrongARM des DEZ, Marvell (früher Intel) XScale und das geplante Projekt von Nvidia Denver ein.

Geschichte

Nach dem Erzielen des Erfolgs mit der BBC Mikrocomputer hat Acorn Computers Ltd gedacht, wie man von der relativ einfachen MOS Technologie 6502 Verarbeiter vorwärtstreibt, um Geschäftsmärkte wie derjenige zu richten, der bald von IBM PC, gestartet 1981 beherrscht würde. Der Plan von Acorn Business Computer (ABC) hat verlangt, dass mehrere zweite Verarbeiter gemacht wurden, mit der BBC Mikroplattform zu arbeiten, aber Verarbeiter wie Motorola 68000 und Nationaler Halbleiter 32016 waren unpassend, und die 6502 war für die gestützte Benutzerschnittstelle einer Grafik nicht stark genug.

Eichel würde eine neue Architektur brauchen, alle verfügbaren Verarbeiter geprüft, und hat sie Wunsch gefunden. Eichel hat dann ernstlich gedacht, seinen eigenen Verarbeiter zu entwerfen, und ihre Ingenieure sind auf Papiere auf dem Berkeley RISC Projekt gestoßen. Sie haben gefunden, dass es dass gezeigt hat, wenn eine Klasse von Studenten im Aufbaustudium einen Wettbewerbs-32-Bit-Verarbeiter schaffen konnte, dann würde Eichel kein Problem haben. Eine Reise nach dem Westdesignzentrum im Phönix, wo die 6502 dadurch aktualisiert wurde, was effektiv eine Gesellschaft der einzelnen Person war, hat Eichelingenieuren Steve Furber und Sophie Wilson gezeigt, dass sie massive Mittel und modernst R&D Möglichkeiten nicht gebraucht haben.

Wilson hat in Angriff genommen, den Befehlssatz zu entwickeln, eine Simulation des Verarbeiters in der Grundlegenden BBC schreibend, der auf einer mit einem zweiten 6502 Verarbeiter Mikro-BBC gelaufen ist. Es hat die Eichelingenieure überzeugt, dass sie auf der richtigen Spur waren. Bevor sie noch weiter jedoch gehen konnten, würden sie mehr Mittel brauchen. Es war Zeit für Wilson, um sich dem CEO der Eichel, Hermann Hauser zu nähern und zu erklären, was zu Fuß war. Sobald der Mensch mit Unternehmungsgeist gegeben worden war, wurde eine kleine Mannschaft zusammengestellt, um das Modell von Wilson in der Hardware durchzuführen.

Eichel RISC Maschine: ARM2

Die offizielle Eichel RISC Maschinenprojekt hat im Oktober 1983 angefangen. VLSI Technology, Inc wurde als Silikonpartner gewählt, seitdem sie bereits Eichel mit ROMs und einigen kundenspezifischen Chips geliefert hat. Das Design wurde von Wilson und Furber geführt, und wurde mit einem ähnlichen Leistungsfähigkeitsethos als die 6502 bewusst entworfen. Es hatte eine Schlüsseldesignabsicht, Eingang/Produktion der niedrigen Latenz (Unterbrechung) zu erreichen, die wie die 6502 behandelt. Die Speicherzugriffsarchitektur des 6502 hatte Entwicklern erlaubt, schnelle Maschinen ohne den Gebrauch der kostspieligen direkten Speicherzugriffshardware zu erzeugen. VLSI hat das erste ARM-Silikon am 26. April 1985 erzeugt - es hat das erste Mal gearbeitet und ist gekommen, um ARM1 vor dem April 1985 genannt zu werden. Die ersten "echten" Produktionssysteme genannt ARM2 waren im nächsten Jahr verfügbar.

Seine erste praktische Anwendung war als ein zweiter Verarbeiter zur Mikro-BBC, wo sie verwendet wurde, um die Simulierungssoftware zu entwickeln, um Arbeit an den Unterstützungschips (VIDC, IOC, MEMC) zu beenden und die Operation der im Entwickeln von ARM2 verwendeten CAD-Software zu beschleunigen. Wilson hat nachher BBC umgeschrieben, die auf der ARM-Zusammenbau-Sprache grundlegend ist, und die eingehenden Kenntnisse, die dabei erhalten sind, den Befehlssatz zu entwerfen, haben dem Code erlaubt, sehr dicht zu sein, ARM-BBC Grundlegend ein äußerst guter Test auf jeden ARM-Emulator machend. Das ursprüngliche Ziel eines hauptsächlich Arm-basierten Computers wurde 1987 mit der Ausgabe der Eichel Archimedes erreicht.

1992 hat Eichel noch einmal den Preis der Königin für die Technologie für den ARM gewonnen.

Der ARM2 hat einen 32-Bit-Datenbus, einen 26-Bit-Adressraum und siebenundzwanzig 32-Bit-Register gezeigt. Programm-Code musste innerhalb der ersten 64 Megabytes des Gedächtnisses liegen, weil der Programm-Schalter auf 24 Bit weil die 6 erst und Boden 2 Bit des als Status-Fahnen gedienten 32-Bit-Registers beschränkt wurde. Der ARM2 hatte eine Transistor-Zählung gerade 30,000, im Vergleich zum sechsjährigen älteren 68000 Modell von Motorola mit 68,000. Viel von dieser Einfachheit kommt her Mikrocode zu nicht haben (der über das ein Viertel zu einem Drittel der 68000 vertritt), und, wie die meisten Zentraleinheiten des Tages, nicht einschließlich jedes geheimen Lagers. Diese Einfachheit hat zu seinem niedrigen Macht-Gebrauch geführt, während sie besser geleistet hat als Intel 80286. Ein Nachfolger, ARM3, wurde mit einem geheimen 4-Kilobyte-Lager erzeugt, das weiter Leistung verbessert hat.

Apfel, DEZ, Intel, Marvell: ARM6, StrongARM, XScale

Gegen Ende des Apple Computer der 1980er Jahre und der VLSI Technologie hat angefangen, mit der Eichel an neueren Versionen des ARM-Kerns zu arbeiten. Die Arbeit war so wichtig, dass Eichel von der Designmannschaft 1990 in eine neue Gesellschaft genannt Advanced RISC Machines Ltd gesponnen hat. Fortgeschrittene RISC Maschinen sind ARM Ltd geworden, als seine Muttergesellschaft, ARM Holdings Plc, auf der Londoner Börse und NASDAQ 1998 geschwommen ist.

Die neue Arbeit des Apfel-Arms würde sich schließlich in den ARM6, zuerst veröffentlicht Anfang 1992 verwandeln. Apfel hat den ARM6-basierten ARM 610 als die Basis für ihren Apple Newton PDA verwendet. 1994 hat Eichel den ARM 610 als die wichtige in einer Prozession gehende Haupteinheit (CPU) in ihren Risc PC-Computern verwendet. DEZ hat die ARM6 Architektur lizenziert und hat StrongARM erzeugt. An 233 MHz hat diese Zentraleinheit nur ein Watt gezogen (neuere Versionen ziehen viel weniger). Diese Arbeit wurde später zu Intel als ein Teil einer Rechtssache-Ansiedlung passiert, und Intel hat die Gelegenheit ergriffen, ihr Altern i960 Linie mit StrongARM zu ergänzen. Intel hat später seine eigene hohe Leistungsdurchführung genannt XScale entwickelt, den er an Marvell seitdem verkauft hat.

Das Genehmigen

Der ARM-Kern ist größtenteils dieselbe Größe überall in diesen Änderungen geblieben. ARM2 hatte 30,000 Transistoren, während der ARM6 nur zu 35,000 gewachsen ist. Das Geschäft des ARMS hat immer IP Kerne verkaufen sollen, die Lizenznehmer verwenden, um Mikrokontrolleure und auf diesem Kern gestützte Zentraleinheiten zu schaffen. Der ursprüngliche Designhersteller verbindet den ARM-Kern mit mehreren fakultativen Teilen, um eine ganze Zentraleinheit, diejenige zu erzeugen, auf die auf altem Halbleiter fabs gebaut werden und noch wesentliche Leistung an niedrigen Kosten liefern kann. Die erfolgreichste Durchführung ist der ARM7TDMI mit Hunderten von verkauften Millionen gewesen. Atmel ist ein Vorgänger-Designzentrum im ARM7TDMI-basierten eingebetteten System gewesen.

ARM hat ungefähr 1.6 Milliarden Kerne 2005 lizenziert. 2005 sind ungefähr 1 Milliarde ARM-Kerne in Mobiltelefone eingetreten. Vor dem Januar 2008 waren mehr als 10 Milliarden ARM-Kerne gebaut worden, und 2008 hat iSuppli vorausgesagt, dass vor 2011 sich 5 Milliarden ARM-Kerne pro Jahr einschiffen werden., ARM stellt fest, dass sich mehr als 15 Milliarden ARM-Verarbeiter eingeschifft haben.

Die ARM-Architekturen, die in smartphones, persönlichen Digitalhelfern und anderen beweglichen Geräten verwendet sind, erstrecken sich von ARMv5, in obsolete/low-end Geräten, zum ARM M Reihe in aktuellen Geräten des hohen Endes. XScale und ARM926 Verarbeiter sind ARMv5TE, und sind jetzt in Geräten des hohen Endes zahlreicher, als StrongARM, ARM9TDMI und ARM7TDMI ARMv4 Verarbeiter gestützt haben, aber Geräte des niedrigeren Endes können ältere Kerne mit niedrigeren Genehmigen-Kosten verwenden. ARMv6 Verarbeiter haben einen Schritt in der Leistung von ARMv5 Standardkernen vertreten, und werden in einigen Fällen verwendet, aber Kortex-Verarbeiter (ARMv7) stellen jetzt schnellere und mit der Macht effizientere Optionen zur Verfügung als alle jene vorherigen Generationen. Kortex-A nimmt Anwendungsverarbeiter, wie erforderlich, durch smartphones ins Visier, der früher ARM9 oder ARM11 verwendet hat. Kortex-R nimmt Echtzeitanwendungen und Kortex-M Zielmikrokontrolleure ins Visier.

2009 haben einige Hersteller netbooks eingeführt, der auf ARM-Architektur-Zentraleinheiten in der direkten Konkurrenz mit auf Intel Atom gestütztem netbooks gestützt ist.

Gemäß dem Analytiker-Unternehmen IHS iSuppli, vor 2015, ARM, wie man schätzt, sind ICs in 23 % aller Laptops.

2011 hat HiSilicon Technologies Co. Ltd. eine Vielfalt der in Kommunikationsspan-Designs zu verwendenden ARM-Technologie lizenziert. Diese haben 3G/4G basestations eingeschlossen, Infrastruktur und Anwendungen der mobilen EDV vernetzend.

ARM-Kerne

Eine Zusammenfassung der zahlreichen Verkäufer, die ARM-Kerne in ihrem Design durchführen, wird durch den ARM zur Verfügung gestellt.

Beispiel-Anwendungen von ARM-Kernen

ARM-Kerne werden in mehreren Produkten, besonders verschiedenem PDAs und smartphones verwendet. Einige Rechenbeispiele sind die Eichel Archimedes, Apfel-iPad und ASUS Eee Polster-Transformator. Ein anderer Gebrauch ist der Apfel-iPod tragbarer Mediaspieler, Kanon PowerShot A470 Digitalkamera, Nintendo DS tragbare Spielkonsole und TomTom Automobilnavigationssystem.

Seit 2005 wurde ARM auch am Universitätscomputer von Manchester, SpiNNaker beteiligt, der ARM-Kerne verwendet hat, um das menschliche Gehirn vorzutäuschen.

Architektur

Von 1995 ist das ARM-Architektur-Bedienungshandbuch die primäre Quelle der Dokumentation auf der ARM-Verarbeiter-Architektur und dem Befehlssatz gewesen, Schnittstellen unterscheidend, die alle ARM-Verarbeiter erforderlich sind (wie Instruktionssemantik) von Durchführungsdetails zu unterstützen, die sich ändern können. Die Architektur hat sich mit der Zeit entwickelt, und mit der Kortex-Reihe von Kernen anfangend, drei "Profile" werden definiert:

  • "Anwendungs"-Profil: Reihe des Kortexes-A
  • "Echtzeit"-Profil: Reihe des Kortexes-R
  • "Mikrokontrolleur"-Profil: Kortex-M Reihe.

Profilen wird der Teilmenge die Architektur erlaubt. Zum Beispiel ist die ARMv6-M Profil (verwendet durch den Kortex-M0) eine Teilmenge der ARMv7-M Profil (es unterstützt weniger Instruktionen).

Zentraleinheitsweisen

Die ARM-Architektur gibt die folgenden Zentraleinheitsweisen an. Jederzeit rechtzeitig kann die Zentraleinheit in nur einer Weise sein, aber es kann Weisen wegen Außenereignisse (Unterbrechungen) oder programmatisch schalten.

Benutzerweise: Die einzige nichtprivilegierte Weise.

Systemweise: Die einzige privilegierte Weise, in die durch eine Ausnahme nicht eingegangen wird. Darin kann nur durch die Durchführung einer Instruktion eingegangen werden, die ausführlich den Weise-Bit des CPSR schreibt.

Oberaufseher (svc) Weise: Eine privilegierte Weise ist hereingegangen, wann auch immer die Zentraleinheit neu gefasst wird, oder wenn eine SWI Instruktion durchgeführt wird.

Abbruch-Weise: Eine privilegierte Weise, in die eingegangen wird, wann auch immer ein Vorabruf-Abbruch oder Daten Ausnahme abbrechen, kommt vor.

Unbestimmte Weise: Eine privilegierte Weise, in die eingegangen wird, wann auch immer eine unbestimmte Instruktionsausnahme vorkommt.

Unterbrechungsweise: Eine privilegierte Weise, in die eingegangen wird, wann auch immer der Verarbeiter eine IRQ-Unterbrechung akzeptiert.

Schnelle Unterbrechungsweise: Eine privilegierte Weise, in die eingegangen wird, wann auch immer der Verarbeiter eine FIQ-Unterbrechung akzeptiert.

Befehlssatz

Um das Design sauber, einfach und schnell zu halten, war die ursprüngliche ARM-Durchführung ohne Mikrocode, wie die viel einfacheren 8 Bit 6502 in vorherigen Eichelmikrocomputern verwendeter Verarbeiter festverdrahtet.

Die ARM-Architektur schließt die folgenden RISC-Eigenschaften ein:

  • Architektur der Last/Ladens.
  • Keine Unterstützung für falsch ausgerichtete Speicherzugänge (obwohl jetzt unterstützt, in ARMv6 Kernen, mit einigen Ausnahmen, die mit der Last/Laden vielfache Wortinstruktionen verbunden sind).
  • Gleichförmige 16 × 32-Bit-Register-Datei.
  • Feste Instruktionsbreite von 32 Bit, um Entzifferung und pipelining auf Kosten der verminderten Codedichte zu erleichtern. Später hat der Daumen-Befehlssatz Codedichte vergrößert.
  • Größtenteils einzelne Ausführung des Uhr-Zyklus.

Um das einfachere Design, im Vergleich zu zeitgenössischen Verarbeitern wie Intel 80286 und Motorola 68020 zu ersetzen, wurden einige zusätzliche Designeigenschaften verwendet:

  • Bedingte Ausführung von den meisten Instruktionen, Zweig oben reduzierend und den Mangel an einem Zweigpropheten ersetzend.
  • Arithmetische Instruktionen verändern Bedingungscodes, nur wenn gewünscht.
  • 32-Bit-Barrelschichtarbeiter, der ohne Leistungsstrafe mit den meisten arithmetischen Instruktionen und Adressberechnungen verwendet werden kann.
  • Starke mit einem Inhaltsverzeichnis versehene Wenden-Weisen.
  • Ein Verbindungsregister für das schnelle Blatt fungiert Anrufe.
  • Einfach, aber schnell unterbricht 2 Vorzugsniveau Subsystem mit geschalteten Register-Banken.

Arithmetische Instruktionen

Die ARM-Unterstützungen fügen hinzu, ziehen ab, und multiplizieren Instruktionen. Die einzigen ARM-Kerne, um ganze Zahl einzuschließen, teilen sich Instruktionen sind diejenigen, die die ARMv7-M und ARMv7-R Architekturen, wie der Kortex-M3 und M4 durchführen.

Register

Register R0-R7 sind dasselbe über alle Zentraleinheitsweisen; sie werden nie bei einer Bank hinterlegt.

R13 und R14 werden über alle privilegierten Zentraleinheitsweisen außer der Systemweise bei einer Bank hinterlegt. D. h. jede Weise, in die wegen einer Ausnahme eingegangen werden kann, hat seinen eigenen R13 und R14. Diese Register enthalten allgemein den Stapel-Zeigestock und die Rücksprungadresse von Funktionsanrufen beziehungsweise.

Decknamen:

R13 wird auch SP, den Stapel-Zeigestock genannt.

R14 wird auch LR, das Verbindungsregister genannt.

R15 wird auch PC, den Programm-Schalter genannt.

Bedingte Ausführung

Die bedingte Ausführungseigenschaft (genannt Aussage) wird mit einem 4-Bit-Bedingungscodeauswählenden (das Prädikat) auf jeder Instruktion durchgeführt; einer der Vier-Bit-Codes wird als ein "Flucht-Code" vorbestellt, um bestimmte vorbehaltlose Instruktionen anzugeben, aber fast alle allgemeinen Instruktionen sind bedingt. Die meisten Zentraleinheitsarchitekturen haben nur Bedingungscodes auf Zweiginstruktionen.

Das schränkt bedeutsam die Verschlüsselungsbit ein, die für Versetzungen in Speicherzugriffsinstruktionen verfügbar sind, aber andererseits vermeidet es Zweiginstruktionen, wenn es Code für kleine Behauptungen erzeugt. Das Standardbeispiel davon ist der Subtraktionsbasierte Euklidische Algorithmus:

ARM-Adressweise

Auf der C Programmiersprache ist die Schleife:

während (ich! = j) {\

wenn (i> j)

i - = j;

sonst

j - = ich;

}\

</Quelle>

IM ARM-Zusammenbau ist die Schleife:

Schleife CMP Ri, Rj; Satz-Bedingung "NE" wenn (ich! = j),

; "GT" wenn (i> j),

; oder "LEUTNANT" wenn (ich

der die Zweige ringsherum und Klauseln vermeidet.

Bemerken Sie, dass, wenn und dann gleich sind, keine der Instruktionen durchgeführt wird, das Bedürfnis nach einem bedingten Zweig optimierend, um die Kontrolle an der Oberseite von der Schleife durchzuführen, zum Beispiel hatte (weniger als oder gleich) gewesen verwendet.

Eine der Weisen, wie Daumen-Code eine dichtere Verschlüsselung zur Verfügung stellt, soll diesen Vier-Bit-Auswählenden von Nichtzweiginstruktionen entfernen.

Andere Eigenschaften

Eine andere Eigenschaft des Befehlssatzes ist die Fähigkeit, Verschiebungen zu falten, und lässt in die "Datenverarbeitung" (Arithmetik, logisch, und Bewegung des Register-Registers) Instruktionen, so dass, zum Beispiel, die C Behauptung rotieren

konnte als ein einzelnes Wort, Instruktion des einzelnen Zyklus auf dem ARM gemacht werden.

Das läuft auf das typische ARM-Programm hinaus, das dichter ist als erwartet mit weniger Speicherzugängen; so wird die Rohrleitung effizienter verwendet.

Der ARM-Verarbeiter hat auch einige Eigenschaften, die selten in anderen RISC Architekturen wie PC-Verwandter gesehen sind, der richtet (tatsächlich, auf dem 32-Bit-ARM der PC ist eines seiner 16 Register), und prä- und Postzunahme-Wenden-Weisen.

Ein anderer Artikel des Zeichens ist, dass der ARM ringsherum eine Zeit lang mit dem Befehlssatz gewesen ist, der etwas mit der Zeit zunimmt. Einige frühe ARM-Verarbeiter (vor ARM7TDMI) haben zum Beispiel keine Instruktion, eine Zwei-Byte-Menge so genau genommen zu versorgen, für sie ist es nicht möglich, effizienten Code zu erzeugen, der sich die Weise benehmen würde, wie man für C Gegenstände des Typs "int16_t" erwarten würde.

Rohrleitungen und andere Durchführungsprobleme

Der ARM7 und die früheren Durchführungen haben eine drei Bühne-Rohrleitung; die Stufen, die Abruf sind, decodieren Sie und führen Sie durch. Höhere Leistungsdesigns, wie der ARM9, haben tiefere Rohrleitungen: Kortex-A8 hat dreizehn Stufen. Zusätzliche Durchführungsänderungen für die höhere Leistung schließen eine schnellere Viper und umfassendere Zweigvorhersagelogik ein. Der Unterschied zwischen dem ARM7DI und den ARM7DMI Kernen war zum Beispiel ein verbesserter Vermehrer (folglich die zusätzliche "M").

Coprozessoren

Für diejenigen, die mit der Familie von Intel x86 von Zentraleinheiten vertraut sind, unterstützt die ARM-Familie von Verarbeitern nicht oder hat irgendwelche CPUID ähnlichen Instruktionen. Es, gibt jedoch, Mechanismen, um Coprozessoren in der ARM-Architektur zu richten.

Die ARM-Architektur stellt eine nichtaufdringliche Weise zur Verfügung, den Befehlssatz mit "Coprozessoren" zu erweitern, die mit MCR, MRC, MRRC, MCRR und ähnlichen Instruktionen gerichtet werden können. Der Coprozessor-Raum wird logisch in 16 Coprozessoren mit Zahlen von 0 bis 15, Coprozessor 15 (cp15) geteilt, der für einige typische Kontrollfunktionen wie das Handhaben der geheimen Lager und MMU Operation wird vorbestellt (auf Verarbeitern, die einen haben).

In Arm-basierten Maschinen werden peripherische Geräte gewöhnlich dem Verarbeiter beigefügt, indem sie ihre physischen Register in den ARM-Speicherraum oder in den Coprozessor-Raum kartografisch dargestellt wird oder zu einem anderen Gerät in Verbindung gestanden wird (ein Bus), der der Reihe nach dem Verarbeiter anhaftet. Coprozessor-Zugänge haben niedrigere Latenz so eine Peripherie (zum Beispiel ein XScale unterbricht Kontrolleur) werden entworfen, um auf beide Weisen (durch das Gedächtnis und durch Coprozessoren) zugänglich zu sein.

In anderen Fällen integrieren Span-Entwerfer nur Hardware mit dem Coprozessor-Mechanismus. Zum Beispiel könnte ein Bildverarbeitungsmotor ein kleiner ARM7TDMI Kern sein, der mit einem Coprozessor verbunden ist, das Operationen spezialisiert hat, um einen spezifischen Satz von HDTV Codeumsetzungsprimitiven zu unterstützen.

Das Beseitigen

Alle modernen ARM-Verarbeiter schließen Hardware-Beseitigen-Möglichkeiten ein; ohne sie konnten Softwaretesthilfeprogramme nicht grundlegende Operationen wie Halt, das Treten und breakpointing des Codes durchführen, der vom Rücksetzen anfängt. Diese Möglichkeiten werden mit der JTAG Unterstützung gebaut, obwohl einige neuere Kerne fakultativ das eigene "SWD" Zweidrahtprotokoll des ARMS unterstützen. In ARM7TDMI Kernen hat der "D" JTAG-Fehlersuchprogramm-Unterstützung vertreten, und der "I" hat Anwesenheit eines "EmbeddedICE"-Fehlersuchprogramm-Moduls vertreten. Für ARM7 und ARM9 Kerngenerationen war EmbeddedICE über JTAG tatsächlich Fehlersuchprogramm-Standard, obwohl es nicht architektonisch versichert wurde.

Die ARMv7 Architektur definiert grundlegende Fehlersuchprogramm-Möglichkeiten an einem architektonischen Niveau. Diese schließen Unterbrechungspunkte, watchpoints, und Instruktionsausführung in einer "Fehlersuchprogramm-Weise" ein; ähnliche Möglichkeiten waren auch mit EmbeddedICE verfügbar. Sowohl "Halt-Weise" als auch das "Monitor"-Weise-Beseitigen werden unterstützt. Der wirkliche Transportmechanismus, der verwendet ist, um auf die Fehlersuchprogramm-Möglichkeiten zuzugreifen, wird nicht architektonisch angegeben, aber Durchführungen schließen allgemein JTAG-Unterstützung ein.

Es gibt einen getrennten ARM "CoreSight" Fehlersuchprogramm-Architektur, die durch ARMv7 Verarbeiter nicht architektonisch erforderlich ist.

DSP Erhöhungsinstruktionen

Um die ARM-Architektur für die Digitalsignalverarbeitung und Multimediaanwendungen zu verbessern, wurden einige neue Instruktionen zum Satz hinzugefügt. Diese werden durch einen "E" im Namen des ARMv5TE und der ARMv5TEJ Architekturen bedeutet. E-Varianten beziehen auch T, D, M und mich ein.

Die neuen Instruktionen sind in Digitalsignalverarbeiter-Architekturen üblich. Sie sind Schwankungen auf dem unterzeichneten multiplizieren - wachsen an, gesättigt tragen bei und, machen und Zählung Hauptnullen Abstriche.

Jazelle

Jazelle ist eine Technik, die Java Bytecode erlaubt, der direkt in der ARM-Architektur als ein dritter Ausführungsstaat (und Befehlssatz) neben dem vorhandenen ARM und der Daumen-Weise durchzuführen ist. Die Unterstützung für diesen Staat wird durch den "J" in der ARMv5TEJ Architektur, und in ARM9EJ-S und ARM7EJ-S Kernnamen bedeutet. Die Unterstützung für diesen Staat ist erforderlich, in ARMv6 anfangend (abgesehen von der ARMv7-M Profil), obwohl neuere Kerne nur eine triviale Durchführung einschließen, die keine Hardware-Beschleunigung zur Verfügung stellt.

Daumen

Um kompilierte Codedichte Verarbeiter seit zu verbessern, haben den ARM7TDMI Daumen-Befehlssatz gezeigt, die ihren eigenen Staat haben. (Der "T" in "TDMI" zeigt die Daumen-Eigenschaft an.), Wenn in diesem Staat der Verarbeiter den Daumen-Befehlssatz, eine Kompakt-16-Bit-Verschlüsselung für eine Teilmenge des ARM-Befehlssatzes durchführt. Die meisten Daumen-Instruktionen werden zu normalen ARM-Instruktionen direkt kartografisch dargestellt. Die Platzersparnis kommt daraus, etwas von der Instruktion operands implizit zu machen und die Zahl von Möglichkeiten im Vergleich zu den im ARM-Befehlssatz-Staat durchgeführten ARM-Instruktionen zu beschränken.

Im Daumen haben die 16 Bit opcodes weniger Funktionalität. Zum Beispiel können nur Zweige bedingt sein, und viele opcodes werden auf das Zugreifen auf nur Hälfte von allen allgemeinen Zweck-Registern der Zentraleinheit eingeschränkt. Kürzer geben opcodes verbesserte Codedichte insgesamt, wenn auch einige Operationen Extrainstruktionen verlangen. In Situationen, wo der Speicherhafen oder die Busbreite zu weniger als 32 Bit beschränkt werden, erlaubt der kürzere Daumen opcodes vergrößerte Leistung im Vergleich zu 32-Bit-ARM-Code, weil weniger Programm-Code eventuell in den Verarbeiter über die gezwungene Speicherbandbreite geladen werden muss.

Eingebettete Hardware, wie der Spieljunge-Fortschritt, hat normalerweise einen kleinen Betrag des RAM, der mit vollen 32 Bit datapath zugänglich ist; auf die Mehrheit wird über 16 Bit oder schmalerer sekundärer datapath zugegriffen. In dieser Situation hat es gewöhnlich Sinn, Daumen-Code zu kompilieren, und Hand - optimieren einige der mit der Zentraleinheit intensivsten Abteilungen mit vollen 32-Bit-ARM-Instruktionen, diese breiteren Instruktionen in den 32-Bit-Bus zugängliches Gedächtnis legend.

Der erste Verarbeiter mit einem Daumen-Instruktionsdecoder war der ARM7TDMI. Der ganze ARM9 und spätere Familien, einschließlich XScale, haben einen Daumen-Instruktionsdecoder eingeschlossen.

Daumen 2

Daumen 2 Technologie hat sein Debüt im ARM1156 Kern gemacht, hat 2003 bekannt gegeben. Daumen 2 erweitert den beschränkten 16-Bit-Befehlssatz des Daumens mit zusätzlichen 32-Bit-Instruktionen, dem Befehlssatz mehr Breite zu geben, so einen Befehlssatz der variablen Länge erzeugend. Ein festgesetzter zielt auf Daumen 2 soll Codedichte erreichen, die dem Daumen mit der Leistung ähnlich ist, die dem ARM-Befehlssatz auf 32-Bit-Gedächtnis ähnlich ist. In ARMv7, wie man sagen kann, ist diese Absicht entsprochen worden.

Daumen 2 erweitert sowohl den ARM-als auch Daumen-Befehlssatz mit noch mehr Instruktionen, einschließlich der mit dem Bitfeldmanipulation, Tabellenzweige und bedingten Ausführung. Eine neue "Vereinigte Zusammenbau-Sprache" (UAL) unterstützt Generation entweder des Daumens 2 oder der ARM-Instruktionen aus demselben Quellcode; Versionen des auf ARMv7 Verarbeitern gesehenen Daumens sind im Wesentlichen so fähig wie ARM-Code (einschließlich der Fähigkeit, Unterbrechungsdressierern zu schreiben). Das verlangt ein wenig Sorge und Gebrauch eines neuen "ES" (wenn dann) Instruktion, die bis zu vier aufeinander folgenden Instruktionen erlaubt, gestützt auf einer geprüften Bedingung durchzuführen. Wenn das Kompilieren in den ARM codiert, wird das ignoriert, aber wenn es in den Daumen 2 kompiliert, erzeugt es eine wirkliche Instruktion. Zum Beispiel:

wenn (r0 == r1)

CMP r0, r1

ITE EQ; ARM: kein Code... Daumen: ES Instruktion

dann r0 = r2;

MOVEQ r0, r2; ARM: bedingt; Daumen: Bedingung über ITE 'T' (dann)

sonst r0 = r3;

MOVNE r0, r3; ARM: bedingt; Daumen: Bedingung über ITE 'E' (sonst)

rufen Sie zurück, dass der Daumen MOV Instruktion keine Bit hat, "um EQ" oder "NE" zu verschlüsseln

</Quelle>

Alle ARMv7 Chips unterstützen den Daumen 2 Befehlssatz. Andere Chips im Kortex und der ARM11 Reihe unterstützen sowohl "ARM-Befehlssatz-Staat" als auch "Daumen 2 Befehlssatz-Staat".

Daumen-Ausführungsumgebung (ThumbEE)

ThumbEE, auch genannter Daumen-2EE, und auf den Markt gebracht als Jazelle RCT (Laufzeitkompilationsziel), wurde 2005 bekannt gegeben, zuerst im Verarbeiter des Kortexes-A8 erscheinend. ThumbEE ist eine vierte Verarbeiter-Weise, kleine Änderungen mit dem Daumen 2 erweiterter Daumen-Befehlssatz vornehmend. Diese Änderungen machen den Befehlssatz besonders angepasst dem Code erzeugt an der Durchlaufzeit (z.B durch die JIT Kompilation) in geführten Ausführungsumgebungen. ThumbEE ist ein Ziel für Sprachen wie Vorhölle, Java, C#, Perl und Python, und erlaubt JIT Bearbeiter der Produktion kleinerer kompilierter Code, ohne Leistung zusammenzupressen.

Neue von ThumbEE zur Verfügung gestellte Eigenschaften schließen automatische ungültige Zeigestock-Kontrollen über jede Last ein und versorgen Instruktion, eine Instruktion, eine Reihe durchzuführen, begrenzt Kontrolle, Zugang zu Registern r8-r15 (wo das Jazelle/DBX Java, an dem VM Staat gehalten wird), und spezielle Instruktionen, die einen Dressierer nennen. Dressierer sind kleine Abteilungen des oft genannten Codes, allgemein verwendet, um eine Eigenschaft einer hohen Sprache, wie das Zuteilen des Gedächtnisses für einen neuen Gegenstand durchzuführen. Diese Änderungen kommen daraus, eine Hand voll opcodes wiederzubeabsichtigen und zu wissen, dass der Kern in der neuen Weise von ThumbEE ist.

Schwimmpunkt (VFP)

VFP (Vektor-Schwimmen-Punkt) Technologie ist eine FPU Coprozessor-Erweiterung auf die ARM-Architektur. Es stellt preisgünstige Schwimmpunkt-Berechnung der einfachen Präzision und doppelten Genauigkeit zur Verfügung, die mit dem ANSI/IEEE Std 754-1985 Standard für die Binäre Fließkommaarithmetik völlig entgegenkommend ist. VFP stellt Schwimmpunkt-Berechnung zur Verfügung, die für ein breites Spektrum von Anwendungen wie PDAs, smartphones, Stimmenkompression und Dekompression, dreidimensionale Grafik und Digitalaudio, Drucker, mit dem Satz oberste Kästen und Automobilanwendungen passend ist. Die VFP Architektur war beabsichtigt, um Ausführung von kurzen "Vektoren Weise" Instruktionen zu unterstützen, aber diese haben auf jedem Vektor-Element folgend funktioniert und haben so die Leistung der wahren einzelnen Instruktion, vielfache Daten (SIMD) Vektor-Parallelismus nicht angeboten. Diese Vektor-Weise wurde deshalb kurz nach seiner Einführung entfernt, um durch die viel stärkere SIMD Fortgeschrittene NEON-Einheit ersetzt zu werden.

Einige Geräte wie der ARM-Kortex-A8 haben ein geschnittenes unten VFPLite Modul statt eines vollen VFP Moduls, und verlangen ungefähr zehnmal mehr Uhr-Zyklen pro Operation der Hin- und Herbewegung. Anderer Schwimmpunkt und/oder SIMD in Arm-basierten Verarbeitern gefundene Coprozessoren schließen FPA, FPE, iwMMXt ein. Sie stellen etwas von derselben Funktionalität wie VFP zur Verfügung, aber sind damit nicht opcode-vereinbar.

Fortgeschrittener SIMD (NEON)

Die Fortgeschrittene SIMD Erweiterung (auch bekannt als NEON oder "MPE" Medien, die Motor Bearbeiten), ist ein vereinigter 64- und 128-Bit-Befehlssatz der einzelnen Instruktion vielfachen Daten (SIMD), der standardisierte Beschleunigung für Medien und Signalverarbeitungsanwendungen zur Verfügung stellt. NEON wird in alle Geräte des Kortexes-A8 eingeschlossen, aber ist in Geräten des Kortexes-A9 fakultativ. NEON kann MP3 Audioentzifferung auf Zentraleinheiten durchführen, die an 10 MHz laufen, und kann die GSM Rede der anpassungsfähigen Mehrrate (AMR) codec an nicht mehr als 13 MHz führen. Es zeigt einen umfassenden Befehlssatz, getrennte Register-Dateien und unabhängige Ausführungshardware. NEON unterstützt 8-, 16-, 32- und ganze 64-Bit-Zahl und einfache Präzision (32 Bit) Schwimmpunkt-Daten und funktioniert in SIMD Operationen, wegen Audio- und Videoverarbeitung sowie Grafik und spielend zu behandeln, in einer Prozession gehend. In NEON unterstützt der SIMD bis zu 16 Operationen zur gleichen Zeit. Die NEON-Hardware teilt dieselben Schwimmpunkt-Register, wie verwendet, in VFP. Geräte wie der ARM-Kortex-A8 und Kortex-A9 unterstützen 128-Bit-Vektoren, aber werden mit gerade 64 Bit auf einmal durchführen, wohingegen neuere Geräte des Kortexes-A15 128 Bit sofort durchführen können.

Sicherheitserweiterungen (TrustZone)

Die Sicherheit Erweiterungen, auf den Markt gebracht als Technologie von TrustZone, wird in ARMv6KZ und späteren Anwendungsprofil-Architekturen gefunden. Es stellt eine niedrige Kostenalternative zum Hinzufügen zur Verfügung, dass ein zusätzlicher hingebungsvoller Sicherheitskern zu SoC, durch die Versorgung zwei virtueller durch die Hardware unterstützter Verarbeiter Zugriffskontrolle gestützt hat. Das ermöglicht dem Anwendungskern, zwischen zwei Staaten, gekennzeichnet als Welten umzuschalten (um Verwirrung mit anderen Namen für Fähigkeitsgebiete zu reduzieren), um Information davon abzuhalten, von der mehr vertrauten Welt bis die weniger vertraute Welt zu lecken. Dieser Weltschalter ist zu allen anderen Fähigkeiten zum Verarbeiter allgemein orthogonal, so kann jede Welt unabhängig von anderem funktionieren, während sie denselben Kern verwendet. Gedächtnis und Peripherie werden dann der Betriebswelt des Kerns zur Kenntnis gebracht und können das verwenden, um Zugriffskontrolle Geheimnissen und Code auf dem Gerät zur Verfügung zu stellen.

Typische Anwendungen der Technologie von TrustZone sollen ein reiches Betriebssystem in der weniger vertrauten Welt führen, und kleinerer Sicherheitsspezialcode in der mehr vertrauten Welt (hat Software von TrustZone genannt, TrustZone hat Version der Vertrauten Fundament-Software optimiert, die durch die Vertraute Logik entwickelt ist), viel dichteres Digitalrecht-Management erlaubend, für den Gebrauch von Medien auf Arm-basierten Geräten zu kontrollieren, und jeden ungebilligten Gebrauch des Geräts zu verhindern.

In der Praxis, da die spezifischen Durchführungsdetails von TrustZone Eigentums-sind und für die Rezension nicht öffentlich bekannt gegeben worden sind, ist es unklar, was das Niveau der Versicherung für ein gegebenes Drohungsmodell zur Verfügung gestellt wird.

Nein - führen Seitenschutz durch

Bezüglich ARMv6 unterstützt die ARM-Architektur nein - führen Seitenschutz durch, der XN genannt wird, dafür führen Nie durch.

ARMv8 und 64 Bit

Veröffentlicht gegen Ende 2011 vertritt ARMv8 die erste grundsätzliche Änderung zur ARM-Architektur. Es fügt eine 64-Bit-Architektur hinzu, hat 'AArch64' und einen neuen 'A64' Befehlssatz synchronisiert. Innerhalb des Zusammenhangs von ARMv8 werden die 32-Bit-Architektur und der Befehlssatz 'AArch32' und 'A32' beziehungsweise genannt. Die Daumen-Befehlssätze werden 'T32' genannt und haben No-64-Bit-Kopie. ARMv8 erlaubt 32-Bit-Anwendungen, in einem 64-Bit-OS, und für einen 32-Bit-OS durchgeführt zu werden, um unter der Kontrolle eines 64-Bit-Hyperschirms zu sein., nur die ARMv8-A ("Anwendung") Profil, ist und keine Durchführungen definiert worden, sind bekannt gegeben worden.

Sowohl zu AArch32 als auch zu AArch64 macht ARMv8 VFP und fortgeschrittenen SIMD (NEON)-Standard. Es fügt auch Geheimschrift-Instruktionen hinzu, die AES und SHA-1/SHA-256 unterstützen.

AArch64 Eigenschaften:

  • Neuer Befehlssatz, A64
  • 31 64 Mehrzweck-Bit schreiben ein
  • Instruktionen sind noch 32 Bit lang und größtenteils dasselbe als A32
  • Die meisten Instruktionen können 32-bit- oder 64-Bit-Argumente nehmen
  • Adressen, die angenommen sind, 64 Bit zu sein
  • Ein neues Ausnahme-System
  • Weniger bei einer Bank hinterlegte Register und Weisen
  • Die Speicherübersetzung aus virtuellen 48-Bit-Adressen hat auf dem vorhandenen LPAE gestützt, der entworfen wurde, um zu 64 Bit leicht erweitert zu werden

ARM-Lizenznehmer

ARM Ltd verfertigt nicht und verkauft Zentraleinheitsgeräte, die auf seinen eigenen Designs, aber eher gestützt sind, lizenziert die Verarbeiter-Architektur Interessenten. ARM bietet eine Vielfalt an, Begriffe zu lizenzieren, sich in Kosten und deliverables ändernd. Allen Lizenznehmern stellt ARM eine integratable Hardware-Beschreibung des ARM-Kerns, sowie ganze Softwareentwicklung toolset (Bearbeiter, Testhilfeprogramm, SDK), und das Recht zur Verfügung, verfertigtes Silikon zu verkaufen, das die ARM-Zentraleinheit enthält.

Lizenznehmer von Fabless, die einen ARM-Kern in ihr eigenes Span-Design integrieren möchten, interessieren sich gewöhnlich nur für das Erwerben eines zur Fertigung bereiten nachgeprüften IP Kerns. Für diese Kunden liefert ARM ein Tor netlist Beschreibung des gewählten ARM-Kerns, zusammen mit einem abstrahierten Simulierungsmodell und Testprogrammen, um Designintegration und Überprüfung zu helfen. Ehrgeizigere Kunden, einschließlich einheitlicher Gerät-Hersteller (IDM) und Gießerei-Maschinenbediener, beschließen, den Verarbeiter IP in synthesizable RTL (Verilog) Form zu erwerben. Mit dem synthesizable RTL ist der Kunde in der Lage, architektonische Niveau-Optimierungen und Erweiterungen durchzuführen. Das erlaubt dem Entwerfer, exotische Designziele zu erreichen, die nicht sonst mit einem unmodifizierten netlist (hohe Uhr-Geschwindigkeit, sehr niedriger Macht-Verbrauch, Befehlssatz-Erweiterungen, usw.) möglich sind . Während ARM dem Lizenznehmer das Recht nicht gewährt, die ARM-Architektur selbst wieder zu verkaufen, können Lizenznehmer verfertigtes Produkt (Span-Geräte, Einschätzungsausschüsse, ganze Systeme, usw.) frei verkaufen. Handelsgießereien können ein spezieller Fall sein; nicht nur wird ihnen erlaubt, beendetes Silikon zu verkaufen, das ARM-Kerne enthält, sie halten allgemein das Recht, ARM-Kerne für andere Kunden wiederzuverfertigen.

Wie die meisten IP Verkäufer bewertet ARM seinen auf dem wahrgenommenen Wert gestützten IP. In architektonischen Begriffen, tiefer ARM-Kerne durchführend, befehlen niedrigeren Lizenzkosten als höhere leistende Kerne. In Durchführungsbegriffen kostet ein synthesizable Kern mehr als ein harter (blackbox) Makrokern. Preissachen komplizierend, kann eine Handelsgießerei, die eine ARM-Lizenz hält (wie Samsung und Fujitsu) reduzierte Genehmigen-Kosten seinen fab Kunden anbieten. Als Entgelt für das Erwerben des ARM-Kerns durch die innerbetrieblichen Designdienstleistungen der Gießerei kann der Kunde reduzieren oder Zahlung der vordringlichen Lizenzgebühr des ARMS beseitigen. Im Vergleich zu hingebungsvollen Halbleiter-Gießereien (wie TSMC und UMC) ohne innerbetriebliche Designdienstleistungen stürmen Fujitsu/Samsung 2 bis 3mal mehr pro verfertigte Oblate. Für niedrig zur Mitte Volumen-Anwendungen bietet eine Designdienstgießerei niedrigere gesamte Preiskalkulation (durch die Subventionierung der Lizenzgebühr) an. Für die Großserie hat Masse Teile erzeugt, die langfristige durch die niedrigere Oblate-Preiskalkulation erreichbare Kostendämmung reduziert den Einfluss des NRE des ARMS (Einmalige Technik) Kosten, die hingebungsvolle Gießerei eine bessere Wahl machend.

Viele Halbleiter oder IC Designunternehmen halten ARM-Lizenzen: Analoggeräte, AppliedMicro, Atmel, Broadcom, Ranke-Logik, Energie Mikro-, Faraday Technologie, Freescale, Fujitsu, Intel (durch seine Ansiedlung mit Digital Equipment Corporation), IBM, Infineon Technologies, Marvell Technology Group, Nintendo, NXP Halbleiter, OKI, Qualcomm, Samsung, Scharf, STMicroelectronics und Instrumente von Texas sind einige der vielen Gesellschaften, die den ARM in einer Form oder einem anderen lizenziert haben.

Ungefähre Genehmigen-Kosten

Der 2006-Jahresbericht und Rechnungen des ARMS stellen fest, dass Lizenzgebühren, die sich auf £ 88.7 Millionen ($ 164.1 Millionen) belaufen, das Ergebnis von Lizenznehmern waren, die 2.45 Milliarden Einheiten verladen. Das ist zu 0.036 £ (0.067 $) pro verladene Einheit gleichwertig. Jedoch ist das über alle Kerne, einschließlich teurer neuer Kerne und billiger älterer Kerne durchschnittlich.

In demselben Jahr war das Genehmigen des ARMS von Einnahmen für Verarbeiter-Kerne £ 65.2 Millionen (US$ 119.5 Millionen) in einem Jahr, als 65 Verarbeiter-Lizenzen, ein Durchschnitt von £ 1 Million ($ 1.84 Millionen) pro Lizenz unterzeichnet wurden. Wieder ist das sowohl über neue als auch über alte Kerne durchschnittlich.

In Anbetracht dessen, dass das 2006-Einkommen des ARMS von Verarbeiter-Kernen etwa 60 % von Lizenzgebühren und 40 % aus Lizenzen war, macht ARM die Entsprechung von 0.06 £ (0.11 $) pro Einheit verladen sowohl einschließlich Lizenzgebühren als auch einschließlich Lizenzen. Jedoch, weil einmalige Lizenzen normalerweise für neue Technologien gekauft werden, werden Einheitsverkäufe (und folglich Lizenzgebühren) durch mehr feststehende Produkte beherrscht. Folglich widerspiegeln die Zahlen oben die wahren Kosten keines einzelnen ARM-Produktes.

Betriebssysteme

Eichelsysteme

Die allerersten Arm-basierten Eichelpersonalcomputer von Archimedes haben ein Zwischenbetriebssystem genannt Arthur geführt, der sich zu RISC OS, verwendet auf späteren Arm-basierten Systemen von der Eichel und den anderen Verkäufern entwickelt hat.

Eingebettete Betriebssysteme

Die ARM-Architektur wird durch eine Vielzahl von eingebetteten und schritthaltenden Betriebssystemen, einschließlich des Windows CE, Windows 8.NET Mikrofachwerk, Symbian, ChibiOS/RT, FreeRTOS, eCos, Integrität, Kern PLUS, MicroC/OS-II, QNX, RTEMS, BRTOS, RTXC Quadros, ThreadX, Einklang-Betriebssystem, uTasker, VxWorks, MQX und OSE unterstützt.

Unix ähnlich

Die ARM-Architektur wird von Unix und Unix-like Betriebssysteme unterstützt wie:

Linux

Der folgende Vertrieb von Linux unterstützt ARM-Verarbeiter:

  • APEXAR PDK
  • Androide
  • Arm von Arch Linux
  • Ångström
  • KERNPUNKT-ARM
  • BackTrack
  • Chrom OS
  • DSLinux
  • Debian
  • ELinOS
  • Filzhut
  • Gentoo
  • GoboLinux
  • iPodLinux
  • Maemo
  • MeeGo
  • Mer
  • MontaVista
  • PuppyLinux
  • RedSleeve
  • Slackware
  • T2 SDE
  • TimeSys
  • Ubuntu
  • webOS
  • Wind der Fluss Linux

BSD

Die folgenden BSD Ableitungen unterstützen ARM-Verarbeiter:

  • RISC iX (Eichel ARM2/ARM3-based Systeme nur)
  • FreeBSD
  • NetBSD
  • OpenBSD
  • EIN/AUSGABE-STEUERSYSTEM

Solaris

  • OpenSolaris

Windows

Microsoft hat am 5. Januar 2011 bekannt gegeben, dass die folgende Hauptversion der Familie des Windows NT (Windows 8) Unterstützung für ARM-Verarbeiter einschließen wird. Microsoft hat eine einleitende Version von Windows (Version 6.2.7867) demonstriert, die auf einem Arm-basierten Computer an Consumer 2011-Electronics Show läuft. Die ARM-Architektur wird auch durch die beweglichen Betriebssysteme des Microsofts, Windows-Telefon und Bewegliches Windows unterstützt.

ARM wird auch auf Microsoft unterstützt hat OS, Windows Eingebetteter CE Eingebettet, der jetzt Windows Eingebettet Kompakt genannt wird. Diese letzte Version unterstützt ARMv 5,6 und 7. Windows CE 5 ist der zu Grunde liegende OS für Windows Beweglich und Windows Eingebettete Kompakte 7 sind der zu Grunde liegende OS für Windows Telefon 7. Der kleinere Microsoft OS.NET Mikrofachwerk verwendet ARM exklusiv.

Siehe auch

  • AMULETT, Familie von asynchronen ARMEN
  • ARMulator, ARM-Befehlssatz-Simulator
  • ARMware, eine virtuelle Maschine, die mit einem Arm-basierten PDA wetteifert.
  • QEMU, eine virtuelle Maschine, die einige ARM-Verarbeiter-Kerne unterstützt
  • Simulator von SkyEye - ein offener Quell-ARM-Befehlssatz-Simulator
  • Bernstein (Verarbeiter-Kern) - öffnet Quell-ARM-Kern, der in Verilog HDL entwickelt ist.
  • Smartbook
  • Symbian
  • Windows CE und Windows rufen an
EIN/AUSGABE-STEUERSYSTEM
  • Inferno
Androide
  • Stecker-Computerarchitekturen
  • Linaro
  • Himbeere-Pi, ARM11-basierter Computer

Weiterführende Literatur

  • Das Endgültige Handbuch zum ARM-Kortex-M3; 2. Ausgabe; Joseph Yiu; Newnes; 479 Seiten; 2009; internationale Standardbuchnummer 978-1-85617-963-8. (Online-Probe)
  • Das Endgültige Handbuch zum ARM-Kortex-M0; 2. Ausgabe; Joseph Yiu; Newnes; 552 Seiten; 2011; internationale Standardbuchnummer 978-0-12-385477-3. (Online-Probe)

Links

  • ARM Ltd.

Emmeline Pankhurst / Emily Davison
Impressum & Datenschutz