Network-on-Chip basierende Laufzeitsysteme für dynamisch rekonfigurierbare Hardware Ronald Hecht...

Preview:

Citation preview

Network-on-Chip basierende Laufzeitsysteme für dynamisch

rekonfigurierbare Hardware

Ronald HechtInstitut für Mikroelektrotechnik

und DatentechnikUniversität Rostock

Überblick Xilinx Virtex2-Pro Betriebssystem Network-on-Chip Schichtenmodell Prototyp

Xilinx Virtex2-Pro PowerPC Linux ICAP Spaltenweise

dynamisch rekonfigurierbar

Signalintegrität durch Busmakros

CLB

CLB

CLB

CLB

Pro

zess

or B

lock

RocketIOTM

Multi-Gigabit TransceiverDCM

Mul

tipliz

iere

r un

dB

lock

Sel

ectR

AM

SelectIOTM-Ultra

KonfigurierbareLogik

ICA

P, S

tart

up &

Cap

ture

Bou

ndar

y S

can

&JT

AG

PP

C

FPGA Floorplan Dynamisch rekon-

figurierbare Tiles Ladbare IPCores Verwaltung durch

Linux auf PowerPC Rekonfiguration

mit ICAP

Interconnect?

IPCoresIPCores

Re

con

fig

ura

ble

Til

e

Fix

ed

Po

we

rPC

Re

con

fig

ura

ble

Til

e

IPCoresLinux

ICA

P

Betriebssystemelemente Verwaltung von

IPCores Verwaltung der

Tiles Laden der IPCores Device Drivers

Informationen zur Steuerung?

Linux

IPCoreLoader

InterconnectDevice Driver

IPCoreSchedulerDispatcher

IPCoreManagement

Prozesse

ICAP DeviceDriver

Anforderungen an die Kommunikationsstruktur Dezentral Fehlertolerant Feste physikalische Schnittstellen Einheitliche plattformunabhängige

Kommunikationsmechanismen Quality of Service Automatisiertes Laden von IPCores

Network on Chip Sicheres Hinzufügen und Entfernen von

IPCores zur Laufzeit Wie bei Computernetzwerken

Vereinheitlichte Kommunikation Heterogene Prozesse IPCore in Hardware als auch in Software

High-Level Kommunikation Message Passing Remote Procedure Call Distributed Shared Memory

Network on Chip Elemente

Re

CPU

C

M

RNI

Re

M RNI

M

RNIRNI

S S

SS

S

Resourceindependent

networkinterface

Resourcedependent

networkinterface

Resource

Fixed

Reconfigurable

Network on Chip – Layout Virtex2-Pro20 PowerPC mit Linux 1D-Netzwerk 3 NoC-Switches 2 Tiles BlockRAMs in

Switches und Tiles

Reco

nfig

1

Reco

nfig

2

Sw

itch

2

Sw

itch

0IC

AP

Sw

itch

1

Pow

erP

C

NoC

NoC Protokoll Stack

NOCPH Wires

NOCDL Switch

NOCP NOCMP RINI

RDNINOCTP NOCDP NOCSP

NOC Application Layer Resource

Fixed

Reconfigurable

Physical

Data Link

Network

Transport

Application

Bitübertragungsschicht Phys. Leitungen

Synchronisation Daten-Flit

Breite Busse sind on-Chip effektiver

Bei aktuellen FPGAs beschränkt auf 16-32 Bit

TX RX

req

ack

sof

flit

clk

eof

RX

TXRX

TX

Switch Switch

NoC Routing Anforderungen:

Schnell Frei von Deadlocks Deterministisch bezüglich Latenz und

Durchsatz Statische Adressierung?

Einfache schnelle Routing-Algorithmen Logische Dynamische Adressierung?

Verschiebung von IPCores

Logische und physikalische Adressierung Physikalische geographische Adressen

auf Sicherungsschicht Schnelles und deterministisches Switching

Logische Adressen auf Vermittlungsschicht Verschiebbare IPCores

Layer 2Header

Layer 3Header

Payload

logischeAdressen

physikalischeAdressen

Nutzdaten

Sicherungsschicht – NOCDL Framing, Fehlererkennung Physikalische geographische

Adressen Schnelles, deterministisches xy-

Wormhole-Routing Layer 2 Switches

DST SRC PRIO TYPE DATA FCS

Vermittlungsschicht – NOCP Logische Adressierung

Abstraktion des NoC Topologieunabhängig

Routing, QoS Umsetzung logische/geographische

Adressen

SRC DST QoS LEN PROT DATA

Gateway

IPCore1

IPCore2

NoC 0 NoC 1

00:01 00:02

00:00

Gateway

IPCore3

IPCore4

01:01 01:02

01:00Internet

Wireless

Distributed NoCs Verteilte rekonf. Rechensysteme Mehrstufige Adressierung

NoC Adresse : IPCore Adresse

NoC Management – NOCMP Echo Routing-Tables

Umsetzung logische/physikalische Addresse

Statistics + Flusskontrolle Steuerung des IPCore-Schedulers Automatisiertes Laden von IPCores

TYPE CODE DATA

NoC Transportschicht Signale Verbindungsorientiert Verbindungslos Portkonzept

PowerPC Linux

00:00

IPCore 1

00:03

ProzessPort x

ProzessPort y

ProzessPort x

ProzessPort y

ProzessPort z

IPCore 2

01:04

ProzessPort x

NoC

NoC Implementierung

Data LinkLayer

NetworkLayer

TransportLayer

IPCore

Fixed

Reconfigurable

Output Buffers

Look-up Tables

Port Buffers

Signaling

Function

ReconfigInterface

Prototyp 1D-Switch + Vermittlungsschicht

6 BlockRAMs,340 Slices 120 MHz

PowerPC mit Debian Linux

Zusammenfassung und Ausblick Dezentrale Hardware-Architektur Physikalische Adressierung Logische Adressierung Verteilte rekonfigurierbare Systeme

Software-Schnittstelle Betriebssystemerweiterungen

IPCore Signaling – NOCSP Interrupt vom OS zum IPCore Acknowledge vom IPCore

Ermitteln und Senden des Kontexts Wiederherstellung und Start

Operating System IPCoreInterrupt

AcknowledgeKontext

StartKontext

Recommended