www.wikidata.de-de.nina.az
Ein Grossteil dieses Artikels ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Als Befehlssatzarchitektur Befehlsarchitektur oder auch Programmiermodell 1 englisch Instruction Set Architecture bzw als Akronym ISA wird die gesamte nach aussen sichtbare Architektur eines Prozessors verstanden 2 Sie erlaubt als Schnittstelle zwischen Software und Hardware eine vollstandige Abstraktion der Hardware da sie sich auf die Funktionalitat des Prozessors beschrankt Wahrend also die Mikroarchitektur die Implementierung in Hardware definiert spezifiziert die ISA das Verhalten des Prozessors fur die Software 3 Die durch Prozessorarchitekturen implementierten Befehlssatze werden als Teil der Architektur verstanden und erhalten daher in der Regel deren Namen z B die x86 Architektur Befehlssatzarchitekturen entwickeln sich mit der Prozessorarchitektur weiter Werden die Neuerungen als Befehlssatzerweiterungen implementiert ohne den bisherigen Befehlssatz zu verandern bleibt die ISA ruckwartskompatibel wie dies beispielsweise bei x86 der Fall ist Mit IA 32 ist die 32 Bit Erweiterung der ursprunglichen 16 Bit ISA definiert und mit x64 ist ein 64 Bit Befehlssatz und ein 64 Bit Betriebsmodus dazugekommen Da die Befehlssatzarchitektur als formale Beschreibung spezifiziert ist gibt sie vor allem Assemblersprache Programmierern die Moglichkeit das einheitliche Verhalten von Maschinencode fur verschiedene Implementierungen einer bestimmten ISA Mikroarchitekturen oder virtuelle Maschinen in Bezug auf Register Datentypen etc nachzuvollziehen Damit kann er oder sie binarkompatible Programme fur verschiedene Prozessoren erstellen wenn sie dieselbe Befehlssatzarchitektur verwenden Inhaltsverzeichnis 1 Formale Spezifikation 2 Formen der Implementierung 2 1 Mikroprozessor 2 2 Virtuelle Maschine 3 Charakteristische Eigenschaften 3 1 Typ des Befehlssatzes 3 2 Bitbreite 3 3 Adressierungsarten und Register 3 4 Optionale Implementierungen 3 5 Operandenanzahl 3 6 Assemblersprache und Mnemonics 3 7 Sonstige Eigenschaften 4 Nicht zur Befehlssatzarchitektur gehorende Aspekte 5 Beispiele 5 1 Die IBM S 360 Befehlssatzarchitektur 5 2 Weitere Beispiele 6 EinzelnachweiseFormale Spezifikation BearbeitenZur formalen Spezifikation einer Befehlssatzarchitektur gehoren die Beschreibung des Befehlssatzes und dessen binarer Kodierung ebenso wie eine Beschreibung der Verhaltensweise der CPU wahrend bestimmter Betriebszustande und beim Eintreten bestimmter Ereignisse Zu nennen ware in diesem Zusammenhang beispielsweise das Verhalten der CPU bei einer Unterbrechungsanforderung die Startadresse der Befehlsabarbeitung und die Initialisierung der Register nach einem Reset aber auch der Aufbau wichtiger Datenstrukturen bspw der verschiedenen Deskriptortabellen im Protected Mode der x86 Architektur Diese Aufzahlung erhebt keinen Anspruch auf Vollstandigkeit und soll nur verdeutlichen dass die Spezifikation einer Befehlssatzarchitektur mehr ist als die Beschreibung der Einzelbefehle ihres Befehlssatzes Formen der Implementierung BearbeitenMikroprozessor Bearbeiten Man spricht davon dass ein Mikroprozessor eine Befehlssatzarchitektur implementiert bzw unterstutzt wenn er alle im Sinne der Regeln dieser Befehlssatzarchitektur gultigen Programme in der vorgesehenen Art und Weise ausfuhren kann Viele real existierende Befehlssatzarchitekturen sind aber historisch gewachsen und haben niemals eine formale Spezifikation erfahren Das ist auch haufig gar nicht erwunscht wurde eine exakte Spezifizierung einen Konkurrenten doch moglicherweise in die Lage versetzen selbst CPUs mit dieser Befehlssatzarchitektur zu bauen und ihm die Aufgabe abnehmen selbst herauszufinden welche Eigenschaften einer nur vage beschriebenen Befehlssatzarchitektur es nun sind die bspw die Wahrung der Ruckwartskompatibilitat zu einem historisch gewachsenen Bestand an Software erlauben Die Geschichte x86 kompatibler CPUs zeigt das sehr eindrucksvoll Insbesondere die Neuentwicklungen von Intel Konkurrenten wiesen in der ersten Halfte der 1990er Jahre immer wieder mehr oder weniger bedeutende Inkompatibilitaten zum Intel Vorbild auf In der Praxis werden also haufig auch manche in den Datenblattern nicht dokumentierte Eigenschaften oder vermeintlich unbedeutende Details einer konkreten CPU zum Bestandteil einer Befehlssatzarchitektur Virtuelle Maschine Bearbeiten Da eine Befehlssatzarchitektur lediglich eine formale Definition ist muss sie nicht zwangsweise oder gar ausschliesslich als Prozessor implementiert werden Sie lasst sich auch in Software als eine so genannte virtuelle Maschine implementieren Man spricht dann auch von einer Emulation Auf diese Art lasst sich auch Software fur eine Befehlssatzarchitektur ausfuhren und testen bevor die zugehorige CPU uberhaupt gebaut wurde So wurden grosse Teile der IA 64 Unterstutzung fur den Betriebssystemkern Linux programmiert bevor der erste Itanium Intels Fabriken verliess Das ist auch der Grund warum Linux bereits kurz nach Verfugbarkeit der ersten Testmuster auf der Itanium CPU lauffahig war Charakteristische Eigenschaften BearbeitenBefehlssatzarchitekturen werden unter anderem anhand der folgenden charakteristischen Eigenschaften klassifiziert Typ des Befehlssatzes Bitbreite Registeranzahl Adressierungsarten Unterbrechungsanforderungen und AusnahmebehandlungIm Folgenden wird kurz auf ein paar dieser Aspekte genauer eingegangen wobei zumeist auf weiterfuhrende Artikel verwiesen wird Typ des Befehlssatzes Bearbeiten Bei Befehlssatzarchitekturen werden die folgenden Grundtypen von Befehlssatzen unterschieden in chronologischer Reihenfolge CISC Complex Instruction Set Computing RISC Reduced Instruction Set Computing VLIW Very Long Instruction Word EPIC Explicitly Parallel Instruction Computing Weitere charakteristische Eigenschaften von Befehlssatzen finden sich im Artikel Befehlssatz Bitbreite Bearbeiten Die Bitbreite einer Befehlssatzarchitektur aussert sich in der Bitbreite der fur den Programmierer sichtbaren Daten und Adressregister und die der Verarbeitungseinheiten Zumeist wird die Breite der Datenregister als massgeblich fur die Bitbreite der Befehlssatzarchitektur angesehen Beispiele fur die Bitbreiten der Befehlssatzarchitekturen am Beispiel der x86 kompatiblen Prozessoren deren direkte Vorlaufer und deren Konkurrenten 8 Bit MOS 6502 und 6510 Intel 8080 und 8085 Zilog Z80 seine weitgehend 8 bittige Befehlssatzarchitektur ist realisiert auf einer stellenweise 4 bittigen Mikroarchitektur 16 Bit Intel 8086 und 8088 sowie deren Nachfolger 80186 80188 und 80286 begrunden die 80x86 kurz x86 Architektur Zilog Z8000 Motorola 68k Familie die erste Generation von CPUs dieser Familie mit den Bezeichnungen 68000 68008 68010 und 68012 basiert auf einer 16 bitigen Mikroarchitektur obgleich ihre Befehlssatzarchitektur von Anfang an 32 bittig war 32 Bit IA 32 Erweiterung der x86 Architektur um 32 Bit Befehle und Betriebsmodus ab dem Intel 80386 Motorola 68k Familie ab dem 68020 PowerPC Prozessoren der 1990er und fruhen 2000er Jahre nutzten meist ein 32 Bit Subset der ansonsten 64 Bit PowerPC Architektur beispielsweise alle von Apple genutzten PowerPC CPUs bis zum G4 64 Bit PowerPC mit dem PPC620 G2 bzw ab dem G5 sowie die gesamte Power Architektur von der der PowerPC ursprunglich abgeleitet und mit OpenPower wieder vereint wurde Itanium Architektur IA 64 Itanium und Itanium 2 x64 bzw x86 64 Erweiterung der x86 Architektur und IA 32 um 64 Bit Befehle und Betriebsmodus ab dem AMD Opteron implementiert als AMD64 oder Intel 64Adressierungsarten und Register Bearbeiten Die Anzahl verfugbarer bzw implementierbarer Register ist ein wichtiges Kriterium bei der Beurteilung einer Befehlssatzarchitektur Ebenso wie die verschiedenen Adressierungsarten fliesst auch sie unmittelbar in die binare Kodierung eines Befehlssatzes mit ein Hauptartikel Register Computer Hauptartikel Adressierung Rechnerarchitektur Optionale Implementierungen Bearbeiten Die Anzahl der Register wird durch die Befehlssatzarchitektur nicht immer exakt vorgegeben So ist durchaus denkbar dass die binare Kodierung des Befehlssatzes zwar eine maximale Anzahl von Registern vorsieht aber fur konkrete Implementierungen durchaus eine geringere Anzahl Register erlauben kann Auf diese Art und Weise lasst sich ein und dieselbe Befehlssatzarchitektur fur verschiedene Einsatzzwecke anpassen oder optimieren Ahnliches gilt auch fur optional implementierbare Befehle Insbesondere bei Mikrocontroller Familien ist diese Vorgehensweise beliebt da sie einerseits eine fur den Einsatzzweck einer CPU oder eines Mikrocontrollers optimierte Entwicklung bzw Konfiguration des CPU Kerns gestattet andererseits aber sicherstellt dass Entwicklungswerkzeuge und Dokumentation nicht standig grundlegend modifiziert werden mussen Zudem mussen die Entwickler nicht umgeschult werden oder umlernen Operandenanzahl Bearbeiten Ein grundsatzliches Charakteristikum einer CPU ist die Anzahl von Operanden die ein einzelner Befehl maximal entgegennimmt Gezahlt werden dabei ausschliesslich Operanden die aus dem Arbeitsspeicher geladen werden nicht jedoch Operanden die vorher schon in interne Prozessorregister geladen wurden Bei der Benennung der zugehorigen Architekturen spricht man aber statt von Operanden von Adressen 4 Man unterscheidet Ein Adress Architektur Ein Befehl holt maximal einen Operanden aus dem Arbeitsspeicher Werden mehr Operanden benotigt beispielsweise fur eine Addition oder einen Vergleich mussen diese vorab in interne Prozessorregister meistens den Akkumulator geladen worden sein Diese findet bei den RISC Prozessoren Anwendung Zwei Adress Architektur Ein Befehl holt maximal zwei Operanden aus dem Arbeitsspeicher beispielsweise die Summanden einer Addition Es gibt danach noch die Unterscheidung in den Architekturen ob das Ergebnis standardmassig in einem internen Prozessorregister abgelegt wird und dort fur weitere Bearbeitungen und Abfragen zur Verfugung steht oder ob das Ergebnis direkt wieder in eine der beiden Operandenadressen beispielsweise die erste der beiden zuruckgespeichert wird Die letztere Methode wurde bei CPUs benutzt die keine internen Register aufwiesen Drei Adress Architektur Ein Befehl holt maximal drei Operanden aus dem Arbeitsspeicher typischerweise die beiden Operanden einer arithmetischen oder logischen Verknupfung und als dritten Operanden die Adresse wohin das Ergebnis zuruckgespeichert werden soll Assemblersprache und Mnemonics Bearbeiten Der nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Haufig wird im Zusammenhang mit der Spezifikation einer Befehlssatzarchitektur noch die Notwendigkeit zur Definition einer Assemblersprache genannt die deren Instruktionen unter anderem so genannte Mnemonics zuordnet und das Format zugehoriger Operanden festlegt Bei der Beurteilung verschiedener CPUs mit derselben Befehlssatzarchitektur spielt dieser Aspekt aber keine Rolle So konnen Hersteller durchaus CPUs mit derselben Befehlssatzarchitektur implementieren obwohl in deren Datenblattern verschiedene symbolische Darstellungen fur deren Befehle genannt sind So hat beispielsweise Intel in seinem Datenbuch von 1975 die mnemonische Darstellung seiner Assemblersprache fur den 8008 gegenuber dem Datenbuch des Vorjahres grundlegend verandert Trotz allem implementieren die 1974 und 1975 hergestellten 8008 Exemplare zweifelsohne dieselbe Befehlssatzarchitektur Beim Vergleich der Befehlssatzarchitekturen zweier CPUs lasst sich dieser Aspekt deshalb nicht als vergleichendes Kriterium heranziehen Sonstige Eigenschaften Bearbeiten Daruber hinaus gibt es weitere Eigenschaften von Befehlssatzarchitekturen die hier nur kurz erwahnt werden sollen wird Multitasking unterstutzt gibt es verschiedene Privilegierungsstufen gibt es eine Form des Speicherschutzes existiert eine virtuelle Speicheradressierung gibt es einen Stack wie ist dieser organisiert wofur lasst es sich verwenden existieren Befehle fur Gleitkomma Arithmetik Nicht zur Befehlssatzarchitektur gehorende Aspekte Bearbeitendie Mikroarchitektur also der interne Aufbau des Prozessors alles was nicht den Kern der CPU betrifft bspw Peripheriegerate DMA und Interrupt Controller Bussystem und ArbeitsspeicherBeispiele BearbeitenDie IBM S 360 Befehlssatzarchitektur Bearbeiten Die erste Befehlssatzarchitektur die wiederholt mit unterschiedlichen Geschwindigkeiten Komplexitatsgraden und Technologien reimplementiert und stetig erweitert wurde ist die der IBM System 360 Deren Mikroarchitektur wurde u a auch in einer besonderen Variante des Motorola 68000 dem MC68000 360 reimplementiert Dabei wurde das Mikroprogramm dieser CPU derart modifiziert dass sie einen S 360 Befehlssatz ausfuhren konnte Die S 360 Befehlssatzarchitektur ist heute aber lediglich eine Untermenge der Befehlssatzarchitekturen von IBMs S 370 und S 390 Serien und der heutigen System z Architektur Weitere Beispiele Bearbeiten MOS Technology 6502 Zilog Z80 Intel 80x86 x86 16 IA 32 x86 32 IA 64 Itanium DEC Alpha ARM ARM Stanford MIPS Sun Microsystems SPARC HP PA RISC IA 64 IBM S 360 PowerPC Motorola m68k PowerPC AMD AMD64 x86 64 RISC V TA 1000Einzelnachweise Bearbeiten Theo Ungerer Mikrocontroller und Mikroprozessoren Springer Verlag 2013 ISBN 978 3 662 08746 6 S 16 Volltext in der Google Buchsuche Klaus Wust Mikroprozessortechnik Grundlagen Architekturen Schaltungstechnik und Betrieb von Mikroprozessoren und Mikrocontrollern Springer Verlag 2009 ISBN 978 3 8348 0461 7 S 107 Volltext in der Google Buchsuche Unter Instruction Set Architecture ISA versteht man die gesamte nach aussen hin sichtbare Architektur Den Befehlssatz den Registersatz und das Speichermodell Die ISA ist genau das was fur die Erstellung von Maschinenprogrammen fur diesen Prozessor bekannt sein muss Man kann die ISA deshalb auch als Schnittstelle zwischen Software und Hardware betrachten Wolfram Schiffmann Technische Informatik 2 Grundlagen der Computertechnik Springer Verlag 2006 ISBN 978 3 540 27249 6 S 119 Volltext in der Google Buchsuche Christian Schwidlinski Andreas Streng Stefan Voss Rechnerstrukturen Kapitel 4 Rechnerarchitektur Nicht mehr online verfugbar Fakultat fur Informatik der Technischen Universitat Dortmund archiviert vom Original am 17 Januar 2019 abgerufen am 12 November 2020 Befehlssatzarchitekturen ISA Instruction Set Architecture bzw deren spezifischen Prozessorarchitekturen nbsp CISC Intel 8008 1972 MOS 6502 1975 Motorola 6800 1974 Motorola 68000 1979 PDP 11 1970 VAX 1977 x86 IA 32 x64 1978 RISC Alpha 1992 ARM ARM64 1982 AVR 1997 AVR32 2006 MIPS 1985 Motorola 88000 1990 OpenRISC 2000 PA RISC 1986 Power PowerPC 1991 RISC V 2010 SPARC 1985 SuperH 1994 Unicore 1999 EPIC Itanium IA 64 2001 Prozessorarchitekturen nbsp nach Wortbreite 1 Bit Architektur Bit Slice Architektur 4 Bit Architektur 8 Bit Architektur 16 Bit Architektur 32 Bit Architektur 64 Bit Architekturnach Befehlssatzaufbau CISC EPIC NISC RISC VLIW Mikroarchitekturmit Optimierung fur Einsatzzweck Haupt Prozessor Grafikprozessor GPGPU Streamprozessor Soundprozessor Gleitkommaeinheit Netzwerkprozessor Physikbeschleuniger Vektorprozessor TensorFlow Processing Unit Abgerufen von https de wikipedia org w index php title Befehlssatzarchitektur amp oldid 236505950