Rechnerarchitektur.

Slides:



Advertisements
Ähnliche Präsentationen
Erstellen von Raumgrundrissen mit Vorlagen
Advertisements

Powerpoint-Präsentation
Programmierung: Einführung
Nachtrag zum Vortrag vom Vorbereitung zur Datensicherung
Die Schulkonsole für Lehrerinnen und Lehrer
Mathematik hat Geschichte
Pflege der Internetdienste
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Präsentation Teil 3 Betreuungsmitteilung
Berechnung des Osterdatums
Heute: Scherenzange zeichnen
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
1 Teil 4 Übung: Uhr. 2 Zielsetzung Ziel ist es, mit Hilfe objektorientierter Modellierung ein System zu entwickeln, mit dem eine einfache Uhr simuliert.
§9 Der affine Raum – Teil 2: Geraden
§9 Der affine Raum – Teil 2: Geraden
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
„Küsse deine Freunde“ – FlexKom-App teilen
PowerPoint.
SK / , , in Hochkössen und der Wildschönau flow Ski- und Snowboardschule Intersport Menzel.
Hyperlinks und Anker Links notieren
Materialien zum Informatikunterricht (Pohlig-Häberle)
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
1 Fachtagung am Seniorenorientiertes Design und Marketing ThyssenKrupp Immobilien Design for all - Anpassungen im Wohnungsbestand 1.Demographie.
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Vergleich PPT 2002 / 2003 zu PPT 2007 Zunächst erscheint PPT 2002 / 03 - durch klicken auf kann dann der Vergleich zur Version 2007 aufgerufen werden.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Universelle Registermaschine
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Potenzen und Wurzeln Zusammenfassung
Das ist die Geschichte eines kleinen Jungen aus der Schweiz.
Symmetrische Blockchiffren DES – der Data Encryption Standard
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
Das IT - Informationssystem
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Pigmentierte Läsionen der Haut
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Johann Baron von Neumann
Es war einmal ein Haus
Wintersemester 2005 / Vorlesung
Das IT - Informationssystem
SAP Seminar 2007 Organisationsobjekte anlegen
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
 Präsentation transkript:

Rechnerarchitektur

Das Registermaschinenmodell Teil 1 Das Registermaschinenmodell

Zielsetzung Ziel ist es zu verstehen, wie ein Rechner funktioniert. Ziel ist es zu verstehen, wie ein Rechner ein Programm (z. B. ein Delphi-Programm) bearbeiten kann.

Analytische Methode Man öffnet und zerlegt einen Rechner und versucht dabei, die Funktion der Einzelteile und ihr Zusammenwirken zu verstehen. http://www.mona-net.at/zine/9/1250 Dieser Weg ist wegen der Komplexität realer Rechner wenig erfolgversprechend. Zu viele technische Details lenken von den Grundideen ab.

Synthetische Methode Man entwickelt einen funktionsfähigen Rechner, ausgehend von einem sehr einfachen Maschinen-Modell. 1 2 3 4 5 6 7 8 9 Technische Details spielen dabei keine Rolle. Dieser Weg soll im Folgenden beschritten werden.

Anforderungen Der Rechner verfügt über einen (Arbeits-)Speicher, in dem Daten abgelegt werden können. Der Rechner verfügt über eine Zentraleinheit, die für die Abarbeitung von Programmen zuständig ist. Wir verzichten hier auf eine Eingabe- und Ausgabeeinheit. Daten können hier direkt im Speicher abgelegt werden. Der Speicherinhalt kann auch direkt eingesehen werden. Zentraleinheit Speicher

Der Gläser-Rechner Der Speicher besteht aus (beliebig vielen) Gläsern, die der Reihe nach durchnummeriert sind. In jedem dieser Gläser können sich Kugeln befinden. Rechnen bedeutet für diesen Rechner, dass in einem Glas eine Kugel hinzugefügt bzw. weggenommen wird. Rechenvorgänge werden durch ein Programm gesteuert und von einem Menschen ausgeführt. Nach: D. Jonietz: Gläserrechner als Registermaschine Verarbeitung Speicher 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 2 3 ...

Die Befehle des Gläser-Rechners Die Bedeutung der Befehle: JMP 4: Springe zum Befehl in Zeile 4. INC 1: Füge in Glas 1 eine Kugel hinzu. DEC 2: Entferne in Glas 2 eine Kugel. TST 2: Wenn Glas 2 nicht leer ist, dann springe zur nächsten Zeile, sonst zur übernächsten. HLT: Beende die Bearbeitung. 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 2 3 ...

