5 Weiterführende Rechnerarchitekturen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "5 Weiterführende Rechnerarchitekturen"

Transkript

1 5 Weiterführende Rechnerarchitekturen 5.1 Globale Rechnerklassifikation 5.2 Lokale Prozessor-Klassifikation Befehlssatz Architekturen Stack-Architektur Akkumulator- Architektur Allgemeinzweck-Register-Architekturen Klassifikation nach Umfang und Komplexität der Befehle CISC RISC 5.3 Parallelrechner-Architekturen (Klassifizierung nach Flynn) SISD: Single Instruction Single Data SIMD: Single Instruction Multiple Data MISD: Multiple Instruction Single Data MIMD: Multiple Instruction Multiple Data Ausführungsbeispiele 5.4 Architektur virtueller Maschinen 5.5 Ausblick Folie Globale Rechnerklassifikation Personal Computer, Mikrorechner: Weitgehende Standardisierung BS: DOS, WINDOWS, OS/2, MAC-OS CISC / RISC - Prozessoren Workstation: Hauptanwendung: Techischwissenschaftlicher Bereich BS: UNIX-Derivate, LINUX RISC-Prozessoren Minicomputer (historisch): Mehrplatzfähig, Prozessrechner, Bürocomputer (Abteilungsrechner) Server: Dateiserver / Rechenserver E/A-orientierte Maschinen Mehrprozessorsysteme Massenspeicher meist redundant Verteilte Server Serverfarmen Großrechner (Mainframe): Einsatz in Rechenzentren Mehrprozessortechnik E/A-Kanäle mit eigenem Prozessor Batch-, Terminal- und Datenbanksysteme Superrechner Vektor- und/oder Parallelrechner, Ein oder mehre Prozessoren, z.b. Cray (SGI) T3D mit bis zu 512 Prozessoren Enge oder lose Prozessorkopplung Rechenintensive Anwendungen in Luftfahrttechnik, Automobilbau, Energiegewinnung, Meteorologie, Forschung Folie 194

2 5.2 Lokale Prozessor-Klassifikation Hinsichtlich der Art des Befehlssatzes können folgende Architekturen ( Befehlssatz-Architekturen ) unterschieden werden: Stack-Architektur Akkumulator-Architektur Allgemeinzweck-Register-Architekturen (General Purpose Register Architectures GPR) in den Ausprägungen: Register-Register-Maschinen Anwendung: RISC (auch Load-Store-Architektur genannt) Register-Speicher-Maschinen Anwendung: CISC Speicher-Speicher-Maschinen Bei realen Mikroprozessoren wird oft versucht, in eine vorherrschende Befehlssatz-Architektur die Vorteile anderer Befehlssatz Architekturen zu integrieren (Mischformen). Folie 195 Stack- und Akkumulator-Architektur Stack - Architektur CPU hat LIFO-Speicher (Stack), auf den man mit PUSH und POP zugreifen kann Es kann meist nur auf die oberste Speicherstelle des Stacks zugegriffen werden Sehr einfach, effiziente Codeumsetzung bei geklammerten mathematischen Ausdrücken möglich PUSH Op_A ; Op_A von Speicher Stack PUSH Op_B ; Op_B von Speicher Stack ADD ; Addiere obere Werte im Stack POP Op_C ; Op_C (= Op_A + Op_B) von StackSp. implizite Adressierung von A und B bei ADD Akkumulator - Architektur Ausgezeichnetes Register: Akku LOAD und STORE wirken nur auf Akku. Er ist als expliziter Operand an jeder Operation beteiligt. Jede Operation braucht nur eine Adresse Sehr kompaktes Befehlsformat LDA Op_A ; Op_A von Speicher Akku ADD Op_B ; Akku = Akku + Op_B STA Op_C ; Op_C (= Op_A + Op_B) AkkuSp. a a b ALU Ergebnis Speicher Speicher Stack Akku b ALU Ergebnis Folie 196

