Einsatz serieller Algorithmen für die Realisierung digitaler neuronaler Netze

Größe: px
Ab Seite anzeigen:

Download "Einsatz serieller Algorithmen für die Realisierung digitaler neuronaler Netze"

Transkript

1 Einsatz serieller Algorithmen für die Realisierung digitaler neuronaler Netze Andreas Wassatsch, Marc Haase, Dirk Timmermann Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik Richard-Wagner Str. 31, Rostock-Warnemünde {marc.haase, 1. Einleitung Abstract. In diesem Beitrag beschreiben wir einen Ansatz zur Realisierung von digitalen Neuroalen Netzen mittels serieller Datenverabeitungs-Algorithmen. Digit-Online, als ein Vertreter der Most- Significant-Digit-First Algorithmen besitzt im Vergleich zu parallelen digitalen Algorithmen entscheidende Vorteile. Die serielle Verbindung zwischen Digit-Online Modulen vereinfacht die Implementierung von verbindungsintensiven Netzwerken, da die Anzahl der seriellen Verbindungen im Gegensatz zu parallelen Verbindungen unabhängig von der Bitbreite der Daten ist. Als Beispiel dafür wird in diesem Beitrag die Realisierung eines vollständigen Neuronales Netzes einschließlich Lernverfahren vorgestellt. Neuronale Netze finden ihre Anwendung bei der Implementierung von Steuer- und Regelprozessen, deren Aufgabe bzw. Verhalten sich nur schwer durch einen Algorithmus darstellen, aber sehr gut an Hand von Verhaltensbeispielen beschreiben lässt. Neben der bezüglich der Speicherung der notwendigen Gewichte kritischen analogen Implementierungen finden auch digitale Realisierungen ihre Anwendung. Diese beschränken sich jedoch auf Grund der Komplexität der resultierenden Schaltung auf die Realisierung der für die Funktion des Netzes notwendigen Haupt-Komponenten, wie Verbindungsnetzwerk, Eingangsbewertung und Stimuli-Summierung [RAM92, ZEL97]. Ein weiteres Handicap der meist parallelen digitalen Realisierungen ist der Aufwand für die Verbindung der einzelnen Netzelemente. Daher verfolgen wir hier einen seriellen Ansatz, wodurch der Aufwand für die Verbindungen (interconnections) erheblich reduziert wird. Eine Verschachtelung der Teiloperationen ist nur mittels Most Signifikant Digit (MSD) first Algorithmen, wie dem verwendeten Digit-Online Verfahren möglich. Hiermit kann zugleich auch eine Realisierung eines gesamten digitalen Neuronalen Netzes in Form eines eigenständigen universellen Neuro-Prozessors erreicht werden. Das Design des vorgestellten Prozessors ist bezüglich der Netzparameter der Feed-Forward Architektur parametrisierbar. Als Lernverfahren wurde On- Chip das Backpropagation Lernverfahren in seiner Offline-Variante implementiert. In diesem Beitrag wird die eingesetzte serielle Arithmetik vorgestellt und anschließend die Realisation des Neuronalen Netzes mittels dieser Arithmetik beschrieben. Die Architektur des entwickelten Neuro-Prozessors und die Verifikation des Systems wird im Anschluss daran beschrieben. 2. Serielle Arithmetik Klassische mathematische Algorithmen der Datentechnik verarbeiten Daten parallel, wobei wie in Abbildung 1 dargestellt intern meist eine sequentielle Berechnung stattfindet. Vorteil dieser Verfahren ist die relativ geringe Latenzzeit auf Grund der gleichzeitig möglichen Berechnung von Teilaufgaben. Voraussetzung ist die Unabhängigkeit der Teilaufgaben voneinander, da sich ansonsten die Latenzzeit vergrößert. Deswegen ist dies nur bei einfachen Operationen möglich. Bei komplexeren Operationen stößt die parallele Verarbeitung an ihre Grenzen und man geht auf iterative oder serielle Datenverarbeitung über. Darüber hinaus sind parallele Algorithmen von der Datenbreite der Daten abhängig, und beanspruchen mit zunehmender Bitbreite auch mehr Chipfläche. Die Busstrukturen in diesen Systemen beanspruchen ebenfalls einen nicht unerheblichen Anteil an Chipfläche.

2 Abbildung 1: Datenstrom und interne Verarbeitung bei paralleler Abarbeitung Die serielle Ausführung der Berechnungsoperationen kann sowohl mit der niederwertigsten (Least Significant Digit first) bzw. mit der höchstwertigsten (Most Significant Digit first) Stelle beginnen. Der Schaltungsaufwand ist dabei im Vergleich zu parallelen Schaltungslösungen äußerst gering. Durch die zeitlich versetzte Abarbeitung von nahezu identischen Teilaufgaben ist eine gemeinsame Verwendung von Schaltungsstrukturen möglich. Ein weiterer Vorteil ist, dass durch die effiziente Verkettung von Grundoperationen zu einer komplexen Funktion, im Vergleich zu einer parallelen Realisierung eine kürzere Latenzzeit erzielt werden kann und eine geringere Chipfläche beansprucht wird. Bei der parallelen Berechnung von Grundfunktionen, wie die Addition oder Multiplikation, erfolgt eine sequentielle Bearbeitung von der niederwertigsten Stelle aus beginnend. Dieses Operationsprinzip kann bei der Serialisierung der Berechnung übernommen werden. Für höherwertige Funktionen wie die Berechnung der Division oder der Quadratwurzel existieren jedoch nur MSD Algorithmen. Bei einer Kaskadierung von LSD und MSD Funktionen ist bei jedem Wechsel der Datenrichtungen, wie in Abbildung 2dargestellt, eine Umkehrung der Datenströme durch eine LIFO-Struktur notwendig. Abbildung 2: Umkehr der Bitreihenfolge zwischen MSD und LSD Operationen Durch die Drehrichtungsumkehr erhöht sich die Latenzzeit um den Faktor der Datenwortlänge je Umkehrungsoperation, der Durchsatz einer solchen Architektur kann jedoch durch die doppelte Ausführung der LIFO-Struktur ausgeglichen werden. Als Alternative bietet sich die einheitliche Verwendung von MSD-Architekturen sowohl für die MSD-Funktionen als auch für die eigentlichen LSD-Funktionen, wie in Abbildung 3 dargestellt, an. Die Überführung der LSD-Funktionen in eine MSD-Architektur ist durch den Einsatz von redundanter Arithmetik möglich.

3 Abbildung 3: Kaskadierung von MSD Operationen 2.1. Digit-Online Algorithmen Ein Beispiel für serielle Datenverarbeitungsalgorithmen ist Digit Online. Die Daten werden hier mit dem Most Signifikant Digit (MSD) beginnend verarbeitet. Nach einem von der zu berechnenden Operation abhängigen Online-Delay wird das Ergebnis wieder seriell ausgegeben. Im Gegensatz zur Least Signifikant Digit First Methoden können bei MSDF komplexere Funktionen (Exponenzierung, Division) realisiert werden. Voraussetzung für Digit-Online Algorithmen ist die redundante Zahlendarstellung mit der Zahlenbasis r=2. Hierbei wird eine Stelle einer Zahl nicht mehr durch ein Bit repräsentiert, sondern durch 2 Bit. Diese 2 Bit werden zu einem Signed- Digit zusammengefasst, wobei das vordere Bit das Vorzeichen und das hintere die Wertigkeit des Digits repräsentiert. Durch das Vorzeichen-Bit lassen sich jetzt auch negative Zahlen darstellen. Die Tabelle 1 zeigt einige Beispiele für die Signed-Digit Darstellung von Dezimalzahlen. Dabei ist zu beachten, dass für eine Zahl mehrere redundante Zahlendarstellungen existieren können. Dezimale Darstellung Redundante Darstellung 0 [00] 1 [01] -1 [11] 4 [00][01] [00] [00] [01][11] [11] [11] -3 [11] [11] [11] [00][01] Tabelle 1 Redundante Zahlendarstellung Abbildung 4 zeigt den schematischen Aufbau eines Neurons und Abbildung 5 die Umsetzung mittels Digit-Online Algorithmen, die als Module aneinander gereiht werden können. Die Kaskadierung der Module setzt jedoch gleiche Datenwort- Längen voraus, damit die Vektoren stellenrichtig verarbeitet werden. Während einer Digit-Online Operation verlängert sich der Ergebnisvektor in Abhängigkeit der Operation durch hinzukommende Overflow-Digits bei der Addition, oder durch die Verdoppelung der Vektorlänge bei der Multiplikation. Dieser Vektorlängen Zuwachs muss bei nachfolgenden Operationen beachtet werden. In Abbildung 5 wird die jeweilige Vektorlänge und die Repräsentation der Kommastelle durch eine einheitliche Notation {x.y} dargestellt. Dabei gibt x die Anzahl der Vorkommastellen und y die Anzahl der Nachkommastellen an. Für den Fall, dass zueinander verschobene Vektoren verarbeitet werden sollen, müssen zusätzliche Verzögerungsstufen in den Datenstrom eingefügt werden. In Abhängigkeit vom maximal zulässigen Rechenfehler ist es möglich serielle Vektoren hinsichtlich der Vektorlänge zu kürzen. Dabei empfiehlt es sich beim LSD beginnend zu kürzen. An der Stelle des MSD ist es ebenfalls möglich Stellen durch Umkodierung der MSD Stellen einzusparen. Durch die Umkodierung tritt kein Rechenfehler auf, da für redundante Zahlen, wie bereits gesagt, unterschiedliche Repräsentationen existieren.

4 Abbildung 4: Schematischer Aufbau eines Neurons Abbildung 5: Realisierung des Neurons aus Digit Online Modulen 3. Neuronale Netze Neuronale Netze sind informationsverarbeitende Systeme, die aus einfachen Verarbeitungselementen, den Neuronen, aufgebaut sind. Sie sind Nachbildungen von biologischen Strukturen, wie sie sich zum Beispiel beim menschlichen Gehirn wiederfinden lassen. Dabei handelt es sich jedoch um eine starke Abstraktion vom biologischen Vorbild. Die einzelnen Verarbeitungselemente, die Neuronen, sind über gerichtete Verbindungen miteinander verbunden. Jede Verbindung ist durch einen Gewichtsfaktor in ihrer Stärke beeinflussbar. Die Gesamtheit der Neuronen steht für eine komplexe mathematische Funktion, die sich im Gegensatz zu regelbasierten Systemen nicht in Formeln ausdrücken lässt. Über ein Lernverfahren wird diese Funktion dem Netz eingeprägt. Elementarer Bestandteil und Grundverarbeitungselement eines Neuronalen Netzes ist das Neuron (Abbildung 4). Es summiert die am Eingang präsentierten und gewichteten Aktivitäten auf und ermittelt über eine Ausgangsfunktion seine eigene Aktivierung. Die Weiterleitung der Aktivierungen erfolgt entweder nur in eine Richtung (Feed-Forward-Netz), oder auch zurück auf den Eingang des Neurons (Rückgekoppeltes Netz). Im folgenden wird auf die Implementierung einer Feed- Forward-Architektur eingegangen. In Feed-Forward-Netzwerken sind die Neuronen einer Schicht mit allen Neuronen der folgenden Schicht verbunden. Die Anzahl der Verbindungen entspricht dem Produkt m aus der Anzahl der Neuronen benachbarter Schichten. Bei der parallelen digitalen Implementierung dieses Netzes ist jede Verbindung entsprechend der gewählten Zahlenbasis der zu übertragenden Aktivierungen n-bit breit. Die Anzahl der Verbindungen erhöht sich dadurch noch einmal um den Faktor n und führt zu einem vom Wertebereich abhängigen Verbindungsaufwand zwischen zwei Schichten von Neuronen. Diese Abhängigkeit von der Bitbreite n lässt sich durch Serialisierung der zu übertragenden Aktivierungen eliminieren. Die Anzahl der Verbindungen zwischen zwei Schichten von Neuronen reduziert sich dadurch auf ein Minimum [WAS00a] Aktivierungs- bzw. Ausgangsfunktion Die Berechnung des Ausgangszustandes aus der Aktivierung bzw. der gewichteten Netzeingabe des Neurons erfolgt im allgemeinen durch eine nichtlineare sigmoide Funktion, z.bsp. tanh(x), 1/ (1-e -x ). Die Implementierung dieser Funktion durch eine Potenzreihendarstellung überschreitet die durch die Anforderungen an die Chipfläche definierten Grenzen, so dass nach einer alternativen Implementierungsvariante gesucht werden musste. Zum Einsatz kommt daher eine Näherung auf Basis einer linearen Funktion erweitert um eine anschließende Sättigungsfunktion. Der durch diese Approximation entstehende Fehler kann durch die den neuronalen Netzen innewohnende Fähigkeit der Anpassung durch den Lernprozeß kompensiert werden. Zur Validierung der Approximation der Ausgangsfunktion wurden umfangreiche Matlab- Simulationen verschiedener Netzwerkmodelle durchgeführt. Ein Beispiel stellt die Lösungsvariante des akademischen XOR-Netzwerk Problems dar, dessen Ausgangsverhalten in Abbildung 6 dargestellt wird.

5 Abbildung 6: Lösungsvariante des akademischen XOR-Netzwerk Problems mit der Ausgangsfunktion tanh und zum Vergleich mit der Näherungsfunktion (mytanh)

6 4. Architektur des Neuro-Prozessors Das implementierte Neuronale Signalverarbeitungssystem besteht aus einem zweischichtigen Neuronalen Netz, mit konfigurierbarer Anzahl von Neuronen, dem Backpropagation Lernverfahren, einem internen Gewichtsspeicher und einem Steuerwerk, das die selbstständige Durchführung des Lernverfahrens ermöglicht. Die Abbildung 7 zeigt den schematischen Aufbau des entwickelten Neuro-Prozessors [HAA00]. Durch die Integration eines Steuerwerkes besitzt der Prozessor die Möglichkeit selbstständig eine gegebene Aufgabe mittels Lernvektoren, die über ein Interface vom externen Speicher eingelesen werden, zu erlernen und anschließend zu erfüllen. Damit der Prozessor in einer Umgebung mit paralleler Datenverarbeitung eingesetzt werden kann, findet die Parallel-Seriell- bzw. Seriell- Parallel-Wandlung im Prozessor statt. Dadurch sind zusätzliche Datenstromkonvertierungen außerhalb des Prozessors nicht erforderlich. Für die Beschreibung des Systems wurde die Hardwarebeschreibungssprache VHDL verwendet [HAA00]. Der Prozessor ist hinsichtlich Eingänge, Ausgänge, Anzahl der Neuronen, Bitbreite der Gewichte und Daten parametrisierbar. Dies wurde durch generische Beschreibung des Systems gewährleistet. Dadurch ist der Prozessor für unterschiedliche Netzwerkanforderungen, beschränkt auf Feed-Forward Architekturen, implementierbar. Der Aufbau des Prozessors ist modular. Dazu wurden die zu Grunde liegenden Digit Online Operationen mit einem zusätzlich erforderlichen Synchronisierungsalgorithmus [WAS00a] erweitert, der die Verkettung von einzelnen Digit-Online Operationen ohne zusätzlich zu implementierende Steuerungssignale ermöglicht. Ein einkommender Datenstrom wird vom Synchronisierungsalgorithmus erkannt, dieser initialisiert die Digit-Online Operation und startet die Abarbeitung. Nach der Operation wird das Digit-Online Modul wieder in den Anfangszustand zurückgesetzt. Das Neuronale Netz als Teilkomponente des Neuro-Prozessors wurde aus einzelnen Neuronen (Abbildung 5) hierarchisch aufgebaut. Neben dem Neuronalen Netz wurde auch der Lernalgorithmus mittels Digit-Online Modulen implementiert. Dieser lässt sich über Parameter an die Netzwerkstruktur generisch anpassen. Die Speicherung der Gewichte erfolgt in einem mit auf dem Prozessor integrierten Speicherbereich. Abbildung 7: Schematischer Aufbau des Neuro-Prozessors

7 5. Verifikation Die Simulation von Komponenten, die mit Hardwarebeschreibungssprachen, wie z.b. VHDL, Verilog entwickelt werden, stehen umfangreiche und leistungsfähige softwarebasierte Simulationsprogramme zur Verfügung. Diese setzen ihrerseits leistungsfähige Rechnersysteme voraus. Im Falle des hier entwickelten Neuro-Prozessors lassen sich derart komplexe Abläufe, wie z.b. das Lernverfahren nicht mehr befriedigend in Software simulieren, da die Simulationszeiten mit bis zu mehreren Stunden oder Tagen keine flexiblen Entwicklungsprozesse gestatten. Aus diesem Grund wurde für die Simulation das Hardware-Emulationssystem APTIX MVP3 eingesetzt [WAS00b]. Der zu simulierende Neuro-Prozessor wird mit Hilfe eines Synthesewerkzeuges auf frei programmierbare Hardwarebausteine (FPGA) abgebildet. Die Simulation lässt sich jetzt nahezu in Echtzeit durchführen und viel kürzere Simulationszeiten sind erreichbar. Im speziellen Fall standen 4 VIRTEX 1000 FPGA s der Firma XILINX zur Verfügung, auf die der Neuro- Prozessor abgebildet wurde. Die Verbindungen zwischen den FPGA s werden über Switch-Matrizen des APTIX Entwicklungssystem verschaltet. Ein an dieses System angeschlossener Logik-Analysator ermöglicht umfangreiche Messungen an den Steuer- und Datenleitungen des Neuro-Prozessors. 6. Zusammenfassung Abbildung 8: Hardware-Emulationssystem APTIX MVP3 Neuronale Netze lassen sich vollständig mit Hilfe von digitalen Signalverarbeitungsalgorithmen implementieren. Dabei konnte gezeigt werden, dass durch den Einsatz von seriellen Algorithmen der bei parallelen Implementierungen entstehende hohe Hardwareaufwand für Verbindungen zwischen benachbarten Neuronenschichten auf ein Minimum reduziert werden kann. Des weiteren lässt sich durch Koppelung von aufeinanderfolgenden Operationen eine bezüglich der Taktzyklen kürzere Latenzzeit erreichen. Der ausschließlich mittels seriellen Datenverarbeitungsalgorithmen implementierte Neuro- Prozessor ist auf Grund des integrierten Backpropagation-Lernverfahrens in der Lage, selbstständig eine Aufgabe zu lernen und anschließend auszuführen.

8 Literatur [HAA00] Marc Haase, Diplomarbeit: Untersuchung komplexer digitaler Signalverarbeitungsarchitekturen auf Eignung zur Abbildung auf eine sequentielle Zellbibliothek, Universität Rostock, 2000 [RAM92] U. Ramacher; Synapse- A Neurocomputer That Sythesizes Neural Algorithms on a Parallel Systolic Engine; Journal of Parallel and Distributed Computing, Vol. 14, p ;1992 [WAS00a] Wassatsch, A.; Haase, M.; Timmermann, D.; DOLFIN - Digit Online For Integrating Neural Networks; The IEEE International Symposium on Circuits and Systems (ISCAS 2000), Geneva, Switzerland, ISBN: , S. III , Mai 2000 [WAS00b] Wassatsch, A.; Haase, M.; Timmermann, D.; The DOLFIN Project: An application report on a consistent design and verification flow for a large digital neural network.; SNUGE 2000, Paris (France), S. A , März 2000 [ZEL97] Zell, A.; Simulation neuronaler Netze ; R. Oldenburg Verlag;München; 2. Auflage; 1997

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

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

Mehr

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

Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock. Seite 1 Implementierung Neuronaler Netze mittels Digit-Online Algorithmen Vortrag im Rahmen des 10. Symposium Maritime Elektronik 2001 M.Haase, A.Wassatsch, D.Timmermann Seite 2 Gliederung Was sind Neuronale

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

Algorithmen zur Division

Algorithmen zur Division Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest

Mehr

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren Mathias Schmalisch Hagen Ploog Dirk Timmermann Universität Rostock Übersicht Motivation Arithmetik Implementierung

Mehr

Mustererkennung: Neuronale Netze. D. Schlesinger ()Mustererkennung: Neuronale Netze 1 / 12

Mustererkennung: Neuronale Netze. D. Schlesinger ()Mustererkennung: Neuronale Netze 1 / 12 Mustererkennung: Neuronale Netze D. Schlesinger ()Mustererkennung: Neuronale Netze 1 / 12 Feed-Forward Netze y 1 y 2 y m...... x 1 x 2 x n Output Schicht i max... Zwischenschicht i... Zwischenschicht 1

Mehr

Perzeptronen. Katrin Dust, Felix Oppermann Universität Oldenburg, FK II - Department für Informatik Vortrag im Rahmen des Proseminars 2004

Perzeptronen. Katrin Dust, Felix Oppermann Universität Oldenburg, FK II - Department für Informatik Vortrag im Rahmen des Proseminars 2004 Perzeptronen Katrin Dust, Felix Oppermann Universität Oldenburg, FK II - Department für Informatik Vortrag im Rahmen des Proseminars 2004 1/25 Gliederung Vorbilder Neuron McCulloch-Pitts-Netze Perzeptron

Mehr

Der Backpropagation-Algorithmus als Beispiel für Lernalgorithmen künstlicher neuronaler Netze Reinhard Eck 1

Der Backpropagation-Algorithmus als Beispiel für Lernalgorithmen künstlicher neuronaler Netze Reinhard Eck 1 Der Backpropagation-Algorithmus als Beispiel für Lernalgorithmen künstlicher neuronaler Netze 2.04.2006 Reinhard Eck Was reizt Informatiker an neuronalen Netzen? Wie funktionieren Gehirne höherer Lebewesen?

Mehr

Konzepte der AI Neuronale Netze

Konzepte der AI Neuronale Netze Konzepte der AI Neuronale Netze Franz Wotawa Institut für Informationssysteme, Database and Artificial Intelligence Group, Technische Universität Wien Email: wotawa@dbai.tuwien.ac.at Was sind Neuronale

Mehr

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel: Multiplikand A: 1 1 0 1 0 Multiplikator

Mehr

Algorithmen zur Division

Algorithmen zur Division Algorithmen zur Division Umkehrung der Multiplikation: Berechnung von q = a / b durch wiederholte bedingte Subtraktionen und Schiebeoperationen in jedem Schritt wird Divisor b testweise vom aktuellen Rest

Mehr

Digitale Systeme und Schaltungen

Digitale Systeme und Schaltungen Zusammenfassung meines Vortrages vom 26. Jänner 2017 Digitale Systeme und Schaltungen Andreas Grimmer Pro Scientia Linz Johannes Kepler Universität Linz, Austria andreas.grimmer@jku.at In dieser Zusammenfassung

Mehr

Das Verfahren in Hardware

Das Verfahren in Hardware Das Verfahren in Hardware Links Shift 8 Bit Multiplikand Demonstration mit 1001 * 0110 = 110110 2.Links Shift 8 Bit ALU Rechts Shift 4 Bit Multiplikator 3.Rechts Shift 8 Bit Produkt 1. Produkt = Produkt

Mehr

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010 Das negative Zweierkomplementzahlensystem Ines Junold 23. Februar 2010 1 Inhaltsverzeichnis 1 Einleitung 3 2 Das konventionelle Zweierkomplement 4 2.1 Definition.......................................

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

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen Mathematische Werkzeuge für Computergrafik 2016/17 Gleitkommzahlen 1 Grundlagen 1 Da im Computer nur endliche Ressourcen zur Verfügung stehen, können reelle Zahlen in vielen Fällen nicht exakt dargestellt

Mehr

Künstliche Neuronale Netze

Künstliche Neuronale Netze Inhalt (Biologische) Neuronale Netze Schwellenwertelemente Allgemein Neuronale Netze Mehrschichtiges Perzeptron Weitere Arten Neuronaler Netze 2 Neuronale Netze Bestehend aus vielen Neuronen(menschliches

Mehr

SPKC. Inhalte der Vorlesung. Signalprozessoren und Kommunikationscontroller. Prof. Dr.-Ing. Peter Schulz. Signalprozessoren

SPKC. Inhalte der Vorlesung. Signalprozessoren und Kommunikationscontroller. Prof. Dr.-Ing. Peter Schulz. Signalprozessoren Signalprozessoren und Kommunikationscontroller für den Schwerpunkt Telekommunikationstechnik: für alle anderen Schwerpunkte: Pflichtfach Wahlpflichtfach Inhalte der Vorlesung Signalprozessoren Systemarchitekturen

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter

Mehr

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten Diskrete Ereignissysteme 4.4 Spezialisierungen von Petri Netzen Spezielle Netzstrukturen- Übersicht Ein S-T-Netz heisst Zustands-System gdw. gilt:. W(f) = für alle Kanten f F. 2. t = t = für alle Transitionen

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Großer Beleg. Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen. Peter Heinzig. 17.

Großer Beleg. Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen. Peter Heinzig. 17. Großer Beleg Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen Peter Heinzig 17. Januar 2011 1/23 Peter Heinzig Großer Beleg Überblick Einleitung 1 Einleitung

Mehr

Inhalt. Zahlendarstellungen

Inhalt. Zahlendarstellungen Inhalt 1 Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen

Mehr

BACKPROPAGATION & FEED-FORWARD DAS MULTILAYER PERZEPTRON

BACKPROPAGATION & FEED-FORWARD DAS MULTILAYER PERZEPTRON BACKPROPAGATION & FEED-FORWARD DAS MULTILAYER PERZEPTRON EINFÜHRUNG IN KÜNSTLICHE NEURONALE NETZE Modul Leitung Technischer Datenschutz und Mediensicherheit Nils Tekampe Vortrag Jasmin Sunitsch Abgabe

Mehr

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik Grundlagen der Rechnerarchitektur Binäre Logik und Arithmetik Übersicht Logische Operationen Addition, Subtraktion und negative Zahlen Logische Bausteine Darstellung von Algorithmen Multiplikation Division

Mehr

Zellulare Neuronale Netzwerke

Zellulare Neuronale Netzwerke Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Zellulare Neuronale Netzwerke Florian Bilstein Dresden, 13.06.2012 Gliederung 1.

Mehr

VHDL - CORDIC Verfahren

VHDL - CORDIC Verfahren VHDL - CORDIC Verfahren Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 04/12 1 / 30 Gliederung Motivation und Geschichte des CORDIC-Verfahrens CORDIC-Verfahren

Mehr

Grundlagen der Informatik I. Übung

Grundlagen der Informatik I. Übung Grundlagen der Informatik I Übung Studiengang Wirtschaftsingenieurwesen Wintersemester 1/13 Autor: Prof. Dr.-Ing. habil. Hans-Joachim Böhme HTW Dresden, Fachbereich Informatik/Mathematik Friedrich-List-Platz

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

Wir haben in den vorherigen Kapiteln verschiedene Verfahren zur Regression und Klassifikation kennengelernt (z.b. lineare Regression, SVMs)

Wir haben in den vorherigen Kapiteln verschiedene Verfahren zur Regression und Klassifikation kennengelernt (z.b. lineare Regression, SVMs) 6. Neuronale Netze Motivation Wir haben in den vorherigen Kapiteln verschiedene Verfahren zur Regression und Klassifikation kennengelernt (z.b. lineare Regression, SVMs) Abstrakt betrachtet sind alle diese

Mehr

Implementierung von Neuronalen Netzen mit LabVIEW und LabVIEW FPGA

Implementierung von Neuronalen Netzen mit LabVIEW und LabVIEW FPGA Virtuelle Instrumente in der Praxis VIP 2017 Implementierung von Neuronalen Netzen mit LabVIEW und LabVIEW FPGA Prof. Dr.-Ing. Alfred Rozek, Dirk Naparty Beuth Hochschule für Technik Berlin Kurzfassung

Mehr

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext Till Fischer 03.11.2011 FZI Forschungszentrum Informatik Embedded Systems & Sensors Engineering (ESS)

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 27 4. Vorlesung Inhalt Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag 2er-Komplement BCD Addition und Subtraktion binär dargestellter Zahlen Carry und Overflow Little Endian

Mehr

Innovative Rechnerarchitekturen Matthias Jauernig (B. Sc.),

Innovative Rechnerarchitekturen Matthias Jauernig (B. Sc.), Neurocomputer-Architekturen I ti R h hit kt Innovative Rechnerarchitekturen Matthias Jauernig (B. Sc.), 12.06.07 Überblick 1. Künstliche Neuronale Netze 2. Möglichkeiten der Parallelisierung 3. Neurocomputer-Architekturen

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen 121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;

Mehr

Künstliche Neuronale Netze

Künstliche Neuronale Netze Künstliche Neuronale Netze als Möglichkeit, einer Maschine das Lesen beizubringen Anja Bachmann 18.12.2008 Gliederung 1. Motivation 2. Grundlagen 2.1 Biologischer Hintergrund 2.2 Künstliche neuronale Netze

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

Chapter 1 Einführung. CCNA 1 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

Chapter 1 Einführung. CCNA 1 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von Chapter 1 Einführung CCNA 1 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von Rick Graziani Cabrillo College Vorbemerkung Die englische Originalversion finden Sie unter : http://www.cabrillo.cc.ca.us/~rgraziani/

Mehr

Perzeptronen. Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Perzeptronen. Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg Perzeptronen Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Perzeptronen 1 / 22 Gliederung 1 Schwellwert-Logik (MCCULLOCH-PITTS-Neuron)

Mehr

Wertebereiche, Overflow und Underflow

Wertebereiche, Overflow und Underflow Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare nicht negative Zahl annähernd 2,0 * 10 38 Größte darstellbare Zahl annähernd 2,0 * 10 38 Was, wenn die

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

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden. 70 Arithmetische Schaltungen Multiplikation vorzeichenbehafteter Zahlen Zur Multiplikation vorzeichenbehafteter Zahlen (er-komplement) kann auf die Schaltung für vorzeichenlose Multiplikation zurückgegriffen

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 8. Vorlesung Inhalt Gleitkomma-Darstellung Normalisierte Darstellung Denormalisierte Darstellung Rechnerarchitekturen Von Neumann-Architektur Harvard-Architektur Rechenwerk (ALU)

Mehr

Simulation eines Quantencomputers

Simulation eines Quantencomputers Simulation eines Quantencomputers J. Metzner, M. Schmittfull Simulation eines Quantencomputers p.1/34 Ziele des Projekts Entwicklung einer leistungsfähigen und effizienten Simulation eines Quantencomputers

Mehr

Darstellung von negativen binären Zahlen

Darstellung von negativen binären Zahlen Darstellung von negativen binären Zahlen Beobachtung für eine beliebige Binärzahl B, z.b. B=110010: B + NOT(B) ---------------------------------------------- = B + NOT(B) 1 + (Carry) ----------------------------------------------

Mehr

Tutorial Vivado/Verilog Teil 6 Zählerbasierter Taktgenerator

Tutorial Vivado/Verilog Teil 6 Zählerbasierter Taktgenerator Tutorial Vivado/Verilog Teil 6 Zählerbasierter Taktgenerator Prof. Dr.-Ing. Michael Karagounis Dipl.-Ing. Rolf Paulus 1. Motivation Das Ziel dieses Laborversuchs ist es, die Nutzung von synthetisierbaren

Mehr

HaDePrak WS 05/ Versuch

HaDePrak WS 05/ Versuch HaDePrak WS 05/06 10. Versuch 1 Das IEEE-Format Das Ziel dieser letzten Übung ist es, ein Fließkommapaket für die DLXzu implementieren. Der Einfachheit halber vernachlässigen wir hier im Praktikum jeglichen

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Problemreduktion durch Transformation am Beispiel des. Erweiterten Euklidschen Algorithmus

Problemreduktion durch Transformation am Beispiel des. Erweiterten Euklidschen Algorithmus Problemreduktion durch Transformation am Beispiel des Erweiterten Euklidschen Algorithmus Wolfgang Windsteiger JKU Linz, A 4040 Linz, Austria Kurzfassung Transformation beschreibt im Wesentlichen die algorithmische

Mehr

Computerarithmetik (15b)

Computerarithmetik (15b) Computerarithmetik (15b) Dazugehöriges Beispiel: Schleife Schritt Multiplikator Multiplikand Produkt 0 Anfangswerte 0011 0000 0010 0000 0000 1 1a: 1 -> Prod. = Prod. + Mcand 0011 0000 0010 0000 0010 2:

Mehr

Modellierung und Codegenerierung von SOC-Beschleunigermodulen am Beispiel eines Kalman-Filters

Modellierung und Codegenerierung von SOC-Beschleunigermodulen am Beispiel eines Kalman-Filters Modellierung und Codegenerierung von SOC-Beschleunigermodulen am Beispiel eines Kalman-Filters Erik Andresen 26.11.2010 1 / 21 Inhalt Inhalt 2 / 21 Hardware - FPGA FPGA als System on Chip SOC Roadmap Beschleunigung

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 21 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, dh Y = f (X

Mehr

Neuronale Netze. Gehirn: ca Neuronen. stark vernetzt. Schaltzeit ca. 1 ms (relativ langsam, vgl. Prozessor)

Neuronale Netze. Gehirn: ca Neuronen. stark vernetzt. Schaltzeit ca. 1 ms (relativ langsam, vgl. Prozessor) 29 Neuronale Netze Gehirn: ca. 10 11 Neuronen stark vernetzt Schaltzeit ca. 1 ms (relativ langsam, vgl. Prozessor) Mustererkennung in 0.1s 100 Schritte Regel 30 Was ist ein künstl. neuronales Netz? Ein

Mehr

Numerische Methoden. Thomas Huckle Stefan Schneider. Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker.

Numerische Methoden. Thomas Huckle Stefan Schneider. Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker. Thomas Huckle Stefan Schneider Numerische Methoden Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker 2. Auflage Mit 103 Abbildungen und 9 Tabellen 4Q Springer Inhaltsverzeichnis

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

Beschleunigung von Bild-Segmentierungs- Algorithmen mit FPGAs

Beschleunigung von Bild-Segmentierungs- Algorithmen mit FPGAs Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Algorithmen mit FPGAs Vortrag von Jan Frenzel Dresden, Gliederung Was ist Bildsegmentierung?

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

1 EINLEITUNG MESSKONZEPTE UND IHRE EIGENSCHAFTEN... 7

1 EINLEITUNG MESSKONZEPTE UND IHRE EIGENSCHAFTEN... 7 Property-Based Measurement Inhaltsverzeichnis 1 EINLEITUNG... 3 2 GRUNDLEGENDE DEFINITIONEN... 4 2.1 SYSTEME UND MODULE... 4 2.2 MODULARE SYSTEME...6 3 MESSKONZEPTE UND IHRE EIGENSCHAFTEN... 7 3.1 GRÖSSE...

Mehr

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider Versuch: Training des XOR-Problems mit einem Künstlichen Neuronalen Netz (KNN) in JavaNNS 11.04.2011 2_CI2_Deckblatt_XORbinaer_JNNS_2

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

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung

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

Mehr

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer. Digitaltechnik Aufgaben + Lösungen 2: Zahlen und Arithmetik Aufgabe 1 Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen a) 4 D b) 13 D c) 118 D d) 67 D Teilen durch die Basis des Zahlensystems.

