Übersetzung in Maschinensprache Flashcards
Von Neumann-Rechner
° Konzept (fast) aller Computer
° Rechner besteht aus 4 Werken
° Rechnerstruktur ist unabhängig vom bearbeiteten Problem
° Programme und Daten stehen im selben Speicher
° Hauptspeicher ist in Zellen gleicher Größe unterteilt, die durchgehend adressierbar sind
° Ein Programm besteht aus Folgen von Befehlen, die generell nacheinander ausgeführt werden
° Von der sequenziellen Abfolge kann durch Sprungbefehle abgewichen werden
° Die Maschine benutzt Binärcodes für die Darstellung von Programm und Daten
Imperative Programme auf von Neumann-Maschinen
° elementaren Operationen eines von Neumann-Rechners:
- CPU führt Maschinenbefehle aus
- Über den Bus werden Befehle und Daten vom Speicher in die CPU übertragen und die Ergebnisse zurück übertragen
° Imperative Programmiersprachen abstrahieren von diesen elementaren Operationen:
- Anweisungen fass Folgen von Maschinenbefehlen zusammen
- Variablen abstrahieren vom physischen Speicherplatz
Übersetzung von Programmiersprachen
° Compiler-Sprachen (C++, Modula-2): Anweisungen werden einmalig in Maschinensprache übersetzt und in dieser Sprache ausgeführt
° Interpretersprachen (Python, Lisp, PHP, Perl): Ein Interpreter übersetzt einzelne Anweisungen, wenn sie ausgeführt werden soll
° Hybride Sprachen (Java, C#): Programme werden in eine Zwischensprache übersetzt, die sich gut für die Interpretation eignet
Hybride Verarbeitung in Java
° Quelltext wird in Zwischencode kompiliert -> Java Bytecode
° Java Bytecode wird dem Interpreter, Java Virtual Machine, übergeben
° Java Bytecode als Maschinencode für Java Virtual Machine
Virtuelle Maschinen
° laufendes Programm: Folge von Befehlen für eine Maschine, die diese Befehle schrittweise ausführen kann
° Maschine kann auch Software sein
° genügt: Satz an Maschinenbefehlen, Speicherbereiche und ihre Kontrollstrukturen festzulegen
° virtuelle Maschine ist eine durch Software definierte Maschine, die selbst auf einem Computer implementiert ist
Imperative Programmierung
° baut auf Konzept des von Neumann- Rechners auf
° Programme: Folge von Anweisungen
° Ausführungsreihenfolge der Anweisungen ist durch die textuelle Reihenfolge oder durch Sprunganweisungen festgelegt
° Höhere Pogrammkonstrukte fassen Anweisungsfolgen zusammen und bestimmen die Ausführungsreihenfolge
° Benannte Variablen können Werte annehmen, die sich durch Anweisungen ändern lassen