3 General Purpose Registers (GPR) - Architektur Register-Register-Architektur - RISC (auch Load-Store-Architektur) alle Operationen greifen nur auf Register zu, nur LOAD und STORE greifen auf Speicher zu Register verfügbar einfaches Befehlsformat fester Länge alle Instruktionen brauchen in etwa gleich lange LOAD R1, Op_A ;lade Op_A aus Speicher in R1 LOAD R2, Op_B ;lade Op_B aus Speicher in R2 ADD R3, R1, R2 ;addiere R1 und R2, Ergbn.R3 STORE Op_C, R3 ;speicher R3Op_C (=Op_A + Op_B) Speicher Register a b ALU Ergebnis Register-Speicher-Architektur - CISC (Mischung von Akkumulator- und Load-Store-Architektur) Operationen greifen auf Register und/oder Speicher zu Befehlsformat variabler Länge mächtige Befehle stark unterschiedliche Zeiten für Instruktionsausführung MOV AX, Op_A ; Op_A von Speicher Register AX ADD AX, Op_B ; AX = AX + Op_B MOV Op_C, AX ; Op_C = AX (= Op_A + Op_B) Speicher Register a b ALU Ergebnis Folie 197 Anwendung der Prozessor-Klassen Art des Prozessors / Befehlssatzes CISC Complex Instruction Set Computer Mikroprozessoren Mikrocontroller Transputer DSP Digitale Signalprozessoren RISC Reduced Instruction Set Computer Mikroprozessoren Mikrocontroller Spezialprozessoren Numerische Co-Prozessoren Grafikcontroller / GPU I/O-Prozessoren Vorherrschende Architektur Princeton (Von Neumann) MIMD Harvard Princeton (Von Neumann) Stack-Architekturen / SIMD Princeton / Harvard / SIMD Meist wie Mikrocontroller Folie 198

4 Argumente für RISC An der Berkeley University wurden Anfang der 80er Jahre in einer höheren Programmiersprache geschriebene Programme untersucht. Dabei, und in weiteren Untersuchungen, stellte man u.a. folgendes fest: 20% des gesamten Befehlsvorrates waren für 60% des Mikrocodes des Steuerwerks verantwortlich, beanspruchten aber nur 0,2% der CPU-Zeit. Maschinenbefehle mit Speicherzugriff (Load, Store, Call, Return, usw.) beanspruchen den Großteil der CPU-Zeit. Einfachere Befehle wie Load, Store, Compare, Add, Sub werden häufiger angewendet als komplexere (anwendungsabhängig!). Komplexe Befehle benötigen eine aufwändigere Decodierung durch das Steuerwerk (i.d.r. mittels Mikroprogramm realisiert), werden also langsamer abgearbeitet. Festverdrahtete Steuerwerke arbeiten schneller als mikroprogrammierte Steuerwerke. Voraussetzung: Kleine Befehlssätze und regelmäßige Befehlsformate. Eingesetzte Compiler verwendeten selten die komplexen Befehle, sondern nur Subsets der umfangreichen Befehlssätze (dadurch werden die Compiler einfacher). Der Einsatz von optimierenden Compilern drängt die Programmierung in Maschinensprache zurück. Folie 199 Vergleich von CISC und RISC CISC Complex Instruction Set Computer Komplexe Instruktionen, Ausführung in mehreren Taktzyklen Jede Instruktion kann auf den Speicher zugreifen Kein oder wenig Pipelining Instruktionen werden von Mikroprogramm interpretiert Instruktionsformat variabler Länge Kompakter Code Viele Instruktionen und Adressierungsarten Die Komplexität liegt im Mikroprogramm Einfacher Registersatz RISC Reduced Instruction Set Computer Einfache Instruktionen, Ausführung in einem Taktzyklus. Nur Lade- und Speicherbefehle greifen auf den Speicher zu Intensives Pipelining Instruktionen werden durch festverdrahtete Hardware ausgeführt Instruktionen alle mit fester Länge Code weniger kompakt Wenige Instruktionen und Adressierungsarten Die Komplexität liegt im Compiler Umfangreiche Registersätze Nach A. S. Tanenbaum Zitat von Antoine de Saint-Exupery: Perfektion ist nicht erreicht, wenn nichts mehr hinzugefügt werden kann, sondern wenn nichts mehr übrig ist, was man weglassen kann. Folie 200

5 RISC Beispiel: POWER-PC (Apple/MacIntosh) PowerPC 603 Mikroprozessoren: z.b. von IBM als PPC603 Serie und von Motorola als MPC603 - Serie User Programmiermodell (Auszug): 64 Bit 32 oder 64 Bit (je nach Prozessorausf.) Bild: PowerPC ec603e (G2) von Motorola Weitere Beispiele für RISC-Prozessoren: Intel i860, SPARC, Alpha, MIPS R4000 (IBM, Motorola) Quelle: Motorola / 1998 Folie 201 Zusammenfassung der Eigenschaften von RISC Bis zu zweifache Leistung wie CISC bei gleicher Technologie ( Daumenregel, manchmal werden auch höhere Werte genannt). Die Realisierung des Steuerwerks kann durch festverdrahtete Logik erfolgen, da die Befehle einfach sind. Zur Minimierung von Speicherzugriffen werden viele CPU-interne Register vorgesehen. Es werden einfache, schnell zu verarbeitende Maschinenbefehle geschaffen, welche sich besonders gut für Pipelining eignen. Kennzeichen sind: Feste Befehlslänge und feste Bearbeitungszeit. Häufig vorkommende Anweisungen von Hochsprachenprogrammen werden möglichst effektiv auf einfache Maschinenbefehle abgebildet. Compiler für RISC-Prozessoren müssen neben der Umsetzung von Hochsprachen in Maschinenbefehle auch für die korrekte Beschickung und effiziente Ausnutzung der Befehlspipeline und der Register sorgen. Die Komplexität der Mikroprogramme von CISC-Prozessoren wird bei RISC-Prozessoren auf die Maschinenprogrammebene gehoben. Stand der Technik: Pentium (PC) CISC mit RISC-Ansätzen PowerPC (MacIntosh) RISC mit CISC-Erweiterungen Folie 202

