Grundlagen der CELL Programmierung

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der CELL Programmierung"

Transkript

1 1 Grundlagen der CELL Programmierung Seminarvortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik WS 2005/2006 von Benjamin Kalisch

2 Inhalt 2 Was ist Cell Erste Generation (Hardware) Programmierung Spezialregister & Channels MFC SPE Linux und Bibliotheken Programmierbeispiel Schlussfolgerungen Quelle: [16]

3 Was ist Cell 3 Die Cell Broadband Engine Architecture (CBEA), kurz Cell, ist ein, von Sony Toshiba und IBM entwickelter, heterogener Multi-Core Prozessor. Ziele Hohe Leistung in Multimedia Anwendungen Energieeffizienz (GFLOPS/Watt) Verzicht auf out-of-order Execution höherer Takt Daten Transistoren Chip-Fläche Technologie 234 Millionen 235 mm² 90 nm SOI

4 4 Hardware Quellen [1], [2], [6], [7], [14], [24]

5 Erste Generation 5 [ Quelle: ] IBM

6 Erste Generation 5 Grundidee: 1 Hauptprozessor unterstützt von 8 Anwendungsbeschleunigern [ Quelle: ] IBM

7 Erste Generation 5 Grundidee: 1 Hauptprozessor unterstützt von 8 Anwendungsbeschleunigern S X U MFC L S [ Quelle: ] IBM

8 Erste Generation - PPE 6 Power Processor Element (PPE) L2 Cache: 512kB, kohärent Optimierter 64bit POWER Prozessor 2-way simultaneous Multithreading SIMD Erweiterung (AltiVec) kompatibel zu POWER Anwendungen Führt das Betriebssystem aus [ Quelle: ] IBM

9 Erste Generation - SPE (SXU) Synergistic Processing Element (SPE) Synergistic Execution Unit (SXU) SIMD Prozessor auf 128bit Vektoren 4-Wege SIMD Einheit Register File 128 Einträge à 128bit Loop-unrolling Instruktionen ähnlich AltiVec Hauptspeicherzugriff nur per DMA 7 [ Quelle: ] IBM

10 Erste Generation - SPE (LS) Synergistic Processing Element (SPE) Local Store (LS) 256kB für Instruktionen und Daten Single ported SRAM Zugriffsprioritäten Granularität 1. DMA 128B 2. Load + Store 16B 3. Instruction Fetch 128B 8 Abgebildet in Hauptspeicher Domäne Lokaler Zugriff: Keine Adressübersetzung Kein Adressschutz [ Quelle: ] IBM

11 Quelle: [24] Erste Generation - SPE (MFC) Synergistic Processing Element (SPE) Memory Flow Controller (MFC) DMA Controller inklusive MMU Transfergrößen 1B bis 16kB Alignment 128 Byte 2 Befehls Queues: lokal SPU Queue (16 E.) global Proxy Queue (8 E.) Kommunikation zum MFC: lokal Channel Interface global MMIO Register 9 [ Quelle: ] IBM

12 10 Programmierung Quellen Allgemein [22], [13], [17], [25], [26] Skalar, SIMDization [19], [20], [21] MFC, Channels [24]

13 MMIO Register (1/3) 11 32bit Spezialregister sind in Hauptspeicherdomäne verfügbar. Memory Mapped I/O Register Kommunikationsregister SPU_Out_Mbox SPU_In_Mbox SPU_Sig_Notify_1(/2) MFC_MSSync Nachrichten SPE PPE Nachrichten PPE SPE (Queue) Kommunikation SPE SPE oder I/O Modi: Logical-Or Many-to-One Overwrite One-to-One Stellt Abschluss ausstehender DMA Befehle sicher Wichtig für sicheren Prozesswechsel C-Mnemonics

14 MMIO Register (2/3) 12 DMA Befehlsregister Adressierung relativ zu BE_MMIO_Base Beispiel: Reihenfolge für DMA Befehl initialisiert durch PPE 1. S: Local Store Adresse MFC_LSA 2. S: Hauptspeicheradresse MFC_EAL (+ MFC_EAH) 3. S: Größe und Tag zur Kontrolle MFC_Size_Tag 4. S: Auszuführender Befehl MFC_ClassID_CMD Startet Hinzufügversuch 5. L: Hinzufügen erfolgreich? MFC_CMDStatus Adresse SPE(n): BE_MMIO_Base + n 0x x43004 DMA Informationsregister Tag-Gruppe ausgeführt? PPE Interrupt möglich Prxy_TagStatus

