Integration dynamisch rekonfigurierbarer Funktionseinheiten in Prozessoren

Größe: px
Ab Seite anzeigen:

Download "Integration dynamisch rekonfigurierbarer Funktionseinheiten in Prozessoren"

Transkript

1 Integration dynamisch rekonfigurierbarer Funktionseinheiten in Prozessoren Thilo Pionteck, Thomas Stiefmeier, Thorsten Staake, Lukusa D. Kabulepa, Manfred Glesner Technische Universität Darmstadt Lehrstuhl für Mikroelektronische Systeme Karlstr. 15, D Darmstadt Abstract: Dieser Beitrag befaßt sich mit der Integration dynamisch rekonfigurierbarer Architekturen als Funktionseinheiten in RISC Prozessoren mit Befehls-Pipeline. Dabei wird insbesondere auf die Organisation der Konfigurationsdaten sowie die Kontrolle des eigentlichen Rekonfigurationsprozesses eingegangen. Es wird eine Architektur vorgeschlagen, welche leicht in eine Vielzahl von Prozessorarchitekturen integriert werden kann, ohne Änderungen an der Pipelinesteuerung vornehmen zu müssen. 1 Einleitung Die Integration rekonfigurierbarer Architekturen in Prozessoren eröffnet völlig neue Anwendungsbereiche für den Einsatz rekonfigurierbarer Logik. Eigneten sich bisher primär nur datenflußorientierte Anwendungen für eine Abbildung auf rekonfigurierbarer Logik, so vereinfacht die enge Kopplung von rekonfigurierbarer Logik mit einem Prozessor auch die Realisierung von kontrollflußorientierten Anwendungen auf solchen Systemen. Dabei übernimmt der Prozessor den kontrollflußdominierten Anteil der Anwendung, während der rechenintensive Anteil auf der rekonfigurierbaren Architektur abgebildet werden kann. Es existieren eine Reihe von unterschiedlichen Ansätzen zur Kombination von rekonfigurierbarer Logik mit einem Prozessor, wobei ein Großteil dieser Entwürfe die lose Anbindung der rekonfigurierbaren Einheit an den Prozessor mit Hilfe eines Prozessor- oder I/O- Busses bevorzugt. In solch einem System übernimmt die rekonfigurierbare Einheit aber primär die Aufgabe eines Koprozessors, statt eine Einheit aus Prozessor und rekonfigurierbarer Logik zu bilden. Eine engere Ankopplung kann erreicht werden, indem der rekonfigurierbare Block als Funktionseinheit in den Datenpfad des Prozessors integriert wird. Ein häufig genannter Nachteil einer solchen Integration ist, daß auf diese Art integrierte Funktionseinheiten oft nur Operationen von einem oder wenigen Taktzyklen ausführen können [Hj00]. Dies ist zum einen dadurch bedingt, daß rekonfigurierbare Funktionseinheiten oft keine eigenen Zustandsregister beinhalten, zum anderen kann es bei Operationen über mehrere Taktzyklen zu Konflikten in der Pipelineabarbeitung kommen. Ein weiteres Problem ist die Rekonfiguration. Da nur kleinere Aufgaben von der rekonfigurierbaren Funktionseinheit ausgeführt werden können, ist eine häufige Rekonfiguration notwendig. 155

2 Dies kann zu relativ hohen Rekonfigurationskosten führen. Wie trotz dieser Probleme eine effiziente Integration einer rekonfigurierbaren Funktionseinheit in einen Prozessor erfolgen kann, wird im Laufe dieses Beitrags dargelegt. Die Gliederung des Beitrages ist folgende: Kapitel 2 befaßt sich mit den verschiedenen Ansätzen zur Integration rekonfigurierbarer Logik in Prozessoren. Kapitel 3 behandelt die Konfigurationssteuerung der in diesem Beitrag vorgestellten Architektur. Die Integration der rekonfigurierbaren Einheit in einen RISC-Prozessor wird im 4. Kapitel vorgestellt. Eine Bewertung der Architektur wird im Kapitel 5 vorgenommen. Zum Schluß erfolgt eine Zusammenfassung der Ergebnisse in Kapitel 6. 2 Ansätze zur Integration rekonfigurierbarer Logik in Prozessoren Für die Integration rekonfigurierbarer Hardware in Prozessoren gibt es drei unterschiedliche Ansätze. Die einfachste und flexibelste Methode ist die Anbindung einer rekonfigurierbaren Einheit über einen I/O Bus. Die Kopplung zwischen rekonfigurierbarer Einheit und Prozessor entspricht dabei der von Prozessoren in einem Multiprozessorsystem. Der größte Nachteil einer solchen Kopplung liegt in der langsamen Kommunikation zwischen Prozessor und rekonfigurierbarer Einheit, bedingt durch den I/O Bus. Ein solcher Systementwurf lohnt sich daher nur, wenn sehr rechenintensive Aufgaben auf die rekonfigurierbare Einheit ausgelagert werden können. Vorteile eines solchen Systems sind sein einfacher Entwurf, einfache Programmierung und ein hohes Maß an erreichbarer Parallelität [BLD02, CH02]. Beispiele für solche Architekturen sind unter anderem PipeRench [LTS9], Sonic [HCL00] und Splash2 [Aj93]. Eine engere Kopplung der rekonfigurierbaren Einheit mit dem Prozessor stellt die Anbindung als Koprozessor dar. Hier können Prozessor und rekonfigurierbare Einheit über einen schnellen Bus miteinander kommunizieren, so daß die Rekonfigurationskosten reduziert werden. Auch ist es der rekonfigurierbaren Einheit nun selbst möglich, auf den Datenspeicher zuzugreifen, was den Prozessor zusätzlich entlastet. Verglichen mit der Anbindung über einen I/O Bus eignet sich ein Koprozessor-System auf Grund der geringen Kommunikationskosten besser für die Bearbeitung feingranularer Befehlssequenzen. Exemplarisch für diese Form der Kopplung zwischen Prozessor und rekonfigurierbarer Einheit seien Garp [HW97], Napa-1000 [Rc98] und Remarc [MO98] genannt. Eine noch engere Kopplung kann durch die Integration der rekonfigurierbaren Einheit als Funktionseinheit in einen Prozessor erfolgen. Die rekonfigurierbare Funktionseinheit (RFU) wird dabei in den Datenpfad des Prozessors parallel zu den vorhandenen Funktionseinheiten eingefügt. Somit entstehen praktisch keine Kommunikationskosten zwischen Prozessor und RFU, da die RFU direkten Zugriff auf die Register des Prozessors besitzt. Probleme solch einer Architektur sind, wie bereits in der Einleitung erwähnt, die Beschränkung auf Operationen, welche nur einen oder wenige Taktzyklen benötigen sowie die Rekonfiguration und die Pipelineintegration. Beispiele solcher Architekturen sind P-RISC [RS94], OneChip98 [JC99] und Chimaera [Hc97]. 156