6 5.3 Parallelrechnerarchitekturen M.J. Flynn (1966) betrachtet die Anzahl der gleichzeitig zu verarbeitenden Daten und gleichzeitig ausführbaren Instruktionen (also die Art des Befehlsund Datenstroms) und unterscheidet bei Rechnern genau vier Grundtypen: Single-Instruction, Single Data (SISD): Es gibt nur einen sequentiell abgearbeiteten Befehlsstrom und einen entsprechenden sequentiellen Datenstrom. Single-Instruction, Multiple Data (SIMD): Ein einziger sequentiell abgearbeiteter Befehlsstrom steuert einen mehrfachen parallelen Datenstrom. Multiple-Instruction, Single Date (MISD): Hier würden mehrere Steuerwerke einen einzigen Datenstrom steuern. Multiple-Instruction Multiple Data (MIMD): Hier geschieht die Abarbeitung sowohl befehls- als auch datenparallel. Befehlsstrom Datenstrom Single Data Mulitiple Data Single Multiple Instruction Instruction SISD SIMD MISD MIMD Literaturhinweise: Flynn, M.J.: Computer Architecture. Jones and Bartlet, 1995 Flynn, M.J.: Some Computer Organizations and their Effectiveness. IEEE Transactions on Computers 21, 1972, pp Folie 203 SISD-Rechner Leitwerk Speicher Befehlsstrom Datenstrom Informationsfluss beim SISD-Rechner Zu den SISD-Rechnern zählen alle Einzelrechner, die eigenständig zur Lösung ihrer Aufgaben eingesetzt werden, also CISC- und RISC- Rechner die meisten Mikroprozessoren (Intel-Serie bis mindestens 80486) fast alle Mainframe-Computer Fast alle Minicomputer der 80er Jahre. Pipeline-Prozessoren werden allgemein dazugezählt. Bei einem "echten" SISD-Rechner werden auch die I/O-Vorgänge vom Prozessor selbst erledigt oder allenfalls durch intelligente Controller unterstützt. Folie 204

7 Leitwerk 3 Programmspeicher Datenstrom 3 n-1 n-1 Hauptspeicher SIMD-Rechner Befehlsstrom n n Es gibt nur einen Befehlsstrom, der mehrere parallele Datenströme steuert. Es existiert nur ein Leitwerk zur Befehlsentschlüsselung. Es werden parallel mehrere e benutzt. Das Verteilen der Befehlsinformation an die einzelnen Einheiten nennt man Instruction Broadcasting". Jede Verarbeitungseinheit verfügt über einen eigenen bidirektionalen Zugriffspfad zum Hauptspeicher. Damit liegt eine Erweiterung der von Neumann Struktur vor. Beispiele für SIMD-Rechner sind: Vektorrechner, wenn der Vektorrechner parallele e mit parallelem Speicherzugriff besitzt. Werden die einzelnen Komponenten des Vektors dagegen nur nacheinander auf die Stufen einer einzigen Pipeline projiziert, so ist die Maschine ein SISD-Rechner. VLIW-Prozessoren (very long instruction word processor). Ein einziger Befehl kann typischerweise 5 bis 10 Operatoren haben, die über parallel laufende Funktionseinheiten miteinander verbunden werden. Anwendung: Spezialprozessoren zur Komprimierung und Dekomprimierung von Bilddaten eingesetzt. MMX-Einheit von Intel-Prozessoren Folie 205 Finite-Elemente-Simulation auf einem Vektorrechner (Cray) Simulation von Blechumform-Prozessen: Erster Vektorrechner: Cray 1 Folie 206

