- Harvard Architektur: direkt mit Prozessor verbunden
- Princeton-Architektur (von-Neumann-Architektur): über Systembus verbunden
## Eigenschaften
Fast alle der heute üblichen Rechner gehen auf folgende Eigenschaften zurück:
1. Die Rechenanlage besteht aus den Funktionseinheiten Speicher, Steuerwerk (engl. controller), dem Rechenwerk (engl. data path) und Ein-/Ausgabe-Einheiten.
2. Die Struktur der Anlage ist unabhängig vom bearbeiteten Problem. Die Anlage ist speicherprogrammierbar.
3. Der Speicher wird in Zellen gleicher Größe geteilt. Die Zellnummern heißen Adressen.
4. Das Programm besteht aus einer Folge von elementaren Befehlen, die in der Reihenfolge der Speicherung bearbeitet werden.
5. Abweichungen von der Reihenfolge sind mit (bedingten oder unbedingten) Sprungbefehlen möglich.
6. Es werden Folgen von Binärzeichen (nachfolgend Bitvektoren genannt) verwendet, um alle Größen darzustellen.
7. Die Bitvektoren erlauben keine explizite Angabe des repräsentierten Typs. Aus dem Kontext heraus muss stets klar sein, wie die Bitvektoren zu interpretieren sind.
# Befehlssatz
Adressierung ohne Speicherzugriff
- Registeradressierung: ausschließlich Operanden aus & Ziele in Registern
- Unmittelbare Adressierung, Direktoperanden, immediate addressing: Operanden sind Teil des Befehlsworts
- Direkte Adressierung, absolute Adressierung: Adresse ist ausschließlich im Befehlswort enthalten
- Register-indirekte Adressierung: Adresse ist ausschließlich im Register enthalten
- Varianten: pre/post-increment/decrement zur Realisierung von Stapeloperationen
- Relative Adressierung, indizierte Adressierung, Basis-Adressierung: Adresse ergibt sich aus der Addition eines Registerinhalts und einer Konstanten im Befehl
## n-Adressmaschinen
Klassifikation von Befehlssätzen bzw. Befehlen nach der Anzahl der Adressen bei 2-stelligen Arithmetik-Befehlen
- 3-Adressmaschinen: Operanden und Ziel einer Operation werden explizit angegeben
- 2-Adressmaschinen: Überschreiben eines Operanden mit dem Ergebnis
- 1 1⁄2-Adressmaschinen: wie 2-Adressmaschinen, nur unter Verwendung von Registern
- 1-Adressmaschinen: Nutzung von nur 1 Register
- 0-Adressmaschinen: Kellermaschinen
## Programmiermodelle, Instruction Set Architectures (ISAs)
Klassifikation von Befehlssätzen nach der Gestaltung/Ausprägung der
vorhandenen Maschinenbefehle
- CISC – Complex Instruction Set Computers
- Relativ kompakte Codierung von Programmen
- Für jeden Befehl wurden mehrere Taktzyklen benötigt. Die Anzahl der Zyklen pro Befehl war groß
- (Mikro-) Programm zur Interpretation der Befehle nötig
- Prüfung anhand der Adresse, ob benötigte Daten im Cache vorhanden sind („Treffer“; cache hit)
- Falls nicht (cache miss): Zugriff auf den (Haupt-) Speicher, Eintrag in den Cache
# Ein- und Ausgabe
## Übertragungsprotokolle
- Synchrone Busse
- Keine Rückmeldung bei der Übertragung
- Unidirektionales Timing
- Asynchrone Busse
- Rückmeldung der Datenannahme
- Bidirektionales Timing
| | unidirektional | bidirektional |
| -- | -- | -- |
| Beschreibung | Kommunikationspartner verlassen sich darauf, dass Partner innerhalb festgelegter Zeit reagieren. | Kommunikationspartner bestätigen per Kontrollsignal (senden ein acknowledgment), dass sie in der erwarteten Weise reagiert haben. |
| Vorteile | einfach; bei konstanten Antwortzeiten schnell | passt sich unterschiedlichen Geschwindigkeiten an; hoher Grad an Flusskontrolle möglich |
| Nachteile | Kommunikationspartner muss in bestimmter Zeit | antworten komplexer; Zeitüberwachung notwendig; evtl. langsam |