3 3 Konfigurationssteuerung In diesem Kapitel wird ein Lösungsansatz für die Probleme vorgestellt, welche im vorherigem Kapitel als Nachteil von RFUs genannt wurden, nämlich Rekonfiguration und die Beschränkung auf einen oder wenige Taktzyklen. Das Problem der Pipelineintegration wird anschließend im 4. Kapitel behandelt. Die Rekonfiguration kann insofern ein Problem darstellen, als daß sie durch den Prozessor gesteuert wird, der in dieser Zeit nicht seiner eigentlichen Aufgabe, der Programmabarbeitung, nachkommen kann. Es ist daher erstrebenswert, den Prozessor von der Rekonfigurationssteuerung zu entlasten. Die Rekonfigurationskosten können ebenfalls dadurch reduziert werden, daß mehrere Konfigurationen für die RFU in einem Konfigurationsspeicher vorgehalten werden. Mit Hilfe eines Befehles ist es dann möglich, die entsprechende Konfiguration auszuwählen und gleichzeitig die Daten an die RFU zu übertragen. Die Leistungsfähigkeit der RFU kann zusätzlich dadurch erhöht werden, daß ein automatisches Umschalten zwischen den einzelnen Konfigurationen im Konfigurationsspeicher ermöglicht wird, so daß autonom eine Sequenz von Konfigurationen abgearbeitet werden kann. extern Reconfiguration Memory Addr Data a b RFU out Addr prog. unit Configuration Tables Table 2 Table 3 Table 1 run unit Addr table select Table 4 Table 5 instruction word control signal from RFU Abbildung 1: Konfigurationssteuerung Eine Möglichkeit, solch ein System zu realisieren, ist in Abbildung 1 dargestellt. Die Konfigurationssteuerung teilt sich dabei in drei Bereiche auf: Konfigurationstabellen, Programmiereinheit und Ablaufsteuerung. Der Aufbau der RFU selbst ist unabhängig von der hier vorgeschlagenen Architektur und wird daher nicht weiter behandelt. Auch stellen die hier verwendeten Speichergrößen und Bitbreiten nur Beispielwerte dar. 157