8 Beispiel VLIW-Architektur Compiler wertet vorhandene Datenfluss-Informationen zur optimalen Ausnutzung der internen parallelen Einheiten aus. Statische Ansteuerung der Einheiten durch fest reservierte Teile des Instruktionswortes Compiler muss gesamte Parallelisierung vornehmen! Sehr langer Befehlscode, meist 128 oder 256 Bit (bis zu 1024 Bit). Große Speicherbandbreite und umfangreiche Registerbänke erforderlich. Very Long Instruction Word: Unterbefehl 1 Unterbefehl 2 ADD SUB VLIW Verarbeitungsstufen: VLIW holen Unterbefehl n MUL VLIW dekodieren Register lesen Register lesen Register lesen Operation ausführen () Register Schreiben Operation ausführen () Register Schreiben Operation ausführen () Register Schreiben Folie 207 MISD-Rechner Leitwerk 1 Leitwerk 2 Leitwerk 3 Leitwerk n - 1 Leitwerk n Befehlsstrom n-1 n Datenstrom Hauptspeicher n-1 n Programmspeicher Mehrere e bearbeiten einen Datenstrom ( Fließbandprinzip ) Struktur erinnert an Pipelining: Die Gesamtaufgabe wird in aufeinanderfolgende Teilschritte zerlegt. Daher werden die Pipelineprozessoren oft als MISD-Systeme bezeichnet (falls man sie nicht SISD zurechnet). Softwaretechnisch umgesetzt ist eine solche Betriebsweise auf Betriebssystemebene beispielsweise in UNIX-Systemen, wenn mittels des "pipe"- Befehls ständig ein Rechenprozess einen anderen mit Daten versorgt. Folie 208

9 Filtern von Videodaten Beispiel MISD-Pipelinerechner Zum Filtern von Videodaten wird der Gesamtfilter in aufeinanderfolgende Teilfilter zerlegt Jeder Teilfilter wird von einem Pipelineprozessor verarbeitet höchste Verarbeitungsleistungen bei akzeptablem Hardwareaufwand. Kamera Analog/Digital Wandlung Prozessor 1 Prozessor 2 Prozessor 3 Gefilterte Videodaten Folie 209 MIMD-Rechner Leitwerk 1 Leitwerk 2 Leitwerk 3 Leitwerk n - 1 Leitwerk n Befehlsstrom werk n-1 Rechen- Datenstrom n 1 2 Parallele Bearbeitung von Befehlen und Daten Ein Leitwerk und das von ihm gesteuerte fasst man unter dem Begriff "Prozessor" zusammen Anwendung: Ein moderner PC hat mit Video-Karten, Sound-Karten etc. ein erhebliches Maß an Parallelarbeit implementiert. Der Hauptprozessor selbst hat (ab Pentium bzw. AMD K5) ein erhebliches Maß an Parallelverarbeitung. PCs und Server mit mehr als einer CPU sind Stand der Technik. Mehrprozessorsysteme, Parallelrechnersysteme, Supercomputer. 3 Hauptspeicher n-1 n Programmspeicher Folie 210

10 Beispiel MIMD: Parallelrechnersysteme Beispiel: Top 500 des Supercomputing (Jahr 2000) Nr. 1: IBM ASCI White SP Power MHz, Prozessoren, Gflops, Lawrence Livermore Nat. Lab. Verteilter Adressraum Nach Karl, W.: Uni Karlsruhe-Informatik Folie 211 Beispiel MIMD: Sega Spielekonsole Der Prozessor (16-Bit Prozessor mit 32-Bit Registern, Fa. Motorola) führt das Hauptprogramm aus Dabei nutzt er den Z80-Prozessor (8-Bit Prozessor, Fa. Zilog) für nebenläufige Aufgaben Der Prozessor lädt Programme in den Z80-Prozessor, welche dann unabhängig vom Prozessor ausgeführt werden Prozessor Z80 Prozessor Hauptspeicher Interface für Spielekassetten Systembus Programmierbarer Sound-Generator Sound-Synthese Baustein Digital/Analog Umsetzer für Audio und Video Interface für Bedienkonsole Folie 212

11 5.4 Architektur virtueller Maschinen Interpreter Abstrakte Maschinen Eigenschaften der JVM JVM Implementierungen Java Umgebungen Architektur der JVM Interne Architektur Wesentliche Bestandteile Speichermodell Befehlssatz Arithmetik, Floating Point Sprünge und Schleifen Methodenaufrufe Folie 213 Compiler und Interpreter Compiler Hohe Ausführungsgeschwindigkeit des erzeugten Programms. Quellcode ist vor Manipulationen geschützt, da er zur Programmausführung nicht benötigt wird. (Besserer Urheberschutz) Fehlersuche schwieriger, da die symbolischen Bezüge zum Quelltext bei der Compilation verloren gehen. Zusätzliche Arbeitsschritte Compilation, Link, Load erforderlich (erschwert die Programmentwicklung). Verwendung vorgefertigter Teillösungen aus Programmbibliotheken leicht möglich (Modulare Programmierung). Interpreter Niedrige Ausführungsgeschwindigkeit, da der Quelltext immer wieder neu interpretiert wird. Programme können nur im Quelltext weitergegeben werden (Sicherheitsmängel, fehlender Urheberschutz) Debugging einfach (Einzelschrittausführung, Ansehen von Variablenständen während der Ausführung, Tracing etc.) Programmentwicklung einfach, da in Entwicklung befindliche Programme unmittelbar ausgeführt werden können. Verwendung vorgefertigter Teillösungen aus Programmbibliotheken nur bedingt bzw. gar nicht möglich. Folie 214