15 MMIO Register (3/3) 13 SPE Kontrollregister SPU_NPC SPU_RunCntl SPU_Status LS Adresse der nächsten Instruktion Nur gültig, wenn SPU idle (SPU_Status[R] = 0) Startet und Stoppt SPU Stop Request Stoppt SPE Run Request Startet SPE bei SPU_NPC SPE Status Register, wichtige Bitfelder: Bit R I P Bedeutung (falls Bit = 1) SPU running Ungültige Instruktion Stop-and-Signal Instruktion SPU angehalten SPU angehalten SPU_Status enthält in diesem Fall auch den Stoppcode

16 SPU Channel Interface 14 Registerinhalte bei MMIO und Channel Interface größtenteils identisch. Unterschiede: Store+Load/DMA Befehle Channel Read/Write Befehle SPU Assembler RDCH RT, CH WRCH CH, RA RCHCNT RT, CH MMIO Register MFC_Size_Tag MFC_CMDStatus Channel Äquivalent MFC_Size & MFC_TagID Nichts, wrch blockiert bis Platz ist ChannelCH Register RT Register RA ChannelCH #Einträge in CH Register RT SPU Channel C-Intrinsics d = spu_readch( channel ); d = spu_readchcnt( channel ); d,a = u32 spu_writech( channel, a );

17 MFC Programmierung 15 SPU DMA C-Intrinsics spu_mfcdma64 (ls, eahi, ealow, size, tag, cmd); d = spu_mfcstat( type ); MFC Assembler Befehle (cmd): put puts putb putl get* barrier getllar putllc Kopiert: LS Hauptspeicher Startet SPU nach Kopieren (nur Proxy) Ordnet diesen Befehl relativ zu vorherigen DMA Befehlsliste aus dem LS (nur SPU) Kopiert: LS Hauptspeicher Erzeugt Speicherbarriere Atomic get, entspricht PowerPC lwarx Atomic put, entspricht PowerPC stwcx MFC_PUT_CMD MFC_PUTS_CMD MFC_PUTB_CMD MFC_PUTL_CMD MFC_GET*_CMD MFC_BARRIER_CMD MFC_GETLLAR_CMD MFC_PUTLLC_CMD

18 MFC Programmierung 15 SPU DMA C-Intrinsics spu_mfcdma64 (ls, eahi, ealow, size, tag, cmd); d = spu_mfcstat( type ); MFC Assembler Befehle (cmd): Channel writes: ls MFC_LSA eahigh MFC_EAH ealow MFC_EAL size MFC_Size tag MFC_TagID cmd MFC_CMD put puts putb putl get* barrier getllar putllc Kopiert: LS Hauptspeicher Startet SPU nach Kopieren (nur Proxy) Ordnet diesen Befehl relativ zu vorherigen DMA Befehlsliste aus dem LS (nur SPU) Kopiert: LS Hauptspeicher Erzeugt Speicherbarriere Atomic get, entspricht PowerPC lwarx Atomic put, entspricht PowerPC stwcx MFC_PUT_CMD MFC_PUTS_CMD MFC_PUTB_CMD MFC_PUTL_CMD MFC_GET*_CMD MFC_BARRIER_CMD MFC_GETLLAR_CMD MFC_PUTLLC_CMD

19 SPE Programmzuweisung 16

20 SPE Programmzuweisung 16 Einige Alternativen 1. Instr. & Daten direkt per store 2. Interrupt auf PPE möglich Kann man sich mit getbs sparen 4. Stop-and-Signal Instruktion Assembler stop u14 Interrupt auf PPE

21 SPE Instruktionssatz (Auszug) 17 LS Instruktionen Integer Instruktionen Logik Instruktionen lqx rt, ra, rb stqx rt, ra, rb a rt, ra, rb xor rt, ra, rb Shift and Rotate Instruktionen rotqby rt, ra, rb Compare and Branch Instruktionen ceq rt, ra, rb brz rt, i16 Floating Point Instruktionen Kontroll Instruktionen Channel Instruktionen fma rt, ra, rb, rc fcgt rt, ra, rb Load Quadword Store Quadword Add Word Logical XOR Rotate Quadword left by Bytes Compare Equal Word Branch if zero Floating Point Multiply and Add Floating Point Compare Greater Than

