V1: Spez/In. RA

Größe: px
Ab Seite anzeigen:

Download "V1: 01.04.04 Spez/In. RA"

Transkript

1 V1: 144 Spez/In RA I,) Einleitung II) Vektorrechner (Supercomputer, Multimediaergänzungen) III) Virtuelle Befehlssatz-Architekturen IV) Datenfluss-Architekturen V) Processing in memory (PIM) VI) Neuro-Computer VII) Tendenzen bei Steuerfluss-Architekturen VIII) Optische Computer IX) Quantencomputer Homepage: * I Einleitung * - weglassen von Axiomen bekannter Technik neue Ergebnisse (schnelleres, effizienteres Rechnen) - Verknüpfung von bestehender und "theoretischer" Technik * II Vektorrechner * - SIMD (Single-Instruction Multiple-Data) - nur ein einziger Befehlsstrom, aber mehrere Datenströme) - Bsp: "Earth-Simulater" (Japan) Funktionsweise * nicht-parallel: Vektor A Vektor B #Schritte = #Elemente der einzelnen Vektoren * parallel: Vektorrechner der Parallelität 2 gehört zusammen

2 Aufbau: Rückführung (Ergebnis) VRS: Vektor-Register-Satz - ein Register (Kästchen) enthält jeweils eine Zahl - eine Spalte Vektor VRS 1 Vektor jeweils 2 Operanden: von Vekt A u Vekt B ALU's 1 Befehlsstrom! (dh: alle ALU's machen das gleiche) LOAD-STORE Einheit Steuereinheit Programmspeicher Befehlsstrom Datenspeicher Skalar-Einheit ist nicht immer vorhanden * LOAD-STORE-Einheit: hat Zugriff auf die Register * Datenspeicher: Harvard-Architektur!! ( getrennte Programm~/Datenspeicher) * Steuerwerk: Programmablauf Vorteile: - Parallelisierung mit weniger HW-Aufwand (im Gegensatz zu anderen Parallel-Architekturen) - einfachere Software als MIMD (bei SIMD ist keine Synchronisation der Prozesse notwendig) - gut skalierbar (HW und SW!) HW: identische Vervielfachung des Datenpfades SW: keine großen Änderungen notwendig; Struktur bleibt erhalten - Verringerung der Programmspeicherbandbreite im Vergl zu MIMD - gute Eignung für Vektor- und Matrixrechnungen Nachteile: - "verschärfter Flaschenhals" bei Bus und Datenspeicher - globaler Takt (gleicher Takt kann bei großem Register-Satz nicht immer eingehalten werden) - Schwierigkeiten bei Rekursionen

3 Anwendungsbeispiele: - amerik Kernwaffenforschung - in der Meteorologie - Numerik (große DGL-Systeme) - statistische Berechnungen - Signalbearbeitung / Bildbearbeitung (Multimedia) - 3D Modellierung Besonderheit: "Vektor-Pipeline" Vorteile: - Besserer Kompromiss zwischen Auslastung und Nutzen - Datenspeicherbelastung wird besser verteilt Vektor-Registersatz jeweils eigene Rechenwerke für die verschiedenen Operationen FP-Add FP-Mult FP-Div Ergebnis Int-Rechenwerk Ablauf ohne Pipeline (n=4): Mult Mult Mult Mult Add Add Add Add Div Div Div Div Int Int Int Int t Ablauf mit Pipeline (n=4): Mult Add Div Int Mult Add Div Int Mult Add Div Int Mult Add Div Int - mehr Zeit aber besser ausgelastet - bei verschiedenen Operationen pro ZE statistischer Zeitverlust gering! - mit n=12 wäre selber HW-Aufwand wie oben, aber dann wirklich effizienter!! t

4 22 Software-Herstellung für Vektormaschinen V2: 844 Spez-Inov Vektor-Software Assembler gewöhnliche Hochsprachen mit Modellbasierte Sprache Hochsprache Vektor-Elementen SW-Generatoren Vorauss: Datentyp: Vektoren/ Matrizen zb: Vektor-Pascal / APL2 zb: Matlab Simulink Vektor- Bibliotheken Vektorisierende Compiler Schwierigkeiten: Umsetzung der Zeitvorteile bei Matrix~/ Vektorberechnungen Beispiele bei Verfahren bei vektorisierenden Compilern: I) for (i=2 ; i<=1 ; i++) ergibt einen Vektorbefehl a[i-1]=a[i]+b[i]; (entspr 1 Zyklus) - vektorisierender Compiler muß erkennen, dass es eine Schleife ist - aus Schleife wird 1 Befehl, weil für alle Elemente dieselbe Operation gilt - Elemente der Berechnung beziehen sich nicht auf vorhergehende Berechnung "Loop Unrolling" II) for (i=2 ; i<=1 ; i++) a[i+1]=a[i]+b[i]; diese Schleife ist nicht vektorisierbar Grund: - vorausgehender Wert wird verändert Schleifendurchläufe hängen voneinander ab Iteration bringt bei Vektorisierung keinen Vorteil

5 III) for (i=1 ; i<=1 ; i++) for (j=2 ; j<=1 ; j++) c[j,i]=c[j-1,i]+a[j,i]; - innerste Schleife interessiert zuerst!! diese ist nicht vektorisierbar (siehe II) Compiler tauscht innere und äußere Schleife: nach Vertauschen: for (j=2 ; j<=1 ; j++) for (i=1 ; i<=1 ; i++) c[j,i]=c[j-1,i]+a[j,i] - jetzt ändert sich nur das "i" in der innersten Schleife - da sich damit die Berechnung nicht auf den vorhergehenden Wert bezieht, ist dieser Schleifenkonstrukt jetzt vektorisierbar! "Loop Interchange" IV) for (i=1 ; i <=1 ; i++) { if (a[i] > ) c[i]=3*a[i] else c[i]=1*b[i];} Bsp-Belegung der Vektoren: a: b: Berechnung: 3*a: *b: (a > ): 1 -in einem Hilfsregister -Vergl mit Ausgangsvektoren von a und b MERGE: Ergeb ist abhängig von der Maske "Maskierung"

6 23 Beispiele - Cray-1 (1 Vektorprozessor; 115 KW Leistungsaufnahme) - Earth-Simulator (NEC, Japan) - IRAM: dram Vektor- Skalar Steuer Intereinheit einheit werk face dram Verkopplung mehrerer Einheiten möglich Erhöhung der Vektorlänge 24 Vektoroperationen bei Universalprozessoren Name MMX 3DNow! SSE Beginn Intel Pentium MMX 1997 AMD K Intel P Vektorformat Integer (mit var Breite) 8 / 16 / 32 / 64 bit Vekt-länge n: 8 / 4 / 2 / 1 Float 32 bit n=2 Float 32 bit n=4 Beispiel paddb mm3,mm1 pfadd mm1,mm addps xmm5,xmm4

