Peter Marwedel Informatik 12

Slides:



Advertisements
Ähnliche Präsentationen
Zusammenarbeit ‚Schule – Universität‘ Welche Möglichkeiten optimaler und langfristiger Zusammenarbeit zwischen Schule und Universität gibt es? Prof. Dr.
Advertisements

Vom HW-Automaten zum Prozessor
2. 5 Kommunikation, Ein-/Ausgabe (E/A) - engl
Der Einfachstrechner in Aktion
Fakultät für informatik informatik 12 technische universität dortmund Optimum Scheduling, Allocation, and Resource binding (OSCAR) Peter Marwedel TU Dortmund.
Constantin Timm Informatik 12 TU Dortmund
Instruction Set Architecture (ISA)
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
2.3 Register-Transfer-Strukturen
Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen -
P. Marwedel Informatik 12, U. Dortmund
Fakultät für informatik informatik 12 technische universität dortmund Lehrstuhl Informatik 12 Technische Informatik/Eingebettete Systeme Arbeitsbereich.
Mikroarchitektursynthese - Scheduling -
2.5 Vektorrechner & Multimedia-Erweiterungen
Fakultät für informatik informatik 12 technische universität dortmund Die Speicherhierarchie - Hauptspeicher - Peter Marwedel Informatik 12 TU Dortmund.
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
0 Energieeffiziente Compilierung für Digitale Signalprozessoren Markus Lorenz Peter Marwedel Rainer Leupers Projekt Prozessorarchitekturen und Compilertechniken.
Agenda Die Hardwearkomponenten und ihre Funktionen - Mikroprozessor
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 12 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Informatik Klasse 7 Grundlagen.
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Technische Informatik I
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Technische Informatik I
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Technische Informatik II Vorlesung 12bis: Mehr über Security Sommersemester 2001 Prof. Peter B. Ladkin PhD Universität Bielefeld.
Vorlesung 9.1: Erinnerung Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 9.1: Erinnerung Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
1 | GI GS Bonn, 2008(c) Gesellschaft für Informatik e.V. (GI) Netzwerken für junge Informatiker/innen Die Gesellschaft für Informatik stellt sich vor.
Technische universität dortmund Universitätsbibliothek Hans-Georg Becker | InetBib 2.0, Podcasting an der UB Dortmund.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
2.3 Register-Transfer-Strukturen
Ideen zur Gestaltung von Vorlesungen
Fachprojekte „Entwurf Eingebetteter Systeme”
Novosibirsk Staatliche Technische Universität Student: Toropov I.A. Gruppe: АМ-511 Fakultät: Automatiken und der Rechentechnik Lehrer: Luchihina L.F.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Aufbau und Funktionsweise
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
COMPUTER AIDED MANUFACTURING
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Eine Präsentation von Lena Sauter & Corinna Nawatzky
Technische Informatik II
Technische Informatik II
Technische Informatik II
Technische Informatik II Übung 7: Automaten Implementierungsaspekte
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
Eine Übersicht von Margarete Streitwieser
Lehrstuhl Informatik 12 Technische Informatik/Eingebettete Systeme Arbeitsbereich Marwedel - Lehrangebot, Forschung - Peter Marwedel Tel.: (0231)
Markus Jochim Universität Essen
UML Präsentation Team 2 Projekt Sportereignis
Rechnerstrukturen 3b. Endliche Automaten.
Universitätsbibliothek technische universität dortmund Studierendenbefragung 2008 Vom bis zum hatten Studierende der Technischen Universität.
Speicher CPU Steuerwerk Rechenwerk 1 Befehlsregister 2 Befehlszähler 3
Fakultät für informatik informatik 12 technische universität dortmund Lab 2: Heterogeneous System Modeling in Ptolemy - Session 6 - Peter Marwedel Heiko.
Vom Prozessor zum System
Vom HW-Automaten zum Prozessor
 Präsentation transkript:

Peter Marwedel Informatik 12 Controllersynthese Peter Marwedel Informatik 12