Mehr

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Implementierung von Gleitkomma-Operationen

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Implementierung von Gleitkomma-Operationen Rechnerarithmetik Vorlesung im Sommersemester 2008 Eberhard Zehendner FSU Jena Thema: Implementierung von Gleitkomma-Operationen Eberhard Zehendner (FSU Jena) Rechnerarithmetik Gleitkomma-Operationen 1

Mehr

Parallele und verteilte Programmierung

Parallele und verteilte Programmierung Thomas Rauber Gudula Rünger Parallele und verteilte Programmierung Mit 165 Abbildungen und 17 Tabellen Jp Springer Inhaltsverzeichnis 1. Einleitung 1 Teil I. Architektur 2. Architektur von Parallelrechnern

Mehr

Generierung von Steuerungsprogrammcode für SPS und μc aus Petri-Netz-Modellen

Generierung von Steuerungsprogrammcode für SPS und μc aus Petri-Netz-Modellen Fachhochschule Köln Cologne University of Applied Sciences Fakultät für Informations-, Medien- und Elektrotechnik Institut für Automatisierungstechnik Labor für Informations- und Automatisierungstechnik

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Aufgabe 1: a) Bestimmen Sie die Darstellung der Zahl 113

Mehr

Zahlensysteme und Kodes. Prof. Metzler