Aufgabe Übernehmen Sie die Rolle des „Programmausführers“. Spielen Sie das vorgegebene Programm mit Hilfe von Münzen durch. Ein Münzhaufen soll dabei einem Glas mit Kugeln entsprechen. 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 2 3 ...

Das Registermaschinenmodell Eine Registermaschine ist ein sehr einfaches Modell eines Rechners. Der Speicher besteht aus einer festen endlichen Anzahl von Registern. Die Arbeitsweise wird über ein Registermaschinenprogramm festgelegt. Beachte: Ein Registermachinenprogramm legt eine bestimmte Verarbeitung der Register fest. Eine Registermaschine beschreibt demnach ein System mit fester Funktionalität, also noch kein programmierbares System. Registermaschinenprogramm Speicher mit Registern 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 3 2 2 3 4 ... ...

Befehlssatz der Registermaschine x INC i Erhöhe Register i um 1 und gehe zur Zeile x+1. x DEC i Erniedrige Register i um 1 (sofern möglich) und gehe zur Zeile x+1. x JMP i Gehe zur Zeile i. x TST i Wenn Register i keine Null enthält, dann gehe zur Zeile x+1, sonst zu x+2. x HLT Beende die Bearbeitung. 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 3 2 2 3 4 ... ...

Assembler Eine Assemblersprache ist ein maschinenorientierte Programmiersprache. Für jeden Prozessortyp gibt es spezielle Assemblersprachen. Die hier verwendete Assemblersprache basiert auf dem Befehlssatz der Registermaschine. Das unten abgebildete Registermaschinenprogramm ist daher ein Assembler-Programm im hier verwendeten Sinn. Assemblerprogramm 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 3 2 2 3 4 ... ...

Abarbeitung eines Assemblerprogramms > 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1: 3 2: 2 3: 0 4: 0 5: 0 .. 1 JMP 4 2 INC 1 3 DEC 2 > 4 TST 2 5 JMP 2 6 HLT 1: 3 2: 2 3: 0 4: 0 5: 0 .. 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 > 5 JMP 2 6 HLT 1: 3 2: 2 3: 0 4: 0 5: 0 .. 1 JMP 4 > 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1: 3 2: 2 3: 0 4: 0 5: 0 .. 1 JMP 4 2 INC 1 > 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1: 4 2: 2 3: 0 4: 0 5: 0 .. 1 JMP 4 2 INC 1 3 DEC 2 > 4 TST 2 5 JMP 2 6 HLT 1: 4 2: 1 3: 0 4: 0 5: 0 ..

Aufgabe Testen Sie das vorgegebene Assembler-Programm mit dem BONSAI-Simulationsprogramm. Geben Sie zunächst das Programm in den Programmspeicher und die Daten in den Datenspeicher (Register) ein. Starten Sie dann den Programmlauf.

Aufgabe Entwickeln Sie ein Assembler-Programm, das folgende Spezifikation erfüllt: Registerzustand vorher: {1: x; 2: 0; 3: 0; ...} Registerzustand nachher: {1: 0; 2: 2x; 3: 0; ...}

Universelle Registermaschine Teil 2 Universelle Registermaschine

Erweiterung des Gläser-Rechners Bisher wurden der Gläser-Rechner von einem festen, auf einem Zettel notierten Programm gesteuert (s. u.). Der Gläser-Rechner soll jetzt zu einem programmierbares System erweitert werden. Das Verarbeitungsprogramm soll beliebig ausgetauscht werden können. Es soll (wie in realen Rechnern) gemeinsam mit den Daten im Speicher abgelegt werden. Verarbeitung Speicher 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 2 3 ...

Programme als Daten In einem (noch genauer festzulegenden) Gläserbereich sollen die einzelnen Befehle gespeichert werden. Da Gläser nur Kugeln enthalten sollen, können die Befehle nicht direkt in den Gläsern abgelegt werden. Es bietet sich an, die Befehle mit Hilfe von Kugeln geeignet darzustellen. JMP 4 INC 1 DEC 2 TST 2 JMP 2 HLT 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 2 3 4 5 6 1 2 3 ...

Programme als Daten Kodierung: INC  DEC  JMP  TST  HLT  Wir verwenden (vorerst) zwei Sorten Kugeln: Blaue Kugeln als „Daten-Kugeln“ und rote Kugeln zur Kodierung der Befehle. Beachte: Die Festlegungen sind willkürlich. Man könnte auch ganz anders vorgehen. Z. B. könnte man zwei aufeinander folgende Gläser zur Darstellung eines Befehls benutzen. JMP 4 INC 1 DEC 2 TST 2 JMP 2 HLT 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 2 3 4 5 6 1 2 3 ...