7 3 Virtuelle Befehlssatz-Architekturen V3: 1544 SpezInovRA - phys Befehlssatz ist ein anderer als der "sichtbare" Bef-satz - Prozessor ist RISC-Proz - sichtb Befehlssatz (Maschinenprgr) CISC Umformung durch Softwarekomponenten - es existiert zusätzlich Softwareschicht (nicht im Silizium) HW (phys Befsatz) SW-Schicht eigentliche SW + Betrsystem + Treiber + Bios -SW-Schicht gehört zum Prozessor "Anpassungssoftware" - Anpassungs-SW kann auch ins Betrsystem integriert werden hier aber nicht der Fall hier strikt von Anwender- SW getrennt Sinn dieser Sache: * Kompatibilität: - Proz der einerseits gut optimiert ist, andererseits einen Bef-satz "besitzt", der auch auf dem Markt gefragt ist (Bsp: x86-bef-satz) * Nutzung neuer Möglichkeiten: * Einsparung von HW: - bzgl HW-Architektur - Kompatib zum Vorhandenen - Proz kann stromsparender gemacht werden " ---- einfacher gemacht werden Verlagerung von HW-Fkt auf die SW * Änderbarkeit: - ist wesentlich einfacher mit SW zu realisieren * Flexibleres Bef-scheduling: - Optimierung der Abarbeitung der Befehle "Auto-Order-Execution" - Optimierung des Fensters und der Abarbeitungsalgorithmen

8 Bem: Befehls-Scheduling - Optimierung durch Steuerung der Befehlsreihenfolge - "Compile-Time" durch Compiler während der Ausführungszeit - "Walk-Time" mit Zwischenstufe zur Optimierung vor der eigentlichen Laufzeit - "Run-Time" Proz entscheidet auf Grund der benötigten Bef-ausführungszeit die Reihenfolge der Befehle 31 Der Crusoe-Prozessor (Transmeta) (neu: "Efficeon") - sichtbarer Befehlssatz vollst kompatible zu x86 - physische Architektur (völlig versch zu x86): RISC VLIW (VLIW: very large instr word) - wenig Logik (dadurch: kleinere Chips, stromsparender und kostengünstiger) - Compiler mit Technologien vom "Just-in-time"-Compiler typische Anwendungen: - stromsparende mobile Geräte - embedded PC - geplant: Einsatz im Serverbereich Grund: - weniger Stromverbrauch - weniger Platzbedarf - weniger Kosten für Kühlung bei hoher Stkzahl aber: - setzte sich nicht durch, da die Leistung letztendlich nicht höher war als die mit normaler Technik nähere Erklärung: Weniger Chipfläche? - Einsparungen im Steuerwerk (keine Abhängigkeitslogik) - kein CISC-Bef-dekoder - kein Befehls-Scheduler - kein "Register-Reorder" - wenig Logik für: * Unterbrechungen * Speicher-Segmentierung * Ausnahmebehandlungen alles in SW-Schicht bei gleicher Stk-zahl billiger und stromsparender

9 Blockstruktur: mehr Komponenten des Motherboards im Prozessor (trotzdem kein 1-Chip-Mikrorechner, weil nicht alle Komponenten enthalten sind [insb kein interner Speicher] ) Prozessor Flash- EEPROM VLIW-Kern North- Bridge SDRAM Platz für Anpassungs- SW Cache PCI-Bus Flash-EEPROM: - enthält Maschinencode für VLIW-Kern - wird nach dem RESET (Einschalten) im phys Speicher (SDRAM) untergebracht - Befehlssatz des x86 wird als Daten behandelt und abgearbeitet - Anpassungs-SW: "Code-Morphing"

10 VLIW-Befehlswort: - 1 Befehlswort kann mehrere Befehle enthalten, die voneinander unabhängig sind 128 bit FADD ADD LD BR "Molekül" ; einzelnes Feld: "Atom" Atom ADD FADD LD BR Festkomma Addition Gleitkomma-Addition Load Branch (Sprung) F I I L/S B Ausführungseinheiten (AE) Floating- Festkomma- Load / Branch point AE AE Store - alle Befehle werden gleichzeitig ausgeführt in einem Takt - Datenabhängigkeit der Befehle muß im Maschinencode geklärt sein!! (keiner darf vom anderen abhängig sein) Registersatz: - 64 Register mit je 32bit Breite - teilweise feste Zuordnung zu x86-registern Übersetzung mit "JIT-Compiler" - Unterscheidung von Befehlsfolgen die öfters ausgeführt werden und solche, die nur einmal auftauchen - belegen große Speicherbereiche (mehrmalige Ausführung) Bsp: DVD abspielen: sich wiederholende Abarbeitung ein und desselben Befehlsblockes gute Optimierbarkeit Mehrstufigkeit: 1) Dekodierung: x86-befehl Folge von Atomen 2) Optimierung: Entfernen physischer Atome / konst Ausdrücke aus Schleifen immer noch Folge von Atomen die in den Übersetzungscache geschrieben werden 3) Scheduling: Umgruppierung zu Molekülen

11 ii) Aliases bei Speicherzugriffen Adresse Lsg der Überlappung: Verbieten des STORE vor dem LOAD oder: LOAD-Befehl wird aus Optimierungsgründen vor den STORE-Befehl gesetzt STORE LOAD t Lösung: - durch Alias-HW - Ausnahmebehandlung (dies ist eine SW-Maßnahme) iii) Änderung des Programm-Codes - es ist erlaubt, das Programm während der Laufzeit zu ändern (durch den eigenen Code den eigenen Code ändern) - Steuerbit "translated" in der Speicherverwaltung (Segmentdeskriptor) führt wieder zur Ausnahmebehandlung E2K (Elbus, Russland) hochgezüchteter RISC-Prozessor 32 Der Java-Prozessor - teilweise virtuelle Befehlssatzarchitektur (partielle ~) - Prozessor, um den Java-Bytecode auszuführen Dargestellte Architekturen: virtuelle Java-Maschine (JVM: Java virtual maschine) Maschinensprache von Java: Java-Bytecode: - um aktive Webseiten plattformunabhängig zu machen - Applets in Java-Bytecode JVM: - Implementierung des Bytecodes (typ Befehl hat Länge von 1 Byte) wird für JVM - Klassenloader benötigt - Basisklassen

12 Möglichkeiten zur Ausführung von Bytecode: Interpretieren Compilieren direkte Ausführung Java- Bytecode Interpreter beliebiges BS CPU Java- Bytecode Compiler nativer Code beliebiges BS CPU Java- Bytecode JAVA-BS JAVA-CPU Eigenschaften des Byte-Codes: - vom Programmiermodell her, handelt es sich um eine -Adress-Maschine auch "Stackmaschine" genannt Erinnerung: 3-Adress-Maschine: ADD R1, R2, R3 + = 2-Adress-Maschine: ADD EAX, EBX + 1-Adress-Maschine: ADD B - es wird immer ein Akkumulator dazu verwendet AKKU B + -Adress-Maschine: ADD Stacklänge ändert sich - kein adressierte Speicher - sehr unterschiedliche Komplexität der einzelnen Maschinenbefehle

13 Befehlsgruppen Implementierung * Einfach: zb: Arithmetik, direkt, feste Verdrahtung Stackbewegung Wertigkeit: normale RISC-Befehle * Mittelkomplex direkt, über Mikrocodesequenz zb: Methodenaufruf * Hochkomplex virtuell (im Java-BS) zb: "new" * Reserviert nur Java-BS (zb: adressierter Speicherzugriff; Ein-/Ausgabe)