12 Interpreter in virtuellen Maschinen Verzahnung von Übersetzung und Ausführung des Programms Übersetzung in Interpreter-Code Interpreter interpretiert zur Laufzeit den Interpreter-Code Prozessor + Interpreter = abstrakte oder virtuelle Maschine Vorteile: Portablilität ( Übertragbarkeit) Fehlersuche und -diagnostik Speicherplatzersparnis Nachteile: geringere Effizienz (aber: dynamische Übersetzung, JIT) Interpreter sind dann sinnvoll, wenn aufwendiges Laufzeitsystem vorliegt. Compiler erzeugen Programme. Interpreter führen Programme aus. Folie 215 Abstrakte Maschinen Abstrakte Maschinen interpretieren einen abstrakten Befehlssatz. Beispiele für abstrakte Befehlssätze zur Realisierung von (UCSD-) Pascal, PROLOG, LISP, FORTH, Smalltalk und Java. Programme werden in Befehle der abstrakten Befehlssätze übersetzt, nicht direkt in Maschinenbefehle realer Maschinen. Z.B. PASCAL Abstrakte Maschine Reale Maschine Übersetzung Interpretation, Übersetzung oder Realisierung in Hardware Lediglich der Interpreter der abstrakten Befehlssätze muss für verschiedene Maschinen jeweils neu erzeugt werden. Nachteil: niedrigere Ausführungsgeschwindigkeit. Folie 216

13 Eigenschaften der JVM Die JVM ist eine Kellermaschine / Stackmaschine Operationscodes in einem Byte kodiert ( Bytecode) Typische Befehle: lade integer auf den Stack, addiere die obersten Stackelemente, starte nebenläufige Ausführung, synchronisiere nebenläufige Ausführung, Befehle zur Realisierung der Objektorientierung Byte-Code ist sehr kompakt (ca. 1/3 des Speicherbedarfs von RISC-Code). Besonders interessant für eingebettete Systeme interessant, bei denen Programme zusammen mit den Prozessor auf einem Chip gespeichert werden müssen. Anwendungen, bei denen Programme über das Internet geladen werden. Folie 217 JVM Implementierungen Java Java Java Java JVM Byte Code Byte Code Java JVM Byte Code Byte Code Just-In-Time Compiler Java JVM Byte Code Byte Code Direkte Ausführung Interpreter Binärer Maschinencode für CPU x Betriebssystem Irgendeine CPU Betriebssystem CPU x Betriebssystem Z.B. picojava (Fa. Sun) Folie 218

14 Prozessor für Network Computer Pico Java (Fa. Sun) Internet Chip für Netzwerk-Anwendungen (PDAs, Pagers etc.) Zellular-Telefon und Telekommunikations-Prozessoren Traditionelle "embedded" Anwendungen Anforderungen an Produkte für "embedded"-märkte Robuste Programme Graceful Recovery vs. Crash Komplexe Programme durch Teams entwickelt OO-Sprachen und -Entwicklungsumgebungen Wiederbenutzung von Codes von einer Produktgeneration zur nächsten Portabler Code Geringe Systemkosten (Prozessor, ROM, DRAM etc.) Hohe Rechenleistung Geringe Leistungsaufnahme, d.h. geringe Erwärmung der CPU Folie 219 JAVA - Umgebungen Folie 220

15 Interne Architektur der JVM Folie 221 Wesentliche Bestandteile der JVM method area Einmal vorhanden je virtueller Maschine, wird gemeinsam von allen Threads benutzt; enthält klassenspezifische Daten (Typinformation). heap Einmal vorhanden je virtueller Maschine, wird gemeinsam von allen Threads benutzt; enthält die dynamisch erzeugten Objekte. Java VM stacks Threadspezifisch. Enthält Zustand von nicht-nativen Methodenaufrufen, deren lokale Variablen, Übergabeparameter, den möglichen Rückgabewert sowie Methoden-interne Berechnungsergebnisse. pc registers Threadspezifisch; enthält für jeden Zeitpunkt der Ausführung einer nicht-nativen Methode die Adresse der derzeit ausgeführten Instruktion. Während der Abarbeitung nativer Methoden ist der Wert auf undefined gesetzt. Konkrete Größe des virtuellen pc-registers hängt von der Adresslänge der realen Plattform ab. native method stack Implementierungsspezifischer Speicherbereich zur Behandlung von nativen Methodenaufrufen. runtime constant pool Klassen- oder Schnittstellenspezifisch. Enthält verschiedene Konstanten, die zur Übersetzungszeit feststehen und in der constant_pool Tabelle der class-datei abgelegt sind. Die Funktion dieses Bereichs ähnelt dem einer konventionellen Symboltabelle. Folie 222