22 Spezielles an SPEs 18 SPE Error-Handling & System-Calls nur auf PPE Weiterleitung Run-to-Completion Nutzung empfohlen (preemptive möglich) Branch-Hint Instruktion Verbessert Static Branch Prediction ( not taken ) Rechtzeitiger und korrekter Hint keine Penalty Maximal ein ausstehender Branch-Hint hbr s11, ra hbrp Instruction-Fetch-Hint Erhöht I-Fetch Priorität

23 Predication auf SPEs 19 Bitwise Select Vermeidung kleiner Branches durch Predication Assembler: C-Intrinsic: selb rt, ra, rb, rc d = spu_sel(a, b, pattern); Beispiel: cmp bra x cond x, else then: add d d+1 bra done else: add done: d d+a cmp x cond add y d+a add z d+1 selb d, z, y, x

24 Skalararithmetik auf SPEs 20 SPEs besitzen keine dedizierte Skalarlogik LS Zugriffe 16B aligned + Register 16B breit Position in Register = Offset im LS Bsp.1: Bsp.2: a[0] = c[0] + b[0] a[1] = c[2] + b[3] [i] = Offset relativ zum 16B Alignment Quelle: [19]

25 Skalararithmetik auf SPEs 20 SPEs besitzen keine dedizierte Skalarlogik LS Zugriffe 16B aligned + Register 16B breit Position in Register = Offset im LS Add Bsp.1: Bsp.2: a[0] = c[0] + b[0] a[1] = c[2] + b[3] [i] = Offset relativ zum 16B Alignment Quelle: [19]

26 Skalararithmetik auf SPEs 20 SPEs besitzen keine dedizierte Skalarlogik LS Zugriffe 16B aligned + Register 16B breit Position in Register = Offset im LS Add Bsp.1: Bsp.2: a[0] = c[0] + b[0] a[1] = c[2] + b[3] [i] = Offset relativ zum 16B Alignment Quelle: [19]

27 Skalararithmetik auf SPEs 20 SPEs besitzen keine dedizierte Skalarlogik LS Zugriffe 16B aligned + Register 16B breit Position in Register = Offset im LS Add Bsp.1: Bsp.2: a[0] = c[0] + b[0] a[1] = c[2] + b[3] [i] = Offset relativ zum 16B Alignment Lösung: Register Rotieren Speichern auch problematisch a[1] geändert, was mit a[0],a[2],a[3]? Quelle: [19] Rotate Add

28 Skalararithmetik auf SPEs 20 SPEs besitzen keine dedizierte Skalarlogik LS Zugriffe 16B aligned + Register 16B breit Position in Register = Offset im LS Add Bsp.1: Bsp.2: a[0] = c[0] + b[0] a[1] = c[2] + b[3] [i] = Offset relativ zum 16B Alignment Lösung: Register Rotieren Speichern auch problematisch a[1] geändert, was mit a[0],a[2],a[3]? Quelle: [19] Lösung: Read, Insert, Write Rotate Add

29 Skalararithmetik auf SPEs 20 SPEs besitzen keine dedizierte Skalarlogik LS Zugriffe 16B aligned + Register 16B breit Position in Register = Offset im LS Add Bsp.1: Bsp.2: a[0] = c[0] + b[0] a[1] = c[2] + b[3] [i] = Offset relativ zum 16B Alignment Lösung: Register Rotieren Speichern auch problematisch a[1] geändert, was mit a[0],a[2],a[3]? Quelle: [19] Lösung: Read, Insert, Write Rotate Add Einfachere Lösung für Beides: Pro Skalar 16B und Position 0 GCC: float example attribute ((aligned (16)));

30 21 Linux und Bibliotheken Quellen Linux [3], [4], [18] libspe [11] spu_intrinsics [13]

31 Linux auf Cell 22 Anpassungen: Spezieller Interrupt Controller und SPEs SPE Thread Verwaltung durch SPU File System (spufs) Verzeichnisse entsprechen logischem SPE Kontext Mapping auf SPEs übernimmt BS (Virtualisierung) Quelle: [3] SPU starten: System-Call mit Parametern auf run Übergabepointer auf: struct spufs_run_arg { u32 npc; u32 status; }; Aufrufender Thread blockiert Outb. Inter. MBox Outbound MBox Local Store Register File RUN Inbound MBox

32 libspe.h (1/2) 23 libspe.h = SPE Runtime Management Library Ist PPE C-Bibliothek POSIX-Thread ähnliche SPE Nutzung auf User-Level Basis Unterscheidung: SPE Group SPE Thread spe_gid_t speid_t Gang-Scheduling für Gruppen möglich Kommunikationsfunktionen: u32 = spe_read_out_mbox( speid ); spe_write_in_mbox( speid, u32 ); spe_write_signal( speid, reg, u32 );