Zahlensysteme und Kodes. Prof. Metzler Zahlensysteme und Kodes 1 Zahlensysteme und Kodes Alle üblichen Zahlensysteme sind sogenannte Stellenwert-Systeme, bei denen jede Stelle innerhalb einer Zahl ein besonderer Vervielfachungsfaktor in Form

Mehr

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control Control Beispiel Store R1 4 Bit Register R1 SUB 4 Bit Register R2 Store R2 R2 Bit 0 Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Eingabe R2 Bit 0 Zero 0 0 Ausgabe

Mehr

5. Aufgabenblatt mit Lösungsvorschlag

5. Aufgabenblatt mit Lösungsvorschlag Einführung in Computer Microsystems Sommersemester 2010 Wolfgang Heenes 5. Aufgabenblatt mit Lösungsvorschlag 19.05.2010 Aufgabe 1: Logik, Latch, Register Geben Sie für alle folgen reg-variablen an, ob

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

5 Zahlenformate und deren Grenzen

5 Zahlenformate und deren Grenzen 1 5 Zahlenformate und deren Grenzen 5.1 Erinnerung B-adische Zahlendarstellung Stellenwertsystem: Jede Ziffer hat ihren Wert, und die Stelle der Ziffer in der Zahl modifiziert den Wert. 745 = 7 100 + 4

