Iteration 1 Iteration 2

Größe: px
Ab Seite anzeigen:

Download "Iteration 1 Iteration 2"

Transkript

1 SHORT_TERM_ANALYSIS_FILTER Sheet of ST/SET_NEXT_STATE/NEXT_STATE_VALUE ERM_ANALYSIS_FILTER/TB_SIG_u_enable( YSIS_FILTER/TB_SIG_ATTSIGIN_u_data(: SIS_FILTER/TB_SIG_ATTSIGIN_u_read(: YSIS_FILTER/TB_SIG_ATTSIGIN_u_addr(: RM_ANALYSIS_FILTER/TB_SIG_rp_enable( SIS_FILTER/TB_SIG_ATTSIGIN_rp_read(: YSIS_FILTER/TB_SIG_ATTSIGIN_rp_addr(: ERM_ANALYSIS_FILTER/TB_SIG_s_enable( YSIS_FILTER/TB_SIG_ATTSIGIN_s_data(: YSIS_FILTER/TB_SIG_ATTSIGIN_s_read(: LYSIS_FILTER/TB_SIG_ATTSIGIN_s_addr(: 8 8 U U FFFFF FFFFFF FFFFFF 9D 9D CCC 8A 8A FFFFF8 FFFFFFAA FFFFFFAA FFE AC AC 8E B B FA A FFFFF FFFFFFD FFFFFFD CCC A 9 A FFFFF8 8 8 FFE FFFFFFB FFFFFFB AF F AF 8E FA FFFFFE8 FFFFFE8 FFFFF FFFFFE8 Iteration Iteration

2 grep -B PIN_SHORT_TERM_ANALYSIS_FILTER_ATTSIGIN_U_DATA sim.log >& U.log grep -B PIN_SHORT_TERM_ANALYSIS_FILTER_ATTSIGIN_S_DAT sim.log >& S.log Dateien U.log und S.log, aus denen die Inhalte der Arrays s und u abgelesen werden können. Die Simulationszeit für die gesamte ersten Iteration der äußeren Schleife beträgt ns. Das Protokoll an der Schnittstelle für die ersten ns (entsprechend den ersten beiden Iterationen der inneren Schleife ist auf der folgenden Seite dargestellt. Wie man leicht erkennt, entsprechen die simulierten Werte den innerhalb der Software-Lösung berechneten Werten (siehe test.results: u[] = u[] = FFFFFF u[] = 9D u[] = 8A u[] = FFFFFFAA u[] = AC u[] = u[] = B s[] = u[] = u[] = u[] = FFFFFFD u[] = A u[] = 8 u[] = FFFFFFB u[] = AF u[] =... usw... Mitgelieferte Dateien Folgende Dateien wurden auf dem Dresdener Server abgelegt: Dateiname B_Infos.ps staf.c staf.blif staf.vhdl README staf_testbench.vhdl sim.inc dbx.inc test.au test.au.org test.au.gsm.org test.pattern test.results Inhalt Diese Datei Optimierte Funktion Short_term_analysis_filter (C Optimierte und synthetisierte Funktion Short_term_analysis_filter (BLIF Optimierte und synthetisierte Funktion Short_term_analysis_filter (VHDL Informationen zur VHDL-Simulation Testbench zur VHDL-Simulation Inklusionsdatei für vhdlsim Inklusionsdatei für vhdldbx Test-Audio-Datei (zum Komprimieren / Dekomprimieren Test-Audio-Datei (Referenzversion für test.au Komprimierte Test-Audio-Datei (Referenzversion für test.au.gsm Eingabe-Testmuster (entsprechend test.au Testantworten für die Stimuli aus test.pattern

3 Die Schnittstelle zum Speicher (Array-Zugriffe besitzen folgende Charakteristika: Es findet kein explizites Speichern bzw. Laden in bzw. vom Speicher statt. Das Schreiben eines Datums in den Speicher erfolgt bei enable= mit steigender Clock-Flanke. In diesem Fall wird das datum data_in unter der Adresse data_adr im Speicher abgelegt. Analoges gilt für das Lesen eines Datums mit enable=. Jedes Array innerhalb der Parameterliste verursacht die Instanziierung eines eigenen Speichers. Die so erzeugte RT-Struktur liegt für die kooperierenden Teilprojekte in Form einer Struktur- VHDL Beschreibung sowie im BLIF-Format vor. Simulation der VHDL-Beschreibung Zur Verifikation der Korrektheit der so erhaltenen RT-Beschreibungen wurde diese simuliert. Im folgenden soll die Vorgehensweise bei der Simulation genauer beschrieben werden, um so insbesondere die Funktionalität der Speicherschnittstelle zu demonstrieren. Die Funktion Short_term_analysis_filter(... besitzt als Eingabe-Parameter Integer-Arrays u[...], rp[...] und s[...9] sowie ein skalarer Integer-Wert k_n, und liefert nach deren Abarbeitung die generierten Werte innhalb den Arrays u[...] und s[...9]. Simuliert wurde eine komplette Iteration der äußeren Schleife (also eine achtmalige Iteration der inneren Schleife der Funktion Short_term_analysis_filter(... Dabei wurde als Testmuster eine vorhandene Audio-Datei test.au verwendet. Um die entsprechenden Daten explizit zu erhalten, wurden die beiden Funktionen Short_term_analysis_filtering(... und short_term_analysis_filter(... derart modifiziert, daß sämtlich relevanten Daten in einer Testdaten-Datei test.stimuli sowie einer Testantwort-Datei test.results protokolliert wurden. Zur Simulation der VHDL-Beschreibung staf.vhdl ( staf steht für short term analysis filter wurde eine Testbench staf_testbench.vhdl generiert, innerhalb welcher die Stimuli der Testdaten-Datei für die erste Iteration der äußeren Schleife als Testmuster für die VHDL-Simulation verwendet wurden. Die Durchführung der Simulation erfolgte unter Verwendung von Synopsys Werkzeugen. Nach einer Analyse mittels vhdlan staf.vhdl staf_testbench.vhdl erfolgt die eigentliche Simulation mittels Startet man vhdlsim -t NS -i sim.inc STAF_TEST_CONFIG > sim.log. vhdldbx -t NS STAF_TEST_CONFIG und inkludiert include dbx.inc, kann man sich die entsprechenden Waveforms darstellen lassen. Für eine Kontrolle der Schnittstelle zum Speicher erhält man mittels enable data_adr data_in data_out Speicher

4 Optimierung mittels High-Level Transformationen Die Funktion Short_term_analysis_filter(... wurde mittels High-Level Transformationen optimiert. Dabei kamen zur Anwendung: Elimination von Operatoren mit konstanten Argumenten, Elimination von Zwischenvariablen, Substitution von Doppelnegationen durch Additionen, Normalisierung von Verzweigungsbedingungen, Optimierung von Speicherzugriffen. Sämtliche dieser Transformationen sind Kontrollfluß-erhaltend, d.h. die eigentliche Kontrollfluß-Struktur des Algorithmus (zwei ineinander geschachtelte Schleifen bleibt unverändert. Die dazu erforderlichen Transformationen sind relativ schnell, was sich im Hinblick auf eine Echtzeit-Demonstration positiv auswirkt. Des weiteren ist die Tatsache eines nicht veränderten Kontrollflusses evtl. für andere Teilprojekte vorteilhaft oder wesentlich, z.b. für systolische Arrays (?. Zusätzlich zu den zuvor angesprochenen Transformationen wurden noch weitere Optimierungen durchgeführt, z.b. ein vollständiges (oder partielles Entrollen der inneren Schleife, gefolgt von einer Eliminierung des inneren Schleifenzählers (i. Diese Transformationen besitzen jedoch eine wesentlich höhere Komplexität und somit auch Laufzeit. Ferner entsteht durch das Entrollen der Schleife ein für Demonstrations-Zwecke evtl. bereits zu großer Controller (mit immerhin Zuständen und Zustandsübergängen. Aus diesen Gründen schlagen wir als Grundlage für die weiteren Betrachtungen den mittels den Struktur-erhaltenden Transformationen (s.o. optimierten Entwurf vor. Falls von Seiten eines Teilprojekts Interesse an dem mittels Schleife-Entrollen weiter optimierten Entwurf vorhanden sein, bitte ich, sich mit mir in Verbindung zu setzen High-Level Synthese Die so erhaltene Beschreibung wurde mit unseres High-Level Sythese-Systems PMOSS synthetisiert. Im folgenden sind einige wesentliche Merkmale aufgeführt: Es wurde ein Multiplexer-basierter Entwurf generiert (also eine Mux-Register-Mux- Funktionale Einheit -Struktur erzeugt. Es wurden keine (bzw. eine nur ausreichend schwache Ressoucen-Beschränkungen formuliert. Der erzeugte Entwurf erfordert einen an funktionalen Einheiten einen Multiplizierer, einen Addierer und einen > -Komparator (jeweils Der Wortbreite bit, einen Subtrahierer der Wortbreite bit, sowie einen Addierer und < -Komparator der Wortbreite 8 bit. Wie sich herausstellte, ist der Algorithmus aufgrund seiner Struktur sowieso nicht in der Lage, eine größere Anzahl von funktionalen Einheiten auszunutzen. Der Entwurf erfordert ferner zwei 8-bit und fünf -bit-register, sowie dreizehn Multiplexer mit insgesamt fünfunddreißig Eingängen. PMOSS erlaubt mittels spezieller Funktionen Einfluß auf die innerhalb der Synthese zu generierenden Wortbreite eines Datums zu nehmen. Im konkreten Fall wurden den Variablen k_n, i und j jeweils die Wortbreite 8 bit, sowie den verbleibenden Variablen und Arrays di, ui, sav, rpi, ltm und u[8], rp[8], s[] jeweils die Wortbreiten bit zugeordnet.

5 Des weiteren wurden (zur Verbesserung der Lesbarkeit die durch die Makro-Expansion entstandenen a? b : c -Konstruktionen durch äquivalente if (a b c -Konstrukte ersetzt. Die Korrektheit dieser Modifikationen wurde durch Testläufe mit anschließendem Vergleich der Ergebnisdaten verifiziert. Man erhält so Funktionen Short_term_analysis_filtering(... undshort_term_analysis_filter(... von der im nachfolgenden dargestellten Form: static void Short_term_analysis_filtering P((S,rp,k_n,s, struct gsm_state *S, register word *rp, register int k_n, register word *s signed int arg[8]; signed int arg[8]; signed int arg; signed int arg[]; word *u; int i; u = S->u; for (i = ; i < 8; i++ arg[i] = (signed int u[i]; arg[i] = (signed int rp[i]; arg = (signed int k_n; for (i = ; i < k_n; i++ arg[i] = (signed int s[i]; Short_term_analysis_filter(arg,arg,arg,arg; for (i = ; i < 8; i++ S->u[i] = (word arg[i]; for (i = ; i < k_n; i++ s[i] = (word arg[i]; static void Short_term_analysis_filter ( int u[8], int rp[8], int k_n, int s[] int di; int zzz; int ui; int sav; int rpi; int ltmp; int i; int j; for (j = ; j < k_n; j++ di = s[j]; sav = di; for (i = ; i < 8; i++ ui = u[i]; rpi = rp[i]; u[i] = sav; zzz = (rpi * di + 8 >> ; ltmp = ui + zzz; if ((ltmp - ((- - > - ((- - if (ltmp > sav = ; sav = (- - ; sav = ltmp; zzz = (rpi * ui + 8 >> ; ltmp = di + zzz; if ((ltmp - ((- - > - ((- - if (ltmp > di = ; di = (- - ; di = ltmp; s[j] = di;

6 Diese Entscheidung konnte mit dem Software-Werkzeug Quantify (PureSoftware bestätigt werden, welches für die besagte Funktion bei der Komprimierung einer Beispiel-Datei einen Anteil an der Gesamtlaufzeit von ca. % ermitteln konnte. Anpassung der Schnittstelle Nach Expansion der Makros GSM_MULT_R und GSM_ADD besitzt die Funktion Short_term_analysis_filtering(... folgenden Gestalt: static void Short_term_analysis_filtering ( struct gsm_state *S, register word *rp, register int k_n, register word *s register word *u = S->u; register int i; register word di, zzz, ui, sav, rpi; register longword ltmp; for (; k_n--; s++ di = sav = *s; for (i = ; i < 8; i++ ui = u[i]; rpi = rp[i]; u[i] = sav; zzz = ((( ((longword( rpi * (longword( di + 8 >> ( ; sav = ((ulongword((ltmp = (longword( ui + (longword( zzz - (- - > - (- -? (ltmp >? : (- - : ltmp ; zzz = ((( ((longword( rpi * (longword( ui + 8 >> ( ; di = ((ulongword((ltmp = (longword( di + (longword( zzz - (- - > - (- -? (ltmp >? : (- - : ltmp ; *s = di; Um eine Bearbeitung der Funktion mittels unseres High-Level Synthese-Systems PMOSS zu ermöglichen, mußte eine Anpassung der Funktions-Schnittstelle vorgenommen werden, um eine Übergabe von dynamischen Datenstrukturen in der Funktions-Schnittstelle zu verhindert. Dazu wurde die Funktion Short_term_analysis_filtering(... ersetzt durch ein Paar von Funktionen Short_term_analysis_filtering(... Short_term_analysis_filter(... mit identischer Funktionalität. und Innerhalb der Funktion Short_term_analysis_filtering(... erfolgt eine Umsetzung der dynamischen Aufruf- und Ergebnis-Parameter (Zeiger in eine Array-Darstellung (mit zur Übersetzungszeit bekannter Größe. Die Abarbeitung des eigentlichen Codierungs-Algorithmus wird innerhalb der Funktion Short_term_analysis_filter(... vorgenommen.

7 HW/SW-Codesign und High-Level Synthese des Vollraten-Sprach-Transcodierers GSM. Joachim Gerlach Heinz-Josef Eikerling Wolfram Hardt Im folgenden sind die von B durchgeführten Schritte zum Demonstrator 9 dokumentiert. Im einzelnen wurde durchgeführt: HW/SW-Partitionierung der Gesamtbeschreibung, dabei Identifikation der Funktion Short_term_analysis_filtering(... für eine HW-Realisierung. Vorbereitung der Funktion Short_term_analysis_filtering(... für die HW-Synthese. Optimierung des Entwurfs mittels High-Level Transformationen. Durchführung der High-Level-Synthese. Simulation des synthetisierten Entwurfs. Im folgenden werden die einzelnen Schritte genauer erläutert. HW/SW-Partitionierung Zunächst wurde die Gesamtbeschreibung des Vollraten-Sprach-Transcodierers GSM. einer HW/SW-Partitionierung unterzogen. Dabei wurden statische Kriterien, dynamische Kriterien, Schnittstellen-Parameter sowie Speicherzugriffs-Verhalten berücksichtigt. Innerhalb dieser Phase wurde ein Modul detektiert, welches sich für eine Hardware-Beschleunigung eignet. Dieses entspricht der Funktion Short_term_analysis_filtering(...: static void Short_term_analysis_filtering P((S,rp,k_n,s, struct gsm_state *S, register word *rp, register int k_n, register word *s register word * u = S->u; register int i; register word di, zzz, ui, sav, rpi; register longword ltmp; for (; k_n--; s++ di = sav = *s; for (i = ; i < 8; i++ ui = u[i]; rpi = rp[i]; u[i] = sav; zzz = GSM_MULT_R(rpi, di; sav = GSM_ADD( ui, zzz; zzz = GSM_MULT_R(rpi, ui; di = GSM_ADD( di, zzz ; *s = di;

Transformationale Entwurfsraum-Exploration für den Entwurf eingebetteter Systeme

Transformationale Entwurfsraum-Exploration für den Entwurf eingebetteter Systeme Transformationale Entwurfsraum-Exploration für den Entwurf eingebetteter Systeme Dissertation der Fakultät für Informatik der Eberhard-Karls-Universität zu Tübingen zur Erlangung des Grades eines Doktors

Mehr

7 Laufzeit-Speicherverwaltung

7 Laufzeit-Speicherverwaltung 7.1 Grundlagen Bevor wir die Code-Generierung betrachten, müssen wir uns Gedanken über zur Laufzeit des zu generierenden Programms notwendige Aktivitäten zur Zuordnung und Freigabe von Speicherplatz machen.

Mehr

Informatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1

Informatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Informatik Vorlesung 08 Pointer (Dynamisch) 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Pointer (Zeiger) Dynam. Speicher Bisher: Speicherbedarf muss

Mehr

K Ergänzungen zur Einführung in C

K Ergänzungen zur Einführung in C K Ergänzungen zur Einführung in C K Ergänzungen zur Einführung in C K.1 Zeiger, Felder und Zeichenketten Zeichenketten sind Felder von Einzelzeichen (char), die in der internen Darstellung durch ein \0

Mehr

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit HaPra 2007 - Versuchsreihe 7 - Registerfile + Programmzähler Versuchsreihe 7 Registerfile + Programmzähler Registerfile Register à Bit Schreiben in Register: - Dateneingang D(31:0) - Adresseingang A_D(4:0)

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.4. Verifikation - 1 -

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 4. Verifikation Spezifikation: Angabe, was ein Programm tun

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.4. Verifikation - 1 -

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 4. Verifikation Spezifikation: Angabe, was ein Programm tun

Mehr

Paul Molitor und Jörg Ritter VHDL. Eine Einführung. ein Imprint von Pearson Education

Paul Molitor und Jörg Ritter VHDL. Eine Einführung. ein Imprint von Pearson Education Paul Molitor und Jörg Ritter VHDL Eine Einführung ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Inhaltsverzeichnis

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 2)

DAP2-Programmierpraktikum Einführung in C++ (Teil 2) DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und

Mehr

Stackmaschine; Speicheradressierung

Stackmaschine; Speicheradressierung Stackmaschine; Speicheradressierung Erweiterung um globalen Speicher (Heap, Halde) pro Speicherplatz eine Zahl. Notation ist als Array SP [0..]. Zugriff mittels Adresse (Index): eine Zahl i.a.: Zahlen

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM für Java-Programmierer Der Präprozessor Prof. Dr. Wolfgang Schramm FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Präprozessor Ist dem Compiler vorgeschaltet ( Prä -). Spezielle Anweisungen

Mehr

Klassenvariablen, Klassenmethoden

Klassenvariablen, Klassenmethoden Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden

Mehr

Physische Datenstrukturen

Physische Datenstrukturen Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Inhalt. 4.9 Typen, Variable und Konstante

Inhalt. 4.9 Typen, Variable und Konstante Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern

Mehr

Teilprüfung Software- und Internettechnologie Programmierkurs 2 Wintersemester 2004/2005

Teilprüfung Software- und Internettechnologie Programmierkurs 2 Wintersemester 2004/2005 Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Prof. Dr. Wolfgang Effelsberg Teilprüfung Software- und Internettechnologie Programmierkurs 2 Wintersemester

Mehr

Hardwarepraktikum WS 1997/98. Versuch 5. Sequentielle Systeme II

Hardwarepraktikum WS 1997/98. Versuch 5. Sequentielle Systeme II Hardwarepraktikum WS 1997/98 Versuch 5 Sequentielle Systeme II Jan Horbach, 17518 hris Hübsch, 17543 Lars Jordan, 17560 Seite 1 Aufgabenstellung Entwerfen und realisieren Sie unter Verwendung dreier JK-MS-FF

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

Mehr

VHDL - Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

VHDL - Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg VHDL - Synthese Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 VHDL - Synthese 1/19 2007-10-27 Inhalt Begriff Arten

Mehr

Zeiger vom Typ void* benötigen weniger Speicher als andere Zeiger, da bei anderen Zeigertypen zusätzlich die Größe gespeichert werden muss.

Zeiger vom Typ void* benötigen weniger Speicher als andere Zeiger, da bei anderen Zeigertypen zusätzlich die Größe gespeichert werden muss. EZS-Test Fragen zur Programmiersprache C Fragen entnommen aus SPiC 1 1. Ein Hauptprogramm und eine Interruptbehandlung greifen nebenläufig auf die Variable uint16_t foo zu. Das Hauptprogramm verwendet

Mehr

Programmierung für Mathematik HS11

Programmierung für Mathematik HS11 software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Zwischencode-Erzeugung. 2. Juni 2009

Zwischencode-Erzeugung. 2. Juni 2009 Zwischencode-Erzeugung im Rahmen des Seminars "Übersetzung von künstlichen Sprachen" Sebastian Hanneken 2. Juni 2009 1 / 32 1 Einleitung Einordnung Funktion von Zwischencode 3-Adresscode (3AC) 2 Erzeugung

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3 Übung zur Vorlesung Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Allgemeines Aufgabenblatt 3 Abgabe: 10.12.2013, vor der Vorlesung (14:15 Uhr, AM 1) Max.

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

Master-Thread führt Programm aus, bis durch die Direktive

Master-Thread führt Programm aus, bis durch die Direktive OpenMP seit 1998 Standard (www.openmp.org) für die Shared-Memory Programmierung; (Prä-)Compiler für viele Systeme kommerziell oder frei (z.b. Omni von phase.hpcc.jp/omni) verfügbar Idee: automatische Generierung

Mehr

2 Teil 2: Nassi-Schneiderman

2 Teil 2: Nassi-Schneiderman 2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der

Mehr

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Software Maintenance. Anmerkung zu Program Slicing UNIV.-PROF. DIPL.-ING. DR. FRANZ WOTAWA

Software Maintenance. Anmerkung zu Program Slicing UNIV.-PROF. DIPL.-ING. DR. FRANZ WOTAWA Software Maintenance UNIV.-PROF. DIPL.-ING. DR. FRANZ WOTAWA Technische Universität Graz, Institut für Softwaretechnologie wotawa@ist.tugraz.at Anmerkung zu Program Slicing Infolge werden wir uns den Static

Mehr

Mögliche Praktikumsaufgaben

Mögliche Praktikumsaufgaben Kapitel 8 Mögliche Praktikumsaufgaben 8.1 System on a Chip : Entwurf eines Sound-Moduls In diesem Praktikum soll ein Sound-Modul (Soundkarte) mit Master-Zugang zum Core Connect PLB-Bus entworfen werden.

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert Felder Seite Th Letschert OOP Felder / Arrays Seite 2 Th Letschert Feld / Array Feld (auch Array) Daten unter einem

Mehr

Bounded Model Checking mit SystemC

Bounded Model Checking mit SystemC Bounded Model Checking mit SystemC S. Kinder, R. Drechsler, J. Peleska Universität Bremen {kinder,drechsle,jp}@informatik.uni-bremen.de 2 Überblick Motivation Formale Verifikation Äquivalenzvergleich Eigenschaftsprüfung

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr

Grundlagen der Technischen Informatik. 13. Übung

Grundlagen der Technischen Informatik. 13. Übung Grundlagen der Technischen Informatik 13. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 13. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: Arithmetik VHDL - Funktionen

Mehr

Integrated HW/SW Systems Group 20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel.

Integrated HW/SW Systems Group  20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel. Erweiterte Simulation / Aufgaben 20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Self-Organization 20 November 2009 1 Inhalt Erweiterung der Simulation Ausgabe der Bilddaten in eine Datei

Mehr

n 1. Erste Schritte n 2. Einfache Datentypen n 3. Anweisungen und Kontrollstrukturen n 4. Verifikation n 5. Reihungen (Arrays)

n 1. Erste Schritte n 2. Einfache Datentypen n 3. Anweisungen und Kontrollstrukturen n 4. Verifikation n 5. Reihungen (Arrays) n 1. Erste Schritte n 2. Einfache Datentypen n 3. Anweisungen und Kontrollstrukturen n 4. Verifikation n 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 4. Verifikation n Spezifikation: Angabe, was ein

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen Aufgabenstellung: - das beigefügte Assembler-Programm schrittweise ausführen - sich mit der Handhabung der Entwicklungswerkzeuge

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert

Mehr

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden

Mehr

ISO-SiMMlarcl. als erste Programmiersprache. Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage

ISO-SiMMlarcl. als erste Programmiersprache. Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage ISO-SiMMlarcl als erste Programmiersprache Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage B.G.Teubner Stuttgart Leipzig 1999 Inhaltsverzeichnis 1.1 Algorithmen und

Mehr

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1= Arithmetische Schaltungen c) Vervollständigen Sie nachfolgend abgebildeten Zustands-Automaten so, dass er den Multiplizierer wie gewünscht steuert. Nehmen Sie an, dass Sie zur Detektion des Schleifen-Abbruchs

Mehr

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit D.5: Versuchsreihe 5: Arithmetisch-Logische Einheit D D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit Abgabedatum: 21.05.2010 Name: Gruppe: Theorie: Versuch: (vom Tutor abzuzeichnen) (vom Tutor abzuzeichnen)

Mehr

Ulrich Stein

Ulrich Stein Von C nach MATLAB Einführung in MATLAB für Personen mit C-Kenntnissen Datentypen ähnlich in C und MATLAB, dort aber automatische Typzuweisung möglich double a = 2; Arrays a = double( 2 ); aber auch a =

Mehr

2.2 Register-Transfer-Synthese

2.2 Register-Transfer-Synthese 2.2 Register-Transfer-Synthese Register-Transfer-Synthese Überblick digitale Synthese Register-Transfer- Synthese Makrozellgeneratoren Beispiel Addierer Beispiel Speicher Synthese endlicher Automaten Zustandskodierung

Mehr

Programmieren 1 C Überblick

Programmieren 1 C Überblick Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen

Mehr

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt:

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt: Technische Informatik für Ingenieure WS 00/0 Übungsblatt Nr. 0. Januar 0 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin Koch Dominik Lüke

Mehr

Serielle Kommunikation - Kodierung

Serielle Kommunikation - Kodierung Serielle Kommunikation - Kodierung (1.) Erstellen Sie nachfolgende Klasse: Dabei haben die Methoden folgende Funktionen: exists(): Überprüft, ob eine serielle Schnittstelle existiert getproperties(): Liefert

Mehr

3.8 Sequentieller Multiplizierer 159

3.8 Sequentieller Multiplizierer 159 .8 Sequentieller Multiplizierer 59 Nachfolgende Abbildung zeigt den (unvollständigen) Aufbau einer Schaltung zur Implementierung des gezeigten Multiplikationsverfahrens. b) Vervollständigen Sie die Schaltung

Mehr

Informatik 1 ( ) D-MAVT F2010. Rekursion, Signaturen. Yves Brise Übungsstunde 8

Informatik 1 ( ) D-MAVT F2010. Rekursion, Signaturen. Yves Brise Übungsstunde 8 Informatik 1 (251-0832-00) D-MAVT F2010 Rekursion, Signaturen Nachbesprechung Blatt 6 Aufgabe 1 - Strukturen und Zeiger Genau die Variablen angeben, die sich geändert haben. Implizite Initialisierung ergänzt

Mehr

Arithmetische Schaltungen: log(n)-addierer

Arithmetische Schaltungen: log(n)-addierer Arithmetische Schaltungen: log(n)-addierer Prof. Dr. Paul Molitor Institut für Informatik Martin-Luther-Universität Halle Aufbau der Lehrveranstaltung Literaturangaben Allgemeines zum Entwurf digitaler

Mehr

Übersicht. Speichertypen. Speicherverwaltung und -nutzung. Programmieren in C

Übersicht. Speichertypen. Speicherverwaltung und -nutzung. Programmieren in C Übersicht Speichertypen Speicherverwaltung und -nutzung Speichertypen Beim Laden eines Programms in den Speicher (Programmausführung) kommen 3 verschiedene Speicherbereiche zum Einsatz: Text Segment (Code

Mehr

Vortrag zum Hauptseminar Hardware/Software Co-Design

Vortrag zum Hauptseminar Hardware/Software Co-Design Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zum Hauptseminar Hardware/Software Co-Design Robert Mißbach Dresden, 02.07.2008

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK... 1... V H D L Tim Köhler April 2005 I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK... 2... Übersicht 1. Einleitung 2. Syntax 3. Spezielle

Mehr

Crashkurs C++ - Teil 1

Crashkurs C++ - Teil 1 Crashkurs C++ - Teil 1 Intro Speicherverwaltung Variablen, Pointer, Referenzen Felder statische & dynamische Allozierung Birgit Möller & Denis Williams AG Bioinformatik & Mustererkennung Institut für Informatik

Mehr

! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 -

! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - ! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 4. Verifikation! Spezifikation: Angabe, was ein Programm

Mehr

Richtig einsteigen: Access 2007 VBA-Programmierung

Richtig einsteigen: Access 2007 VBA-Programmierung Lorenz Hölscher Richtig einsteigen: Access 2007 VBA-Programmierung Miaosott Teill Erste Schritte 1 Einleitung 9 1.1 Die Themenschwerpunkte dieses Buches 9 Visual Basic for Applications 9 Die Beispiel-Datenbank

Mehr

Präfix-Summe. Das Schweizer Offiziersmesser der Parallelen Algorithmen. Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen

Präfix-Summe. Das Schweizer Offiziersmesser der Parallelen Algorithmen. Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen Präfix-Summe Das Schweizer Offiziersmesser der Parallelen Algorithmen Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen Parallele Rechenmodelle Beispiel: Summieren von Zahlen Verlauf des Rechenprozesses:

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

Das Generalized Birthday Problem

Das Generalized Birthday Problem Das Generalized Birthday Problem Problem Birthday Gegeben: L 1, L 2 Listen mit Elementen aus {0, 1} n Gesucht: x 1 L 1 und x 2 L 2 mit x 1 x 2 = 0. Anwendungen: Meet-in-the-Middle Angriffe (z.b. für RSA,

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen Lerneinheit : Dynamisches Programmieren Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester.. Einleitung Diese Lerneinheit widmet sich einer

Mehr

C++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13

C++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13 C++ Teil 7 Sven Groß 30. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 30. Nov 2015 1 / 13 Themen der letzten Vorlesung Zeiger, Felder (Wdh.) dynamische Speicherverwaltung Sven Groß (IGPM, RWTH Aachen)

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 12 Strukturierte Datentpen - Strukturen... 12-2 12.1 Definition und Deklaration von Strukturtpen und Strukturen... 12-2 12.2 Strukturen als Funktionsparameter und Funktionswert... 12-4 12.3 Felder

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

Programmierung und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden

Mehr

Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock.

Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock. Seite 1 Optimierung der Verbindungsstrukturen in Digitalen Neuronalen Netzwerken Workshop on Biologically Inspired Methods on Modelling and Design of Circuits and Systems 5.10.2001 in Ilmenau, Germany

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Imperative Programmierung in Java: Kontrollfluß II

Imperative Programmierung in Java: Kontrollfluß II 2 Imperative Programmierung in va: Kontrollfluß II Martin Wirsing Ziele Lernen imperative Programme in va mit Zuweisung, Block, Fallunterscheidung, Iteration zu schreiben Lernen Kontrollflußdiagramme zur

Mehr

Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen

Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:

Mehr

Übungsblatt 5 Entwurf eines Mehrzyklen-Datenpfads Abgabefrist: Mittwoch , 10:00 Uhr

Übungsblatt 5 Entwurf eines Mehrzyklen-Datenpfads Abgabefrist: Mittwoch , 10:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2018 Übungsblatt 5 Entwurf eines Mehrzyklen-Datenpfads Abgabefrist: Mittwoch 16.05.2018, 10:00 Uhr 1.1. Einführung In Übung 4 haben Sie einen Einzyklen-Datenpfad

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

Mehr

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 10 Pkt.) a) Geben

Mehr

DieÜbersetzung funktionaler Programmiersprachen

DieÜbersetzung funktionaler Programmiersprachen DieÜbersetzung funktionaler Programmiersprachen 107 11 Die Sprache PuF Wir betrachten hier nur die Mini-Sprache PuF( Pure Functions ). Insbesondere verzichten wir(vorerst) auf: Seiteneffekte; Datenstrukturen;

Mehr

Programmierung in C: Vermischtes (Teil 1)

Programmierung in C: Vermischtes (Teil 1) Programmierung in C: Vermischtes (Teil 1) Gültigkeitsbereiche für Variablen C-Präprozessor (#define EPS 0.00001) Inkremtieren und Dekrementieren ( jahr++; restzeit--;) Speicherklassen (static) Typecasts

Mehr

EHP Einführung Projekt A

EHP Einführung Projekt A Volker Dörsing EHP Einführung Projekt A email: doersing@uni-jena.de praktische Übung www: http://users.minet.uni-jena.de/~ehp-head Vorbereitung, Durchführung, Kolloquium Infos zur Veranstaltung, Versuchsanleitung

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

2. Hausübung Algorithmen und Datenstrukturen

2. Hausübung Algorithmen und Datenstrukturen Prof. Dr. Gerd Stumme, Folke Eisterlehner, Dominik Benz Fachgebiet Wissensverarbeitung 7.4.009. Hausübung Algorithmen und Datenstrukturen Sommersemester 009 Abgabetermin: Montag, 04.05.009, 10:00 Uhr 1

Mehr

Mixed-Signal-Simulation mit Berücksichtigung von Parametervariationen

Mixed-Signal-Simulation mit Berücksichtigung von Parametervariationen Mixed-Signal-Simulation mit Berücksichtigung von Parametervariationen SystemC Dieses Rechteck bitte durch ein Bild verdecken. Inhalt Simulation mit affiner Arithmetik Simulation mit Distributionsarithmetik

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel  Problem Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung

Mehr