16 JVM Instruktionssatz und Datentypen Java Instruktions-Satz gut 200 OpCodes (jeweils 8 Bits) 25 Variationen 3 reservierte OpCodes 0, 1, 2, 3,... Operanden keine Register-Spezifikationen elementare und komplexe Instruktionen lokale Variable relativ zu Basiszeiger sehr kompakter Code ( ~ 1.8 Bytes) Datentypen byte short integer long float double char object returnaddress Folie 223 Speichermodell der JVM Folie 224

17 Struktur des Befehlssatzes Folie 225 Arithmetik mit der JVM Folie 226

18 JVM Laufzeitumgebung: Floating Point (IEEE 754) Folie 227 Sprünge und Schleifen Folie 228

19 Methodenaufrufe Folie Ausblick Rechnerarchitekturen Vermehrte Bedeutung von Multimediaoperationen: Verarbeitung von Datenströmen. Zusätzliche Instruktionen und/oder spezielle Recheneinheiten. Mediaprozessoren (Signalprozessoren, Videoprozessoren). VLIW-Prozessoren: Explizite Parallelität in den Instruktionen. Einfachere Hardware, komplexere Compiler. Vor allem für regelmäßige Programme (Multimediaverarbeitung) geeignet. Mehrprozessorsysteme Simultanes Multithreading (Hyperthreading) Zwei, vier oder noch mehr virtuelle CPU-Kerne auf einem Chip Multi-Core-Designs Zwei, vier oder noch mehr komplette Prozessoren auf einem Chip Folie 230

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

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

11.0 Rechnerarchitekturen

11.0 Rechnerarchitekturen 11.0 Rechnerarchitekturen Die Ziele dieses Kapitels sind: Kennen lernen der Rechnerklassifikation nach Flynn Betrachtung von Prozessorarchitekturen auf verschiedenen Abstraktionsebenen - Befehlsarchitektur

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

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

Maik Zemann. Flynn s Taxonomie. Parallele Rechnerarchitekturen SS 2004 Technische Fakultät Universität Bielefeld. 3. Mai 2004 Flynn's Taxonomie 1

Maik Zemann. Flynn s Taxonomie. Parallele Rechnerarchitekturen SS 2004 Technische Fakultät Universität Bielefeld. 3. Mai 2004 Flynn's Taxonomie 1 Maik Zemann Flynn s Taxonomie Parallele Rechnerarchitekturen SS 2004 Technische Fakultät Universität Bielefeld 3. Mai 2004 Flynn's Taxonomie 1 Gliederung Einleitung Gliederung Flynn s Taxonomie Das SISD-Modell

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

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

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

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

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 10. Vorlesung Inhalt Rechenwerk (ALU) Steuerwerk Instruktionssatz-Architekturen Assembler-Programmierung Synchroner/asynchroner Systembus RISC vs. CISC Kontrollfluss/Datenfluss

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

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

Neue Prozessor-Architekturen für Desktop-PC

Neue Prozessor-Architekturen für Desktop-PC Neue Prozessor-Architekturen für Desktop-PC Bernd Däne Technische Universität Ilmenau Fakultät I/A - Institut TTI Postfach 100565, D-98684 Ilmenau Tel. 0-3677-69-1433 bdaene@theoinf.tu-ilmenau.de http://www.theoinf.tu-ilmenau.de/ra1/

Mehr

Rechnergrundlagen SS 2007. 11. Vorlesung

Rechnergrundlagen SS 2007. 11. Vorlesung Rechnergrundlagen SS 2007 11. Vorlesung Inhalt Evaluation der Lehre (Auswertung) Synchroner/asynchroner Systembus Kontrollfluss/Datenfluss RISC vs. CISC Speicherhierarchie Cache Lesen Schreiben Überschreiben

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

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

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

nutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS

nutzt heute Diese Prinzipien werden wir im Kapitel 3 behandelt Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS 3.1 Einführung (1) Nahezu jeder Prozessor in einem Desktop-Rechner (der auf oder unter dem Tisch steht) und in einem Server- Rechner (auf dem man sich von der Ferne einloggt und dort rechnet) nutzt heute

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

