2.2 Systems-on-Chip (SoC)

Größe: px
Ab Seite anzeigen:

Download "2.2 Systems-on-Chip (SoC)"

Transkript

1 2.2 Systems-on-Chip (SoC) SoC sind die konsequente Fortsetzung der grundlegenden Mikrocontroller-Idee: Aufbau eines Systems mit einer minimalen Anzahl externer Komponenten SoC: realisiere das ganze System mit einem einzigen Chip Diese Idee ist Gegenstand vieler verschiedener Forschungsrichtungen! 1

2 2.2 Systems-on-Chip (SoC) Interessante SoC Forschungsrichtungen: Methoden für eine systematische SoC Entwicklung Prozessorkerne als Benutzerbibliotheken Rekonfigurierbare SoCs Integration verschiedener Prozessorkerne Selbstorganisation 2

3 2.2 Systems-on-Chip (SoC) Methoden für eine systematische SoC Entwicklung Notwendige Schritte: Design, Verifikation & Test SoC kombinieren oft digitale und analoge Komponenten Diese Komponenten müssen entwickelt, integriert und getestet werden Klassische Hardware-Beschreibungssprachen (VHDL, Verilog) bewegen sich auf niederer Ebene im Vergleich zu Sprachen der Software-Entwicklung 3

4 2.2 Systems-on-Chip (SoC) Idee: man übertrage die Erfahrungen aus der Software-Entwicklung auf die Hardware- Entwicklung Man definiert High-Level-Hardware-Beschreibungssprachen, die folgende aus der Software-Entwicklung bekannte Konzepte einzuführen: Objektorientierung (object orientation) Vererbung (inheritance) Wiederverwendung (resuse) 4

5 2.2 Systems-on-Chip (SoC) Beispiele: SystemC: Open System C Initiative SystemVeriLog: System Verilog Organization Cynthesizer: Forte Design Systems 5

6 2.2 Systems-on-Chip (SoC) SystemC ist sehr ähnlich zu C++ Vorteile: Hardware-Komponenten können als Objekte mit Schnittstellen (interfaces) und Funktionalität (functionality) definiert werden ähnliche Sprachen zur Soft- und Hardware-Entwicklung ermöglichen zusätzliche Synergie-Effekte Es können gemeinsame Werkzeuge für Soft- und Hardware verwendet werden Der Datenaustausch wird erleichtert Der Aufwand für das Erlernen durch den Benutzer wird verringert Formale Hochsprachen erlauben eine Verifikation auf hoher Ebene 6

7 2.2 Systems-on-Chip (SoC) SoC Entwicklung mit einer Hochsprache High Level Design (z.b. in SystemC) Verifikation Korrekturen Low Level Design (z.b. in VHDL) Platzieren und Routen Korrekturen Verifikation FPGA, ASIC Test 7

8 2.2 Systems-on-Chip (SoC) Das Testen kann unterstützt werden durch: eingebettete Teststrukturen Sichtbarmachung interner Hardware-Zustände eingebauten Selbsttests Herausforderung: die Entwicklung effizienter Selbsttests für analoge und digitale Teile eines SoC mit geringen Kosten und geringer zusätzlicher Fläche Design for Testability. Denke bereits während der Entwicklung an den Test 8

9 2.2 Systems-on-Chip (SoC) Prozessorkern-Bibliotheken Grundidee: liefere einen Prozessor nicht als Hardware, sondern als Bibliothek aus. Der Anwender kann den Prozessorkern dann leicht in seine eigene FPGA oder ASIC Entwicklung integrieren Viele Prozessorkerne sind bereits als ASIC-Bibliothek verfügbare, z.b. ARM PowerPC Kern 9

10 2.2 Systems-on-Chip (SoC) Erstellung eines SoC mit einer Prozessorkern-Bibliothek: Prozessorkern- Bibliothek (in VHDL) Anwendercode (in VHDL) erstellen bzw. programmieren Chip (ASIC oder FPGA) 10

11 2.2 Systems-on-Chip (SoC) Gegenwärtige Herausforderungen an die Forschung: Versuche das Gleiche mit FPGAs Für kleine Stückzahlen ist eine FPGA-Entwicklung deutlich preiswerter als eine ASIC-Entwicklung FPGA-Lösungen können im Haus erstellt werden Wegen der geringeren Logikdichte von FPGAs sind bisher aber erst kleine Prozessorkerne (z.b. 8051) verfügbar 11

12 2.2 Systems-on-Chip (SoC) Rekonfigurierbare SoC Umkehrung der Idee der Prozessorkern-Bibliotheken Ein rekonfigurierbarer SoC besteht aus einem Prozessorkern Speicher einem FPGA Array Während der Prozessorkern und der Speicher unveränderlich sind, kann der FPGA-Anteil rekonfiguriert werden 12

13 2.2 Systems-on-Chip (SoC) Prozessor- Kern Speicher Programmierbare Hardware, FPGA Speicher Ein-/Ausgabe 13

14 2.2 Systems-on-Chip (SoC) Dieser Ansatz ist in doppelter Hinsicht ein guter Kompromiss: Prozessorkern und Speicher können in optimaler Weise realisiert werden Nur der rekonfigurierbare Anteil nutzt die hinsichtlich Geschwindigkeit und Logikdichte weniger optimale FPGA- Technologie Der Anwender kann die Menge an Spezial-Hardware für eine gegebene Anwendung selbst bestimmen Der rekonfigurierbare Teil kann so personalisiert werden, dass er eine Aufgabe viel schneller als mittels Software lösen kann 14

15 2.2 Systems-on-Chip (SoC) Es können drei Typen von rekonfigurierbaren SoC unterschieden werden: Statisch Rekonfigurierbar Die Rekonfiguration benötigt längerer Zeit (Sekunden bis Minuten) Das SoC wird einmal statisch für eine Aufgabe konfiguriert Diese Konfiguration ändert sich zur Laufzeit niemals 15

16 2.2 Systems-on-Chip (SoC) Semi-statisch Rekonfigurierbar Kann das FPGA schneller (Millisekunden) rekonfiguriert werden Das System kann zur Laufzeit rekonfiguriert werden Eine Aufgabe kann dann in Unteraufgaben zerlegt werden Diese Unteraufgaben werden nach dem Pipeline-Prinzip durchgeführt Während eine Unteraufgabe in Software ausgeführt wird, kann das FPGA für die nächste Unteraufgabe rekonfiguriert werden 16