4 Aufbauend auf der Beobachtung, daß je nach Anwendungung ein Teil der Konfigurationsbits mehrerer Konfigurationsvektoren gleich sind, wurde der Konfigurationsspeicher in mehrere Tabellen aufgeteilt. Wie der Abbildung 1 entnommen werden kann, besteht der Konfigurationsspeicher aus insgesamt fünf verschieden großen Tabellen, wobei die Tabellen 2/4 und 3/5 identisch sind. Mit Hilfe eines externen Steuersignals tab select kann zwischen diesen Tabellen umgeschaltet werden. Der Konfigurationsvektor setzt sich aus insgesamt drei Tabelleneinträgen entsprechend der folgenden Formel zusammen. con f ig vector = Tab1[i][2::0]&Tab Var[tab select][tab1[i][7::3]]&tab Const[tab select] Tab Const[tab select] bezeichnet wahlweise Tabelle 3 bzw. Tabelle 5. Diese Tabellen besitzen jeweils nur einen Eintrag und dienen zur Speicherung eines konstanten Bitvektors. Je nach Anwendung können diese Tabellen auch Informationen zur Kontrolle der Ablaufsteuerung enthalten. Tab Var[tab select][tab1[i][7..3]] selektiert einen Eintrag in der Tabelle 2 bzw. Tabelle 4, entsprechend der ersten acht Bit des von der Ablaufsteuerung ausgewählten Tabelleneintrages von Tabelle 1. Zusätzlich beinhaltet Tabelle 1 noch einige wenige Bits, die direkt dem Konfigurationsvektor hinzugefügt werden oder zur Kontrolle der Ablaufsteuerung verwendet werden. Die Tabelle 2 und Tabelle 4 dienen zur Speicherung der sich von einer zur nächsten Konfiguration ändernden Teile des Konfigurationsvektors. Das Laden der Tabellen wird durch die Programmiereinheit der Konfigurationssteuerung übernommen. Durch Vorgabe einer Speicheradresse im externen Konfigurationsspeicher, Angabe der Tabelle(n), Position und Länge der zu ladenden Konfiguration erfolgt das Laden unabhängig vom Prozessor. Somit ist nur ein Befehl zum Starten des Konfigurationsvorganges erforderlich, der Ladevorgang selbst erfolgt parallel zur normalen Programmabarbeitung. Auch ist ein Ladevorgang während des Betriebes der RFU möglich. Zu diesem Zweck ist die Tabelle mit dem variablem Anteil des Konfigurationsvektors sowie die Tabelle mit dem konstanten Konfigurationsvektor doppelt vorhanden (Tabellenpaare 2/3, 4/5). Während ein Tabellenpaar zur Konfiguration der RFU genutzt wird, kann das andere Tabellenpaar umgeladen werden. Somit ist eine echte dynamische Rekonfiguration der RFU möglich. Um auch komplexere Operationen auf der RFU realisieren zu können, ist es wichtig, Berechnungen über mehrere Taktzyklen hinweg durchführen zu können. Dabei soll nicht nur eine Konfiguration über mehrere Taktzyklen hinweg aktiv sein, sondern es soll auch ein dynamisches Umkonfigurieren zwischen den Taktzyklen möglich sein. Diese Aufgabe übernimmt die Ablaufsteuerung der Rekonfigurationssteuerung. Die wichtigste Eigenschaft der Ablaufsteuerung ist, daß sie ohne Kontrolle durch den Prozessor automatisch eine Sequenz von Konfigurationen an die RFU anlegen kann. Die einzelnen Betriebsarten der Ablaufsteuerung sind im Folgenden beschrieben. Das Ziel des Entwurfs war es, ausgehend vom Aufbau der Konfigurationstabellen mit möglichst einfacher Kontrolllogik eine flexible Konfigurationssteuerung zu entwickeln, die ggf. für andere Anwendungen angepasst werden kann. 158

5 3.1 Einfache Operation Diese Betriebsart wird bei Operationen verwendet, die nur einen Taktzyklus benötigen. Durch Auswahl eines Eintrages aus Tabelle 1 wird ein Konfigurationsvektor durch die anderen Tabellen zusammengesetzt und im gleichen Takt zur Konfiguration der RFU verwendet, die ebenfalls im gleichem Takt die Berechnung ausführt. In dieser Betriebsart entspricht die hier vorgestellte Konfigurationssteuerung der vieler anderer Architekturen. 3.2 Sequenz von Operationen Bei dieser Betriebsart kommt der Vorteil des Aufteilens des Konfigurationsspeichers in einzelne Tabellen zum Tragen. Ausgehend von einem durch den Prozessor vorgegebenen Eintrag wählt die Ablaufsteuerung nacheinander alle Einträge der Tabelle 1 aus. Dieser Vorgang wird erst durch einen zweiten Befehl des Prozessors gestoppt. Somit kann eine Sequenz von Konfigurationsvektoren an die RFU angelegt werden und dadurch auch komplexere Berechnungen über mehrere Taktzyklen hinweg von der RFU ausgeführt werden. Nun ist es auch bei komplexeren Operationen nicht immer notwendig, daß pro Takt eine neue Konfiguration erfolgen muß. Eine komplexe Operation kann in mehrere Operationen unterteilt sein, die jede für sich mehrere Taktzyklen benötigt. Würde nun für jeden Takt der gesamte Konfigurationsvektor gespeichert, so wäre der Speicheraufwand für dieses Verfahren sehr hoch. Bei der hier vorgestellten Konfigurationssteuerung wird dieses Problem umgangen, indem im Falle eines zeitweise konstanten Konfigurationsvektors die einzelnen Einträge in Tabelle 1 auf den gleichen Eintrag in Tabellen 2/4 zeigen. Somit ist es möglich, wesentlich längere Konfigurationssequenzen zu erzeugen als Einträge in den Tabellen 2/4 vorhanden sind. 3.3 Schleifen Für komplexere Berechnungen kann es auch notwendig sein, sich wiederholende Konfigurationsequenzen in Schleifen zu realisieren. Wird dieser Mechanismus benötigt, werden die zur Adressierung von Tabelle 2/4 überzähligen Bits der Einträge von Tabelle 1 nicht zum Konfigurationsvektor hinzugefügt, sondern zur Kontrolle der Ablaufsteuerung verwendet. Somit können in der Tabelle 1 auch Schleifen kodiert werden. Die Anzahl der Schleifendurchläufe und die Sprungsadresse ist in der Tabelle 3/5 festgelegt. Je nach Größe der Tabelle 3/5 und Anzahl der zur Verfügung stehenden Bits in Tabelle 1 können mehrere Schleifen in einer Sequenz von Konfigurationen realisiert werden. 159