Mehr

Programmieren 1 C Überblick

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

Mehr

Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers. Wissenschaftl. Arbeitstechniken und Präsentation

Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers. Wissenschaftl. Arbeitstechniken und Präsentation Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers 1. Was ist paralleles Programmieren 2. Bitoner Sortieralgorithmus 3. Quicksort a) sequenzielles Quicksort b) paralleles Quicksort

Mehr

6 Neuronale Modellierung: Der STAA-Ansatz

6 Neuronale Modellierung: Der STAA-Ansatz Bernd J. Kröger: Neuronale Sprachverarbeitung (Version 1.0.4) Seite 150 6 Neuronale Modellierung: Der STAA-Ansatz 6.1 Knoten: die STAA-Neuronensembles 6.1.1 Aktivierungslevel, Aktivierungsfunktion und

Mehr

Grundlagen der Technische Informatik / Digitaltechnik (GTI/DT)

Grundlagen der Technische Informatik / Digitaltechnik (GTI/DT) Klausur zur Vorlesung Grundlagen der Technische Informatik / Digitaltechnik (GTI/DT) Prof. Marco Platzner Fachgebiet Technische Informatik Universität Paderborn 25.3.2 Die Bearbeitungsdauer beträgt für

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

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

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt Rechenschaltungen Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 22 Gliederung Schieberegister Multiplexer Zähler Addierer 2 / 22 Schieberegister