17 2.2 Systems-on-Chip (SoC) Dynamisch Rekonfigurierbar Neue FPGA Arrays ermöglichen eine sehr schnelle Rekonfiguration (Mikrosekunden) Ein andere Möglichkeit ist die Vorab-Konfiguration bestimmter Teile des Arrays und das Umschalten durch ein Konfigurations-Register Das FPGA kann on-the-fly rekonfiguriert werden Das FPGA kann während der Ausführung einer Prozessorkern-Instruktion rekonfiguriert werden 17

18 2.2 Systems-on-Chip (SoC) Weiterhin zu unterscheiden: Feinkörnig Rekonfigurierbare SoC Rekonfiguration auf Gatterebene, die Verschaltung von Gattern und Registern kann verändert werden. Grobkörnig Rekonfigurierbare SoC Rekonfiguration auf Ebene von Funktionseinheiten (ALU, Speicher, ). Diese können neu vernetzt oder im Funktionsumfang verändert werden. (Schneller und einfacher als feinkörnige Rekonfiguration) 18

19 2.2 Systems-on-Chip (SoC) Beispiele rekonfigurierbarer SoC AT94X Reihe von Atmel statisch feinkörnig rekonfigurierbar AVR8 Prozessorkern FPGA Array mit bis zu 40k Gattern Bei einigen Modellen (AT94S) geschützter Konfigurationsspeicher (Ausleseschutz) 19

20 2.2 Systems-on-Chip (SoC) MorphoSys (UCI) dynamisch grobkörnig rekonfigurierbar 32-Bit-TinyRISC-Prozessorkern 64 reconfigurierbare Zellen Jede Zelle enthält Logik ALU Register File Die Rekonfiguration on the fly in der Geschwindigkeit des Prozessorkerns geschieht durch Umschalten vorgesetzter Kontext-Wörter Anwendung: Bildbearbeitung 20

21 2.2 Systems-on-Chip (SoC) HoneyComb (Universität Karlsruhe) HoneyComb Architecture start node routing node occupied paths adaptivly routed connection of distance i Dynamisch adaptive und rekonfigurierbare Datenpfade zwischen Zellen (Rechenzellen, Speicherzellen, Ein-/Ausgabezellen) 21

22 2.2 Systems-on-Chip (SoC) Integration unterschiedlicher Prozessorkerne Kombination von Mikrocontrollern und Signalprozessoren Eine Möglichkeit, die große Anzahl heute verfügbarer Transistoren auf einem Chip zu nutzen Aufgaben des Mikrocontroller-Teils: Signalprozessor-Teils: Ausführung von Steuer- und Regelanwendungen in Echtzeit optimierte Ausführung von Berechnungen auf Datenströmen mit maximalem Durchsatz 22

23 2.2 Systems-on-Chip (SoC) Beispiele: TriCore, TriCore 2 (Infineon, TriCore kombiniert drei Teile: ein RISC Prozessorkern mit Mikrocontroller-Peripherie und einer Hochgeschwindigkeits-Multiplizier-/Addier-Einheit Daher ist TriCore ein erster Schritt Er integriert Teile eines Signalprozessors in einen Mikrocontrollerkern Es gibt immer noch einen einzigen Kern 23

24 2.2 Systems-on-Chip (SoC) Die Integration eines vollständigen Mikrocontrollerkerns mit einem Signalprozessor ist immer noch eine Herausforderung, da: die Programmausführung eines Mikrocontrollers und eines Signalprozessors total unterschiedlich ist ein Mikrocontroller versteckt seine interne Mikrorachitektur durch eine Architektur-Ebene (wie bei Mikroprozessoren) die Parallelität ist unter Kontrolle des Prozessorkerns ein Signalprozessor offenbart dem Anwender seine Mikroarchitektur für maximale Effizienz ist die Parallelität unter Kontrolle des Anwenders 24

25 2.2 Systems-on-Chip (SoC) Sogar einfache Signalprozessoren ermöglichen den direkten Zugang zu ihren internen Komponenten: 25

26 2.2 Systems-on-Chip (SoC) Jeder Teil kann direkt durch das Instruktions-Wort gesteuert werden Program- Control ALU- Control Multiplier- Control Operand- Selection RAM Addr.- Control ROM Addr.- Control Bit n Bit 0 Ein harmonische Integration beider Konzepte ist eine interessante Aufgabe VLIW oder EPIC könnten einen vielversprechenden Ansatz darstellen 26

27 2.2 Systems-on-Chip (SoC) Selbstorganisation Neuer Forschungsaspekt Betrifft nicht nur SoC Daher gesonderter Abschnitt später 27

28 2.3 Energiespar-Techniken Microcontroller werden mehr und mehr in kleinen, mobilen Geräten genutzt (Ubiquitous Computing, Pervasive Computing) Die verfügbare Energie wird durch eine Batterie begrenzt Hauptanforderung: Erzielung einer maximalen Betriebszeit mit der verfügbaren Energie Wärmeabgabe ist ein anderer Grund, den Energieverbrauch zu reduzieren 28

29 2.3 Energiespar-Techniken Präzisierung der Begriffe: Energie (Energy) und Leistung (Power) Leistung (P) ist Energiefluss (E) pro Zeit (T) P = E / T bzw. E = P T Einheiten: Leistung kg m 2 / sec 3 = Joule / sec = Watt Energie kg m 2 / sec 2 = Joule = Wattsekunde Auf elektrische Geräte bezogen: Leistung ist aufgenommene bzw. verbrauchte Energie pro Zeit (Leistungsaufnahme, Verlustleistung) 29

30 2.3 Energiespar-Techniken Beispiel: Mikrokontroller mit Leistungsaufnahme 10 Watt => jede Sekunde werden 10 Wattsek. Energie verbraucht nach 1 Minute wurden 600 Wattsek verbraucht Verringerung des Energieverbrauchs und der Leistungsaufnahme sind verwandte, jedoch nicht identische Ziele Zur Verlängerung der Batterielebensdauer => Optimierungsziel Verringerung des Energieverbrauchs Zur Reduktion der Temperatur => Optimierungsziel Verringerung der Leistungsaufnahme 30

31 2.3 Energiespar-Techniken Hauptwege zur Reduktion des Energieverbrauchs bzw. der Leistungsaufnahme: Verringerung der Taktfrequenz Verringerung der Versorgungsspannung Optimierung der Mikroarchitektur 31

32 2.3 Energiespar-Techniken Reduktion der Taktfrequenz Einfache Maßnahme Für CMOS Schaltungen gilt idealerweise: P = c d F ~ F Das bedeutet: Halbierung der Taktrate entspricht einer Halbierung der Leistungsaufnahme Auf konstante Zeit T k gesehen ist auch der Energieverbrauch proportional zur Taktrate E k = P T k = c d F T k ~ F 32

33 2.3 Energiespar-Techniken Reduktion der Taktfrequenz Problem: die Verarbeitungsgeschwindigkeit wird ebenfalls reduziert Die Zeit T a zur Erfüllung einer Aufgabe ist umgekehrt proportional zur Taktrate T a = c a / F ~ 1 / F Der Energieverbrauch zur Erfüllung einer Aufgabe ist daher unabhängig von der Taktrate E a = P T a = c d F T a = c d F c a / F = c d c a = konstant 33

34 2.3 Energiespar-Techniken Reduktion der Taktfrequenz Für CMOS Schaltungen gilt realerweise: P = P s + P d = c s + c d F Zusätzliche Verlustleistung P s durch Leckströme, unabhängig von der Taktfrequenz, wachsen mit zunehmender Integrationsdichte 1) Es folgt für den Energieverbrauch E a = P T a = (c s + c d F) c a / F = c s c a / F + c d c a Mit abnehmender Taktfrequenz sinkt die Leistungsaufnahme, der Energieverbrauch wächst jedoch 1) bei Mikrocontrollern meist noch vernachlässigbar 34