Architektur von Parallelrechnern 50

Architektur von Parallelrechnern 50 Architektur von Parallelrechnern 50 Rechenintensive parallele Anwendungen können nicht sinnvoll ohne Kenntnis der zugrundeliegenden Architektur erstellt werden. Deswegen ist die Wahl einer geeigneten Architektur

Mehr

System-Architektur und -Software

System-Architektur und -Software System-Architektur und -Software Sommersemester 2001 Lutz Richter Institut für Informatik Universität Zürich Obligatorische Veranstaltung des Kerngebietes System-Architektur und -Software Voraussetzungen

Mehr

Von-Neumann-Architektur

Von-Neumann-Architektur Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..

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

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

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

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise Teil 1 Kapitel 2 Rechner im Überblick 2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise Frank Schmiedle Technische Informatik I 2.1 Rechnersichten Modellierung eines Rechners Zusammenspiel

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

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen 2.5 Unterbrechungen

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

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Speedup: Grundlagen der Performanz Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 30. April 2015 Eine Aufgabe aus der Praxis Gegeben ein

Mehr

1 Einleitung zum RISC Prozessor

1 Einleitung zum RISC Prozessor 1 Einleitung zum RISC Prozessor Wesentliche Entwicklungsschritte der Computer-Architekturen [2, 3]: Familienkonzept von IBM mit System/360 (1964) und DEC mit PDP-8 (1965) eingeführt: Gleiche Hardware-Architekturen

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

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1 \ Inhalt Seite 1 \ Inhalt SIMD Kurze Rekapitulation 3Dnow! (AMD) AltiVec (PowerPC) Quellen Seite 2 \ Wir erinnern uns: Nach Flynn s Taxonomie kann man jeden Computer In eine von vier Kategorien einteilen:

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

Proseminar Technische Informatik A survey of virtualization technologies

Proseminar Technische Informatik A survey of virtualization technologies Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Grundlagen der Rechnerarchitektur. Einführung

Grundlagen der Rechnerarchitektur. Einführung 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

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

2 Rechnerarchitekturen

2 Rechnerarchitekturen 2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf

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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen 4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen Highlights: objektorientierte Sprache Plattformunabhängigkeit bei Hardware und Betriebssystem optimale Einbindung im Internet und Intranet

Mehr

3 Technikarchitekturen

3 Technikarchitekturen 3 Technikarchitekturen 3.1 Rechnerarchitektur Definition Taxonomien Komponenten Rechnergrößentypologie 3.2 Kommunikationssystemarchitektur ISO-Referenzmodell TCP/IP Grundlagen der Telekommunikation 3.3

Mehr

Kapitel 11 RISC-Rechner

Kapitel 11 RISC-Rechner Kapitel 11 - RISC-Rechner Seite 219 Kapitel 11 RISC-Rechner (reduced instruction set computer, RISC) 11.1. Einleitung In den Achtzigerjahren änderten sich die Randbedingungen für Rechner: Hardware wurde

Mehr

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1 E-1 Technische Grundlagen der Informatik 2 SS 2009 Einleitung R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt Lernziel E-2 Verstehen lernen, wie ein Rechner auf der Mikroarchitektur-Ebene

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

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

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden. Name: Vorname: Matr.-Nr.: 4 Aufgabe 1 (8 Punkte) Entscheiden Sie, welche der folgenden Aussagen zum Thema CISC/RISC-Prinzipien korrekt sind. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen

Mehr

3. Grundlagen der Rechnerarchitektur

3. Grundlagen der Rechnerarchitektur 3. Grundlagen der Rechnerarchitektur 3.1 Architektur des von-neumann-rechners 3.2 Maschinentypen: Einadressmaschine, Zweiadressmaschine 3.3 Befehlsformate und Adressierungstechniken 3.4 Beispiel: der Prozessor

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Rechnerarchitektur Aufgabe

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

Hardware-Architekturen

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

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

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04. Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.

Mehr

Computational Biology: Bioelektromagnetismus und Biomechanik

Computational Biology: Bioelektromagnetismus und Biomechanik Computational Biology: Bioelektromagnetismus und Biomechanik Implementierung Gliederung Wiederholung: Biomechanik III Statische Elastomechanik Finite Elemente Diskretisierung Finite Differenzen Diskretisierung

Mehr

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem?

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem? 1 Einleitung 1.1 Aufgaben und Grobstruktur Was ist ein Betriebssystem? Betriebssystem (Definition nach DIN 44300) Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

Mehr

Automatisierungstechnik AP1