14 Speicherorganisation beim Java-Prozessor V5: 2944 SpInovRA CPU "Register" Cache RAM - RAM ist hierbei das größte Bauelement - Cache kleiner - CPU/Register am kleinsten - -Adress-Maschine (Register ist als großer Stack realisiert) nach dem LIFO Prinzip auch als "Stack-Cache" bezeichnet - Arbeitsspeicher: - ganz normaler Speicher - adressiert - Cache: - wie gewöhnlich - transparent - schneller Speicher - bereits vor dem Cache muß ein adressierter Zugriff erfolgen, wenn auf den RAM zugegriffen werden soll Zeichnung: - bei Überschreiten der Hochwassermarke werden Teile des Registersatzes in den RAM verschoben (dies geschieht blockweise) - diese verschobenen Register werden im RAM ebenfalls wie im Stack behandelt - bei Unterschreiten werden Register aufgefüllt (ebenfalls blockweise) dieser Datentransport wird als "Dribbler" bezeichnet

15 Realisierungen * SUN: - erstmalige Entwürfe von pico-java und pico-java II dazu existierte auch ein Chip: micro-java 71 * AJILE: aj-1 (Java Mikro-Controller) 4 Datenfluss-Architekturen Steuerfluss: - grundlegende Organisation des Prozessors zur Abarbeitung (richtige Reihenfolge) von Befehlen Datenfluss: - für jeden Befehl wird festgelegt, von welchen Befehlen er Daten bekommt bzw an welche Befehle er Daten sendet Verfügbarkeit der Daten Prinzip: Datenfluss Beispiel-Berechnung: z=x xy xy 2 Datenflussgraph 7 x y POWER MULT MULT (1) (3) 12 MULT (2) Strich bed: 2 Operand ADD SUB "implizite Parallelität" solche eine Hardware, die so etwas ausführen kann, nennt man "Datenfluß-Architektur"

16 Vorteile: Nachteile: - implizite Parallelität - implizite Synchronisation - einfache Programmierung - imperative Operationen schwierig - größerer Overhead im Befehlszyklus 42 Varianten * statische Datenfluss-Architektur * dynamische Datenfluss-Architektur * Hybride Datenfluss-Architektur (bed: Daten- und Steuerfluss) * Festverdrahtete Datenfluss-Architektur (ist ebenfalls mit programmierbarer Logik mögl) 421 Statische Datenfluss-Architekturen result packets Operation-Units operation packets Update- Unit Fetch- Unit Ergebnisse im activity store eintragen activitystore beschafft Informationen - activity store: speichert alles (Werte von Variablen, )

17 Ausschnitt aus dem "activity store": Nr operate Fetch 11 POWER Operand 1 Operand 2 Dest 1 Dest 1 C/V P value C/V P value Offset Side Offset Side V - C L MULT (1) V - V - +1 R +2 L 13 MULT (2) C V - +2 R MULT (3) V - V - +2 R ADD V - V - +1 L SUB V - V - nach der Ausführung der POWER Operation (mit: x=2 ; y=3) Nr operate Fetch 11 POWER 1 Operand 1 Operand 2 Dest 1 Dest 1 C/V P value C/V P value Offset Side Offset Side V 1 +2 C L MULT (1) 1 V 1 +2 V R +2 L 13 MULT (2) C V - +2 R MULT (3) V 1 - V R ADD V V - +1 L SUB V - V -

18 422 Dynamische DF-Architektur V6: 654 SpezInovRA - activity-story: read only!! Blockschaltbild: "Zettel" mit Ergebnissen u Zuordnungsinformationen Result-Token Prozess- Units Instruction- Tokens (Operanden für die Operation + eingentliche Aufgabe) Token- Queue Matching- Unit Token-Pairs Fetch- Unit activity store - da der activity-store nun nur read-only ist, können dort keine Ergebnisse mehr gespeichert werden deshalb ist jetzt Token-Queue + Matching-Unit erforderlich Matching-Unit: - prüft, ob 2 gleiche "Adresszettel" vorhanden sind, die dann "gepaart" werden, um Ausgangsoperanden für die nächste Operation bereitzustellen sind 2 gleiche vorhanden, werden die Operanden als Paar an die Fetch-Unit übergeben und die entsprechende nächste Operation ausgeführt Token-Aufbau: Instruction- Token: mind 2 vorhanden Operationscode Op1 Op2 Dest 1 Dest 2 ADD, MUL, usw Literal Status Zuordnungsinformationen

19 Literal: eindeutige Kennzeichnung für Folgeoperation Status: Info's über: * linker / rechter Operand für nächste Operation L linker Operand R rechter Operand möglicher N nicht paaren Status C Konstante * Ausnahmebehandlung - Operations-Unit macht dann für jede Destination ein eigenes Token mit den jeweiligen Ergebnissen Result- Token: Literal Status Result in der Regel: 2 mal vorhanden (resultierden aus den 2 Destinations) Eindeutige Kennzeichnung für Folgeoperation - wenn 2 gleiche Literale existieren, weis dann die Matching-Unit, welche 2 Operanden für die nächste Operation zusammengehören (nähere Erläuterung siehe Beispiel) - bei N (nicht paaren) wird dieser Operand direkt an die Fetch-Unit weitergegeben, weil dann für die nächste Operation kein 2 Operand erforderlich ist; - die Token enthalten den aktuellen Maschinenzustand!! (nicht der activity-store!!!) Beispiel: x = 2 ; y = 3 7 x y POWER MULT MULT (1) (3) 12 MULT (2) ADD SUB

20 Aufbau des activity-stores: Operations- Destination 1 Destination 2 Literal code Literal Status Literal Status C1 CONST P1 R +7 C P1 POWER A1 L - - M1 MUL M2 R T1 N M2 MUL A1 R - - M3 MUL S1 R - - T1 TEE M3 L C2 N C2 CONST M2 L +12 C A1 ADD S1 L - - S1 SUB - Reihenfolge ist völlig egal - activity store ist ein inhaltsadressierter Speicher - Konstanten werden über zusätzliche CONST Funktion erzeugt: CONST +7 X Konstanten-Operationen haben nur eine Destination; in der zweiten Dest steht die Konstante POWER - die TEE Operation reproduziert eine zweite Destination: TEE - macht aus einem Operanden zwei; - wird benötigt, wenn ein und derselbe Operand 2 mal benötigt wird Result-Token: Literal Status Wert P1 L +2 M1 L +2 C1 N +2 P1 R +7 M1 R +3 M3 R +3 M2 R +6 T1 N +6 A1 L +128 M3 L +6 C2 N +6