35 2.3 Energiespar-Techniken Reduktion der Versorgungsspannung Nach dem Ohm schen Gesetz gilt: P = U I = U 2 / R ~ U 2 Dies bedeutet: 70% Versorgungsspannung bewirken 50% Leistungsaufnahme Hält man die Taktfrequenz zunächst konstant, so gilt für den Energieverbrauch über eine Zeit T k bzw. zur Erfüllung einer Aufgabe in der Zeit T a : E k = P T k ~ U 2 E a = P T a ~ U 2 35

36 2.3 Energiespar-Techniken Reduktion der Versorgungsspannung und Taktfrequenz Variiert man Versorgungsspannung und Taktfrequenz gemeinsam, so gilt (Leckströme vernachlässigt): P = c g F U 2 ~ F U 2 Versorgungsspannung und Taktfrequenz sind jedoch nicht unabhängig, für die maximale Taktfrequenz gilt: F = c f U ~ U Daraus erhält man die Kubusregel für die Leistungsaufnahme: P = c g c f U 3 ~ U 3 = c g / c f2 F 3 ~ F 3 36

37 2.3 Energiespar-Techniken Reduktion der Versorgungsspannung und Taktfrequenz Auf konstante Zeit T k betrachtet gilt für den Energieverbrauch ebenfalls: E k = P T k ~ U 3 ~ F 3 Zur Erfüllung einer Aufgabe ergibt sich durch die umgekehrte Proportionalität der Ausführungszeit T a zur Taktfrequenz: E a = P T a = c g c f U 3 c a / F = c g c f U 3 c a / (c f U) = c g c a U 2 = c g / c f2 F 3 c a / F = c g c a / c f2 F 2 ~ F 2 ~ U 2 37

38 2.3 Energiespar-Techniken Forschungsansätze: Optimierung der Taktfrequenz für die Anwendung z.b. für Echtzeitsysteme: Anpassen der Taktfrequenz und Versorgungsspannung an die Deadlines Ist die Deadline noch weit entfernt, kann die Verarbeitungsgeschwindigkeit und damit der Energiebedarf bzw. Leistungsaufnahme reduziert werden Ist die Deadline nahe, werden die maximale Taktfrequenz und Versorgungsspannung genutzt Ein geschlossener Regelkreis kann Taktfrequenz und Versorgungsspannung steuern 38

39 2.3 Energiespar-Techniken Optimierung der Mikroarchitektur Die bisher beschriebenen Ansätze reduzieren auch die Verarbeitungsgeschwindigkeit Ein vielversprechende Idee: Optimierung der Mikroarchitektur zur Reduktion der Leistungsaufnahme ohne gleichzeitige Reduktion der Verarbeitungsgeschwindigkeit Ansatzpunkte der Optimierung: Reduktion externer Busaktivitäten Statisches Power-Management Dynamisches Power-Management Erhöhung der Code-Dichte 39

40 2.3 Energiespar-Techniken Reduktion der externen Busaktivitäten: RISC Load-/Store Architekturen arbeiten hauptsächlich mit den internen Registern Die Bus-Schnittstelle wird so für viele Operationen nicht benötigt und kann abgeschaltet werden Ein umfangreicher interner Registersatz hilft, externe Buszugriffe zu reduzieren Unterstützung für schmale Datentypen kann dies ebenfalls Während eines 8-Bit Transfers können die oberen 24 Bit einer 32-Bit Busschnittstelle abgeschaltet bleiben 40

41 2.3 Energiespar-Techniken Statisches Power Management: Spezielle Instruktionen deaktivieren gerade nicht benötigte Komponenten wie Nicht-flüchtigen Speicher Ein-/Ausgabeeinheiten Teile der ALU Flüchtige Speicher können im Schlaf-Modus betrieben werden (z.b. durch Reduktion der Versorgungsspannung auf den zum Aufrechterhalten der Information notwendigen minimalen Level) Schlaf-Modus des Prozessorkerns (z.b. durch statisches Steuerwerk mit 0 Hz minimaler Taktfrequenz) 41

42 2.3 Energiespar-Techniken Dynamisches Power Management: Der Prozessor deaktiviert automatisch nicht benötigte Komponenten Dies kann z.b. in der Pipeline durchgeführt werden Wenn schmale Datentypen unterstützt werden, können Teile der ALU und der internen Datenpfade deaktiviert werden Für einen 8-Bit Datentyp werden z.b. die oberen 24 Bit einer 32 Bit ALU nicht gebraucht und können zur Leistungs- und Energieeinsparung deaktiviert werden 42

43 2.3 Energiespar-Techniken Erhöhung der Code-Dichte: Code-Dichte: Anzahl benötigter Befehle um eine Anwendung zu schreiben Eine hohe Code-Dichte bedeutet, weniger Befehle sind notwendig Dies spart aus zwei Gründen Energie: Weniger Speicher wird gebraucht Weniger Buszyklen zur Ausführung der Anwendung sind nötig Von diesem Standpunkt aus ist CISC besser als RISC 43

44 2.3 Energiespar-Techniken Weitere Forschungsansätze Die vorigen Sektionen haben gezeigt: es besteht ein komplexer Zusammenhang zwischen Architektur, Mikroarchitektur und Leistungsaufnahme bzw. Energiebedarf Es wäre günstig, so früh wie möglich während der Entwicklung eines Mikrocontrollers Abschätzungen des Energieverbrauchs und der Leistungsaufnahme vorzunehmen Heute: Abschätzung auf Grundlage der Register-Transferund Gatter-Ebene Künftig: Abschätzungen auf Mikroarchitekturebene 44