Mehr

Abschlussklausur Informatik, SS 2012

Abschlussklausur Informatik, SS 2012 Abschlussklausur Informatik, SS 202 09.07.202 Name, Vorname: Matr.-Nr.: Unterschrift: Zugelassene Hilfsmittel: außer Stift und Papier keine Hinweis: Geben Sie bei allen Berechnungen den vollständigen Rechenweg

Mehr

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8 Inhaltsverzeichnis Vorwort Teil 1: Grundlagen 1 1 Einleitung 3 1.1 Grundbegriffe 3 1.2 Einheiten 5 1.3 Geschichte 6 1.4 Arten von Computern 8 2 Allgemeiner Aufbau eines Computersystems 15 2.1 Blockdiagramm

Mehr

Teil V. Programmierbare Logische Arrays (PLAs)

Teil V. Programmierbare Logische Arrays (PLAs) Teil V Programmierbare Logische Arrays (PLAs) 1 Aufbau von PLAs Programmierbares Logisches Array (PLA): Programmierbarer Einheitsbaustein aufgebaut als ein Gitter (Array) von Basisbausteinen (Zellen).

Mehr

Computergestützter IC- Entwurf

Computergestützter IC- Entwurf FHTW Berlin Fachbereich 1 Technische Informatik, D5TI Computergestützter IC- Entwurf Simulation eines Lauflichts Übungs- Beleg Abgabetermin: 07.02.2003, 366437 1 Inhaltsverzeichnis 1 Einleitung... 3 2