33 libspe.h (2/2) 24 Verwaltungsfunktionen: program* = spe_open_image( *filename ); gid = spe_create_group( policy, priority, spe_events ); speid = spe_create_thread( gid, *program, *argp, *envp, mask, flags ); succ = spe_wait( speid, *status, options ); Funktionen zum Zugriff auf SPE Ressourcen (z.b.) void* = spe_get_ls( speid ); Ändernung gewählter Einstellungen (z.b.) succ = spe_set_affinity( speid, mask ); Form einer Thread Funktion int main( speid, argp, envp );

34 spu_intrinsics intrinsics.h 25 Ist SPE C-Bibliothek Enthält alle bisher gezeigten C-Intrinsics Führt Vektor-Datentypen ein vector unsigned int vector float vec_uint4 vec_float4 qword Ermöglicht direkte Vektor-Operationen d = spu_add(a, b); //a, b, c, d Vektoren d = spu_madd(a, b, c); d = spu_compeq(a, b);

35 Programmierbeispiel PPE 26 /* context.h */ typedef struct { vector float pos; vector float vel; float delta_t; } context; /* ppeprogram.c */ extern spe_program_handle_t speprogram; int main() { int status; context ctx; speid_t speid; // [... ] speid = spe_create_thread(0, &speprogram, &ctx, NULL, -1, 0); (void) spe_wait(speid, &status, 0); }

36 Programmierbeispiel SPE 27 /* speprogram.c */ int main(unsigned long long spu_id, unsigned long long parm) { unsigned int tag_id = 0; vector float delta_t_vec; context ctx; spu_mfcdma32(&ctx, parm, sizeof(context), tag_id, MFC_GET_CMD); (void) spu_mfcstat(2); delta_t delta_t delta_t_vec = spu_splats(ctx.delta_t); ctx.pos = spu_madd(ctx.vel, delta_t_vec, ctx.pos); delta_t delta_t } spu_mfcdma32(&ctx, parm, sizeof(context), tag_id, MFC_PUT_CMD); (void) spu_mfcstat(2);

37 Schlussfolgerungen 28

38 Schlussfolgerungen 29 MMIO Register und Channels wichtiger Bestandteil der Architekturausnutzung In Hochsprache (C/C++) programmierbar Höherer Programmieraufwand Vereinfacht durch Bibliotheken Mehraufwand = Performance SP FP Matrixmultiplikation P4 (SSE3, 3.2GHz): 25.6GFLOPS 3.2 GHZ Cell: XL C Compiler Hohe Maximalperformance SP FP DP FP 204 GFLOPS 20 GFLOPS Quelle [26]

39 Quellen 30 [1] [2] [3] [4] [5] [6] [7] [8] A Streaming Processing Unit for a CELL Processor Autoren: B. Flachs, S. Asano, S.H. Dhong, P. Hofstee, G. Gervais, R. Kim, T. Le, P. Liu, J. Leenstra, J. Liberty, B. Michael, H. Oh, S.M. Mueller, O. Takahashi, A. Hatakeyama, Y. Watanabe, N. Yano The Design and Implementation of a First-Generation CELL Processor Autoren: D. Pham, S. Asano, M. Bollinger, M.N. Day, H.P. Hofstee, C. Johns, J. Kahle, A. Kameyama, J. Keaty, Y. Masubuchi, M. Riley, D. Shippy, D. Stasiak, M. Suzuoki, M. Wang, J. Warnock, S. Weitzel, D. Wendel, T. Yamazaki, K. Yazawa Spufs: The Cell Synergistic Processing Unit as a virtual file system Autor: Arnd Bergmann Meet the Experts: Arnd Bergmann on Cell Autoren: Arnd Bergmann, developerworks Just like being there: Papers from the Fall Processor Forum 2005: Unleashing the power of the Cell Broadband Engine Autor: developerworks Cell Architecture Explained Version 2 Autor: Nicholas Blachford Introduction to the Cell multiprocessor Autoren: J.A. Kahle, M.N. Day, H.P. Hofstee, C.R. Johns, T.R. Maeurer, D. Shippy Hardware and Software Architectures for the Cell Broadband Engine processor Michael Day, Peter Hofstee

40 Quellen 31 [9] [10] [11] [12] [13] [14] [15] [16] A remote Procedure Call Implementation for the Cell Broadband Architecture Part of: Cell Broadband Engine (Cell BE) Software Sample and Library Source Code CELL: A New Platform for Digital Entertainment Autoren: Dominic Mallinson, Mark DeLoura SPE Runtime Management Library Optimizing Compiler for a CELL Processor Autoren: Alexandre E. Eichnberger, Kathryn O Brien, Kevin O Brian, Peng Wu, Tong Chen, Peter H. Oden, Daniel A. Prenner, Janice C. Shepherd, Byoungro So, Zehra Sura, Amy Wang, Tao Zhang, Peng Zhao, Michael Gschwind SPU C/C++ Language Extensions Cell Moves into the Limelight Autor: Kevin Krewell Porting the GNU Tool Chain to the Cell Architecture Autor: Ulrich Weigand Unleashing the Power: A programming example of large FFTs on Cell Autoren: Alex Chow, Gordon Fossum, Daniel A.Brokenshire

41 Quellen 32 [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] SPU Application Binary Interface Specification Cell Broadband Engine Linux Reference Implementation Application Binary Interface Specification Efficient SIMD Code Generation for Runtime Alignment & Length Conversion Peng Wu, Alexandre Eichenberger, Amy Wang An Integrated Simdization Framework using virtual vectors Peng Wu, Alexandre Eichenberger, Amy Wang, Peng Zhao Vectorization for SIMD Architectures with Alignment Constraints Alexandre Eichenberger, Peng Wu, Kevin O Brian Cell Broadband Engine Programming Tutorial Cell Broadband Engine Architecture Joint Software Reference Environment Series Meet the experts: Alex Chow on Cell Broadband Engine programming models Alex Chow Cell Broadband Engine Architecture Synergistic Processor Unit Instruction Set Architecture Cell Broadband Engine Architecture and its first implementation A Performance View

42 Fragen? 33

Cell Broadband Engine

Cell Broadband Engine Cell Broadband Engine 21.March 2006 Benjamin Keck Outline Why Cell?!? Application Areas Architectural Overview SPU Programming Model Programming on the PPE C/C++ Intrinsics The Cell Supercomputer on a

Mehr

Outline. Cell Broadband Engine. Application Areas. The Cell

Outline. Cell Broadband Engine. Application Areas. The Cell Outline 21.March 2006 Benjamin Keck Why Cell?!? Application Areas Architectural Overview Programming Model Programming on the PPE C/C++ Intrinsics 1 2 The Cell Supercomputer on a chip Multi-Core Microprocessor

Mehr

Cell and Larrabee Microarchitecture

Cell and Larrabee Microarchitecture Cell and Larrabee Microarchitecture Benjamin Grund Dominik Wolfert Universität Erlangen-Nürnberg 1 Übersicht Einleitung Herkömmliche Prozessorarchitekturen Motivation für Entwicklung neuer Architekturen

Mehr

Der Cell Prozessor. Seminarvortrag von Viacheslav Mlotok. SS2005 Universität Mannheim, Lehrstuhl für Rechnerarchitektur

Der Cell Prozessor. Seminarvortrag von Viacheslav Mlotok. SS2005 Universität Mannheim, Lehrstuhl für Rechnerarchitektur Der Cell Prozessor Seminarvortrag von Viacheslav Mlotok SS2005 Universität Mannheim, Lehrstuhl für Rechnerarchitektur 1 Inhalt Entwicklungsziele Cell Architektur Power Processor Element Synergistic Processor

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Cell Broadband Engine & CellSs: ein Programmiermodel für den Cell Prozessor

Cell Broadband Engine & CellSs: ein Programmiermodel für den Cell Prozessor Cell Broadband Engine & CellSs: ein Programmiermodel für den Cell Prozessor Hardware-Software-Co-Design Universität Erlangen-Nürnberg mark.duchon@mb.stud.uni-erlangen.de Ziegler_Matthias@web.de andreas.fall@googlemail.com

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Netgauge auf Cell BE

Netgauge auf Cell BE TU Chemnitz 15. Oktober 2007 Inhaltsverzeichnis 1 Einführung Aufgabe Netgauge Cell BE 2 3 Aufgabe Einführung Aufgabe Netgauge Cell BE Netgauge + Cell = Messung Speichertransfers von Cell BE Aufgabe Einführung

Mehr

Jürg Gutknecht, SI und ETH Zürich, April 2015

Jürg Gutknecht, SI und ETH Zürich, April 2015 Jürg Gutknecht, SI und ETH Zürich, April 2015 Der Staubsauger könnte ein Mikrofon eingebaut haben, welches sämtliche Geräusche im Raum aufnimmt und via Stromkabel an einen Geheimdienst weiterleitet Die

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Protected User-Level DMA in SCI Shared Memory Umgebungen

Protected User-Level DMA in SCI Shared Memory Umgebungen Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Über die Cell/B.E.-Architektur: Optionen zur Generierung von Programm-Traces

Über die Cell/B.E.-Architektur: Optionen zur Generierung von Programm-Traces Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) Über die Cell/B.E.-Architektur: Optionen zur Generierung von Programm-Traces Diplomverteidigung Nöthnitzer Straße 46 Informatik, Raum 1027