6 3.4 Sprünge Entsprechend dem Mechanismus zur Realisierung von Schleifen können auch bedingte und unbedingte Sprünge innerhalb von Tabelle 1 realisiert werden. Im Falle von bedingten Sprüngen müssen entsprechende Kontrollsignale von der RFU zur Ablaufsteuerung transferiert werden. Bedingte Sprünge stellen somit den einzigen Fall dar, bei dem die RFU an die hier vorgestellte Konfigurationssteuerung angepasst werden muß. 4 Prozessorintegration Die Integration der im vorangegangenen Kapitel vorgestellten Konfigurationssteuerung in die Pipelinestruktur eines Prozessors wird im Folgendem exemplarisch anhand eines RISC-Prozessors mit fünf Pipelinestufen vorgestellt. Zu diesem Zweck wird die JAM CPU [LTN02] verwendet, ein 32-Bit RISC-Prozessor, welcher der DLX-Architektur von Hennessy und Patterson [HP96] entspricht. start address dest src 1 src 2 t table (a) Operation über einen Takt src 1 src 2 # instructions t start address table (b) Operation über mehrere Takte RU table # words to start addr start address ROM sel. select load table (c) Laden der Konfigurationstabellen Abbildung 2: Befehlsformate Der Befehlssatz des Prozessors wurde um insgesamt drei Befehle erweitert; einen zum Laden der Konfigurationstabellen und zwei zur Ausführung von Operationen in der RFU. Der Aufbau der drei neuen Befehle ist in Abbildung 2 dargestellt. Die beiden Befehle zum Betrieb der RFU unterscheiden sich in der Länge der auszuführenden Operation. Abbildung 2(a) zeigt den Befehl zur Ausführung einer Operation von der Dauer eines 160

7 Taktes, während Abbildung 2(b) den Befehl zur Starten einer Sequenz von Operationen darstellt. Während die Realisierung von einfachen Operationen (ein Taktzyklus) mit Hilfe der RFU bezüglich einer Pipelineintegration kein Problem darstellt, kann es bei der Realisierung einer Sequenz von Operationen zu Pipelinekonflikten kommen. Bild 3 zeigt solch einen Fall. In diesem Beispiel führt die RFU eine Berechnung über vier Tayktzyken durch. Nach Beendigung der vierten EX-Phase kann es bei den darauf folgenden MEM- und WB-Phasen zu Ressourcenkonflikten mit den korrespondierenden Phasen der kommen. Bei der hier vorgestellten Implementierung wird dieses Problem umgangen, indem der Befehl zur Ausführung von Operationen über mehrere Taktzyklen keine MEM- und WB-Phase enthält, daher ist auch keine Zieladresse im Befehlsformat von Abbildung 2(b) enthalten. Das Ergebnis einer Berechnung über mehrere Takte muß von einem Befehl zur Ausführung einer einfachen Operation gelesen werden. Dadurch wird auch gleichzeitig die Abarbeitung einer Sequenz von Konfigurationen unterbrochen. Abbildung 4 verdeutlicht diese Vorgehensweise. RFU IF ID EX EX EX EX MEM WB Abbildung 3: Pipelinekonflikte RFU RFU IF ID EX EX EX EX EX Abbildung 4: Vermeidung von Ressourcekonflikten Die Integration einer RFU mit der beschriebenen Konfigurationssteuerung in den Datenpfad der JAM-CPU ist in Abbildung 5 dargestellt. Alle Änderungen gegenüber dem normalen Datenpfad sind im Bild hervorgehoben. In diesem Beispiel wurde der externe Konfigurationsspeicher in den Befehlsspeicher des Prozessors integriert, so daß dieser Speicher zwei gleichzeitige Lesezugriffe unterstützen muß. Die RFU befindet sich in der gleichen Pipelinestufe wie die und verfügt auch über die gleichen Anbindungen an 161

8 die Registerbänke. Lediglich eine Rückkopplung des Ausgangs der RFU auf ihren Eingang ist nicht vorgesehen, da dies durch die Unterstützung von Operationen über mehrere Taktzyklen innerhalb der RFU erfolgen sollte. IF ID EX MEM WB Instruction Decode CTRL CTRL CTRL IM / CM extern PC 4 IWord PC RCU Run Control RCU Config. Control IX REGISTERS Config. Tables reg a reg b imm PC dest RFU FUs PSW OUT IN res reg PC dest DM extern 31 mem reg dest 0 Abbildung 5: Integration der Konfigurationssteuerung und RFU im RISC Prozessor 5 Ergebnisse Die hier vorgestellte Konfigurationssteuerung wurde zusammen mit einer RFU zur Unterstützung von rechenintensiven Aufgaben (Verschlüsselung, Fehlerkorrektur) innerhalb des MAC (Medium Access Control)-Layers von OFDM-basierten WLANs realisiert [Tp04]. Als Prozessormodell wurde die bereits erwähnte JAM-CPU verwendet. Die Syntheseergebnisse zeigen, daß nur ungefähr 6.5% der Gesamtfläche für die Konfigurationssteuerung benötigt werden. Von diesen 6.5% der Gesamtfläche entfallen 33% auf die Kontrolllogik (Ablaufsteuerung und Programmiereinheit) und 67% auf die Konfigurationstabellen. Die Realisierung des Speichers erfolgte dabei unter Verwendung von RAM-Makroblöcken. Die Zahlen verdeutlichen, daß der Rekonfigurationsaufwand auf ein akzeptables Maß reduziert werden konnte. Die Architektur unterstützt auch eine gute Ausnutzung der Parallelität zwischen RFU und anderen Funktionseinheiten des Prozessors. Obwohl bei der Ausführung eines Befehls über mehrere Taktzyklen sowohl die zu verarbeitenden Daten als auch das Ergebnis der Berechnung mit Hilfe von zusätzlichen Befehlen zu bzw. von der 162