Mehr

Seminararbeit Sommersemester 2017

Seminararbeit Sommersemester 2017 Schaltkreise für die Addition Seminararbeit Sommersemester 2017 Bearbeitet von: Maximilian Breymaier (Matrikelnummer: 57214) Christoph Mantsch (Matrikelnummer: 57266) Betreuer: Prof. Dr. Thomas Thierauf

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

Proposal Masterarbeit

Proposal Masterarbeit Proposal Masterarbeit Martin Zenzes 9. Oktober 2009 Erstprüfer: Frank Kirchner Betreuer: Sebastian Bartsch Forschunggruppe Robotik DFKI Bremen Robert-Hooke-Str. 5 28359 Bremen Inhaltsverzeichnis Thema

Mehr

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 4.1: Zahlensysteme a) Bitte füllen Sie die leeren Zellen

Mehr

Carry Lookahead Adder

Carry Lookahead Adder Carry Lookahead Adder Mittels der Generate und Propagate Ausdrücke lässt ich dann für jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren: Für einen 4 Stelligen Addierer ergibt sich damit:

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

Asynchronous Chain True Single Phase Clock Logik (AC TSPC)

Asynchronous Chain True Single Phase Clock Logik (AC TSPC) Asynchronous Chain True Single Phase Clock Logik (AC TSPC) F. Grassert, A. Wassatsch, D. Timmermann Übersicht Grundlagen / Stand der Entwicklungen Verlustleistungsreduktion: Latch-freie Strukturen Weiterentwicklung:

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

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