Aufteilung in Rechenwerk und Controller Die Bausteine eines Rechenwerks müssen in jedem Kontrollschritt kontrolliert werden.  Aufgabe der Controller-synthese. Netzwerk zur Berechnung des Folge-zustandes () Zustandsregister PC Netzwerk zur Berechnung der Steuerworte () y Controller Clock Asynchrone Rückkopplung wenn beides Mealy-Automaten sind. Rechenwerk

Beispiel: MIPS µArchitektur gemäß RS Steuerwerk (Controller) IorD MemRead IRWrite zero B MemWrite RegWrite § TargetWrite PC Speicher i2 a2 a1 i3 a3 a2 a1 o2 o1 31:26 1 1 ALU Speicher 25:21 T 20:16 1 Rechenwerk Befehlsregister IR Reg 2 1 alu_ control 4 1 * § 31: 28 "00“ 15:11 sign_ extend 15:0 2 25:0 3 1 <<2 *

Das Steuerwerk (Moore-Automat) Verhalten, vereinfacht µPC Takt Struktur Eingabe: Opcode PCWrite PCSource .............. Ausgabe Zustand Mikroprogrammspeicher * fetch decode RRR lw jmp sw beq rr1 branch jump mar mar' lw load store rr2 branch2 * Folgezustand bestimmt durch Mikropro-grammspeicher, bei decode aus dem Opcode

Zustandreduktion Idee: Zustände sind äquivalent, wenn sie für alle Eingaben dieselben Ausgaben erzeugen und dieselben Nachfolger haben: Äquivalente Zustände können durch einen Zustand ersetzt werden. Beispiel: Theorie äquivalenter Zustände bekannt

Erinnerung: GTI; hier: Sieling, SS 2005

Erinnerung: GTI; hier: Sieling, SS 2005

Erinnerung: GTI; hier: Sieling, SS 2005

Erinnerung: GTI; hier: Sieling, SS 2005

Hier: Betrachtung der Ausgabe © S. Devadas (MIT): http://csg.csail.mit.edu/u/d/devadas/public_html/6.373/lectures/l08/P011.html

FSM Minimierung © S. Devadas (MIT): http://csg.csail.mit.edu/u/d/devadas/public_html/6.373/lectures/l08/P011.html

Beispiel-Minimierung © S. Devadas (MIT): http://csg.csail.mit.edu/u/d/devadas/public_html/6.373/lectures/l08/P011.html

Vereinfachter Automat © S. Devadas (MIT): http://csg.csail.mit.edu/u/d/devadas/public_html/6.373/lectures/l08/P011.html

Erweiterung: Controller mit einem Stack Stapel (stack) erlaubt parameterlose Unterprogramme f/p, push d d a f/p g/q, pop b c a‘ f/p, push d‘ d‘ e/o e‘/o‘

Zustandskodierung Aufwand für die Implementierung von  und  hängt von der Kodierung ab. Regelbasierte Kodierungsmethode in ASYL [Saucier et al.]: 3 Klassen von Regeln:

1. Join-Regeln (1) Betrachte Fälle, in denen für Eingabe e Übergänge zu demselben Folgezustand erfolgen. Sei i Bit des Folgezustands mit zi =1. Um das Bit bei Eingabe von e zu setzen, wird der Ausdruck zi = e (an ...a2 a1  bn ..b2 b1) benötigt.

Join-Regeln (2) Um das Bit bei Eingabe von e zu setzen, wird der Ausdruck zi = e (an ...a2 a1  bn ..b2 b1) benötigt. Sei der Hamming-Abstand der Kodierung der Ausgangszustände =1, also z.B: Dann berechnen sich die Zustandsbits des Folgezustands mit einem einzigen Term, also z.B: zi = e (an ...a2).

Join-Regeln: >2 Ausgangszustände Im Allgemeinen lassen sich bei m Ausgangszuständen max. m-1 Produktterme einsparen. Sofern m keine 2-er Potenz: 2k-m mit k = log2(m) nicht ausgenutzte Codes von einer weiteren Verwendung ausschließen.