9 RFU transportiert werden müssen, ist in den meisten Fällen eine Auslastung der RFU und der anderen Funktionseinheiten des Prozessors von über 90% gegeben. Da das Laden der Konfigurationstabellen zu 90% parallel zum Betrieb der RFU und der anderen Funktionseinheiten erfolgen kann, reduziert eine dynamische Änderung der Konfigurationstabellen die Auslastung der einzelnen Funktionsblöcke in nur geringem Maße. 6 Zusammenfassung In diesem Beitrag wurde eine Konfigurationssteuerung für rekonfigurierbare Funktionseinheiten in Prozessoren vorgestellt. Das hier vorgeschlagene Verfahren ermöglicht eine problemlose Integration von rekonfigurierbaren Funktionseinheiten auch in Prozessoren mit Befehls-Pipeline, ohne daß dabei die Pipelinesteuerung verändert werden muß. Durch ein geschicktes Aufteilen der Konfigurationsdaten wurde der dafür benötigte Speicherplatz minimiert. Mit Hilfe einer einfachen Ablaufsteuerung ist es möglich, nahezu beliebig lange Sequenzen von Konfigurationen abzuarbeiten, so daß eine rekonfigurierbare Funktionseinheit auch komplexere Berechnungen über mehrere Taktzyklen hinweg durchführen kann. Literatur [Hj00] [CH02] [BLD02] [LTS9] [HCL00] [Aj93] [HW97] Hauser, John R.: Augmenting a Microprocessor with Reconfigurable Hardware, Ph.D. Thesis, University of California, Berkeley, 2000 Compton, Katherine; Hauck, Scott: Reconfigurable Computing: A Survey of Systems and Software, ACM Computing Surveys, vol. 34, no. 2, June 2002 Barat, Francisco.; Lauwereins, Rudy; Deconinck, Geert: Reconfigurable Instruction Set Processors from a Hardware/Software Perspective, IEEE Transaction on Software Engineering, vol. 28, issue 9, September 2002 Laufer, Ronald; Taylor, R. Reed; Schmit, Herman: PCI-PipeRench and SwordAPI: A system for Stream-based Reconfigurable Computing, Proceeding of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM 99), April 1999 Haynes, Simon D.; Cheung, Peter Y.K.; Luk, Wayne: Video Image Processing with the Sonic Architecture, Computer: Innovative Technology for Computer Professionals, vol. 33, no.4, IEEE Computer Society, April 2000 Arnold, Jeffrey M.; Buell, Duncan A.; Hoang, Dzung T.; Pryor, Daniel V.; Shirazi, Nabeel; Thistle, Mark R.: The Splash 2 Processor and Applications, Proceeding of the IE- EE International Conference on VLSI in Computers and Processors (ICCD 93), Oktober 1993 Hauser, John R.; Wawrzynek, John; GARP: A MIPS Processor with a Reconfigurable Coprocessor, Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM 97), April

10 [Rc98] [MO98] Rupp, Charle R.; Landguth Mark; Garverick, Tim; Gomersall, Edson; Holt, Harry; Arnold, Jeffrey M; Gokhale, Maya: The NAPA Adaptive Processsing Architectures, IEEE Symposium on Field Programmable Custom Computing Machines, 1998 Miyamori, Takashi; Olukotun, Kunle: A Quantitative Analysis of Reconfigurable Coprocessors for Multimedia Applications, Proceedings of the IEEE Symposium on Field- Programmable Custom Computing Machines (FCCM 98), April 1998 [RS94] Razdan, Rahule; Smith, Michael D.: A High-Performance Microarchitecture with Hardware-Programmable Functional Units, Proceedings of the 27th Annual International Symposium on Microarchitecture, November 1994 [JC99] Jacob, Jeffrey A.;Chow, Paul: Memory Interfacing and Instruction Specification for Reconfigurable Processors, Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA 99), 1999 [Hc97] Hauck, Scott; Fry, Thomas W.; Hosler, Matthew M.; Kao, Jeffrey P.: The Chimaera Reconfigurable Function Unit, Proceedings of the IEEE Symposium on Field- Programmable Custom Computing Machines (FCCM 97), April 1997 [LTN02] [HP96] [Tp04] Lindström, Anders; Thelin, John E.; Nordseth, Michael: JAM CPU Core - A RISC CPU core written in VHDL, e8mn/web/jam/index.html, 2002 Hennessy, John L.; Patterson, David A.: Computer Architecture: A Quantitative Approach, Morgan Kaufmann Publishers, 1996 Pionteck, Thilo; Staake, Thorsten; Stiefmeier, Thomas, Kabulepa, Lukusa D.; Glesner, Manfred: Design of a Reconfigurable AES Encryption/Decryption Engine for Mobile Terminals, accepted for publication at IEEE International Symposium on Circuits and Systems (ISCAS 2004), Mai

Rekonfigurierbare Prozessoren für die Sicherungsschicht in Mobilfunksystemen

Rekonfigurierbare Prozessoren für die Sicherungsschicht in Mobilfunksystemen Rekonfigurierbare Prozessoren für die Sicherungsschicht in Mobilfunksystemen Dipl.-Ing. Thilo Pionteck Professor Dr. Dr. h. c. mult. Manfred Glesner Karlstrasse 15 6423 Darmstadt Übersicht Motivation Dynamisch

Mehr

Dynamisch rekonfigurierbare Prozessoren für Mobilfunksysteme

