Programmierung: Einführung

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

Mathematik hat Geschichte
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Vorteile der Online-Produkte
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
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.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
-17 Konjunkturerwartung Europa September 2013 Indikator > +20 Indikator 0 a +20 Indikator 0 a -20 Indikator < -20 Europäische Union gesamt: +6 Indikator.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Zentraleinheit CPU, Motherbord, RAM
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Neumannrechner.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. 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.
Aufbau und Funktionsweise von Prozessoren
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Schieferdeckarten Dach.ppt
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
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.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
So arbeitet ein PC.
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
Die Geschichte von Rudi
„Küsse deine Freunde“ – FlexKom-App teilen
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Virtueller Rundgang Casa Mariposa in Playa del Coco.
Aufbau und Funktionsweise
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Wir üben die Malsätzchen
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
1. Welcher Nerv innerviert diesen Muskel? NEU!
Analyse von Ablaufdiagrammen
Birdwatch Start Mit deinem Feldstecher entdeckst du auf einer Exkursion viele Vogelarten. Kennst du sie alle? Vogelquiz Birdwatch.
PROCAM Score Alter (Jahre)
Übersicht: Hardware Zentraleinheit EVA-Prinzip
Großer Altersunterschied bei Paaren fällt nicht auf!
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
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.
Eine Übersicht von Margarete Streitwieser
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Mathematical Programming Nichtlineare Programmierung.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
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
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
SiLeBAT Sicherstellung der Futter- und Lebensmittelwarenkette bei bio- und agro-terroristischen (BAT)-Schadenslagen.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
Es war einmal ein Haus
Sportverletzungen Fussgelenk-Tapeverband
Kompetenztraining Jura Martin Zwickel / Eva Julia Lohse / Matthias Schmid ISBN: © 2014 Walter de Gruyter GmbH, Berlin/Boston Abbildungsübersicht.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
Central Processing Unit (Zentraleinheit)
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
Der Prozessor Von Stephan Blum.
Speicher CPU Steuerwerk Rechenwerk 1 Befehlsregister 2 Befehlszähler 3
Lernfeld 4: Informationstechnische Systeme Bereitstellen
Kompetent? Verständlich? Erklärend?
Aufbau und Funktionsweise einer CPU
 Präsentation transkript:

Programmierung: Einführung Programmausführung im Prozessor Ein kleines Programm Quellprogramm – Maschinenprogramm Struktogramm und Algorithmus Christoph Oberweis, BBSW Trier

CPU CPU: Central Processing Unit deutsch: Zentrale Prozessoreinheit oder kurz: Prozessor (Hardwarekomponente) Die CPU steuert über Software andere Bestandteile des PCs. Die grundlegende Eigenschaft des Prozessors ist seine Programmierbarkeit. Der Prozessor führt Befehle aus. Prozess, vergleichbare Begriffe: Ablauf, Vorgang C.O.

Alles im richtigen Takt! Ein Prozessortakt ist die Zeit für die Ausführung eines einfachen Befehls. Für die Division und andere komplizierter Befehle braucht der Prozessor mehrere Takte. Eine Taktfrequenz von einem Megahertz bedeutet, dass der Prozessor eine Million einfache Befehle pro Sekunde ausführen kann. Die Taktfrequenz gibt also die Arbeitsgeschwindigkeit des Prozessors an. Taktgeber ist ein Schwingquarz auf der Hauptplatine. C.O.

Komponenten der CPU Vereinfachte Darstellung C.O.

Komponenten der CPU Steuerwerk: interpretiert die Befehle, steuert ihre Ausführung C.O.

Komponenten der CPU Steuerwerk: interpretiert die Befehle, steuert ihre Ausführung Register: kleine Spezialspeicher für Zwischenergebnisse und Befehle (schnellster Zugriff) C.O.

Komponenten der CPU Steuerwerk: interpretiert die Befehle, steuert ihre Ausführung Register: kleine Spezialspeicher für Zwischenergebnisse und Befehle (schnellster Zugriff) Rechenwerk: ist für arithmetische und logische Funktionen zuständig C.O.

… und noch der Arbeitsspeicher Steuerwerk: interpretiert die Befehle, steuert ihre Ausführung Register: kleine Spezialspeicher für Zwischenergebnisse und Befehle (schnellster Zugriff) Rechenwerk: ist für arithmetische und logische Funktionen zuständig Arbeitsspeicher: hier stehen Daten und die Programme C.O.

Eingabe Verarbeitung Ausgabe Steuerwerk: interpretiert die Befehle, steuert ihre Ausführung Register: kleine Spezialspeicher für Zwischenergebnisse und Befehle (schnellster Zugriff) Rechenwerk: ist für arithmetische und logische Funktionen zuständig Arbeitsspeicher: hier stehen Daten und die Programme Eingabe Verarbeitung Ausgabe C.O.

Abarbeitung eines Befehls Vereinfachte Darstellung C.O.

Befehlszyklus Holphase: Zunächst muss ein Befehl aus dem Speicher geholt und in das Befehlsregister geladen werden. 1 C.O.