2. Fork-Regeln Analog zu 1. ist die Berechnung des Folgezustands bei Verzweigungen am einfachsten, wenn sich die Folgezustände in möglichst wenigen Bits unterscheiden.  aj=bj=c(e1e2)

3. Ausgabe Sofern zwei Zustände dieselbe Ausgabe erzeugen, ist die Berechnung der Ausgabe am einfachsten, wenn sich die Kodierung der Zustände in möglichst wenigen Bits unterscheidet. X stop FSM Ystop= a e  b e‘ Bei Unterscheidung nur im Bit i Ystop= zn-1 zi+1 zi-1 z0 (e  e‘)

Graph der gewünschten einschrittigen Kodierungen Nach Aufstellen des o.a. Graphen versucht ASYL, durch Betrachtung dieses Graphen möglichst viele der Forderungen hinsichtlich der Kodierungen zu erfüllen. Dazu wird zunächst dem Knoten mit den meisten Kanten ein Code zugeordnet. Anschließend wird allen mit diesem Knoten verbundenen Knoten ein Code zugeordnet. Dieser Prozess wird fortgeführt, bis alle Knoten erreicht sind (breadth-first search).

Weitere Ansätze zur Zustandskodierung ASYL: einfach zu erklären 1-aus-n (one-hot-encoding) Gray-Code, wo möglich Optimale Verfahren: bekannt (siehe z.B. [Har66]). Überblick: [Reu86]; Computing surveys, 1993 In der Praxis: heuristisch. reguläre Ausdrücke: [Ull84]. NOVA [Vil89]: symbolische Minimierung Lange, unverzweigte Folgen von Zuständen: Zähler als Zustandsregister [Ama89]. MIPRE-System [Franke90]. Fließbandverarbeitung, u.a.: CATHEDRAL [Man87]. Hunderte von Verfahren mit speziellen Zielen Minimierung des Energiebedarfs, …

Realisierung der Ausgabefunktion: - Einfache Techniken - Logikoptimierung ist auf die Implementierung von  anwendbar. Z. Tl. berücksichtigen die Methoden der Zustandskodierung das Ziel, diese Funktion kostengünstig zu realisieren. Symbolische Minimierungstechniken lassen sich einsetzen, um Ausgabewerte zu kodieren.

Techniken aus der Mikroprogrammierung: - direct control - Jedes Befehlsbit veranlasst die Ausführung einer Operation. Idee, dass Einheiten wie Addierer, Shifter, u.s.w. voneinander getrennt aufgebaut sind und deren Ergebnisse über Gates oder Treiber ausgewählt werden. Steuerwerk (Controller)

Anwendung auf die MIPS-Architektur gemäß RS PCWriteC PCWrite Steuerwerk (Controller) IorD MemRead IRWrite zero B MemWrite RegWrite § TargetWrite PC Speicher i2 a2 a1 i3 a3 a2 a1 o2 o1 31:26 1 1 ALU Speicher 25:21 T 20:16 1 Befehlsregister IR Reg 2 1 alu_ control 4 1 * § 31: 28 "00“ 15:11 sign_ extend 15:0 2 25:0 3 1 <<2 *

Single level encoding, direct encoding, minimal encoding Operationen, die sich gegenseitig ausschließen, werden in einem Befehlsfeld gemeinsam kodiert. Anwendung: Multifunktions-einheiten. Orthogonalität. Steuerwerk (Controller) Kein Verlust an möglicher Parallelarbeit

Direct encoding für die MIPS-Architektur PC Befehlsregister IR Speicher alu_ control T sign_ extend <<2 4 * ALU Reg 1 2 3 § 31:26 25:21 20:16 25:0 15:0 15:11 i2 a2 a1 i3 a3 a2 a1 o2 o1 IorD zero § 31: 28 "00“ B Steuerwerk (Controller)

Direct encoding mit sharing Werden an zwei Steuereingängen entweder nie gleichzeitig Steuercodes benötigt oder werden stets nur gleiche Codes benötigt, so kommt man mit einem einzigen Steuerfeld im Befehl aus. Steuerwerk (Controller) Verlust an möglichen Operationen

