126 lines
4.1 KiB
Markdown
126 lines
4.1 KiB
Markdown
# 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
|
|
- 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
|
|
- 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
|
|
- mächtige Befehle
|
|
- 
|
|
- stark unterschiedliche Zeiten für Instruktionsausführung
|
|
- 
|
|
|
|
## Klassifizierung gemäß Busaufbau
|
|
### [Vergleich Harvard- / von Neumann Architektur](MU6Rechner.md#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](#3-adress-befehle)
|
|
- Delayed Branches
|
|
|
|
## Klassifizierung gemäß Speicherorganisation
|
|
### [Little/Big Endian](MU4-5Rechner.md#speicheradressierung)
|
|
|
|
### 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](MU0Rechner.md) 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](12_Virtualisierung.md#anwendungsvirtualisierung)_
|
|
|
|
## Einordnung Prozessoren
|
|

|
|
|
|
|