45 2.3 Energiespar-Techniken Idee: man nehme einen taktgenauen Mikroarchitektur- Simulator (zur Abschätzung der Verarbeitungsgeschwindigkeit) Man füge Energie- und Leistungsmodelle zur Abschätzung hinzu Diese Modelle schätzen den Energieverbrauch und die Leistungsaufnahme jeder Mikroarchitektur-Komponente für jeden Taktzyklus und jeden Zustand Ein Standard-Simulator enthält nur Mikroarchitektur-Parameter Energiemodelle beinhalten zusätzlich Technologie-Parameter 45

46 2.3 Energiespar-Techniken Beispiel: Programm Energie- und Leistungsmodelle Verarbeitungs- geschwindigkeits- Abschätzung Taktschrittorientierter Mikroarchitektursimulator Mikroarchitekturparameter Schaltkreistechnolgieparameter Energiebedarfs- Abschätzung 46

47 2.4 Java und Java-Prozessoren für eingebettete Systeme Java bietet viele Vorteile für eingebettete Systeme: Einfache Programmierung Wiederverwendbarkeit Robustheit Reicher Satz von Standard-Klassenbibliotheken Java Bytecode ist portabel klein sicher 47

48 2.4 Java und Java-Prozessoren für eingebettete Systeme Java Pakete für eingebettete Systems (Sun): Java Micro-Edition für einfache Geräte mit graphischer Oberfläche, ggf. Netzwerk, wie z.b. SetTop Boxen, Mobiltelefone, PDAs Java StandardEdition für leistungsfähigere eingebettete Systeme Java Card zur Programmierung von Smart Cards 48

49 2.4 Java und Java-Prozessoren für eingebettete Systeme Probleme mit eingebetteten Echtzeitsystemen: Die ursprüngliche Java-Sprachdefinition enthält keinerlei Echtzeit-Elemente niedere Verarbeitungsgeschwindigkeit bei interpretierter JVM Schlechtes Best-/Worst-Case Intervall für die Ausführungszeit bei JIT-compiler basierter JVM Leistungsfähige Hardware für Flash-Compiler erforderlich Verlust der Portabilität bei nativem Compiler Garbage Collection wirft zusätzliche Probleme auf 49

50 2.4 Java und Java-Prozessoren für eingebettete Systeme Lösungen: Hybride Java Systeme Echtzeit-Java Java-Prozessoren 50

51 2.4 Java und Java-Prozessoren für eingebettete Systeme Hybride Java Systeme: Kombinieren Java mit einem Standard-Echtzeit-OS Java selbst ist nicht echtzeitfähig Die Echtzeit-Anteile einer Anwendung werden in C oder C++ geschrieben Beispiele: JWorks (WindRiver) oder Java for OS-9 (Microware Systems) 51

52 2.4 Java und Java-Prozessoren für eingebettete Systeme Echtzeit-Java Systeme: machen Java selbst echtzeitfähig Spracherweiterungen, z.b. zur Definition von Echtzeit- Threads, Synchronisation oder Speicherbereinigung sind erforderlich Standard: The Real-time Specifications for Java (RTSJ) 52

53 2.4 Java und Java-Prozessoren für eingebettete Systeme Wie realisiert man Echtzeit-Java? 1. Man benutzt eine echtzeitfähige JVM Interpretation von Java Bytecode wie bei Standard Java Garantierte Ausführungszeiten Zusätzliche Funktionen für Echtzeiterweiterungen Beispiele: Java Real-Time (SUN), PERC (Aonix), Jamaica (Aicas), SimpleRTJ Problem: langsame Ausführung im Vergleich zu C wegen Interpretation 53

54 2.4 Java und Java-Prozessoren für eingebettete Systeme 2. Man benutzt einen nativen Compiler Java wird zu nativem Maschinencode übersetzt Dies erlaubt eine schnelle Ausführung Beispiel: JBed (Myriad) Probleme: Verlust der Bytecode-Vorteile wie Portabilität Kein dynamisches Klassenladen 54

55 2.4 Java und Java-Prozessoren für eingebettete Systeme 3. JIT oder Flash Compiler JIT (Just in Time) Compiler übersetzen den Code, wenn er gebraucht wird Problem: Ausführungszeiten sind schwer abzuschätzen, großes Best-case Worst-case Intervall Flash Compiler übersetzen die ganze Klasse, bevor sie geladen wird Problem: der Compiler muss auf dem Zielsystem laufen => erhöht den Speicherbedarf beträchtlich (auch für JIT) 55

56 2.4 Java und Java-Prozessoren für eingebettete Systeme 4. Java Prozessoren Führen Java Bytecode direkt in Hardware aus Optimiert für spezielle Java Eigenschaften wie Stack-basierte Bytecode Operationen Garbage Collection Synchronisation => Hohe Verarbeitungsgeschwindigkeit für Bytecodes Beispiele: PicoJava I + II, MicroJava, UltraJava (Sun), JEM (ajile systems), Delft (TU Delft), PCS1000(Patriot Coorp.), JSM (Universität Rostock), JOP (Universität Wien), Komodo (Universitäten Karlsruhe/Augsburg) 56

57 2.4 Java und Java-Prozessoren für eingebettete Systeme Der Komodo-Mikrocontroller: Java einfache Programmierung, Threads Echtzeit Zeitbedingungen, Scheduling Mehrfädige Prozessortechnik schneller Kontextwechsel Komodo Mikrocontroller Java Prozessor, mehrfädige Hardware, Thread-basierte Unterbrechungsbehandlung, Middleware 57

58 2.4 Java und Java-Prozessoren für eingebettete Systeme Das Komodo-Projekt ist in fünf Ebenen gegliedert Der Mikrocontroller ist die niedrigste Ebene 58

MikroController und Mikroprozessoren

MikroController und Mikroprozessoren Uwe Brinkschulte Theo Ungerer MikroController und Mikroprozessoren Mit 205 Abbildungen und 39 Tabellen Springer Inhaltsverzeichnis 1 Grundlagen 1 1.1 Mikroprozessoren, MikroController, Signalprozessoren

Mehr

Architekturen, Werkzeuge und Laufzeitumgebungen für eingebettete Systeme

Architekturen, Werkzeuge und Laufzeitumgebungen für eingebettete Systeme Farbverlauf Architekturen, Werkzeuge und Laufzeitumgebungen für eingebettete Systeme Embedded Systems Christian Hochberger Professur Mikrorechner Fakultät Informatik Technische Universität Dresden Nötiges

Mehr

Mikrocontroller und Mikroprozessoren

