Upload
internet
View
110
Download
3
Embed Size (px)
Citation preview
Do DRIP ao DRIP RTR
Ivan Saraiva Silva
DRIP - Dynamically Reconfigurable Image Processor • Baseado no processador de vizinhança NP9
• Processador matricial
• Matriz bidimensional de células interconectadas (PE)
•
Matriz de PEs
X1
X2
X3
X4
X5
X6
X7
X8
X9
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
O Processador Elementar (PE)
• Executa duas funções básicas:– soma (ADD)– máximo (MAX)
• A Função ADD representa a classe dos algoritmos lineares
• A função MAX representa a classe dos não lineares
O Processador Elementar (PE)
• Em Cada PE é executada a função
• Onde: representa a operação selecionada (ADD ou
MAX).– X1 e X2 são pixels de entrada– W1, W2 são dois pesos inteiros configuráveis
),,( 2211 WXWXfS
O Processador Elementar (PE)
• Um PE pode receber 18 configurações– Algumas equivalentes ou simétricas
• O conjunto de configurações diferentes forma a biblioteca de células
O Processador Elementar (PE)
Configuração Função add(0,0), max(0,0) Zero
add(0,X2),add(X1,0) X
add(0,-X2),add(-X1,0) -X
add(X1,X2) Xa + Xb
add(X1,-X2), add(-X1,X2) Xa – Xb
max(0,X2), max(X1,0) If positive(X) then X else 0
max(0,-X2), max(-X1,0) If negative(X) then X else 0
Outras possibilidades de max Max(Xa, Xb)
O Processador Elementar (PE)
fSX1
W1
X2W2
DRIP - Reconfiguração Estática
DRIP - Reconfiguração Estática
CAD de Configuração
Mapeamento LUT
Alocação (Placement
)
Roteamento
(Routing)
Geração de
Bitstream
Otimização Independent
e de tecnologia
Config.Data
Alto Nível/ RTL
CAD de Configuração
• VRD - Visual interface for Dynamic Reconfiguration– interface gráfica, representação direta dos 81
processadores elementares– Otimização
• grafo orientado acíclico• eliminações e transformações sobre a matriz de Pes• Objetivo: encontrar uma representação equivalente
(execução mais rápida, menor utilização dos recursos do FPGA
– Geração do arquivo VHDL
CAD de Configuração
Biblioteca de Configurações
VDR
Algoritmo
Otimização
VHDL Configuração
CAD de Configuração
CAD - Otimizações
add-1
-1 ?-1
?
add1
1 ?1
?cell 1
cell 2
cell 1
cell 2
?0
0 ??
?
?0
?cell 1
cell 2
cell 1
cell 2
add-1
1 add-1
1cell 1cell 3
add-1
1
cell 2
add1
-1 add1
1cell 1cell 3
add-1
-1
cell 2
Avanço
Retorno
Estratégias de Reconfiguração
• Reconfigurabilidade da aplicação– define um sistema baseado nas características
comuns: regularidade, concorrência e operandos de pequena granularidade .
• Reconfigurabilidade arquitetural – uma arquitetura inicial, a qual é decomposta em
suas funções básicas que formam uma biblioteca de componentes
Reconfigurabilidade Arquitetural
Biblioteca
de Funções
Decomposição
Análise
Modelagem
Síntese
Similaridades
Biblioteca de Configurações
VDR
Algoritmo
Otimização
VHDL
Configuração
Analise de Similaridades
• Blocos Estáticos:– Não se alteram entre configurações sucessivas
• Blocos Dinâmicos:– Modificam-se completamente ou possuem
diversas diferenças entre uma configuração e outra
• Blocos Semi-estáticos:– Possuem poucas diferenças estruturais entre
duas configurações
Analise de Similaridades
• 5 algoritmos – detector morfológico de contornos,– Filtro de mediana separável– Mediana,– Dilatação– Erosão
• Comparação entre PE em algoritmos diferentes
Analise de Similaridades
• Similaridade em nível de algoritmo– Coincidências exatas
• Similaridade em nível de célula– Análise a estrutura lógica dos Pes, blocos semi-
estáticos
• Geração de um mapa de transformações • Modelagem dos PEs através da fusão de
funcionalidades
Modelagem Comportamental
• Explorar a similaridade em nível de algoritmo
• O estudo realizado entre os 5 algoritmos mostra que uma macro célula pode ser formada agrupando-se, no pior caso, três células super especializadas DRIP
INPUT (X1,X2,CLOCK,CONTROL)
OUTPUT(Y)
CASE CONTROL
Valor1 : --- Exec. Cód. comportamental da célula 1
Valor2 : --- Exec. Cód. comportamental da célula 2
Valor3 : --- Exec. Cód. comportamental da célula 3
END CASE;
Modelagem Comportamental
0 20 40 60 80 100
1
Custos em LCs das Células mxmin
mxmnm1r
m1nripr
mxm1rifn
mxm1r
m1rm1mn
m1rprnr
m1riprmn
m1rinmn
m1rinmn
m1rin
m1nripr
m1nrip
m1mn
m1iprmn
m1ipr
m1ipipr
m1ip
m1inmn
m1inipr
m1inip
m1ifneg
minnifpr
maxifpos
Modelagem Estrutural
• Explora a similaridade em nível de algoritmo e em nível de célula
• Cada PE pode ser visto como um sistema baseado em dois submódulos:– Quantificador: Aplicação do peso (-1, 0 ou 1)– Qualificador: Executa a função de máximo ou
soma
Modelagem Estrutural
PIXEL1 W1 PIXEL2 W2
Quantificador
Qualificador
Y
Modelagem Estrutural
Max
1/0
1PIXEL1
PIXEL2
Modelagem Estrutural
MaxPIXEL1
PIXEL2
REG
0
CTRL
Modelagem Estrutural
0 10 20 30 40 50 60
1
Custo em LCs das Células
MC_D
MG_D
MG_C
MG_G
MF_C
MF_F
MB_F
MG_F
MF_D
MB_E
MB_D
ME_F
0 10 20 30 40 50 60
1
Custo em LCs das Células
MC_D
MG_D
MG_C
MG_G
MF_C
MF_F
MB_F
MG_F
MF_D
MB_E
MB_D
ME_F
0 20 40 60 80 100
1
Custos em LCs das Células mxmin
mxmnm1r
m1nripr
mxm1rifn
mxm1r
m1rm1mn
m1rprnr
m1riprmn
m1rinmn
m1rinmn
m1rin
m1nripr
m1nrip
m1mn
m1iprmn
m1ipr
m1ipipr
m1ip
m1inmn
m1inipr
m1inip
m1ifneg
minnifpr
maxifpos
Estrutural x Comportamental
• Biblioteca estrutural apresenta um reuso maior de modelos em relação à biblioteca comportamental. – 24 células na biblioteca comportamental– 12 células na biblioteca estrutural
• Similaridade no nível de célula existente no modelo quantificador/qualificador– Exemplo: MAX(1,0), MAX(0,-1) e Max(1,-1)
Estrutural x Comportamental
1
0
Max0
-1
Max1
-1
Max
1
0
Max0
-1
Max
1/0
0/-1
Max
a)
b)
c)
DRIP Reconfigurável
Desempenho - FPGA
Desempenho - VLSI
• Caso 1: Sem complemento de dois, sem somadores• 1.47 GHz. (0,35 m)
• Caso 2: Sem complemento de dois, com somadores• 588 MHz (0,35 m)
• Caso 3: Completo• 303 MHz (0,35 m)
Desempenho - VLSI
• Uso do somador carray select