Automatisierungstechnik AP1 Automatisierungstechnik AP1 Übersicht 1 Lernziele: Automatisierungstechnik AP1 Einführung in die Prozessorarchitektur und Maschinenprogrammierung Grundlagen des Aufbaus und der Wirkungsweise von Prozessoren

Mehr

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9 Inhalt Curriculum 1.4.2 Manfred Wilfling HTBLA Kaindorf 28. November 2011 M. Wilfling (HTBLA Kaindorf) CPUs 28. November 2011 1 / 9 Begriffe CPU Zentraleinheit (Central Processing Unit) bestehend aus Rechenwerk,

Mehr

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell

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

Arbeitsfolien - Teil 4 CISC und RISC

Arbeitsfolien - Teil 4 CISC und RISC Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

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

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

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining Themen heute Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining Organisatorisches Wie schon in den vorhergehenden Tutorien erwähnt, ist Mehrfachabgabe, außer bei Programmieraufgaben,

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

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

B Einführung. 1 Historische Entwicklung. 1 Historische Entwicklung (3) 1 Historische Entwicklung (2)

B Einführung. 1 Historische Entwicklung. 1 Historische Entwicklung (3) 1 Historische Entwicklung (2) 1 Historische Entwicklung 8500 v. Chr.: Zählsysteme in vielen Kulturen benutzt häufig 5 oder 10 als Basis 1. historische Entwicklung 2. Entwicklung der Mikroprozessoren 3. Entwicklung der Betriebssysteme

Mehr

Programmiersprachen und Programmierkonzepte

Programmiersprachen und Programmierkonzepte Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare

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

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

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

Systeme 1: Architektur

Systeme 1: Architektur slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten

Mehr

RISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 12/13 1. J. Kaiser, IVS-EOS

RISC: Reduced Instruction Set Computer. Technische Informatik I Wintersemester 12/13 1. J. Kaiser, IVS-EOS RISC: Reduced Instruction Set Computer 1 The CMOS Generations: Speedup through Miniaturization 10-fache Leistungssteigerung 2 Was ist ein Reduced Instruction Set Computer (RISC*)? * Der Begriff RISC wurde

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

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

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

Rechnernetze und Organisation

Rechnernetze und Organisation RISC 1 Übersicht Motivation RISC-Merkmale RISC-Instruktionsformat Pipelining Sparc, MIPS, Arm, PowerPC 2 Motivation Warum RISC Compiler nutzen komplexe CISC-Instruktionen kaum Nur 80% der Instruktionen

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

Rechneraufbau und Rechnerstrukturen

Rechneraufbau und Rechnerstrukturen Rechneraufbau und Rechnerstrukturen von Prof. Dr. Walter Oberschelp, RWTH Aachen und Prof. Dr. Gottfried Vossen, Universität Münster 7, vollständig überarbeitete und aktualisierte Auflage R.Oldenbourg

Mehr

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte Intel 80x86 symmetrische Multiprozessorsysteme Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte Gliederung I. Parallel Computing Einführung II.SMP Grundlagen III.Speicherzugriff

Mehr

Rechner- organisa-on 2 TOY. Karl C. Posch.

Rechner- organisa-on 2 TOY. Karl C. Posch. Rechner- Technische Universität Graz Ins-tut für Angewandte Informa-onsverarbeitung und Kommunika-onstechnologie organisa-on 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2012. Ausblick. Erste HälEe

Mehr

Geräteentwurf mit Mikroprozessoren 1

Geräteentwurf mit Mikroprozessoren 1 Geräteentwurf mit Mikroprozessoren 1 Vorlesung am Institut für Elektronik der TU Graz Dipl.-Ing. Dr. Gerhard Stöckler SS 2003 Vorausgesetzte Kenntnisse: Grundlagen der Digitaltechnik Binäre Informationsdarstellung

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

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

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. 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

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme

Mehr

Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]

Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ] 2.1.2 Behandlung von Unterbrechungen (Interrupts) Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S. 582-585] t 1 : MAR (PC) t 2 : MBR Memory[MAR] PC

Mehr

Rechneraufbau und Rechnerstrukturen

Rechneraufbau und Rechnerstrukturen Rechneraufbau und Rechnerstrukturen von Prof. Dr. em. Walter Oberschelp, RWTH Aachen und Prof. Dr. Gottfried Vossen, Universität Münster 9. Auflage Oldenbourg Verlag München Wien Inhaltsverzeichnis Vorwort

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

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache

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

Java für Embedded Systems

Java für Embedded Systems Java für Embedded Systems Marc Balmer, micro systems marc@msys.ch 25. April 2001 Java-fähige Embedded Systems Palm PDA TINI Board Java-Ring ibutton Cyberflex Smart Card... Embedded Systems Steuer- und

Mehr