Mehr

Multicore-Architekturen

Multicore-Architekturen Universität Erlangen- Nürnberg Technische Universität München Universität Stuttgart Multicore-Architekturen Vortrag im Rahmen der Ferienakademie 2009 Kurs 1: Programmierkonzepte für Multi-Core Rechner

Mehr

Profiling und Coverage mit GNU und Bare Embedded Systems

Profiling und Coverage mit GNU und Bare Embedded Systems Profiling und Coverage mit GNU und Bare Embedded Systems Life is too short for bad tools! Prof. Erich Styger erich.styger@hslu.ch +41 41 349 33 01 Coverage und Profiling Coverage: Analyse der Testabdeckung

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ Seite 1 Einführung in die Programmierung mit C Teil IV - Weiterführende Themen 16. SIMD Programmierung Was bedeutet SIMD Seite SIMD Single-Instruction, Multiple-Data, also eine Instruktion, mehrere Daten

Mehr

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation

Mehr

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich Seite 1 von 10 CU-R-CONTROL Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32 Autor: Christian Ulrich Datum: 08.12.2007 Version: 1.00 Seite 2 von 10 Inhalt Historie

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400

1 Proseminar: Konzepte von Betriebssystem-Komponenten. Thema: Server OS AS/400 Referend: Sand Rainer. Server OS - AS/400 1 Proseminar: Konzepte von Betriebssystem-Komponenten Server OS - AS/400 Gliederung Was ist eine AS/400? Wie ist OS/400 aufgebaut? Was kann eine AS/400? Bsp.: Logische Partitionierung 2 Proseminar: Konzepte

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren Institut für Informatik Alina Barendt und Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 4: Viren 1 Vorbereitung msg db "Virus" mov ah, 40h mov bx, 1 mov cx, $5 mov dx, msg int 21h ; Write

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Die Marvel, ein gedrosselter Supercomputer