Befehlszyklus Holphase: Zunächst muss ein Befehl aus dem Speicher geholt und in das Befehlsregister geladen werden. Dekodierphase: Das Steuerwerk untersucht den Befehl hinsichtlich der vorzunehmenden Arbeitsschritte, z. B. eine Addition. 2 1 C.O.

Befehlszyklus Holphase: Zunächst muss ein Befehl aus dem Speicher geholt und in das Befehlsregister geladen werden. Dekodierphase: Das Steuerwerk untersucht den Befehl hinsichtlich der vorzunehmenden Arbeitsschritte, z. B. eine Addition. Ausführungsphase: Das Rechenwerk wird vom Steuerwerk nun angewiesen, die gewünschte Operation mit den Daten in den Registern durchzuführen. 2 3 1 C.O.

Befehlszyklus Holphase: Zunächst muss ein Befehl aus dem Speicher geholt und in das Befehlsregister geladen werden. Dekodierphase: Das Steuerwerk untersucht den Befehl hinsichtlich der vorzunehmenden Arbeitsschritte, z. B. eine Addition. Ausführungsphase: Das Rechenwerk wird vom Steuerwerk nun angewiesen, die gewünschte Operation mit den Daten in den Registern durchzuführen. Schreibphase: Das Ergebnis der Operation landet (abhängig vom Befehl) in einem der Register oder im Hauptspeicher. 2 3 1 4 C.O.

Befehlszyklus Holphase: Zunächst muss ein Befehl aus dem Speicher geholt und in das Befehlsregister geladen werden. Dekodierphase: Das Steuerwerk untersucht den Befehl hinsichtlich der vorzunehmenden Arbeitsschritte, z. B. eine Addition. Ausführungsphase: Das Rechenwerk wird vom Steuerwerk nun angewiesen, die gewünschte Operation mit den Daten in den Registern durchzuführen. Schreibphase: Das Ergebnis der Operation landet (abhängig vom Befehl) in einem der Register oder im Hauptspeicher. 2 3 1 4 Hinweis: Aus Gründen der Vereinfachung wurde hier der Befehlszähler nicht berücksichtigt! C.O.

wiederum auch aus mehreren CPU-Takten bestehen kann. Befehlszyklus Holphase: Zunächst muss ein Befehl aus dem Speicher geholt und in das Befehlsregister geladen werden. Dekodierphase: Das Steuerwerk untersucht den Befehl hinsichtlich der vorzunehmenden Arbeitsschritte, z. B. eine Addition. Ausführungsphase: Das Rechenwerk wird vom Steuerwerk nun angewiesen, die gewünschte Operation mit den Daten in den Registern durchzuführen. Schreibphase: Das Ergebnis der Operation landet (abhängig vom Befehl) in einem der Register oder im Hauptspeicher. 2 3 1 4 Ein Befehlszyklus benötigt i.d.R. also mehrere CPU-Takte, wobei jede Phase wiederum auch aus mehreren CPU-Takten bestehen kann. C.O.

Programmiert wird der Zyklus … C.O.

Programmiert wird der Zyklus … … mit einem Befehl als Ganzes, und nicht die einzelne Phase! Die sind nämlich im Prozessor schon festgelegt. C.O.

Programmiert wird der Zyklus … … mit einem Befehl als Ganzes, und nicht die einzelne Phase! Die sind nämlich im Prozessor schon festgelegt. Holphase, Dekodierphase Ausführungsphase (Addition) Schreibphase Aus C.O.

Programmiert wird der Zyklus … … mit einem Befehl als Ganzes, und nicht die einzelne Phase! Die sind nämlich im Prozessor schon festgelegt. Holphase, Dekodierphase Ausführungsphase (Addition) Schreibphase wird der Additionsbefehl ADD Aus C.O.

Addiert wird also mit ADD C.O.

Addiert wird also mit ADD … aber wo kommen die Daten her??? C.O.

… aber wo kommen die Daten her??? Zur Erinnerung: Die Daten stehen in den Registern, damit das Rechenwerk sie auch nutzen kann: C.O.

Register - kleine schnelle Speicher Zur Erinnerung: Die Daten stehen in den Registern, damit das Rechenwerk sie auch nutzen kann: Name der Register Daten AX BX CX DX C.O.

Auch hier gilt das EVA-Prinzip! Also müssen in die Register Daten eingegeben werden, damit das Rechenwerk auch arbeiten kann. C.O.

Auch hier gilt das EVA-Prinzip! Also müssen in die Register Daten eingegeben werden, damit das Rechenwerk auch arbeiten kann. AX BX CX DX C.O.

Auch hier gilt das EVA-Prinzip! Also müssen in die Register Daten eingegeben werden, damit das Rechenwerk auch arbeiten kann. AX BX CX DX Zuerst das AX - Register: MOV AX, 0003 C.O.

Auch hier gilt das EVA-Prinzip! Also müssen in die Register Daten eingegeben werden, damit das Rechenwerk auch arbeiten kann. AX BX CX DX 3 Befehl wurde ausgeführt! MOV AX, 0003 C.O.

