4.1 KiB
4.1 KiB
Klassifikation
Eigenschaften von Prozessoren
Klassifizierung gemäß Operandenstruktur
Stackarchitektur
- Stacks werden unabhängig von der jeweiligen Architektur verwendet
- bei Unterprogrammaufrufen und Prarameterübergaben
- Call-Befehl
- pusht Rücksprungadresse und ggf. Registerstati
- Return
- popt Werte wieder
Akkumulator Architektur
- Ausgezeichnetes Register: Akku(mulator) (ehem. ACC)
- LOAD und STORE wirken nur auf Akku
- expliziter Operand, an jeder Operation beteiligt
- jede Operation braucht nur eine Adresse
- expliziter Operand, an jeder Operation beteiligt
- Sehr kompaktes Befehlsformat
Register-Register-Architektur
- RISC (LOAD-STORE-Architektur)
- alle Operationen greifen nur auf Register zu
- 32-512 Register verfügbar
- nur LOAD und STORE greifen auf Speicher zu
- alle Operationen greifen nur auf Register zu
- Einfaches Befehlsformat fester Länge
- alle Instruktionen brauchen in etwa gleich lange
Register-Speicher-Architektur
- CISC (Mischung von Akkumulator- und Load-Store-Architektur)
- Operationen greifen auf Register und/oder Speicher zu
- Befehlsformat variabler Länge
- stark unterschiedliche Zeiten für Instruktionsausführung
Klassifizierung gemäß Busaufbau
Vergleich Harvard- / von Neumann Architektur
Bussysteme
- Systembus = Datenbus, Adressbus, Kontrollbus, Bus zur elektrischen Versorgung der Komponenten
- teilweise zstzl. I/O-Bus
Klassifizierung gemäß Befehlssätzen
Orthogonale Befehlssätze
Wenn Opcode, Adressierungsart und Datentyp beliebig kombiniert werden können
Vorteile | Nachteile |
---|---|
Vereinfacht Nutzung der verfügbaren Instruktionen | Sehr umfangreiche Befehlssätze |
CISC Kriterien
- Befehle unterschiedlicher Länge von 1-17 Byte
- Speichereffizienz
- komplexe Befehlskodierung
- Komplexer Befehlssatz
- Anpassung an Compiler
- Hochsprachenkonstrukte im Assembler
- Erleichterung der Assemblerprogrammierung
- Mächtige Befehle
- kurze Programme
RISC Prinzipien
- Grundlegendes Design-Prinzip
- Einfachheit
- Befehle gleicher Länge (meist 32 Bit)
- Abarbeiten mit gleicher Taktzahl
- erlaubt Befehlspipelines
- Eingeschränkter Befehlssatz (32-128 Befehle)
- Explizite Lade/Speicher-Befehle (Load-Store-Architektur)
- 3-Adress-Befehle
- Delayed Branches
Klassifizierung gemäß Speicherorganisation
Little/Big Endian
4-Adress-Befehle
- Allgemeinste Form für Befehlsformat
- next_i = Adresse des nächsten Befehls
- schwierig zu programmieren
- wird für Microcode verwendet (CISC Mikroprogramme)
3-Adress-Befehle
- Standard bei RISC Prozessoren (bspw. ARM 32 Bit)
- 3 Adressen benötigen Platz
- Format ist erst ab 32-Bit-Befehlssatz sinnvoll
- nächste Befehlsadresse implizit
- Sprungbefehle können implizites Verhalten ändern
2-Adress-Befehle
- Standardformat für 8 und 16-Bit-Mikroprozessoren
- Format für Intel Prozessoren
- RISC-Prozessoren mit komprimierten Befehlssatz nutzen ebenfalls das Format
- bspw. ARM Thumb, MIPS
1-Adress-Befehle
- Zielregister ist implizit und wird ACC genannt
- wird im MU0-Design benutzt
- Hohe Befehlsdichte
- geringe Flexibilität
0-Adress-Befehle
- Beide Operanden und das Ziel sind implizit
- Befehlssatz nur für Stackarchitektur möglich
- weitere Befehle mit Operanden zum Speichern / Laden nötig
- verwendet in Java Virtual Machine