21 Unterschiede: Statische / Dynamische Df-Architekturen Statisch Merkmal Dynamisch - im actitvity-store (dh: dieser muß gelesen und geschrieben werden R / W ) - erst nach Beendigung der vorherigen -einfach Zustand nächste Berechnung starten?? Hardware - befindet sich vollständig in den umlaufenden Token (nicht im activity store dieser ist read-only) - hier sind überlappende Berechnungen möglich (durch FIFO-Struktur für die Token) - aufwendiger (durch Matching-Unit; diese muß sehr schnell arbeiten) 423 Hybride Df-Architekturen hybrid: Kombination aus Df- und Steuerfluss-Prinzipien schon als HW realisiert Beispiel: Makro Datenfluss mikroskopisch: makroskopisch: Steuerfluss Datenfluss Blockschaltbild: Fetch- Unit Activitystore Matching Unit Token queue Token- Former 1 Steuerwerk Operationsanweisung Datenpfad Programmspeicher * Datenpfad: hier wird gerechnet * Progr-Speicher: Maschinencode Steuerflußelement (mehrfach) 1 Welche Makro-Operationen sollen ausgeführt werden? Token-Former: erzeugt Result-Token - ist dies universeller? - Ausführungen passieren auf abstrakter Ebene mehr Zeit vorhanden - es muß nicht alles in einem einzigen Zyklus geschehen

22 43 Software-Herstellung für Df-Maschinen - im Prinzip ist der Datenfluss-Graph die "Software" (strukturell gleich mit Signalfluss-Graphen) visuelle Df-Sprachen - textuelle Df-Sprachen - gewöhnliche Programmiersprachen Compiler muß Datenabhängigkeiten analysieren und erzeugt dann Df-Graphen algorithmisch sehr aufwendig

23 5 Processing in Memory (PIM) V: 1354 SpezInovRA - Funktionen des Rechnens und des Speicherns werden miteinander verschmolzen Vorteile: Nachteile: * erhöhter Datendurchsatz (Datenbus entfällt) * massive Parallelität * weniger unterschiedliche Elemente notwendig (es wird mehr zusammengefasst) * gute Skalierbarkeit * einzelne Elemente sind relativ komplex * Nichtverwendbarkeit von Standardbausteinen * komplizierte Programmierung * schlechte Akzeptanz PIM konventionell assoziativ 51 Konventionelles PIM Struktur eines einzelnen Elementes: n-zeilen m-bit RAM PE PE PE PE VN VN VN VN PE Processing Element - n-stück - arbeitet mit 1-Bit Datenbreite VN Verbindungsnetzwerk - jede Zeile kann Daten mit ihrer Nachbarzeile austauschen Adresse Befehlsstrom - es werden immer alle Zeilen gleichzeitig über 1 Bit angesprochen Adresse gilt für genau 1 Bit; dieses aber auf alle Zeilen gleichzeitig (Spalte, 1-Bit Breite, m-bit Länge) an diesen Stellen können weitere Elemente angeschlossen werden gute Skalierbarkeit

