entwicklung einer applikationsentwurfsumgebung und eines ......stream handling in multi-grained...
TRANSCRIPT
Entwicklung einer Applikationsentwurfsumgebung und eines Low-Level-Laufzeitmanagers für die online-adaptive HoneyComb-ArchitekturDipl.-Ing. Alexander Thomas
Institut für Technik der Informationsverarbeitung (ITIV)Universität Karlsruhe (TH)Prof. Dr.-Ing. Jürgen Becker
Schwerpunktprogramm 1148- Rekonfigurierbare Rechensysteme -
Übersicht
Motivation
HoneyComb-Architektur
Programmierumgebung- Überblick- Applikationsentwurfsumgebung- Low-Level-Laufzeitmanager
Anwendungsszenario
Kooperationen
Zusammenfassung und Ausblick
Motivation
Moderne CPU-Lösungen …• Erhöhung der Leistung durch die Gigahertzschraube / hohe Verlustleistung• Eingeschränkte Ausnutzung parallel realisierbarer Einheiten• Trend: Multi-Core-Lösungen
Hochintegrierbare Halbleitertechnologien bieten jedoch Möglichkeiten• Parallele Struktur- / Architekturansätze auf einem Chip zu vereinen• Potential für intelligente und hoch-parallelisierte Designs
Alternative: Dynamisch rekonfigurierbare Hardwarearchitekturen• Hohe Rechenleistung, geringere Interface-Bandbreiten gegenüber CPUs / DSPs• Wiederverwendung existierender Implementierungen / Flexibilität• Niedrigere Frequenzen / geringere Verlustleistung
HoneyComb-Architektur - Übersicht
Arraybasierte rekonfigurierbare Architektur• Hexagonale Zellstruktur• Drei verschiedene Zelltypen:
- Datapath-HoneyComb-Cell (DPHC)- Memory-HoneyComb-Cell (MEMHC)- Input/Output-HoneyComb-Cell (IOHC)
• Multigranulare Datentypen• Programmierbares IO-Interface (IOHC)• Hardwareunterstütztes Online-Routing
Vorteile:• Adaptives Online-Verhalten• Fehlertoleranz flexibel realisierbar• Komplexe kontrollastige Anwendungen abbildbar
0,1
1,1
2,1
0,2
1,2
2,2
3,2
1,3
2,3
3,3
1,4
2,4
3,4
4,4
2,5
3,5
4,5
0,0
1,0
3,6
4,6
0,1
1,1
2,1
1,2
2,2
0,2
3,2
0,0
1,0
1,3
2,3
3,3
2,4
3,4
1,4
4,4
2,5
3,5
4,5
3,6
4,6
≡Logische Struktur
Technologische StrukturIOHC DPHC
MEMHC
HoneyComb-Architektur - Zellaufbau
Routing Unit
……
……
Functional Module
… … … …
Honeycomb cell structure
Input ports Output ports
Routing Unit
Inpu
t lin
ks
Out
put l
inks
…MUX…
…MUX…
MU
XM
UX
…
Datapath- / Memory output
RR
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Datapath / Memory input
Inte
rmed
iate
Reg
iste
r
Con
trol-F
SM
+
Reg
iste
rs
Gemeinsame Zellstrukturen in allen Zelltypen• Integriert Routing Unit
- Bestandteil des Kommunikationsnetzes- Routing Management
und Funktionale Einheit- Charakterisiert den Zelltypen:
Datapath-Unit (DPHC)Memory-Unit (MEMHC)Input/Output-Unit (IOHC)
• Aufgabe der RoutingUnit- Input/Output Ports der Funktionalen
Einheiten durch Punk-2-Punkt-Verbindungen zu verbinden
HoneyComb-Architektur - Hardwareunterstütztes Online-Routing
Eigenschaften• Koordinatenbasiert• Depth-Search-First-Strategie• Backtracking-Algorithmus• Kürzestes Routing kann erzwungen werden
- Optimum-Bit• Routing-Performance: 4 Zyklen pro Zelle
- 3 Zyklen zum Aufbau zur nächsten Zelle- 1 Zyklus Routing Acknowledgement
• Etabliert Punkt-2-Punkt-Verbindungen zwischen den Ports funktionaler Einheiten
• Multigranulare Datentypen:- Coarse-grained- Multi-grained: 1 … n Bits
• Transportiert sowohl Nutzdaten als auch Konfigurationen
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
IOHC IOHC IOHC
IOHC IOHC IOHC
3 Zyklen
3 Zyklen
3 Zyklen
3 Zyklen
3 Zyklen
1 Zyklus
1 Zyklus
1 Zyklus
1 Zyklus
1 Zyklus
Konfigurationspfadaufbau: 20 Zyklen
Kommunikationslatenz:5 Zyklen
Einfache Routing
HoneyComb-Architektur - Hardwareunterstütztes Online-Routing
Eigenschaften• Koordinatenbasiert• Depth-Search-First-Strategie• Backtracking-Algorithmus• Kürzestes Routing kann erzwungen werden
- Optimum-Bit• Routing-Performance: 4 Zyklen pro Zelle
- 3 Zyklen zum Aufbau zur nächsten Zelle- 1 Zyklus Routing Acknowledgement
• Etabliert Punkt-2-Punkt-Verbindungen zwischen den Ports funktionaler Einheiten
• Multigranulare Datentypen:- Coarse-grained- Multi-grained: 1 … n Bits
• Transportiert sowohl Nutzdaten als auch Konfigurationen
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
IOHC IOHC IOHC
IOHC IOHC IOHC
Konfigurationspfadaufbau: 24 Zyklen
Kommunikationslatenz6 Zyklen
Alternatives Routing
HoneyComb-Architektur - Hardwareunterstütztes Online-Routing
Eigenschaften• Koordinatenbasiert• Depth-Search-First-Strategie• Backtracking-Algorithmus• Kürzestes Routing kann erzwungen werden
- Optimum-Bit• Routing-Performance: 4 Zyklen pro Zelle
- 3 Zyklen zum Aufbau zur nächsten Zelle- 1 Zyklus Routing Acknowledgement
• Etabliert Punkt-2-Punkt-Verbindungen zwischen den Ports funktionaler Einheiten
• Multigranulare Datentypen:- Coarse-grained- Multi-grained: 1 … n Bits
• Transportiert sowohl Nutzdaten als auch Konfigurationen
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
MEMHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
IOHC IOHC IOHC
IOHC IOHC IOHC
Konfigurationspfadaufbau: 24 Zyklen
Kommunikationslatenz:5 Zyklen
Alternatives Routing mit Optimum-Bit
HoneyComb-Architektur - Datapath-HoneyComb-Cell (DPHC)
Datenmanipulation innerhalb der Zellen• Multikontext-Datenpfade• Sequencing-Fähigkeiten• FSMs sind abbildbar und untereinander
verkettbar• Boolesche Operationen realisiert durch LUTs
• Vielseitig parametrisierbar- Anpassungsfähig an
Anwendungsanforderungen• Nutzt intern zwei Datentypen
- Coarse-grained- Fine-grained
Parametrisierbare Struktur des Datenpfades
HoneyComb-Architektur - Memory-HoneyComb-Cell (MEMHC)
Speicherplatz innerhalb des Arrays• Dadurch höhere Bandbreite verfügbar• Bietet
- wahlfreien Zugriff (RAM)- Buffer-Funktionalität (FIFO)- Stack-Funktionalität (LIFO)
• Integriert mehrere Speichermodule- Erlaubt Zusammenfassen mehrer
Module zu einer logischen Funktion- Dadurch größere RAMs,
FIFOs, LIFOs möglich
• Vielseitig parametrisierbar
Parametrisierbare Struktur des Memory-Moduls
HoneyComb-Architektur - I/O-HoneyComb-Cell (IOHC)
Systeminterface der HoneyComb-Architektur• Unterstützt Kontrollmechanismen
auf Konfigurationsebene• Anbindung an das System mittels
- AMBA AHB 2.0- AMBA AXI 3.0
• Programmierbares I/O-Verhalten• Führt eigenen Instruktionssatz aus zur
- Steuerung des Konfigurationstransports- Steuerung des Nutzdatentransports
• Unterstützt parallele „Threads“• Hierzu Integration des Distributed Stack
Pointing and Instruction Controllers (DiSPIC)• Taktentkopplung der HoneyComb vom System
IOHC
AHB Interconnect
DiSPIC
FIFOFIFO FIFOFIFO
CLK
HCLK
Routing Unit
AMBA AHB
HoneyComb-Architektur - Synthese und Layout
Synopsys Design-Vision• Synthese auf Gate-Level
Cadence SoC-Encounter• Zellweise Layouterstellung• Definition von Makros• Aufbau der Gesamt-
architektur aus Makros zusammensetzen
• Export als GDS2-File
HoneyComb-Architektur - Erste Layoutdaten
Layoutdaten• Zelltyp: DPHC• Zellgröße: 0,3 mm²• Technologie: 90 nm TSMC
RoutingUnit: ca. 0,2mm²Grobgranulare Links• Eingänge: 4 pro Kante• Ausgänge: 4 pro KanteMultigranulare Links• Eingänge: 5 Bits pro Kante• Ausgänge: 5 Bits pro Kante
DatapathModule: ca. 0,1 mm²• Anzahl ALUs: 2• Anzahl LUTs: 1
Erreichbarer Takt: 250 Mhz
DatapathModule RoutingCtrl
Interconnect + Inputregisters
HoneyComb-Architektur - Erste Layoutdaten
Zusammensetzen der Architektur:
HoneyComb-Architektur - Erste Layoutdaten
Zusammensetzen der Architektur:
Zellgrößen: ca. 0,5mm²Anzahl der Zellen: 100Benötigte Fläche: 50 mm² + Power
Anzahl ALUs: bis zu 600Brutto Performance: 150GOps bei 250 MHz
HoneyComb-Architektur - Native-“Assembler“
Zur Beschleunigung der Testpatterngenerierung• Definition einer Native-Assembler-Notation• Basiert auf VBA unter Excel• Erzeugung des binären Codes ist
RTL-konfigurationsabhängig• Eingabe der RTL-Konfiguration unter Excel• Generierung von RTL-Konfigurationen für
das VHDL-Modell der HoneyComb• Stimuli-Generierung zur VHDL-Simulation
2. Projektphase: Programmierumgebung
HoneyComb-Architektur• Online-Adaptivität• Multi-Context/Sequencing-Datenpfade• Programmierbare autonome Interfaces• Low-Power-Funktionen
Programmierumgebung• Native-Language-Definition:⇒ HoneyComb-Language (HCL)
• Mapping Tools• Simulations- und Debugging-Umgebung• Laufzeitumgebung
Zweck: Demonstration der Programmierbarkeit
Con
figur
atio
n-Te
mpl
ate
Das Vorhaben
Anwendungen/Algorithmen
Native-LanguageBeschreibung
Portierung der Anwendung
Mapping-parameter
Debugging- und Simulations-Umgebung (DSE)
Visualisierung:„HCViewer“
Simulator:„HCSim“
LaufzeitumgebungEntwurfs- und Debuggingumgebung
Offline Mapper undConfiguraton-Template-
Generator (MCTG)
Dynamic Allocation and Distribution Manager (dADM)
Steuerung der HoneyComb-Architektur;NutzdatentransportKonfigurationsdatentransport
HoneyComb-Architektur
Opt
imie
rung
en/Ä
nder
unge
n de
r Anw
endu
ng
Programmiermodell
Abgeleitet aus dem hierarchischen Aufbau der HoneyComb-Architektur
Transportschicht• Realisierung durch IOHCs• Zeitliche Steuerung der Konfigurationsausführung
Kommunikationsschicht• Realisierung durch das Routingnetzwerk• Örtliche Steuerung der Konfigurationen
Konfigurationsschicht• Realisierung durch die funktionalen Module• Bestimmt die Funktion innerhalb der Zellen
Kon
figur
atio
nssc
hich
t
Kom
mun
ikat
ions
schi
cht
Tran
spor
tsch
icht
- Enthält Zellkonfigurationen
- Zelllokalität bestimmt durch die Kommunikationsschicht
- Flag-Generierung für die Transportschicht
- Verwaltung des adaptiven Routings
- Lokalitätsbestimmung der Konfig
- Manipulierbar zur Laufzeit
- Ausnutzung der Fehlertoleranz
- Ausführung von Ablaufcode
- Bedingte Steuerung der Anwendungen
- Konfigurations- als auch Nutzdatentransport
- Autonomer Betrieb der HoneyComb
Schichten des Programmiermodells
HoneyComb-Language (HCL)
Definitionskriterien• Volle Kontrolle über die Eigenschaften der
HoneyComb-Architektur• Einflussnahme auf die Schichten des
Programmiermodells• Zellunabhängige Subroutinen⇒ Codeportabilität zwischen den Zellen
• Zulassen von abstrakten Konstrukten auf Zellebene
Ziel• VHDL-ähnliche parallele Beschreibungsmethodik• Möglichkeit zur Entwicklung
Systemcontrollerunabhängiger Applikationen
CELL {name}{Zellinterner Definitionsbereich}
BEGIN{Zellinterne Anweisungen}
END {name}
MAIN{Definitionsbereich}
BEGIN{Anweisungen}
END MAIN;
Zellspezifische Statements
Globale Statements für die IOHC
Offline Mapper und Configuration-Template-Generator (MCTG)
Basierend auf HCL-Beschreibungen• Generierung von binärem Maschinencode• Das Resultat: Configuration-Templates
Abbildungsprozess …• nutzt offene Freiheitsgrade in
HCL-Beschreibungen aus• erlaubt Eingabe zusätzlicher Constraints zur Steuerung des Mapping-Ergebnisses
Configuration-Template-Generierung …• legt beispielsweise mögliche Online-Transformationen der Configuration-Patterns als
Regeln fest• bestimmt Configurations-Constraints: mindest Takt, Performance, etc.• verpackt binären Code gemeinsam mit einem Satz von Regeln und Eigenschaften in
Templates
Debugging- und Simulationsumgebung (DSE)
Besteht aus zwei Softwaretools• HoneyComb-Simulator (HCSim)• HoneyComb-Viewer (HCViewer)
HoneyComb-Simulator• Taktzyklusgenau Simulation• Simulationsdatentransfer zum/vom HCViewer• Export von Änderungen in Configuration-
Templates
HoneyComb-Viewer• Visualisierung von Simulationsabläufen• Softwareinterface zum HCSim• Erlaubt Änderungen an laufenden
Configurationen• Abstimmung der Änderungen mit dem Simulator• Einsetzbar für HDL-basiertes Debugging
HCSim
HCViewer
Dynamic Allocation and Distribution Manager (dADM)
Softwarebasierte Laufzeitkomponente der HoneyComb-Architektur• Management von …
- Configuration-Scheduling und Architekturauslastung- Input/Output-Verhalten von Konfigurationen und Nutzdaten- Taktfrequenzen
• Laufzeitanpassungen der Configuration-Patterns aus Configuration-Templates heraus- Einfache planare und regelbasierte Transformationen- Manipulation der Kommunikationsschicht
• Änderung der Transportschicht für das Configuration-Scheduling• Ausführung auf einer System-CPU oder -Controller
Ziel:• API zur transparenten Programmierung• Ferne Zukunft: Ausführung des dADM auf der HoneyComb-Architektur, dadurch• Autonomer Betrieb der Architektur
Anwendungsszenario – Rake Receiver
Unterstützung partieller Rekonfiguration• Durch adaptives Routing• Intra-Konfigurationen• Schieben von Konfigurationen auf dem Array• Mögliche Transformationen von
Konfigurationen in Regeln formuliert
Beispiel: Rake Receiver• ASIC: Feste Rake-Finger-Anzahl• In rekonfigurierbarer Hardware:
- Dynamische Anpassungen an Bedarf- Problem: statische Konfigurationen
• In HC: Durch Konfiguration-Templates• hinzufügen von Add-Ons möglich
Inactive HCC Rake-fingers Channel
EstimationPath search block
ActiveIOHC
Input
Output
Kooperationen
Universität Karlsruhe (TH)Institut für Technik der InformationsverarbeitungProf. Dr.-Ing. Klaus D. Müller-GlaserProjekt: Adaptives Laufzeitsystem mit intelligenter Allokation für dynamisch
rekonfigurierbare Funktionsmuster und optimierte Topologien (ALADYN)Ziele: Ankopplung der HoneyComb als weitere Ressourcenkomponente
Universität TübingenLehrstuhl Technische InformatikProf. Dr. rer. nat. Wolfgang RosenstielProjekt: Bewertungs- und Entwurfverfahren für prozessartig rekonfigurierbare
ArchitekturenBerührungspunkte: Programmierung und Codegenerierung
Publikationen
[1] Thomas, A.; Becker, J.: Multi-Grained Reconfigurable Datapath Structures for Online-Adaptive Reconfigurable Hardware Architectures; IEEE Computer Society Annual Symposium on VLSI (ISVLSI 2005), Tampa, Florida, Mai 11-12, 2005
[2] Thomas, A.; Zander, T.; Becker, J.: Adaptive DMA-based I/O Interfaces for Data Stream Handling in Multi-grained Reconfigurable Hardware Architectures; Symposium on Integrated Circuits and Systems Design (SBCCI 2004), Porto de Galinhas, Pernambuco, Brazil, September 7-11, 2004
[3] Thomas, A.; Becker, J.: Dynamic Adaptive Routing Techniques in Multi-grained Dynamic Reconfigurable Hardware Architectures; Field-programmable Logic and its applications (FPL 2004), Antwerpen, August 2004
[4] Thomas, A.; Becker, J.: Aufbau- und Strukturkonzepte einer adaptivenmultigranularen rekonfigurierbaren Hardwarearchitektur; Kongressbericht "17th International Conference on Architecture of Computing Systems (ARCS 2004)", Workshop "Dynamically Reconfigurable Systems", Augsburg, März 23-26, 2004
Zusammenfassung
Die HoneyComb-Architektur bietet neue Eigenschaften …• Hexagonale Zellstrukturen• Adaptives Online-Routing• Multigranulare Datentypen• Kombinierte Multi-context und Sequencing-Datenpfade• Autonome und programmierbare I/O-Schnittstellen• Fehlertoleranz
Status:• VHDL-Modell ist implementiert und wird getestet• Parallel laufen Synthese- und Layout-Arbeiten• Geplante Zellgrößen: 0,5 mm² in 90 nm TSMC Standardzellen Technologie• Erreichbare Taktfrequenzen liegen bei 250 Mhz
Ausblick
Implementierung vorgestellter Software-Tools• Offline Mapper und Configuration-Template-Generator (MCTG)• Debugging- und Simulationsumgebung (DSE)
- HoneyComb-Simulator (HCSim)- HoneyComb-Viewer (HCViewer) … ist bereits in Arbeit
• Dynamic Allocation and Distribution Manager (dADM)
Weitere Aufgaben• Abschluss der Testphase der HoneyComb-Architektur• Erstellung eines Chip-Layouts in 90 nm Technologie• Fertigstellung der HoneyComb-Language (HCL) Definition• Entwicklung von Demonstrationsanwendungen (H.264, RaytracingAlgorithmen)