Die Marvel, ein gedrosselter Supercomputer Die Marvel, ein gedrosselter Supercomputer Warum ist die Marvel so schnell? Warum ist die Marvel so langsam? Erfahrungen mit dem Softwaresupport Warum ist die Marvel so schnell? Hardware Z.Cvetanovic,

Mehr

Komponentenbasierter Taschenrechner mit CORBA

Komponentenbasierter Taschenrechner mit CORBA Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

LabVIEW Power Programming. Amadeo Vergés www.zuehlke.com

LabVIEW Power Programming. Amadeo Vergés www.zuehlke.com LabVIEW Power Programming Aus der Praxis für die Praxis Amadeo Vergés www.zuehlke.com LabVIEW Power Programming Aus der Praxis für die Praxis the same procedure as every year? Running gags in der LabVIEW

Mehr

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung 8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung Im Folgenden wird die Konfiguration von BRRP gezeigt. Beide Router sind jeweils über Ihr Ethernet 1 Interface am LAN angeschlossen. Das Ethernet

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

1.1. Apache 2.0.48 / Tomcat 4.1.27 via JK2 2.0.4 JNI ## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED

1.1. Apache 2.0.48 / Tomcat 4.1.27 via JK2 2.0.4 JNI ## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED by Peter Rossbach, Michael Kloss 1. Apache / Tomcat via JNI Peter Roßbach und Michael Kloss Um den Tomcat mit dem Apache zu kombinieren gibt es mehrere Möglichkeiten. Man kann dies über eine mod_proxy

Mehr

QUICK INSTALLATION GUIDE

QUICK INSTALLATION GUIDE BIANCA/BRI für Windows NT Willkommen zu einer der leistungsfähigsten ISDN-Lösungen für Windows NT. Diese Lösung umfaßt nicht nur die CAPI (Common ISDN Application Program Interface), sondern auch NDIS-IP.

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

App CCTV INET VIEWER. Folgende Funktionen stehen in der App zur Verfügung:

App CCTV INET VIEWER. Folgende Funktionen stehen in der App zur Verfügung: App CCTV INET VIEWER Ab der Version 12.12.0 (Analog) sowie 1.0 Full-HD SDI-System, gibt es die Möglichkeit, auf das Alpha11 KassenVideosystem mit der kostenlosen App CCTV INET VIEWER zuzugreifen. Folgende

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

AXIGEN Mail Server. E-Mails per Smarthost versenden E-Mails per Pop3 empfangen. Produkt Version: 6.1.1 Dokument Version: 1.2

AXIGEN Mail Server. E-Mails per Smarthost versenden E-Mails per Pop3 empfangen. Produkt Version: 6.1.1 Dokument Version: 1.2 AXIGEN Mail Server E-Mails per Smarthost versenden E-Mails per Pop3 empfangen Produkt Version: 6.1.1 Dokument Version: 1.2 Letztes Update: 23.September 2008 Kapitel 1: Instruktionen Willkommen Was zeigt

Mehr

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de>

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de> x86 Open Source Virtualisierungstechniken März 2006 Zu meiner Person Informatik Student an der Universität Erlangen im 9. Semester 4 jährige Mitarbeit an dem Projekt FAUmachine der

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Systemvoraussetzungen Stand 12-2013

Systemvoraussetzungen Stand 12-2013 Unterstützte Plattformen und Systemvoraussetzungen für KARTHAGO 2000 / JUDIKAT a) Unterstützte Plattformen Windows XP Home/Pro SP3 x86 Windows Vista SP2 x86 Windows 7 SP1 (x86/ x64) Windows 8 (x86/ x64)

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

desk.modul : WaWi- Export

desk.modul : WaWi- Export desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur ARM, x86 und ISA Prinzipien Übersicht Rudimente des ARM Assemblers Rudimente des Intel Assemblers ISA Prinzipien Grundlagen der Rechnerarchitektur Assembler 2 Rudimente

Mehr

C++ mit Eclipse & GCC unter Windows

C++ mit Eclipse & GCC unter Windows C++ mit Eclipse & GCC Seite 1 / 14 C++ mit Eclipse & GCC unter Windows Hinweise Stand 18. Okt. 2014 => GCC 4.9.1 Boost 1.56.0 Eclipse Luna V. 4.4.1 Java Version 8, Update 25 (entspricht 1.8.0_25) Achtung

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Backup der Progress Datenbank

Backup der Progress Datenbank Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,

Mehr

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Installationshinweise BEFU 2014

Installationshinweise BEFU 2014 Installationshinweise BEFU 2014 Allgemeines BEFU 2014 läuft unter dem Betriebssystem Windows XP, Vista, 7, 8. Für BEFU 2014 wird als Entwicklungsumgebung Access (32-Bit) verwendet. Es werden zum Download

Mehr

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Einleitung Es kommt vor, dass im Handel Disketten angeboten werden, die Styles und Registrationen

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Bedienungsanleitung Version 1.0

Bedienungsanleitung Version 1.0 Botex DMX Operator (DC-1216) Bedienungsanleitung Version 1.0 - Inhalt - 1 KENNZEICHEN UND MERKMALE...4 2 TECHNISCHE ANGABEN...4 3 BEDIENUNG...4 3.1 ALLGEMEINES:...4 3.2 BEDIENUNG UND FUNKTIONEN...5 4 SZENEN

Mehr

Z- module telematic I. Software Overview. 2014 Johannes Schütt

Z- module telematic I. Software Overview. 2014 Johannes Schütt Software Overview Inhalt: JackOSX QjackCtl.app Terminal Jacktrip LifeSize-Softphone Google-Chat JackOSX: JackOSX ->??? JackPilot = AudioServer! JackOSX: (inter-application audio bridge) Wollen mehrere

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Installations- und Bedienungsanleitung für Macro Excel_Table Version 10

Installations- und Bedienungsanleitung für Macro Excel_Table Version 10 Malerzów, den 26.11.2012 Installations- und Bedienungsanleitung für Macro Excel_Table Version 10 1. Vorbemerkungen Dieses Dokument stellt eine vereinfachte Installations- und Bedienungsanleitung für Macro

Mehr

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch - 1 - Inhalt 1 Einführung... 3 2 Installation und Einrichtung... 4 3 Funktionalität des KIP Druckerstatus... 6 4 Benutzung des KIP Druckerstatus...

Mehr

Dynamic Ressource Management