24 Gesamtsystem: Programmspeicher Befehls- Befehlsdekoder register Ablaufsteuerung Operanden adresse +1 Befehlsadressregister Befehl Adresse PIM PIM PIM Vereinfachtes PE (Beispiel) 1-bit Verarbeitung! - auch hier existieren Register (jeweils 1 Bit) Teile der Steuersignale Speicher A zu den Nachbarn (VN) VN Multiplexer B 1-Bit ALU Speicher C zu den Nachbarn (VN) ALU: - 3 Eingänge für 3 Bit (logische Operationen möglich) Multiplexer: wahlfreie Zuordnung der Bit-Register - Befehle im Programmspeicher können komplexer sein werden dann von der Ablaufsteuerung "aufgetrennt" Mehrbit-Operationen: * seriell (Zeilenoperand; Operand steht in einer Zeile) * parallel (Spaltenoperand; Operand steht in einer Spalte) - direkte Adressierung der PE`s nicht möglich, weil dadurch die Skalierbarkeit verloren geht

25 52 Assoziative Rechner Ursprung: Assoziativ-Speicher inhaltsadressierter Speicher (CAM content adressable memory) - nutzt spezielle Form einer Adresse Muster Maske ("" bed: don't care) bei "1" wird verglichen letzte "1" stimmt nicht erste "1" stimmt nicht erste "o" stimmt nicht hier stimmt alles zu jeder Speicherzelle gehört ein Digitalkomperator Responseregister 1 out out: Treffer: ja Anzahl= 1 Erster Treffer: 111 Reduktionslogik Algorithmus für "Maximum-Suche" (CAM): Muster Maske zurücksetzen - dieser Algorithmus ist gut skalierbar, weil er nicht abhängig von der Anzahl der Daten ist, sondern nur von der Datenbreite

26 Grundstruktur des Assoziativ-Rechners Programmspeicher Muster Steuerwerk Maske CAM PE PE PE PE PE PE VN VN VN VN VN VN Red- logik Responseregister - Response-Bit's dienen zur Aktivierung / Deaktivierung der zugeordneten Rechenwerks(PE) Unterschiede zum Konventionellen: - implizite Prozessoradressierung - implizite Kommunikation flexibles Datenlayout (Unterbringung der Variablen) - starke Beschleunigung bestimmter Operationen (Max-suche, Min-suche, ) Beispiel für Datenlayout: Zeilenvariable A Zeilenvariable B C E G H D F J K da jede Variable ihre eigene PE hat, sind die Zeilenvariablen A,B wortparallel, aber bitseriell um J auszuwählen: (Muster) (Maske) die Spaltenvariablen sind bitparallel, aber wortseriell Identifikationsbit: hierüber wird es möglich, die Variablenarten zu unterscheiden ( über Muster und Maske)

27 ff: PIM V8: 2754 SpezInnovRa * mgl Erweiterung zum Assoziativ-Rechner: mehrere Befehlsströme Befehlsströme 1 2 PE PE Schalter - noch bessere Parallelität -Leerlauf wird weitestgehend vermieden - durch Maschinenbef werden die Schalter auf eine jeweilige Pos geschalten PE nur bei den PE, die bei (Maske / Muster) einen Treffer hatten stellt eine Verfeinerung von SIMD dar; erfordert aber eine spez Compilertechnologie, die diese Technik ausnutzt Perspektivische Anwendungsbeispiele für PIM: * Systeme der künstlichen Intelligenz * bei Datenbanken (Suchvorgänge schneller machen) * Statistik * Mustererkennung (Sprache, Bilder, ) 6 Neuro-Computer 61 Allgemeines - spezialisiert zur Arbeit mit neuronalen Netzen Wie muß die Architektur aussehen, damit solche Neuronalen Netze schneller abgearbeitet werden können? Ziel: - schneller - mehr Elemente

28 Gehirn: * Elemente langsam (rd 1 Hz); fehlerhaft * extrem viele Elemente vorhanden (mit Verbindungen untereinander) ca 1 11 Elemente mit ca Verbindungen Ziel der Technik: mglst einfache Einzelelemente; dafür aber entsprechend viele Möglichkeiten zur technischen Realisierung von NN Simulation Neuro-Computer virtuell schrittweise Abarbeitung weniger Elemente direkt für jedes Neuron ein einzelnes Schaltungselement digital analog hybrid Typische Merkmale von Neuro-Architekturen - einfachste Elemente - große Anzahl dieser Elemente - Speichern und Verarbeitung nicht vollständig getrennt geschieht verteilt und parallel Robustheit gegen Einzelfehler (Speicher/~zellen liegen getrennt) - lernfähig Neuronenmodell

29 Virtuelle Neuroarchitektur - klassischer Parallelrechner - normaler Steuerflussrechner Prozessor- Element Prozessor- Element Speicherung w y w y Bus-Interface Bus-Interface Multi-Master-Bus (Kommunikation) * synchronisierte Arbeit (untereinander) Berechnungsphase gleicher Takt für alle * System wartet, bis alle ihre Arbeit beendet haben * danach folgt die Kommunikationsphase Direkte Neuroarchitektur - bildet die eben erwähnten Elemente 1:1 mit elektronischen Elementen nach dh: 1 PE 1 elektrische Elemente - Verbindungen Busleitungen (mit entspr Datenbreiten) - pro Gewicht 1 Registerzelle - bei wird Addierer benötigt - bei Aktivierungsfunktion: einfachste Lösung binäre Aktivierungsfunktion x1 xn * w1 * wn i Digital- Comperator y

30 binäre Aktivierungsfkt: y i Vorteile bei dig Realisierung: - bessere (leichtere) Speicherung der Gewichte (binär); - höhere Zuverlässigkeit (weil nur und 1 rauskommen kann; exakte Ergebnisse Vorteile bei anal Realisierung: - weniger struktureller Aufwand (# Transistoren, ) mehr Neuronen möglich - schneller Hybride direkte Neuronenarchitektur - Rechnung + Übertragung : analog - Speicherung (Gewicht) : digital Schaltbild (1 Neuron) Summe aller Eingangswiderstände Operationsverstärker (Schwelle) Xi je nach Ausgabe y wird Schalter geöffnet bzw nicht wi

31 Realisierung der Spannungsquellen - als Zwischenspeicher: Kondensator D A analog-signal Schalter Digital- Rechner - Spannung am Kondensator bleibt nur für einen sehr kurzen Zeitraum erhalten ( s-bereich) benötigt Refresh - Digital-Rechner hat sämtliche auszugebende Spannungen (Gewichte) in einer Art Tabelle gespeichert gibt diese der Reihe nach aus gibt dem entspr Analog-Signal-Schalter einen Impuls je nach Stellung wird dann die entsprechende Ladung am Kondensator aufgebaut - in Lernphase wird Digital-Rechner beteiligt insgesamt langsamer - in Anwendungsphase ist Digital-Rechner nicht beteiligt schnell; Zyklus des Digital-Rechners spielt dann keine Rolle mehr

32 63 Zusammenfassung V9: 364 SpezInnovRA Merkmal virtuell direkt, digital Anzahl der Neuronen Geschwindigkeit in CPS (connections per second) rd (groß) rd 1 8 (mittel) rd 1² (klein) rd 1 1 (groß) direkt analog /hybrid rd 1 3 (mittel) rd 1 12 (sehr groß) Gehirn rd 1 11 (gigantisch) rd (gigantisch) Beispiele Mantra Mark III + IV SYNAPSE CNAPS ETANN (Intel, analog) Boltzmann (hybrid) 7 Tendenzen für hochintegrierte Steuerfluß-Prozessoren - Erhöhung der Mikroparallelität durch: - Skalar - Superskakar - Pipelining - Out of Order siehe RA 2 (Bem: 2 Rechenwerke in einem Prozessor kein Problem Problem ist es aber, aus Befehlen 2 Operationen herauszutrennen und diese gleichzeitig ausführen zu lassen) Ziele: - Rechenleistung erhöhen - Verlustleistung senken (relevant für mobile Geräte Akkulaufzeit) - Zuverlässigkeit - Sicherheit (bzgl Security, also Schutz gegen Angriffe) - effektive Programmierung (speziell: Parallelprogrammierung) typ Probleme: - globaler Takt nicht für alle Baugruppen des Prozessors realisierbar; einige Befehle benötigen uu mehr Takte als andere widerspricht Grundidee dig Schaltungen asynchrone Architektur mit unterschiedlichen Taktzyklen wird eingeführt

33 71 Superspekulare Prozessoren - Leistungssteigerung durch Spekulation (Erraten von Befehlen durch statistische Werte; Wahrscheinlichkeit muß aber genügend groß sein) Historie: Mechnismus zur Erfolgsüberwachung der Spekulation erforderlich Pipeline Superpipeline Superskalar Out-of-Order Superspekulativ Spekulation über bedingt Sprünge teilweise Spekulation über Datenabhängigkeiten * Cache: Spekulation über Speicherzugriffe vielfältige Spekulation Beispiel: Spekulation über bedingte Sprünge (Ja / Nein Entscheidung: wird Sprung ausgeführt oder nicht?) Einfache Sprungvorhersage 1-Bit-Vorhersage Grundansatz: Schleifen im Programm (einfache nichtabweisende Schleife) hier: häufiger Fall: Sprung ausführen seltener: Vorhersage: wird nicht ausgeführt es wird so, wie beim letzten mal Eine Zustandsvariable

34 - jede Schleife hat ihre eigene Zustandsvariable - diese Variante liefert für die typische Schleife 2 Fehler bei % Fehler 2-Bit-Vorhersage 4 Zustände kodierbar (1 = Vorhersage Ja ) ( = Vorhersage Nein ) hier: typische Schleife liefert nur 1 Fehler nach falscher Vorhersage bleibt man zunächst im selben Zustand 1 1 1: 75% Fehler weitere Zustände bringen keine Verbesserung! Zweistufige Vorhersage Bsp: Branch-History- Register (Schieberegister) Beobachtung des aktuellen Sprunges Zustandsvariablen dieser ZM (Zustandsmasch) 2 4 = 16 Einträge in Tabelle Index 111 1

35 Bsp: Möglichkeiten im Branch-History-Register sagt Nein voraus sagt Ja voraus - bei ausreichend häufiger Ausführung der Befehle keine Fehler - bei typ Schleife: 1 Fehler (am Schleifenausgang) Weitere Spekulationsmöglichkeiten * Trace-Vorhersage (Zusammengefasste Betrachtung mehrerer bedingter Sprünge) * Sprungziel-Adressen (wird zur Laufzeit berechnet) * Adressen für Datenzugriffe (nützlich bei komplexen zusammengesetzten Adressierungsarten) * Alias-Beziehungen (Vorhersage, dass 2 Datenspeicherzugriffe eine Beziehung zueinander haben) * Datenwert bei Arithmetikoperationen * Datenabhängigkeiten

36 Folie: Was bringt der Merced V1: 164 SpezInnovRA - Spekulation beruht auf mehrmaligen Durchlaufen einer Schleife Folie: bei Push und Pop steht immer dieselbe Adresse selber Stackpointer; dh man kann nach mehrmaligen Durchlaufen der Schleife die Adresse schon vorher aktivieren stride Adressänderung um einen konstanten Wert alias das was der Push-Befehl als Adresse geschrieben hat, muß beim Pop-Befehl gelesen werden

37 Spekulation über Datenabhängigkeiten - bzgl Out-Of-Order Execution ( Mikroparallelität erhöhen durch mehrere Ausf- Einheiten) Bsp-Progr: R R1 + R2 R4 R + R3 R3 R3 + 1 R R + 1 RAW-Abhängigkeit (read after write) bzgl R WAR-Abhängigkeit; falsche Abhängigkeit kann umgangen werden, durch Register-Renaming? hier ist Abhängigkeit nicht bekannt es wird daher spekuliert: - wird spekulativ ausgeführt und später entschieden, ob es richtig war oder nicht; Aber: - dafür muss das Ergebnis der Spekulation entsprechend hoch sein Treffsicherheit > 7% - IA 64 Itanium Prozessor mit Super-Spekulations-Logik Multi-Thread / Multi-Skalar Prozessoren - sind 2 verwandte Verfahren Prozessoren mit mehreren Befehlszählern, dh auch mehrere Befehlsströme!!! einfacher superskalarer Prozessor: diese (Pipelines) können auch beliebig verwendet werden (vermischt): Lösung nächste Seite! alles auf einem Chip (Prozessor)!!!

38 ^ gemeinsamer Befehlsscheduler gemeinsame Pipelines Unterschied Thread / Skalar: Extrahierung der Befehlsströme Multithread - mehrere Befehlsströme werden Explizit definiert - Tasks, Threads oä werden aus der Software genutzt (Prinzipien der Parallel- Programmierung) - idr: Multitaskkern der Multiproz-fähig Ist (BS mit SMP-Kernel) Bsp: Pentium 4, Alpha 21464; IBM: Power 5 (RISC-Architektur) Multiskalar - Software liefert einen Befehlsstrom; Prozessor muß in der Lage sein, mehrere Befehls-ströme daraus zu machen - Betrachtung eines mögl großen Code- Fensters - Prozessor muß größere unabhängige Programmstücke herausfinden Traceanalyse + Spekulation in der HW des Prozessors - hier nicht notwendig; Verfahren ist völlig transparent zur SW das ist noch Zukunft; Bisher nur Experimente 73 Raw-Machines konkrete Prozessor-Architektur kann teilweise durch Software bestimmt werden - einfache Grundelemente große Anzahl regelmäßige Struktur - große Flexibilität - Dominanz der lokalen Kommunikation; dh: größter Anteil von Kommunikationsvorgängen geht nur über kurze Strecken

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

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

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung Johannes Schemmel Forschungsgruppe Electronic Vision(s) Lehrstuhl Prof. K. Meier Ruprecht-Karls-Universität Heidelberg Mitarbeiter:

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

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

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Technische Informatik. Der VON NEUMANN Computer

Technische Informatik. Der VON NEUMANN Computer Technische Informatik Der VON NEUMANN Computer Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen

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

Grundlagen der Parallelisierung

Grundlagen der Parallelisierung Grundlagen der Parallelisierung Philipp Kegel, Sergei Gorlatch AG Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster 3. Juli 2009 Inhaltsverzeichnis 1 Einführung

Mehr

Codesigned Virtual Machines

Codesigned Virtual Machines Codesigned Virtual Machines Seminar Virtualisierung Philipp Kirchhofer philipp.kirchhofer@student.kit.edu Institut für Technische Informatik Lehrstuhl für Rechnerarchitektur Universität Karlsruhe (TH)

Mehr

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1 Halbleiterspeicher 30.09.2008 Michael Kuhfahl 1 Gliederung I. FF als Speicher (1 Bit) II. Register als Speicher (n Bit) III. Anordnung der Speicherzellen IV. SRAM V. DRAM VI. ROM VII. PROM VIII. EPROM

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1

IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1 IT für Führungskräfte Zentraleinheiten 11.04.2002 Gruppe 2 - CPU 1 CPU DAS TEAM CPU heißt Central Processing Unit! Björn Heppner (Folien 1-4, 15-20, Rollenspielpräsentation 1-4) Harald Grabner (Folien

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

9.0 Komplexe Schaltwerke

9.0 Komplexe Schaltwerke 9.0 Komplexe Schaltwerke Die Ziele dieses Kapitels sind: Lernen komplexe Schaltwerke mittels kleinerer, kooperierender Schaltwerke zu realisieren Verstehen wie aufgabenspezifische Mikroprozessoren funktionieren

Mehr

Java-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool.

Java-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz Datentypen Operanden-Stack Konstanten-Pool Methoden-Area Heap für Laufzeit-Daten Class File Format 26 Die Java Virtual Machine Java Instruktions-Satz

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler

Mehr

Lektion 3: Was ist und was kann ein Computer?

Lektion 3: Was ist und was kann ein Computer? Lektion 3: Was ist und was kann ein Computer? Helmar Burkhart Informatik burkhart@ifi.unibas.ch EINFÜHRUNG IN DIE INFORMATIK I 3-0 Übersicht Lektion 3 Hardware Software Aufbau eines Computers Rechnerkern

Mehr

Rechnerarchitektur. Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz.

Rechnerarchitektur. Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz. Rechnerarchitektur Dr. Andreas Müller TU Chemnitz Fakultät für Informatik Fakultätsrechen- und Informationszentrum anmu@informatik.tu-chemnitz.de Rechnerarchitektur Dr. Andreas Müller TU Chemnitz Fakultät

Mehr

L 371/128 DE Amtsblatt der Europäischen Union 30.12.2014

L 371/128 DE Amtsblatt der Europäischen Union 30.12.2014 L 371/128 DE Amtsblatt der Europäischen Union 30.12.2014 KATEGORIE 4 RECHNER Anmerkung 1: Rechner, verwandte Geräte und Software für Telekommunikations- oder Local Area Network - Funktionen sind auch nach

Mehr

Aufbau und Funktionsweise eines Computers

Aufbau und Funktionsweise eines Computers Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Hardware Prozessor (CPU)

Mehr

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie

Mehr

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

Brückenkurs / Computer

Brückenkurs / Computer Brückenkurs / Computer Sebastian Stabinger IIS 23 September 2013 Sebastian Stabinger (IIS) Brückenkurs / Computer 23 September 2013 1 / 20 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte

Mehr

Umsetzung in aktuellen Prozessoren

Umsetzung in aktuellen Prozessoren Kapitel 8: Umsetzung in aktuellen Prozessoren 4 Realisierung elementarer Funktionen Reihenentwicklung Konvergenzverfahren 5 Unkonventionelle Zahlensysteme redundante Zahlensysteme Restklassen-Zahlensysteme

Mehr

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn 07.12.2010 1

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn 07.12.2010 1 Ein kleiner Einblick in die Welt der Supercomputer Christian Krohn 07.12.2010 1 Vorschub: FLOPS Entwicklung der Supercomputer Funktionsweisen von Supercomputern Zukunftsvisionen 2 Ein Top10 Supercomputer

Mehr

Angewandte Informatik

Angewandte Informatik Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil

Mehr

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis Der Rechner Grundbegriffe Aufbau Funktionsweise Betriebssystem Kategorisierung PC-Komponenten Auf der Grundlage eines Programms kann ein Computer Daten mit seiner Umgebung austauschen, mathematische und

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

Mehr

Ein kleines Computer-Lexikon

Ein kleines Computer-Lexikon Stefan Edelmann 10b NIS-Klasse Ein kleines Computer-Lexikon Mainboard Die Hauptplatine! Sie wird auch Motherboard genannt. An ihr wird das gesamte Computerzubehör angeschlossen: z.b. Grafikkarte Soundkarte

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

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

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Das Rechnermodell von John von Neumann

Das Rechnermodell von John von Neumann Das Rechnermodell von John von Neumann Historisches Die ersten mechanischen Rechenmaschinen wurden im 17. Jahhundert entworfen. Zu den Pionieren dieser Entwichlung zählen Wilhelm Schickard, Blaise Pascal

Mehr

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen Statt positive Zahlen von 0 bis 2 n -1mit einem Bitmuster der Länge n darzustellen und arithmetische Operationen darauf auszuführen,

Mehr

Daten- Bus. Steuerbus

Daten- Bus. Steuerbus 1 Grundlagen... 1 1.1 Rechnerarchitektur... 1 1.2 Takt... 2 1.3 Speicherarchitektur... 2 2 Mikroprozessor... 4 2.1 Begriffsbestimmung... 4 2.2 Geschichte... 4 2.3 Aufbau eines einfachen Mikroprozessors...

Mehr

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln.

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln. Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer Variable auf den Zustand

Mehr

Gruppe: 1/8 Versuch: 4 PRAKTIKUM MESSTECHNIK VERSUCH 5. Operationsverstärker. Versuchsdatum: 22.11.2005. Teilnehmer:

Gruppe: 1/8 Versuch: 4 PRAKTIKUM MESSTECHNIK VERSUCH 5. Operationsverstärker. Versuchsdatum: 22.11.2005. Teilnehmer: Gruppe: 1/8 Versuch: 4 PRAKTIKUM MESSTECHNIK VERSUCH 5 Operationsverstärker Versuchsdatum: 22.11.2005 Teilnehmer: 1. Vorbereitung 1.1. Geräte zum Versuchsaufbau 1.1.1 Lawinendiode 1.1.2 Photomultiplier

Mehr

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...?

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...? Kapitel 1 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Einführung Hallo, Computer...? Aufbau eines Computers Was ist eine Programmiersprache? Der Programmierprozess Warum Java?

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

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Hardware-Architekturen

Hardware-Architekturen Kapitel 3 Hardware-Architekturen Hardware-Architekturen Architekturkategorien Mehrprozessorsysteme Begriffsbildungen g Verbindungsnetze Cluster, Constellation, Grid Abgrenzungen Beispiele 1 Fragestellungen

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

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Compiler: Vom Code zum Maschinen-Code C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Zusammenhänge: C und Assembler Hochsprachen

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45

Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45 7 Programmverstehen + Fehlersuche Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität

Mehr

4.2 Universalrechner: Schaltung unabhängig vom Problem 185

4.2 Universalrechner: Schaltung unabhängig vom Problem 185 4.2 Universalrechner: Schaltung unabhängig vom Problem 85 a) Geben Sie binär die Befehlsworte an, mit denen Sie die Eingänge a, b und c in die Register R, R2 und R übernehmen. K D M4 M M2 M Kommentar XXXXXXXXXXX

Mehr

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen Programmierbare Logik CPLDs Studienprojekt B Tammo van Lessen Gliederung Programmierbare Logik Verschiedene Typen Speichertechnologie Komplexe Programmierbare Logik System On a Chip Motivation Warum Programmierbare

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

Computer-Generationen

Computer-Generationen (K.Zuses Z3, 1941) (Vorschlag) Generation Beispiel Technologie Geschw./Speich. Software Vorgeneration Z3 Elektro- 0,0002 MIPS Verdrahtet 1941-1944 Mark1 mechanik 1.Generation ENIAC, Z22 Elektronen- 0,02

Mehr

Grundlagen der Programmierung 2. Parallele Verarbeitung

Grundlagen der Programmierung 2. Parallele Verarbeitung Grundlagen der Programmierung 2 Parallele Verarbeitung Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 27. Mai 2009 Parallele Algorithmen und Ressourcenbedarf Themen: Nebenläufigkeit,

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Ein Computer zum Selbstbauen

Ein Computer zum Selbstbauen www. MyCPU.eu Ein Computer zum Selbstbauen von Dennis Kuschel Gliederung: 1. Was ist die MyCPU und warum existiert sie? 2. Architektur der MyCPU 3. Befehlssatz 4. Emulator 5. Software 6. Nachbau Was ist

Mehr

IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer

IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer ITIS-D'' IT-Infrastruktur WS 2014/15 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz D'': Rechnerstrukturen, Teil 3 v1.0, 2014/11/27 Folie D''-1 Dieser Foliensatz Vorlesungsübersicht Seminar Wiss.

Mehr

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen.

C:\WINNT\System32 ist der Pfad der zur Datei calc.exe führt. Diese Datei enthält das Rechner - Programm. Klicke jetzt auf Abbrechen. . Das Programm- Icon Auf dem Desktop deines Computers siehst du Symbolbildchen (Icons), z.b. das Icon des Programms Rechner : Klicke mit der rechten Maustaste auf das Icon: Du siehst dann folgendes Bild:

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Von der Aussagenlogik zum Computer

Von der Aussagenlogik zum Computer Von der Aussagenlogik zum Computer Markus Koch Gymnasium in der Glemsaue Ditzingen Januar 2012 Inhaltsverzeichnis Einleitung...3 Der Computer...3 Grundlagen...4 Wahrheitstabellen...4 Aussagenlogik...4

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Funktionsweise von Computern Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Inhalt 1. Ein Blick zurück 2. Stand

Mehr

Zusatzinfo LS11. Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015

Zusatzinfo LS11. Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015 Funktionsprinzipien elektrischer Messgeräte Version vom 26. Februar 2015 1.1 analoge Messgeräte Fließt durch einen Leiter, welcher sich in einem Magnetfeld B befindet ein Strom I, so wirkt auf diesen eine

Mehr

Einfache Computersteuerung für Modellbahnen

Einfache Computersteuerung für Modellbahnen Einfache Computersteuerung für Modellbahnen Was soll eigentlich mit einem Computer gesteuert werden? Diese Frage muss man sich als erstes stellen: - Man braucht für Ausstellungen einen kompletten automatischen

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Aufbau von modernen Computersystemen

Aufbau von modernen Computersystemen Kapitel 2: Aufbau von modernen Computersystemen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Software Anwendersoftware Betriebssystem Hardware von Neumann Architektur

Mehr

Grundlagen der Programmierung II BMI Bakk.

Grundlagen der Programmierung II BMI Bakk. BMI Bakk. Teil 2 Rainer Schubert Institut für Biomedizinische Bildanalyse Inhalt Aufbau eines µprozessors Grundbegriffe Allgemein PIC16F690 Ports Programmspeicher Datenspeicher RAM, ROM Spezialregister

Mehr

Implementierung der Jikes Research Virtual Machine

Implementierung der Jikes Research Virtual Machine Fakultät Informatik Institut für technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Implementierung der Jikes Research Virtual Machine Hauptseminar Technische Informatik

Mehr

Projekt Nr. 15: Einen elektronischen Würfel erstellen

Projekt Nr. 15: Einen elektronischen Würfel erstellen Nun wissen Sie, wie Sie Zufallszahlen erzeugen können. Als Nächstes wollen wir diese neuen Kenntnisse gleich in die Tat umsetzen, indem wir einen elektronischen Würfel konstruieren. Projekt Nr. 15: Einen

Mehr

Zentraleinheit (CPU) Arbeitsspeicher. Ausgabegeräte

Zentraleinheit (CPU) Arbeitsspeicher. Ausgabegeräte 2 Zusammenspiel der Hardware mit der Software ( auf dem PC) 2.1. Hardware Etwas zur Historie: Serienproduktion von Computern begann in den 60er Jahren ab etwa 1966 Einsatz von integrierten Schaltungen,

Mehr

Facharbeit Informatik. Thema:

Facharbeit Informatik. Thema: Facharbeit Informatik Thema: Rechneraufbau Mit Locad 2002 1 Inhaltsangabe Inhalt: Seite: 1. Einleitung 3 2. Inbetriebnahme der Schaltung 3 3. Eingabe 4 4. CPU 5 5. RAM/HDD 8 6. Ausgabe 10 7. Auf einer

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Convey, Hybrid-Core Computing

Convey, Hybrid-Core Computing Convey, Hybrid-Core Computing Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik HWS 09 Universität Mannheim Markus Müller 1 Inhalt Hybrid-Core Computing? Convey HC-1 Überblick

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Brückenkurs Programmieren - Sommersemerster 2013

Brückenkurs Programmieren - Sommersemerster 2013 Brückenkurs Programmieren - Sommersemerster 2013 Tag 1 Ivo Senner Technische Hochschule Mittelhessen 30. September 2013 Ivo Senner (THM) Brückenkurs Programmieren 30. September 2013 1 / 41 Inhalt 1 Dieser

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

5.BMaschinensprache und Assembler

5.BMaschinensprache und Assembler Die Maschinenprogrammebene eines Rechners Jörg Roth 268 5.BMaschinensprache und Assembler Die vom Prozessor ausführbaren Befehle liegen im Binärformat vor. Nur solche Befehle sind direkt ausführbar. So

Mehr

1. Geschichte des Computers

1. Geschichte des Computers 1. Geschichte des Computers Als erster Computer galt "Abakus", der vor rund 5 000 Jahren von den Chinesen erfunden wurde. Blaise Pascal (1623-1662): erfand 1643 einen Apparat, mit dem man einfache Additionen

Mehr

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome (Timo Heinrich, t_hein03@uni-muenster.de) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.cpp 1.2

Mehr

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009 Übungen zu Architektur Eingebetteter Systeme Blatt 5 28./29.05.2009 Teil 1: Grundlagen 1.1: VHDL Bei der Erstellung Ihres Softcore-Prozessors mit Hilfe des SOPC Builder hatten Sie bereits erste Erfahrungen

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist

Mehr

MAP CellSs Mapprakt3

MAP CellSs Mapprakt3 MAP CellSs Mapprakt3 Andreas Fall, Matthias Ziegler, Mark Duchon Hardware-Software-Co-Design Universität Erlangen-Nürnberg Andreas Fall, Matthias Ziegler, Mark Duchon 1 CellSs Cell CPU (1x PPU + 6x SPU)

Mehr

Prüfungsklausur 1609 WS 2012/2013

Prüfungsklausur 1609 WS 2012/2013 Prüfungsklausur 1609 WS 2012/2013 Prof. Dr. W. Schimann 16.03.2013 1 FernUniversität Hagen Prüfungsklausur Computersysteme 16.03.2013 Seite 2 Inhaltsverzeichnis 1 KV-Diagramm 4 2 Schaltfunktionen und Schaltnetze

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

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

9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1

9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1 9 Codes 9.1 Charakterisierung und Klassifizierung Definition: Das Ergebnis einer eindeutigen Zuordnung zweier Zeichen- bzw. Zahlenmengen wird Code genannt. Die Zuordnung erfolgt über eine arithmetische

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 1 Einleitung Lothar Thiele Computer Engineering and Networks Laboratory Technische Informatik 1 2 Was ist Technische Informatik? A. Ralston, E.D. Reilly: Encyclopedia of Computer

Mehr

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser Programmierung, Algorithmen und Techniken von Thomas Ohlhauser 1. Begriff Programmierung Entwicklung von Programmen inklusive der dabei verwendeten Methoden und Denkweisen. Ein Programm ist eine eine Zusammensetzung

Mehr

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen Was bisher geschah Lernen: überwachtes Lernen korrigierendes Lernen bestärkendes Lernen unüberwachtes Lernen biologisches Vorbild neuronaler Netze: Neuron (Zellkörper, Synapsen, Axon) und Funktionsweise

Mehr

Inhalte der heutigen Vorlesung

Inhalte der heutigen Vorlesung Inhalte der heutigen Vorlesung Wiederholung und Fortsetzung Hardware Von-Neumann-Architektur (Rechnerarchitektur) Speicher Software Wie groß ist ein Gigabyte? http://www.spiegel.de/netzwelt/tech/0,1518,606308,00.html

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Betriebssysteme Kap B: Hardwaremechanismen

Betriebssysteme Kap B: Hardwaremechanismen 1 Betriebssysteme Kap B: Hardwaremechanismen 2 Beispielprozessor Ein- / Ausgabe p[ ] ir Leitwerk pc Register a f sp Rechenwerk Speicher m[ ] Spezielle Register Flagregister f f.i: Interrupt-Enable-Flag

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Lösungsvorschlag zur 4. Übung

Lösungsvorschlag zur 4. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 4. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen zu Bewertungskriterien

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Zyklus: FETCH, DECODE, FETCH OPERANDS, UPDATE INSTRUCTION POINTER, EXECUTE

Zyklus: FETCH, DECODE, FETCH OPERANDS, UPDATE INSTRUCTION POINTER, EXECUTE 1. Von Neumann Architektur Aufbau: CPU Rechenwerk ALU (arithmetische und logische Operationen) Steuerwerk (Steuerung der Verarbeitung über Operationscodes) Hauptspeicher Daten und Befehle Adressierung

Mehr

Alle Speicherplatinen können als Programm- bzw. Arbeitsspeicher

Alle Speicherplatinen können als Programm- bzw. Arbeitsspeicher -1-1. Überblick Das System.009 umfaßt programmierbare binäre Steuereinrichtungen für den industriellen Einsatz. Charakteristisch ist, daß die BOOLEschen Gleichungen, die den konkreten Steueralgorithmus

Mehr

Computerarithmetik (1)

Computerarithmetik (1) Computerarithmetik () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

Fachreferat. EFI -BIOS Nachfolger-

Fachreferat. EFI -BIOS Nachfolger- Fachreferat EFI -BIOS Nachfolger- Kurzerläuterung Übersicht EFI - Geschichte Aufbau und Vorteile Grafische Veranschaulichung Was passiert beim direkten einschalten eines Computers? Wie kommt die Intelligenz

Mehr