Mikrocontroller und Mikroprozessoren Uwe Brinkschulte Theo Ungerer Mikrocontroller und Mikroprozessoren 3. Auflage 4y Springer Inhaltsverzeichnis Vorwort Vorwort zur 2. Auflage Vorwort zur 3. Auflage Inhaltsverzeichnis VII IX XI XIII 1 Grundlagen

Mehr

High Performance Embedded Processors

High Performance Embedded Processors High Performance Embedded Processors Matthias Schwarz Hardware-Software-Co-Design Universität Erlangen-Nürnberg martin.rustler@e-technik.stud.uni-erlangen.de matthias.schwarz@e-technik.stud.uni-erlangen.de

Mehr

ASIC-SYNTHESE DER SHAP-MIKROARCHITEKTUR

ASIC-SYNTHESE DER SHAP-MIKROARCHITEKTUR Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur ASIC-SYNTHESE DER SHAP-MIKROARCHITEKTUR Vortrag zum großen Beleg Andrej Olunczek Andrej.Olunczek@mailbox.tu-dresden.de

Mehr

Compiler für f r Eingebettete Systeme (CfES)

Compiler für f r Eingebettete Systeme (CfES) Compiler für f r Eingebettete Systeme (CfES) Sommersemester 2009 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung für Eingebettete Systeme Kapitel 9 Ausblick

Mehr

Vertiefungsrichtung Rechnerarchitektur

Vertiefungsrichtung Rechnerarchitektur srichtung () ( für ) Prof. Dietmar Fey Ziele der srichtung RA Vertiefen des Verständnis vom Aufbau, Funktionsweise von Rechnern und Prozessoren Modellierung und Entwurf von Rechnern und Prozessoren ()

Mehr

Prinzipien und Komponenten eingebetteter Systeme

Prinzipien und Komponenten eingebetteter Systeme 1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (2) Mikrocontroller I Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller

Mehr

Mikrocontroller und Mikroprozessoren

Mikrocontroller und Mikroprozessoren examen.press Mikrocontroller und Mikroprozessoren Bearbeitet von Uwe Brinkschulte, Theo Ungerer überarbeitet 2007. Taschenbuch. XVI, 453 S. Paperback ISBN 978 3 540 46801 1 Format (B x L): 15,5 x 23,5

Mehr

Beispiele von Branch Delay Slot Schedules

Beispiele von Branch Delay Slot Schedules Beispiele von Branch Delay Slot Schedules Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 Grundlagen der Rechnerarchitektur Prozessor 97 Weniger

Mehr

FPGA vs. Mikrocontroller. Agenda

FPGA vs. Mikrocontroller. Agenda FPGA vs. Mikrocontroller Name: Jan Becker Matrikelnummer: 546508 Agenda - Kurzvorstellung eines FPGAs - Komponenten eines FPGAs - Programmierung eines FPGAs - Kurzvorstellung eines Mikrocontrollers - Komponenten

Mehr

Prof. Dr. Uwe Brinkschulte. Lehrstuhl für Eingebettete Systeme

Prof. Dr. Uwe Brinkschulte. Lehrstuhl für Eingebettete Systeme Prof. Dr. Uwe Brinkschulte Lehrstuhl für Eingebettete Systeme brinks@es.cs.uni-frankfurt.de Robert-Mayer-Straße 11-15 Sekretariat: Linda Stapleton, Raum 211a stapleton@es.cs.uni-frankfurt.de 1 Forschungsgebiete

Mehr

COOL HASHING MIT FPGAS. Robert Bachran

COOL HASHING MIT FPGAS. Robert Bachran COOL HASHING MIT FPGAS Robert Bachran Dresden, 16.1.2012 Einführung Grundlagen Kriterien für gute Hashverfahren Grundlagen FPGAs Hashverfahren auf FPGAs Skein auf FPGA Evolutionäre Hashverfahren Energiesparendes

Mehr

Inhalt. 1. Mikrocontroller 2. FPGA 3. Vergleich 4. Hybride Systeme 5. Zusammenfassung 6. Quellenverzeichnis 12.01.2016

Inhalt. 1. Mikrocontroller 2. FPGA 3. Vergleich 4. Hybride Systeme 5. Zusammenfassung 6. Quellenverzeichnis 12.01.2016 Vergleich FPGA und Mikrocontroller Laura Hilleke Technische Informatik 07.01.2016 07.01.2016 Vergleich FPGA und Mikrocontroller 2 1 Aufbau Funktionsweise Programmierung 07.01.2016 Vergleich FPGA und Mikrocontroller

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

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember 2016 Bitte immer eine Reihe freilassen Ziele der Übung Verschiedene Arten von Instruktionsparallelität

Mehr

Martin Stiller, Fakultät Informatik, Institut für Technische Informatik. LLVA: Eine virtuelle Befehlssatzarchitektur

Martin Stiller, Fakultät Informatik, Institut für Technische Informatik. LLVA: Eine virtuelle Befehlssatzarchitektur Martin Stiller, Fakultät Informatik, Institut für Technische Informatik LLVA: Eine virtuelle Befehlssatzarchitektur Hauptseminar Technische Informatik, 02.05.2012 Gliederung 1 Virtual Instruction Set Computers

Mehr

REKONFIGURIERBARE ARCHITEKTUREN. Robert Rasche