Dynamic Ressource Management best Open Systems Day Fall 2006 Dynamic Ressource Management Unterföhring Marco Kühn best Systeme GmbH kuehn@best.de Agenda Überblick Dynamic Resource Pools und FSS Dynamic Resource Memory RCAP Oracle

Mehr

DLLs (dynamic loaded libraries) mit MingW erstellen

DLLs (dynamic loaded libraries) mit MingW erstellen DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:

Mehr

Karlsruher Institut für Technologie

Karlsruher Institut für Technologie Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt

Mehr

Computer-Architektur Ein Überblick

Computer-Architektur Ein Überblick Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Inhaltsverzeichnis 1 Allgemein... 3 2 Erforderliche Anpassungen bei der Installation...3 2.1 Konfiguration Jboss 7 Applicationserver (Schritt 4/10)...3

Mehr

Zugriff auf die Modul-EEPROMs

Zugriff auf die Modul-EEPROMs MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Diplomarbeit Antrittsvortrag

Diplomarbeit Antrittsvortrag Diplomarbeit Antrittsvortrag Christian Müller Run-time byte code compilation, interpretation and optimization for Alice Betreuer: Guido Tack Verantwortlicher Prof.: Gert Smolka Die nächsten 15 Minuten...

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Technische Dokumentation SilentStatistikTool

Technische Dokumentation SilentStatistikTool Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...

Mehr

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

SMART Newsletter Education Solutions April 2015

SMART Newsletter Education Solutions April 2015 SMART Education Newsletter April 2015 SMART Newsletter Education Solutions April 2015 Herzlich Willkommen zur aktuellen Ausgabe des Westcon & SMART Newsletters jeden Monat stellen wir Ihnen die neuesten

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

BANKETTprofi Telefonschnittstelle

BANKETTprofi Telefonschnittstelle BANKETTprofi Telefonschnittstelle Aufbau der BANKETTprofi Telefonschnittstelle BANKETTprofi 800 Anwendung Im BANKETTprofi wird eine Rufnummer angewählt BANKETTprofi TAPI-Plugin Dieser Befehl wird vom TAPI-Plugin

Mehr

C/C++-Programmierung

C/C++-Programmierung 1 C/C++-Programmierung new/delete, virtual, Typumwandlungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 new/delete

Mehr

1 Installation QTrans V2.0 unter Windows NT4

1 Installation QTrans V2.0 unter Windows NT4 1 Installation QTrans V2.0 unter Windows NT4 1.1 Unterstützte Funktionen Unter NT4 wird nur der Betrieb von QTrans im Report-Client-Modus unterstützt, d. h. für die Anzeige von Schraubergebnissen und für

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

Test integrierter Schaltungen

Test integrierter Schaltungen 1. CAE Link und IC Qualifizierung 1.1 Ziel 1.1.1 CAE Link Bei der letzten Übung wurden die Zeitdefinitionen und die Test Pattern manuell eingegeben. Aber bei hochintegrierten Schaltkreise muß ein anderer

Mehr

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch};

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch}; Aufgabe 1: (15 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Konzept zur Push Notification/GCM für das LP System (vormals BDS System) Konzept zur Push Notification/GCM für das LP System (vormals BDS System) Wir Push Autor: Michael Fritzsch Version: 1.0 Stand: 04. Februar 2015 Inhalt 1. Was ist eine Push Notification? 2. Wofür steht GCM?

Mehr

Erstellen einer E-Mail in OWA (Outlook Web App)

Erstellen einer E-Mail in OWA (Outlook Web App) Erstellen einer E-Mail in OWA (Outlook Web App) Partner: 2/12 Versionshistorie: Datum Version Name Status 13.09.2011 1.1 J. Bodeit Punkte 7 hinzugefügt, alle Mailempfänger unkenntlich gemacht 09.09.2011

Mehr

Installationsanleitung

Installationsanleitung Installationsanleitung zu @Schule.rlp (2015) Inhaltsverzeichnis Inhaltsverzeichnis... 1 Voraussetzungen... 2 vorbereitende Aufgaben... 3 Installation @Schule.rlp (2015):... 3 Installation Java SE Runtime

Mehr

Agenda. Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan

Agenda. Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan opsi Linux Support Agenda Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan Ziel Integrierte Verwaltung von heterogenen Rechnerparks mit Linux- und Windows-Maschinen unter

Mehr

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 git & git-flow Jens Sandmann Warpzone Münster e.v. 14.12.2013 Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 Überblick 1 git Versionskontrolle Allgemein VCS mit git 2 git flow 3 git nutzen 4 Anhang

Mehr