Auch hier gilt das EVA-Prinzip! Also müssen in die Register Daten eingegeben werden, damit das Rechenwerk auch arbeiten kann. AX BX CX DX 3 Und jetzt das CX-Register: MOV CX, 0004 C.O.

Auch hier gilt das EVA-Prinzip! Jetzt stehen die Daten in den Registern: es kann gerechnet werden! AX BX CX DX 3 4 C.O.

Auch hier gilt das EVA-Prinzip! Jetzt stehen die Daten in den Registern: es kann gerechnet werden! AX BX CX DX 3 4 Der vollständige Additionsbefehl: ADD AX, CX C.O.

Auch hier gilt das EVA-Prinzip! Jetzt stehen die Daten in den Registern: es kann gerechnet werden! AX BX CX DX 3 4 Der vollständige Additionsbefehl: ADD AX, CX Addiere auf den Inhalt des CX - Registers den Inhalt des CX - Registers! C.O.

Auch hier gilt das EVA-Prinzip! Jetzt stehen die Daten in den Registern: es kann gerechnet werden! E AX BX CX DX 3 4 Der vollständige Additionsbefehl: ADD AX, CX Addiere auf den Inhalt des CX - Registers den Inhalt des CX - Registers! V & A C.O.

Auch hier gilt das EVA-Prinzip! Und nach der Programmausführung: E AX BX CX DX 7 4 Der vollständige Additionsbefehl: ADD AX, CX Addiere auf den Inhalt des CX - Registers den Inhalt des CX - Registers! V & A C.O.

Und jetzt das ganze Programm Schritt: In Register AX die Zahl 3 schreiben Schritt: In Register CX die Zahl 4 schreiben Schritt: Inhalte von CX und AX addieren und in AX speichern C.O.

Und jetzt das ganze Programm Schritt: In Register AX die Zahl 3 schreiben Schritt: In Register CX die Zahl 4 schreiben Schritt: Inhalte von CX und AX addieren und in AX speichern MOV AX, 0003 MOV CX, 0004 ADD AX, CX C.O.

Jetzt wird getestet C.O.

Jetzt wird getestet Prima! C.O.

Der Haken: MOV AX, 0003 MOV CX, 0004 ADD AX, CX Das versteht der Computer nicht! C.O.

Die Lösung: MOV AX, 0003 B80300 MOV CX, 0004 B90400 ADD AX, CX 01C8 Es gibt Programme, welche die Assemblerbefehle in die Maschinensprache übersetzen (z. B. unter DOS: debug). MOV AX, 0003 B80300 MOV CX, 0004 B90400 ADD AX, CX 01C8 C.O.

Vom Quellprogramm zum Maschinenprogramm Es gibt Programme, welche die Assemblerbefehle in die Maschinensprache übersetzen (z. B. unter DOS: debug). MOV AX, 0003 B80300 MOV CX, 0004 B90400 ADD AX, CX 01C8 Quellprogramm Maschinen- programm Übersetzung C.O.

So sieht es aus: Adressen Maschinenprg. Assemblerprg. C.O. C.O.

Anmerkung MOV AX, 0003 B80300 MOV CX, 0004 B90400 ADD AX, CX 01C8 Es handelt sich hier um die Umwandlung eines Assemblerprogramms in ein Maschinenprogramm, welches die CPU direkt ausführen kann. Beachte: Sowohl die Zeichen der Assemblersprache als auch die Maschinenbefehle sind im Computer binär abgespeichert. Die HEX-Codierung (z. B.: B9) dient nur der besseren Lesbarkeit; „MOV CX, 0004“ ist in der binären Darstellung nicht identisch mit „B90400“, sonst wäre ja die Übersetzung nicht notwendig. C.O.

Darstellung der Logik: Struktogramm Schritt: In Register AX die Zahl 3 schreiben Schritt: In Register CX die Zahl 4 schreiben Schritt: Inhalte von CX und AX addieren und in AX speichern In Register AX die Zahl 3 schreiben In Register CX die Zahl 4 schreiben Inhalte von CX und AX addieren und in AX speichern C.O.

Darstellung der Logik: Struktogramm, allgemeine Formulierung X := 3 Y := 4 Y := Y + X C.O.

Darstellung der Logik: Struktogramm, allgemeine Formulierung X := 3 Y := 4 Y := Y + X Beachte: Die Befehle/Anweisungen sind eindeutig und ausführbar, ihre Anzahl endlich und ihre Befolgung liefert nach endlich vielen Schritten die Lösung eines Problems. C.O.

Algorithmus Die Befehle/Anweisungen sind eindeutig und ausführbar, ihre Anzahl endlich und ihre Befolgung liefert nach endlich vielen Schritten die Lösung eines Problems. Trifft dies auf eine Anweisungsliste zu, spricht man von einem Algorithmus. C.O.

Ausblick: Höhere Programmiersprache Quellprogramm: a = InputBox("Wert für a:") b = InputBox("Wert für b:") c = a + b MsgBox ("Summe: " & c) E VA C.O.