Direct encoding mit sharing bei MIPS-Architektur Zustand Folge-Zustand bzw. – Zustände fetch decode 1 X 01 + 00 f(Opcode) XX mar, mar‘ load, store 10 load store rr1 rr2 IR X0 branch branch2 11 =/- jump TargetWri PCWriteC IorD MemRead Mem2Reg PCSource MemWrite PCWrite RegDest RegWrite ALUSelB ALUSelA ALUOp IRWrite

Direct encoding mit sharing bei MIPS-Architektur PC Befehlsregister IR Speicher alu_ control T sign_ extend <<2 4 * ALU Reg 1 2 3 § 31:26 25:21 20:16 25:0 15:0 15:11 i2 a2 a1 i3 a3 a2 a1 o2 o1 IorD zero § 31: 28 "00“ B Steuerwerk (Controller) Mem2Reg

Direct encoding mit Umkodierung Steuerwerk (Controller) Als Erweiterung des Sharing kann man eine Umkodierung der Ausgabe zulassen Dekoder

Direct encoding mit Umkodierung bei MIPS-Architektur Zustand Folge-Zustand bzw. – Zustände fetch decode 1 X 01 + 00 f(Opcode) XX mar, mar‘ load, store 10 load store rr1 rr2 IR X0 branch branch2 11 =/- jump IorD TargetWri PCWriteC MemRead Mem2Reg PCSource MemWrite PCWrite RegDest RegWrite ALUSelB ALUSelA ALUOp IRWrite

Direct encoding mit Umkodierung bei der MIPS-Architektur PC Befehlsregister IR Speicher alu_ control T sign_ extend <<2 4 * ALU Reg 1 2 3 § 31:26 25:21 20:16 25:0 15:0 15:11 i2 a2 a1 i3 a3 a2 a1 o2 o1 IorD zero § 31: 28 "00“ B Steuerwerk (Controller) Mem2Reg LSB

Bit Steering Steuerwerk (Controller) Bit steering = Bedeutung eines Befehlsfeldes hängt von einem anderen Befehlsfeld ab. a b Bedeutung von b hängt von a ab.

Residual control Funktion der HW nicht nur vom aktuellen Befehlswort, sondern auch von einem inneren Zustand ab. Steuercodes werden in residual control- Registern abgespeichert. Anwendung: seltene Wechsel der Belegung der Kontrolleingänge, Nachbildung von Befehlssätzen. Steuerwerk (Controller)

Format shifting format shifting = Bedeutung eines Befehlsfeldes hängt von einem residual control-Register ab. Steuerwerk (Controller) a Reg … b Bedeutung von b hängt von a ab.

Two-level control store two-level control store = Großer Teil der Hardware über Dekoder oder ROM gesteuert. Alle vorkommenden Kontrollworte genau einmal im ROM. Prominente Anwendung: Mikroprozessor Motorola MC 68.000 („Nanoprogram-mierung“)

Realisierung eines konkreten Flussgraphen Multiplexer wählt relevante Bedingung aus.

Befehlsfeldüberlagerung in TODOS (1) TODOS [Mar86]: direct encoding-Methode: Jedem Steuereingang wird direkt ein Befehlsfeld zugeordnet. Überlagerung von Befehlsfeldern. Anordnung der Felder? ? ? ? Steuerwortbreite Äquivalent zu Scheduling-Problem von Jobs der Ausführungszeit ℓi mit Ressource-Konflikten ci,j

Befehlsfeldüberlagerung in TODOS (2) Lösung: Den jeweils längsten Feldern wird zuerst eine Position im Befehlsformat zugeordnet. Unter den gleich langen Feldern haben die Felder mit den meisten Konflikten Vorrang. Im Übrigen erfolgt die Auswahl nach best fit-Methode. f6 f5 f4 f3 f2 f1 normal view

Zusammenfassung Zustandsreduktion Ergebnisse aus der Automatentheorie Zustandskodierung ASYL als Beispiel Realisierung der Ausgabefunktion Direct control Direct encoding (mit sharing) Residual control Bit steering Format shifting Two-level control store