Rechnernetze und Organisation

Rechnernetze und Organisation Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.

Mehr

Signale und Logik (3)

Signale und Logik (3) Signale und Logik (3) Zwischenbilanz der bisherigen Erkenntnisse: Prof. Dr. A. Christidis SS 205 Energieformen (z.b. Elektrizität) können auch als Signale (=Informationsträger) genutzt werden (vgl. Telegraph).

Mehr

b i Ergänzung zu Vollkonjunktionen (ohne Indizierung i = 0... n-1): q = a b a b q = a b q = a b a b a b

b i Ergänzung zu Vollkonjunktionen (ohne Indizierung i = 0... n-1): q = a b a b q = a b q = a b a b a b Ansatz: Die Realisierung von arithmetischen Operationen mit Logikgattern führt zu ähnlichen Verarbeitungsstrukturen für arithmetische und logische Befehle Parallele Zahlwort/oder Logikverarbeitung ist

Mehr

Optimierung auf rekonfigurierbaren Rechensystemen

Optimierung auf rekonfigurierbaren Rechensystemen Optimierung auf rekonfigurierbaren Rechensystemen Evolution in dynamisch rekonfigurierbarer Hardware Peter Bungert Hartmut Schmeck Institut für Angewandte Informatik und Formale Bescheibungsverfahren (AIFB)

Mehr

, 2015S Übungstermin: Mi.,

, 2015S Übungstermin: Mi., VU Grundlagen digitaler Systeme Übung 1: Zahlendarstellungen, Numerik 183.580, 2015S Übungstermin: Mi., 18.03.2015 Allgemeine Hinweise: Versuchen Sie beim Lösen der Beispiele keine elektronischen Hilfsmittel

Mehr

Rekurrente / rückgekoppelte neuronale Netzwerke

Rekurrente / rückgekoppelte neuronale Netzwerke Rekurrente / rückgekoppelte neuronale Netzwerke Forschungsseminar Deep Learning 2018 Universität Leipzig 12.01.2018 Vortragender: Andreas Haselhuhn Neuronale Netzwerke Neuron besteht aus: Eingängen Summenfunktion

Mehr

4. Daten. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

4. Daten. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 4. Daten K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 19. Okt. 2015 Was ist Informatik? Begriffsbestimmung (Gegenstand): "Informatik ist die Wissenschaft... der maschinellen Verarbeitung,

Mehr