Dynamisch rekonfigurierbare Prozessoren für Mobilfunksysteme DFG Schwerpunktprogramm Rekonfigurierbare Rechensysteme Anschlusskolloquium in Tübingen, 28./29.04.2005 Dynamisch rekonfigurierbare Prozessoren für Mobilfunksysteme Dipl.-Ing. Heiko Hinkelmann, (Dr.-Ing.

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC HSD RISC &CISC CISC - Complex Instruction Set Computer - Annahme: größerer Befehlssatz und komplexere Befehlen höhere Leistungsfähigkeit - Möglichst wenige Zeilen verwendet, um Aufgaben auszuführen - Großer

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Prozessor Übersicht Datenpfad Control Pipelining Data Hazards Control Hazards Multiple Issue Grundlagen der Rechnerarchitektur Prozessor 2 Datenpfad einer einfachen MIPS

Mehr

Dynamisch rekonfigurierbare Systeme für drahtlose Sensornetzwerke

Dynamisch rekonfigurierbare Systeme für drahtlose Sensornetzwerke DFG Schwerpunktprogramm Rekonfigurierbare Rechensysteme Zwischenkolloquium in Darmstadt, 01./02 Juni 2006 Dynamisch rekonfigurierbare Systeme für drahtlose Sensornetzwerke Dipl.-Ing. Heiko Hinkelmann,

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:

Mehr

Hyperrekonfigurierbare Hardware - Modelle, Partitionierungsprobleme und Schedulingstrategien

Hyperrekonfigurierbare Hardware - Modelle, Partitionierungsprobleme und Schedulingstrategien Hyperrekonfigurierbare Hardware - Modelle, Partitionierungsprobleme und Schedulingstrategien Sebastian Lange Martin Middendorf Parallelverarbeitung und Komplexe Systeme Inhalt Einführung Hyperrekonfiguration

Mehr

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer Aufgabe 8.1 Ausnahmen (Exceptions) a. Erklären Sie den Begriff Exception. b. Welche Arten von Exceptions kennen Sie? Wie werden sie ausgelöst und welche Auswirkungen auf den ablaufenden Code ergeben sich

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

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

Mehr

Entwurf und Optimierung heterogener ASIP-eFPGA-Architekturen

Entwurf und Optimierung heterogener ASIP-eFPGA-Architekturen Entwurf und Optimierung heterogener ASIP-eFPGA-Architekturen T. von Sydow, B. Neumann, H. Blume, T. G. Noll Lehrstuhl für Allgemeine Elektrotechnik und Datenverarbeitungssysteme RWTH Aachen Übersicht Motivation

Mehr

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

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

Mehr

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Prinzipieller Aufbau und Funktionsweise eines Prozessors Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg

Mehr

Umstellung auf neue Pipeline

Umstellung auf neue Pipeline new_pipe Umstellung auf neue Pipeline»» Umstellung auf neue Pipeline Core mit 2 Port Registerfile In dieser Konfiguration wird am Registerfile ein Phasensplitting durchgeführt, um in jedem Takt 2 Register

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

Teil 1: Prozessorstrukturen

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

Mehr

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

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control

Mehr

Prozessorarchitektur. Sprungvorhersage. M. Schölzel

Prozessorarchitektur. Sprungvorhersage. M. Schölzel Prozessorarchitektur Sprungvorhersage M. Schölzel Inhalt Sprungvorhersage statische Methoden dynamische Methoden Problem Fetch-Phase Befehlswarteschlange Speicher b? Neue Adresse für noch nicht bekannt

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Übung 7 Datum : 22.-23. November 2018 Pipelining Aufgabe 1: Taktrate / Latenz In dieser Aufgabe

Mehr

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)

Mehr

HS Technische Informatik

HS Technische Informatik Technische Universität Dresden Fakultät Informatik Institut Technische Informatik HS Technische Informatik Architektur eines dynamisch rekonfigurierbaren Rechnersystems Johannes.Goerner@mailbox.tu-dresden.de