REKONFIGURIERBARE ARCHITEKTUREN. Robert Rasche REKONFIGURIERBARE ARCHITEKTUREN Robert Rasche Dresden, 24.05.2011 01 Motivation Ausgangssituation in eingebetteten Systemen: Verarbeitungsleistung ist auf Embedded Prozessor begrenzt Prozessor (General

Mehr

Generation 5: Invisible Computers (ab 1993)

Generation 5: Invisible Computers (ab 1993) Generation 5: Invisible Computers (ab 1993) Jahr Name Gebaut von Kommentar 1993 PIC Microchip Technology Erster Mikrocontroller auf Basis von EEPROMs. Diese erlauben das Flashen ohne zusätzliche. Bemerkung:

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

Rechnerarchitektur WS 2003/2004. Klaus Waldschmidt. Teil 2. Begriffshierarchie der Rechnerarchitektur. Vorlesungsbegleitende Unterlagen

Rechnerarchitektur WS 2003/2004. Klaus Waldschmidt. Teil 2. Begriffshierarchie der Rechnerarchitektur. Vorlesungsbegleitende Unterlagen Rechnerarchitektur Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 2 Begriffshierarchie der Rechnerarchitektur Seite 1 Systemarchitektur Hardwarearchitektur (Rechnerarchitektur) Softwarearchitektur

Mehr

FPGA-basierte Automatisierungssysteme

FPGA-basierte Automatisierungssysteme Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur FPGA-basierte Automatisierungssysteme Stephan Hensel Dresden, 05.12.2012 Gliederung

Mehr

Verlustleistungsreduzierung in Datenpfaden

Verlustleistungsreduzierung in Datenpfaden Verlustleistungsreduzierung in Datenpfaden F. Grassert, F. Sill, D. Timmermann Inhalt Motivation Analyse der Ausgangssituation Verlustleistung in der Schaltungstechnik Selbstgetaktete dynamische Logiken

Mehr

Einführung. (Compiler) Prof. Dr. Oliver Braun. Letzte Änderung: :49. Einführung 1/26

Einführung. (Compiler) Prof. Dr. Oliver Braun. Letzte Änderung: :49. Einführung 1/26 Einführung (Compiler) Prof. Dr. Oliver Braun Letzte Änderung: 10.05.2017 15:49 Einführung 1/26 Ein Compiler ist ein Computerprogramm das ein Programm geschrieben in einer Sprache in ein Programm übersetzt

Mehr

Inhaltsverzeichnis. Vorwort...VII. Vorwort zur 2. Auflage... IX. Inhaltsverzeichnis... XI

Inhaltsverzeichnis. Vorwort...VII. Vorwort zur 2. Auflage... IX. Inhaltsverzeichnis... XI Vorwort...VII Vorwort zur 2. Auflage... IX Inhaltsverzeichnis... XI 1 Grundlagen...1 1.1 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC...1 1.2 PC-Systeme...3 1.3 Eingebettete und ubiquitäre

Mehr

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

2. Der ParaNut-Prozessor Parallel and more than just another CPU core 2. Der ParaNut-Prozessor "Parallel and more than just another CPU core" Neuer, konfigurierbarer Prozessor Parallelität auf Daten- (SIMD) und Thread-Ebene Hohe Skalierbarkeit mit einer Architektur neues

Mehr

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012 October 29, 2012 Inhaltsverzeichnis 1 2 3 4 5 6 Motivation Motivation CUDA bietet extreme Leistung für parallelisierbare Programme Kompliziert zu programmieren, da multi-level parallel und explizit verwalteter

Mehr

Inhaltsverzeichnis 1 Grundlagen Grundlegende Prozessortechniken...16

Inhaltsverzeichnis 1 Grundlagen Grundlegende Prozessortechniken...16 Inhaltsverzeichnis 1 Grundlagen...1 1.1 Mikroprozessoren, Mikrocontroller, Signalprozessoren und SoC...1 1.2 PC-Systeme...3 1.3 Eingebettete und ubiquitäre Systeme...5 1.4 Leistungsmessung und Leistungsvergleich...11

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

Grundlagen der Informatik 0

Grundlagen der Informatik 0 Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg

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

FPGA Field Programmable Gate Array im Unterschied zu anderen PLD-Architekturen.

FPGA Field Programmable Gate Array im Unterschied zu anderen PLD-Architekturen. FPGA Field Programmable Gate Array im Unterschied zu anderen PLD-Architekturen. Kasdaghli Ameni Inhalt. Die Klassifizierung von ASIC 2. Simple Programmable Logic Device SPLD 3. Complex Programmable Logic

Mehr

Liste Programmieren Java Überblick

Liste Programmieren Java Überblick Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe

Mehr

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme R. Merker, Technische Universität Dresden, Fakultät ET und IT J. Kelber, Fachhochschule Schmalkalden, ET Gliederung

Mehr

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

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (2) Architektur des Haswell- Prozessors (aus c t) Einführung

Mehr

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall: Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge

Mehr

Inhaltsübersicht. Einführung

Inhaltsübersicht. Einführung Inhaltsübersicht Einführung Operationsverstärker Grundlagen und Hilfsmittel des Entwurfs Design-Flow Synthese Analyse Modellierung VHDL-AMS SystemC,... Systemtheorie Übertragungsfunktionen Regelkreise

Mehr

Compiler. Einführung. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:

Compiler. Einführung. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung: Compiler Einführung Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................

Mehr

Compiler: Einführung

Compiler: Einführung Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................

Mehr

Übersicht aktueller heterogener FPGA-SOCs

Übersicht aktueller heterogener FPGA-SOCs Fakultät Informatik, Institut für Technische Informatik, Professur VLSI-Entwurfssysteme, Diagnostik und Architektur Übersicht aktueller heterogener FPGA-SOCs Vortrag zum Lehrstuhlseminar Tilo Zschau tilo.zschau@mailbox.tu-dresden.de

Mehr

Seminar: Multi-Core Architectures and Programming

Seminar: Multi-Core Architectures and Programming Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche

Mehr

Car on a Chip: Neue Steuergeräte-Architekturen mit Systems-on-Chip im Automobilbereich.

Car on a Chip: Neue Steuergeräte-Architekturen mit Systems-on-Chip im Automobilbereich. CoaCh Car on a Chip: Neue Steuergeräte-Architekturen mit Systems-on-Chip im Automobilbereich Olaf Spinczyk Horst Schirmeier Jochen Streicher Michael Engel Lehrstuhl XII AG Eingebettete Systemsoftware http://ess.cs.uni-dortmund.de/de/teaching/pgs/coach/

Mehr

FPGA. Field Programmable Gate Array

FPGA. Field Programmable Gate Array FPGA Field Programmable Gate Array FPGA Was ist das? Das FPGA ist ein relativ neuer, programmierbarer Baustein, der zum Aufbau digitaler, logischer Schaltungen dient. Aufbau Ein FPGA besteht aus einzelnen

Mehr

ASIC. Application-Specific Integrated Circuit. Technische Informatik K. Slotala

ASIC. Application-Specific Integrated Circuit. Technische Informatik K. Slotala ASIC Application-Specific Integrated Circuit Technische Informatik K. Slotala Was ist ASIC? Anwendungsspezifische Schaltung, die fest im Schaltkreis integriert ist An die Anforderungen der Anwender angepasst

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

Hardware Praktikum 2008

Hardware Praktikum 2008 HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf

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

Grundlagen der Rechnerarchitektur. MIPS Assembler

Grundlagen der Rechnerarchitektur. MIPS Assembler Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen

Mehr

Schwerpunktprogramm 1148 Rekonfigurierbare Rechensysteme. Rekonfigurierbare Controller

Schwerpunktprogramm 1148 Rekonfigurierbare Rechensysteme. Rekonfigurierbare Controller Schwerpunktprogramm 1148 Rekonfigurierbare Rechensysteme Rekonfigurierbare Controller Roland Kasper Thomas Reinemann Institut für Mechatronik und Antriebstechnik Otto-von-Guericke-Universität Magdeburg

Mehr

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller Mini- Mikroprozessor-Experimentier-System mit einem 8051-Mikrocontroller Version 1.0b vom 04.10.2004 14:21 Inhalt 1 Einleitung...3 2 Hardware...4 2.1 Übersicht...4 2.2 Mikrocontroller AT89C51RB2...5 2.3

Mehr

FPGA - aktuelle Bausteine und ihre Anwendungen von Altera

FPGA - aktuelle Bausteine und ihre Anwendungen von Altera FPGA - aktuelle Bausteine und ihre Anwendungen von Altera T E C H N I S C H E I N F O R M A T I K P R Ä S E N T A T I O N 1 8. 0 1. 2 0 1 8 B E R N H A R D S A N G M A T R I K E L N U M M E R : 6 4 0 3

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2009 5. April 2009 Vorteile bei der Verwendung höherer Programmiersprachen Vorteile bei der Verwendung höherer Programmiersprachen 1. Einfache Notation

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

Definitionen/Vorarbeit zum Thema Java

Definitionen/Vorarbeit zum Thema Java Definitionen/Vorarbeit zum Thema Java Programmiersprachen: System von Wörtern und Symbolen, die zur Formulierung von Programmen für die elektronische Datenverarbeitung verwendet werden. Arten: z.b. Javascript

Mehr

Mikrocomputertechnik

Mikrocomputertechnik J. Walter Mikrocomputertechnik mit der 8051-Controller-Familie Hardware, Assembler, C Mit 146 Abbildungen und 50 Tabellen Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona

Mehr

Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Prof. Dr.-Ing. J. Teich

Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Prof. Dr.-Ing. J. Teich Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Friedrich-Alexander-Universität Erlangen-Nürnberg Prof. Dr.-Ing. J. Teich Rückblick - Großrechner 2 Keine Computer im Haushalt? Ken Olsen, US-amerikanischer

Mehr

Objektorientierte Programmierung II

Objektorientierte Programmierung II Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem

Mehr

F Programmierbare Logikbausteine

F Programmierbare Logikbausteine 1 Einordnung Ebene 6 Problemorientierte Sprache Ebene 5 Assemblersprache F Programmierbare Logikbausteine Ebene 4 Ebene 3 Ebene 2 Ebene 1 Betriebssystem ISA (Instruction Set Architecture) Mikroarchitektur

Mehr

Mikroprozessortechnik Grundlagen 1

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

Mehr

Cell and Larrabee Microarchitecture

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

Mehr

Rechnergestützter VLSI-Entwurf

Rechnergestützter VLSI-Entwurf Schaltungssynthese Dipl.-Ing. e-mail: rgerndt@iam.de Seite SYN/1 Motivation Vereinfachung des Systementwurfes Weniger Fehler durch abstrakte Beschreibung Portierbarkeit der Schaltung (PLD, CPLD, FPGA,

Mehr

Mikrocomputertechnik mit der 8051-Controller-Familie

Mikrocomputertechnik mit der 8051-Controller-Familie Mikrocomputertechnik mit der 8051-Controller-Familie Hardware, Assembler, C Bearbeitet von Jürgen Walter Neuausgabe 2008. Buch. xiii, 311 S. ISBN 978 3 540 66758 2 Format (B x L): 15,5 x 23,5 cm Weitere

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Zwischenbericht zum Projekt FPGA-Entwurfssystem

Zwischenbericht zum Projekt FPGA-Entwurfssystem Zwischenbericht zum Projekt FPGA-Entwurfssystem Test und Integration von Synthese- und Layoutwerkzeugen für den FPGA-Entwurf Steffen, M.; Herrmann, P.; Möhrke, U.; Spruth, W.G. Universität Leipzig Augustusplatz

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

Konzepte von Betriebssystem-Komponenten

Konzepte von Betriebssystem-Komponenten Konzepte von Betriebssystem-Komponenten Thema: Research OS - JX Michael Schmidt (swmeschm@cip.informatik.uni-erlangen.de) Inhalt Was ist JX, warum wurde es entwickelt? Systemaufbau Performance-Vergleich

Mehr

An den Vizepräsident für Forschung, Entwicklung und Technologietransfer der Fachhochschule Braunschweig/Wolfenbüttel

An den Vizepräsident für Forschung, Entwicklung und Technologietransfer der Fachhochschule Braunschweig/Wolfenbüttel An den Vizepräsident für Forschung, Entwicklung und Technologietransfer der Fachhochschule Braunschweig/Wolfenbüttel Forschungsbericht (Kurzfassung) WS 02/03 Kreyßig, Jürgen, Prof. Dr., Institut für Verteilte

Mehr

Profitieren Sie von einer offenen und flexiblen Clouddienstplattform

Profitieren Sie von einer offenen und flexiblen Clouddienstplattform Microsoft Azure Profitieren Sie von einer offenen und flexiblen Clouddienstplattform Microsoft Azure ist eine wachsende Sammlung integrierter Clouddienste für Analysen, Computing, Datenbanken, Mobilgeräte,

Mehr

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

N Bit Binärzahlen. Stelle: Binär-Digit:

N Bit Binärzahlen. Stelle: Binär-Digit: N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)

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

Ein Vortrag von Kamal Laghmari im Fach: Technische Informatik

Ein Vortrag von Kamal Laghmari im Fach: Technische Informatik Vortrag über FPAA`s Ein Vortrag von im Fach: Technische Informatik Inhalt o Einführung in FPAA`s o Funktionsweise o Architektur o Switched Capacity (SC) o Entwicklungsmethoden o Anwendungsgebiete oausblick

Mehr

Modellbasierte Systementwicklung für Smarte Sensoren. Dr. Benjamin Schwabe, Andrea Hollenbach

Modellbasierte Systementwicklung für Smarte Sensoren. Dr. Benjamin Schwabe, Andrea Hollenbach Modellbasierte Systementwicklung für Smarte Sensoren Dr. Benjamin Schwabe, Andrea Hollenbach 26.5.217 Agenda 1 Einführung Smarte Sensoren 2 Entwicklung der Auswertealgorithmen und Code Generierung 3 Erweiterungen

Mehr

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007 Paderborn Center for Parallel l Computing Paderborn University 29. Mai 2007 Übersicht 1. FPGAs 2. Entwicklungssprache VHDL 3. Matlab/Simulink 4. Entwicklungssprache Handel-C 5. Fazit Übersicht FPGAs 1.

Mehr

Abkürzungen. Kapitel 1 - Einleitung Stand der Automobilelektronik Historische Entwicklung Gegenwärtige Probleme 2

Abkürzungen. Kapitel 1 - Einleitung Stand der Automobilelektronik Historische Entwicklung Gegenwärtige Probleme 2 Inhalt Abkürzungen X Kapitel 1 - Einleitung 1 1.1 Stand der Automobilelektronik 1 1.1.1 Historische Entwicklung 1 1.1.2 Gegenwärtige Probleme 2 1.2 Zielsetzung 5 1.3 Aufbau der Arbeit 6 1.4 Veröffentlichungen

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

Prozessorarchitektur SS2017 Rahmenbedingungen zum Praktikum

Prozessorarchitektur SS2017 Rahmenbedingungen zum Praktikum Prozessorarchitektur SS2017 Rahmenbedingungen zum Praktikum Vater, Frank Frohberg, Max 26.04.2017 Agenda 1 Rahmenbedingungen für das Praktikum 2 Überblick Designprozess 3 Einführung in VHDL 4 Bearbeitung

Mehr

Philipp Grasl PROZESSOREN

Philipp Grasl PROZESSOREN 1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION

Mehr

jinvent iolinker Press Kit

jinvent iolinker Press Kit jinvent iolinker Press Kit 1 Wer wir sind jinvent wurde 2008 im Raum Nürnberg gegründet, und hat seit dem innovative Hard- und Software entwickelt. Viel Erfahrung mit integrierten Industrie- und Konnektivitäts-Lösungen

Mehr

Was ist Rechnerleistung

Was ist Rechnerleistung Was ist Rechnerleistung Leistung im engeren Sinne: Leistung gemessen in seltsamen Einheiten, bestimmt vorwiegend von der Zentraleinheit: MIPS (Millionen Instruktionen pro Sekunde) FLOPS (Floating Point

Mehr

VarioTAP Einführung Hosea L. Busse

VarioTAP Einführung Hosea L. Busse VarioTAP Einführung Hosea L Busse GÖPEL electronic GmbH 2013 JTAG/Boundary Scan 1 Überblick Was ist VarioTAP? Prinzipielle Struktur eines µcontrollers VarioTAP Teststruktur VarioTAP Testkategorien VarioTAP

Mehr

Nichtflüchtige SRAM Speicher eine innovative Lösung für verlustleistungsarme autonome Sensorsysteme. Andreas Scade

Nichtflüchtige SRAM Speicher eine innovative Lösung für verlustleistungsarme autonome Sensorsysteme. Andreas Scade Nichtflüchtige SRAM Speicher eine innovative Lösung für verlustleistungsarme autonome Sensorsysteme Andreas Scade Inhalt 1. Was ist ein nvsram 2. Unterschied nvsram / Flash / EEPROM 3. nvsram Programmierung

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

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

Hardware Design Patterns.

Hardware Design Patterns. Hardware Design Patterns felix@entropia.de Wozu das Ganze? Passende Hardware nicht am Markt verfügbar oder völlig überteuert Spaß am Basteln und Lernen Überblick Anforderungen, Konzepterstellung Bauteilauswahl

Mehr

Entwurf von digitalen Schaltungen und Systemen mit HDLsundFPGAs

Entwurf von digitalen Schaltungen und Systemen mit HDLsundFPGAs Entwurf von digitalen Schaltungen und Systemen mit HDLsundFPGAs Einführung mit VHDL und SystemC von Prof. Dr.-Ing. Frank Kesel und Dr. Rüben Bartholomä 2., korrigierte Auflage Oldenbourg Verlag München

Mehr

MÖGLICHE LED DIMMFUNKTIONEN

MÖGLICHE LED DIMMFUNKTIONEN MÖGLICHE LED DIMMFUNKTIONEN STANDARD LED DIMMPROFILEN DA (DIM-AUTO) Automatische Regelung des Lichtstroms Der LED-Treiber hat ein automatisches Dimmprofil, das während der ersten und letzten Stunden des

Mehr

Arithmetikorientierte efpga-architekturen und deren Kopplung an SW-programmierbare Prozessorkerne

Arithmetikorientierte efpga-architekturen und deren Kopplung an SW-programmierbare Prozessorkerne Arithmetikorientierte efpga-architekturen und deren Kopplung an SW-programmierbare Prozessorkerne T. von Sydow, B. Neumann, H. Blume, T. G. Noll Lehrstuhl für Allgemeine Elektrotechnik und Datenverarbeitungssysteme

Mehr

MikroController und Mikroprozessoren

MikroController und Mikroprozessoren Uwe Brinkschulte Theo Ungerer MikroController und Mikroprozessoren 2. überarbeitete Auflage Mit 212 Abbildungen und 41 Tabellen Springer Inhaltsverzeichnis Vorwort Vorwort zur 2. Auflage Inhaltsverzeichnis

Mehr

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren der beiden Registerwerte $t1 und $t2 in einem Zielregister

Mehr

2.2 Register-Transfer-Synthese

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

Mehr

Heiko Bobzin Poet Software GmbH

Heiko Bobzin Poet Software GmbH Embedded Java - Entwicklungswerkzeuge für komplexe Geräte Heiko Bobzin Poet Software GmbH Überblick Embedded Java - was meint das? Komplexe Systeme - Ein Beispiel Edit, compile, debug,... Zusammenfassung

Mehr

Mikroprozessor (CPU)

Mikroprozessor (CPU) Mikroprozessor (CPU) Der Mikroprozessor (µp) ist heutzutage das Herzstück eines jeden modernen Gerätes. Er wird in Handys, Taschenrechnern, HiFi-Geräten und in Computern, für die er eigentlich erfunden

Mehr

2.5. Mikrocontroller-Komponenten

2.5. Mikrocontroller-Komponenten 2.5.6 DMA Für besonders schnellen Datentransfer können leistungsfähige Mikrocontroller Daten ohne Beteiligung des Prozessorkerns transportieren: DMA (Direct Memory Access) Ein DMA-Datentransfer kann stattfinden

Mehr

Digitale Signalprozessor - Architekturen im Überblick

Digitale Signalprozessor - Architekturen im Überblick Fakultät Informatik Institut für technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Digitale Signalprozessor - Architekturen im Überblick Dresden, 3. Februar 2010 Dirk

Mehr

10 Versuch Nr Anmerkungen zum Versuch Nr. 8

10 Versuch Nr Anmerkungen zum Versuch Nr. 8 10 Versuch Nr. 8 10.1 Anmerkungen zum Versuch Nr. 8 Während der letzten 4 Versuche haben Sie sich mit dem detaillierten Rechner-Entwurf beschäftigt. Im letzten Versuch konnten Sie abschließend einen kleinen

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

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005 Mikroprozessoren Aufbau und Funktionsweise Christian Richter Ausgewählte Themen der Multimediakommunikation SS 2005 Christian Richter (TU-Berlin) Mikroprozessoren AT MMK 2005 1 / 22 Gliederung Was ist

Mehr