Programme als Daten Kodierung: INC  DEC  JMP  TST  HLT  Wir legen fest: - Der Programmteil soll ab Glas 1 beginnen. - Der Datenteil beginnt erst nach dem Datenteil. - Dazwischen soll ein (leeres) Glas sein. Jetzt müssen die Befehle entsprechend angepasst werden. Beachte: Die Festlegungen sind willkürlich. Man könnte auch Daten „von links“ und Befehle „von rechts“ in die Gläser füllen. JMP 4 INC 8 DEC 9 TST 9 JMP 2 HLT 1 JMP 4 2 INC 1 3 DEC 2 4 TST 2 5 JMP 2 6 HLT 1 2 3 4 5 6 7 8 9 ...

Abarbeitung eines Programms Die Abarbeitung eines Programms soll mit Hilfe von drei Akteuren simuliert werden. Ein sog. Steuerer ist für die Steuerung der Aktionen zuständig. Ein sog. Rechner ist für Rechenvorgänge (hier: inkrementieren bzw. dekrementieren) zuständig. Ein sog. Bringer ist für das Überbringen von Daten (hier Kugeln) zuständig. 1 2 3 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 Nach: B. Brost: Von-Neumann-Architektur – Heranführung über einen Gläserrechner 4 5 6 7 8 9

Abarbeitung eines Programms Der Steuerer sitzt mit dem Rücken zum Gläserspeicher. Als „Chef“ darf er die Initiative ergreifen und Bringer sowie Rechner beauftragen, Aktionen durchzuführen. Zudem verfügt er über einen Merkzettel, mit dem er sich das Glas mit dem zu bearbeitenden Befehl merken kann. Der Rechner sitzt ebenfalls mit dem Rücken zum Gläserspeicher. Er darf als einziger einen Gläserinhalt (nach Aufforderung durch den Steuerer) verändern. 1 2 3 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Abarbeitung eines Programms Der Bringer hat als einziger Zugang zum Gläserspeicher. Er darf (nach Aufforderung durch den Steuerer) den Inhalt eines Speicherglases kopieren (Speicher lesen) oder seine aktuell verwalteten Kugeln in ein Speicherglas - nach vorherigem Entfernen der dortigen Kugeln - füllen (Speicher beschreiben). Zudem ist er für den Transport von Kugeln zum Steuerer bzw. Rechner zuständig. Hierzu verwendet er ein geeignetes Transportgefäß. 1 2 3 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Aufgabe Spielen Sie das vorgegebene Programm mit Hilfe von Münzen durch. Ein Münzhaufen soll dabei einem Glas mit Kugeln entsprechen.

Befehl holen INC  DEC  JMP  TST  HLT  1 2 3 „Bringer, kopiere den Inhalt von Glas 1 und bringe ihn her.“ 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl dekodieren und ausführen INC  DEC  JMP  TST  HLT  1 2 3 „Aha, ein JMP-Befehl. In Glas 4 ist also der nächste Befehl.“ 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl holen INC  DEC  JMP  TST  HLT  1 2 3 „Bringer, kopiere den Inhalt von Glas 4 und bringe ihn her.“ 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl dekodieren und ausführen INC  DEC  JMP  TST  HLT  „Aha, ein TST-Befehl. Bringer, kopiere den Inhalt von Glas 9 und teile mir mit, ob Kugeln vorhanden sind.“ 1 2 3 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl dekodieren und ausführen INC  DEC  JMP  TST  HLT  1 2 3 „Aha, es sind Kugeln vorhanden, dann ist der nächste Befehl in Glas 5.“ 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl holen INC  DEC  JMP  TST  HLT  1 2 3 „Bringer, kopiere den Inhalt von Glas 5 und bringe ihn her.“ 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl dekodieren und ausführen INC  DEC  JMP  TST  HLT  1 2 3 „Aha ein JMP-Befehl. In Glas 2 ist also der nächste Befehl.“ 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl holen INC  DEC  JMP  TST  HLT  1 2 3 „Bringer, kopiere den Inhalt von Glas 2 und bringe ihn her.“ 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl dekodieren und ausführen INC  DEC  JMP  TST  HLT  „Aha, ein INC-Befehl. Bringer, kopiere den Inhalt von Glas 8 und bringe ihn zum Rechner.“ 1 2 3 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl dekodieren und ausführen INC  DEC  JMP  TST  HLT  1 2 3 „Rechner, leg eine Kugel dazu.“ 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl dekodieren und ausführen INC  DEC  JMP  TST  HLT  „Bringer, hol die Kugeln beim Rechner ab, leere Glas 8 und fülle die Kugeln dann dort hinein. Weiter geht es jetzt mit dem Befehl in Glas 3.“ 1 2 3 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl dekodieren und ausführen INC  DEC  JMP  TST  HLT  „Bringer, hol die Kugeln beim Rechner ab, leere Glas 8 und fülle die Kugeln dann dort hinein. Weiter geht es jetzt mit dem Befehl in Glas 3.“ 1 2 3 4 5 6 7 8 9 Bringer Steuerer Rechner 1 2 3 4 5 6 7 8 9