Mehr

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion) Auch hier wieder Aus voriger Wahrheitstabelle lässt sich mechanisch eine kombinatorische Schaltung generieren, die wir im Folgenden mit dem Control Symbol abstrakt darstellen. Instruction[31 26] (also:

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

Arbeitsfolien - Teil 4 CISC und RISC

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

Mehr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr

Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch , 14:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 7 Implementierung von Programmsteuerbefehlen in einer Befehlspipeline Abgabefrist: Mittwoch 21.06.2017, 14:00 Uhr 1.1. Einführung Programmsteuerbefehle

Mehr

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

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

Mehr

Technische Informatik 1 - HS 2017

Technische Informatik 1 - HS 2017 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 8 Datum: 30. 11. 1. 12. 2017 In dieser Übung soll mit Hilfe des Simulators WinMIPS64 die

Mehr

EHP Einführung Projekt A

EHP Einführung Projekt A Volker Dörsing EHP Einführung Projekt A email: doersing@uni-jena.de praktische Übung www: http://users.minet.uni-jena.de/~ehp-head Vorbereitung, Durchführung, Kolloquium Infos zur Veranstaltung, Versuchsanleitung

Mehr

Übungsblatt 6. Implementierung einer Befehlspipeline

Übungsblatt 6. Implementierung einer Befehlspipeline Praktikum zur Vorlesung Prozessorarchitektur SS 2016 Übungsblatt 6. Implementierung einer Befehlspipeline 1.1. Einführung Durch die Einteilung der Befehlsverarbeitung in mehrere Zyklen in dem vorangegangenen

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

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

Motivation. Eingebettetes System: Aufgabe:

Motivation. Eingebettetes System: Aufgabe: Motivation n Aufgabe: n Eingebettetes System: Computersystem, das in einen technischen Kontext eingebettet ist - also ein Computer, der ein technisches System steuert oder regelt. Das sind z.b. das Antiblockiersystem,

Mehr

Rekonfigurierbare Prozessoren

Rekonfigurierbare Prozessoren 15 Rekonfigurierbare Prozessoren 1 Inhalt Vorhandene Architekturen Rekonfigurierbare Systeme Rekonfigurierbare Hardware Rekonfigurierbarer Instruction Set Processor CRISP 2 DSP Processor Spec FU Spec FU

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

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

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

RISC - Architekturen. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

RISC - Architekturen. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach RISC - Architekturen Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht CISC - RISC Hintergrund Merkmale von RISC-Architekturen Beispielarchitektur SPARC Zusammenfassung 2 1 CISC - RISC

Mehr

Technische Informatik I - HS 18

Technische Informatik I - HS 18 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 8 Musterlösung zu Übung 5 Datum : 8.-9. November 8 Aufgabe : MIPS Architektur Das auf der nächsten

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

Was ist die Performance Ratio?

Was ist die Performance Ratio? Was ist die Performance Ratio? Wie eben gezeigt wäre für k Pipeline Stufen und eine große Zahl an ausgeführten Instruktionen die Performance Ratio gleich k, wenn jede Pipeline Stufe dieselbe Zeit beanspruchen

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

Technische Informatik 1 - HS 2016

Technische Informatik 1 - HS 2016 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2016 Lösungsvorschläge für Übung 6 Datum: 24. 25. 11. 2016 Pipelining 1 Taktrate / Latenz In dieser

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

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere

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

Rechnerarchitektur (RA)

Rechnerarchitektur (RA) 2 Rechnerarchitektur (RA) Sommersemester 27 Pipelines Jian-Jia Chen Informatik 2 http://ls2-www.cs.tu.de/daes/ 27/5/3 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken

Mehr

Rechnerarchitektur (RA)

Rechnerarchitektur (RA) 2 Rechnerarchitektur (RA) Sommersemester 26 Pipelines Jian-Jia Chen Informatik 2 http://ls2-www.cs.tu.de/daes/ 26/5/25 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken

Mehr

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping. Hw-Sw-Co-Design Emulation und Rapid Prototyping Hw-Sw-Co-Design Simulation von komplexen ICs Design level Description language Primitives Simulation time (instructions/cycle) Algorithm HLL Instruction sets 10-100 Architecture

Mehr

Emulation und Rapid Prototyping

Emulation und Rapid Prototyping Emulation und Rapid Prototyping Hw-Sw-Co-Design Simulation von komplexen ICs Design level Description language Primitives Simulation time (instructions/cycle) Algorithm HLL Instruction sets 10-100 Architecture

Mehr

DIGITALE SCHALTUNGEN II

DIGITALE SCHALTUNGEN II DIGITALE SCHALTUNGEN II 3. Sequentielle Schaltkreise 3.1 Vergleich kombinatorische sequentielle Schaltkreise 3.2 Binäre Speicherelemente 3.2.1 RS Flipflop 3.2.2 Getaktetes RS Flipflop 3.2.3 D Flipflop

Mehr

Partitionierung von rechenintensiven Aufgaben zwischen FPGA und CPUs

Partitionierung von rechenintensiven Aufgaben zwischen FPGA und CPUs Partitionierung von rechenintensiven Aufgaben zwischen FPGA und CPUs Embedded Computing Conference 2017 Tobias Welti, Dr. M. Rosenthal High Performance Embedded Platforms ZHAW Institute of Embedded Systems

Mehr

Verteidigung der Studienarbeit ANALYSE DER BEOBACHTBARKEIT DER FEHLERFORTPFLANZUNG IN EINEM MIKROPROZESSOR ANHAND VERSCHIEDENER TRACE-KONFIGURATIONEN

Verteidigung der Studienarbeit ANALYSE DER BEOBACHTBARKEIT DER FEHLERFORTPFLANZUNG IN EINEM MIKROPROZESSOR ANHAND VERSCHIEDENER TRACE-KONFIGURATIONEN Verteidigung der Studienarbeit ANALYSE DER BEOBACHTBARKEIT DER FEHLERFORTPFLANZUNG IN EINEM MIKROPROZESSOR ANHAND VERSCHIEDENER TRACE-KONFIGURATIONEN Dresden, 11.05.2017 Matthias Brinker Gliederung 1.

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

Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden Nutzerdesigns auf Rekonfigurierbarer Hardware

Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden Nutzerdesigns auf Rekonfigurierbarer Hardware Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden

Mehr

Ressourceneffiziente Informationsverarbeitung Universität Bielefeld, CITEC, AG-KS Martin Kaiser.

Ressourceneffiziente Informationsverarbeitung Universität Bielefeld, CITEC, AG-KS Martin Kaiser. Ressourceneffiziente Informationsverarbeitung Universität Bielefeld, CITEC, AG-KS Martin Kaiser www.its-owl.de Ressourceneffiziente Informationsverarbeitung Anwendungsdomänen Verkehrstechnik IKT Medizintechnik

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 2: Speicherarchitekturen in Mikrocontrollern und AOStuBS Christoph Borchert Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/~chb/

Mehr

Vortrag zum Ergebnis der Literaturrecherche. Fehlerinjektion mittels Trace-Architektur auf einem Mips-Prozessor. Matthias Brinker

Vortrag zum Ergebnis der Literaturrecherche. Fehlerinjektion mittels Trace-Architektur auf einem Mips-Prozessor. Matthias Brinker Vortrag zum Ergebnis der Literaturrecherche Fehlerinjektion mittels Trace-Architektur auf einem Mips-Prozessor Matthias Brinker Dresden, 27.10.2016 Gliederung 1. Einleitung und Motivation 2. Trace-Architektur

Mehr

Assembler am Beispiel der MIPS Architektur

Assembler am Beispiel der MIPS Architektur Assembler am Beispiel der MIPS Architektur Frühere Einsatzgebiete MIPS Silicon Graphics Unix Workstations (z. B. SGI Indigo2) Silicon Graphics Unix Server (z. B. SGI Origin2000) DEC Workstations (z.b.

Mehr

Übungsblatt 5 Entwurf eines Mehrzyklen-Datenpfads Abgabefrist: Mittwoch , 10:00 Uhr

Übungsblatt 5 Entwurf eines Mehrzyklen-Datenpfads Abgabefrist: Mittwoch , 10:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2018 Übungsblatt 5 Entwurf eines Mehrzyklen-Datenpfads Abgabefrist: Mittwoch 16.05.2018, 10:00 Uhr 1.1. Einführung In Übung 4 haben Sie einen Einzyklen-Datenpfad

Mehr

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45 Pipelining Die Pipelining Idee Grundlagen der Rechnerarchitektur Prozessor 45 Single Cycle Performance Annahme die einzelnen Abschnitte des MIPS Instruktionszyklus benötigen folgende Ausführungszeiten:

Mehr

ReCoNodes. Optimierungsmethodik zur Steuerung hardwarekonfigurierbarer Knoten

ReCoNodes. Optimierungsmethodik zur Steuerung hardwarekonfigurierbarer Knoten Projekt Optimierungsmethodik zur Steuerung hardwarekonfigurierbarer Knoten Prof. Dr. Sándor Fekete Prof. Dr.-Ing. Jürgen Teich Dipl.-Math. Jan van der Veen Dipl.-Ing. Mateusz Majer Dipl.-Ing. Diana Göhringer

Mehr

Von-Neumann-Architektur

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

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie im Buchhandel

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

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

Teil 1: Prozessorstrukturen

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

Mehr

Computer-Architektur Ein Überblick

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

Mehr

STUDIENARBEIT: ZWISCHENPRÄSENTATION

STUDIENARBEIT: ZWISCHENPRÄSENTATION STUDIENARBEIT: ZWISCHENPRÄSENTATION Trace-basierte Verifikation der FPGA-Implementierung eines MIPS-Prozessors Valentin Gehrke Dresden, 12.01.2017 Inhalt 1. Einleitung 2. Thema 3. Literatur 4. Aufgaben

Mehr

Multi-Port-Speichermanager für die Java-Plattform SHAP

Multi-Port-Speichermanager für die Java-Plattform SHAP Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Multi-Port-Speichermanager für die Java-Plattform SHAP DASS 2008 Martin Zabel, Peter

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Mehrprozessorarchitekturen

Mehrprozessorarchitekturen Mehrprozessorarchitekturen (SMP, UMA/NUMA, Cluster) Arian Bär 12.07.2004 12.07.2004 Arian Bär 1 Gliederung 1. Einleitung 2. Symmetrische Multiprozessoren (SMP) Allgemeines Architektur 3. Speicherarchitekturen

Mehr

Tutorium Rechnerorganisation

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

Mehr

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset. Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten

Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten E. Zenker 24. Februar 2011 1 / 20 Gliederung 1. Satisfiability Testing 2. FPGAs 3. Aktuelle Hardware SAT Solver

Mehr

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : ESI Semesterendprüfung 15.6.2009 Name : Klasse : Punkte : Note : Zeit: 12.50 bis 13.35 Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf die Rückseite

Mehr

Technische Informatik 1 - HS 2016

Technische Informatik 1 - HS 2016 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2016 Lösungsvorschläge für Übung 8 Datum: 8. 9. 12. 2016 1 Instruktionsparallelität VLIW Gegeben

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 20.03.09 4-1 Heutige große Übung Ankündigung

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

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

Lösungsvorschlag 10. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag. Übung Technische Grundlagen der Informatik II Sommersemester 29 Aufgabe.: MIPS-Kontrollsignale Für die 5 Befehlstypen a) R-Format

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

Rechnerorganisation. H.-D. Wuttke `

Rechnerorganisation. H.-D. Wuttke ` Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau

Mehr

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Grundlagen der Rechnerarchitektur. Ein und Ausgabe Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

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

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Steuerwerk einer CPU Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Implementierung des Datenpfads Direkte Implementierung Mikroprogrammierung

Mehr

Tutorium Rechnerorganisation

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

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung CUDA und Python Christian Wilms Integriertes Seminar Projekt Bildverarbeitung Universität Hamburg WiSe 2013/14 12. Dezember 2013 Christian CUDA und Python 1 Gliederung 1 Motivation 2 (GP)GPU 3 CUDA 4 Zusammenfassung

Mehr