Befehl ausführen INC  DEC  JMP  TST  HLT  1 2 3 1 2 3 4 5 6 7 8 9 „Bringer, hol die Kugeln beim Rechner ab, leere Glas 8 und fülle die Kugeln dann dort hinein. Weiter geht es jetzt mit dem Befehl in Glas 3.“

Universelles Steuerungsprogramm Wiederhole folgende Aktionen: Bringer, kopiere den Inhalt des Glases mit der auf dem Merkzettel notierten Nummer und bringe ihn her. Falls die Anzahl der roten Kugeln 1 beträgt, dann kopiere den Inhalt des Glases mit der Nummer, die der Anzahl der blauen Kugeln entspricht, und bringe diese Kugeln zum Rechner. Rechner, leg dann eine Kugel dazu. Bringer, hol die Kugeln beim Rechner ab, leere das aktuell bearbeitete Glas und fülle die Kugeln dann dort hinein. Ich erhöhe die Nummer auf dem Merkzettel um 1. (bei 2 analog) 3 beträgt, dann markiere ich auf dem Merkzettel die Nummer, die der Anzahl der roten Kugeln entspricht. 4 beträgt, dann kopiere den Inhalt des Glases mit der Nummer, die der Anzahl der blauen Kugeln entspricht, und teile mir mit, ob hier Kugeln vorhanden sind. Wenn keine Kugeln vorhanden sind, dann erhöhe ich die Nummer auf dem Merkzettel um 1, sonst um 2. 5 beträgt, dann stoppe. 1 2 3 4 5 6 7 8 9

Universeller Gläser-Rechner Wiederhole folgende Aktionen: Bringer, kopiere den Inhalt des Glases mit der auf dem Merkzettel notierten Nummer und bringe ihn her. Falls die Anzahl der roten Kugeln 1 beträgt, dann kopiere den Inhalt des Glases mit der Nummer, die der Anzahl der blauen Kugeln entspricht, und bringe diese Kugeln zum Rechner. Rechner, leg dann eine Kugel dazu. Bringer, hol die Kugeln beim Rechner ab, leere das aktuell bearbeitete Glas und fülle die Kugeln dann dort hinein. Ich erhöhe die Nummer auf dem Merkzettel um 1. (bei 2 analog) ... 1 2 3 4 5 6 7 8 9 Ein universeller Gläser-Rechner ist programmierbar in dem Sinn, dass er die Verarbeitung beliebiger Registermaschinenprogramme „simulieren“ kann.

Universelle Registermaschine Eine universelle Registermaschine bearbeitet beliebig eingebbare Daten nach einem beliebig eingebbaren Programm. Eine universelle Registermaschine ist somit ein programmierbares System. Programm 1: „JMP 4“ 2: „INC 1“ 3: „DEC 2“ 4: „TST 2“ 5: „JMP 2“ 6: „HLT“ 1: 0 0005 2: 0 0003 .. 0 0000 Universelles Steuerungs-programm Daten Speicher (Registern) Verarbeitungseinheit

Maschinenprogramm Da in einem Register nur natürliche Zahlen gespeichert werden können, muss ein Registermaschinenprogramm geeignet kodiert werden, um abgespeichert werden zu können. Ein solches Maschinen-nahes Programm heißt dann Maschinenprogramm. Zu diesem Zweck werden die Befehle mit Hilfe natürlicher Zahlen kodiert. Aus technischen Gründen (s. Folie ...) wird die Nummerierung der Register ab jetzt bei Null begonnen. Maschinenprogramm Kodierung: INC  1 DEC  2 JMP  3 TST  4 HLT  5 1: JMP 3 2: INC 0 3: DEC 1 4: TST 1 5: JMP 1 6: HLT 1: 0 0005 2: 0 0003 .. 0 0000 0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005 8: 0 0003 .. 0 0000