• Nenhum resultado encontrado

Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Multiciclo

N/A
N/A
Protected

Academic year: 2021

Share "Estudo do impacto de consumo de potência e desempenho na inserção de um Array Reconfigurável na arquitetura Femtojava Multiciclo"

Copied!
48
0
0

Texto

(1)

Estudo do impacto de consumo de

potência e desempenho na

inserção de um Array

Reconfigurável na arquitetura

Femtojava Multiciclo

Mateus Beck Rutzig

(2)

OUTLINE

1. Conceitos

1.1.Sistemas Embarcados

1.2.Plataforma Femtojava

1.3.Array Reconfigurável

1.4.Funcionamento do Array Reconfigurável

2. Motivações

3. Resultados

4.1. Desempenho

4.2. Energia

4.3. Potência

4.4. Área

4. Conclusões e Trabalhos Futuros

5. Referências

(3)

SISTEMAS EMBARCADOS

(4)

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

(5)

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

A desempenho tem que seguir o mesmo caminho

(6)

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

A desempenho tem que seguir o mesmo caminho

Bateria

Problemas!!!

(7)

SISTEMAS EMBARCADOS

A complexidade dos sistemas embarcados está aumentando

A desempenho tem que seguir o mesmo caminho

Bateria

Problemas!!!

(8)

PLATAFORMA FEMTOJAVA

9

Criada com restrições de área e potência visando especificamente

Sistemas Embarcados

9Execução nativa de

bytecodes

Java

9 Máquina de pilha

9 Arquitetura Harvard

9 Versões:

9 Femtojava Multiciclo

9 Femtojava Pipeline

9 Femtojava VLIW

9 Femtojava DSP

(9)

MOTIVAÇÃO

9

Os sistemas embarcados exigem novas soluções

arquiteturais visando aumento de performance e

minimização de consumo de potência

(10)

MOTIVAÇÃO

9

Os sistemas embarcados exigem novas soluções

arquiteturais visando aumento de performance e

minimização de consumo de potência

9

Solução

(11)

MOTIVAÇÃO

9

Os sistemas embarcados exigem novas soluções

arquiteturais visando aumento de performance e

minimização de consumo de potência

9

Solução

Explorar o paralelismo inerente das aplicações

(12)

MOTIVAÇÃO

9

Os sistemas embarcados exigem novas soluções

arquiteturais visando aumento de performance e

minimização de consumo de potência

9

Solução

Explorar o paralelismo inerente das aplicações

Mas o que fazer quando o paralelismo da aplicação é limitado?

9

Alternativa

Acelerar a execução trocando a lógica seqüencial

por lógica combinacional

(13)

ARRAY RECONFIGURÁVEL

(14)

ARRAY RECONFIGURÁVEL

9

Circuito totalmente combinacional

(15)

ARRAY RECONFIGURÁVEL

9

Circuito totalmente combinacional

9 Formado por:

CÉLULA

(16)

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

9 Fluxo de execução no Femtojava

Resultados

b2

00

24

b2

00

04

60

(17)

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

9 Fluxo de execução no Femtojava

com Array Reconfigurável

Resultados

b2

00

24

b2

00

04

60

(18)

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

9 Fluxo de execução no Femtojava

com Array Reconfigurável

Resultados

b2

00

24

b2

00

04

60

Basic Block

(19)

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

9 Fluxo de execução no Femtojava

com Array Reconfigurável

b2

00

24

b2

00

04

60

Basic Block

PC

Resultados

Cache

(20)

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

9 Fluxo de execução no Femtojava

com Array Reconfigurável

b2

00

24

b2

00

04

60

Basic Block

PC

Resultados

Cache

Configuração

(21)

FUNCIONAMENTO DO ARRAY RECONFIGURÁVEL

9 Fluxo de execução no Femtojava

com Array Reconfigurável

b2

00

24

b2

00

04

60

Basic Block

PC

Resultados

Cache

Configuração

(22)

MAIS MOTIVAÇÕES...

9

~ 85 %

dos

bytecodes

são executados no Array

Reconfigurável.

9 Fica a cargo do processador executar praticamente

bytecodes

de controle.

9 Simplificar a integração do Array Reconfigurável

com a arquitetura.

9 Instruções executadas mais lentamente, o delay de

configuração do Array

pode ser maior,

consequentemente, o hardware pode ser

simplificado.

(23)

DIFERENÇAS ORGANIZACIONAIS

MULTICICLO

9 Pilha implementada na memória RAM

externa ao core

9 Próxima instrução a ser executada é

buscada da memória ROM ao término da

execução da instrução atual

PIPELINE

9

Pilha implementada dentro do core

como um banco de registradores

9 Buffer de 9 bytes que fornece instruções

para o pipeline. Palavras de 4 bytes são

buscadas da memória RAM.

(24)

BENCHMARKS

9

Outros

9binary search

9float sums

9imdct

9mp3

9sequence search

9bubble10

9quick10

9select10

9

SPEC JVM98

9compress

9check

9jess

9raytrace

9db

9javac

9mpegaudio

9mtrt

9jack

(25)

BENCHMARKS

(26)

BENCHMARKS

ƒ CARACTERIZAÇÃO

(27)

BENCHMARKS

ƒ CARACTERIZAÇÃO

(28)

BENCHMARKS

ƒ CARACTERIZAÇÃO

Chamada de

Métodos

(29)

RESULTADOS

ƒ

DESEMPENHO (CICLOS)

565

1.020

1.039

3.095

1.318

4.418

bubble10

196.485.190

282.092.214

196.664.898

282.413.166

281.096.146

411.377.368

jack

11.175.679

19.234.905

13.281.758

23.522.357

17.711.454

32.476.108

javac

149.381.359

231.107.825

164.429.015

256.012.316

191.119.064

299.964.117

raytrace

2.016.643

3.330.952

2.258.862

3.779.767

2.715.709

4.641.398

check

Pipeline

Multiciclo

Pipeline

Multiciclo

Pipeline

Multiciclo

Cinco células

Três células

Uma célula

(30)

RESULTADOS

ƒ

DESEMPENHO (CICLOS)

565

1.020

1.039

3.095

1.318

4.418

bubble10

196.485.190

282.092.214

196.664.898

282.413.166

281.096.146

411.377.368

jack

11.175.679

19.234.905

13.281.758

23.522.357

17.711.454

32.476.108

javac

149.381.359

231.107.825

164.429.015

256.012.316

191.119.064

299.964.117

raytrace

2.016.643

3.330.952

2.258.862

3.779.767

2.715.709

4.641.398

check

Pipeline

Multiciclo

Pipeline

Multiciclo

Pipeline

Multiciclo

Cinco células

Três células

Uma célula

3.35 x

(31)

RESULTADOS

ƒ

DESEMPENHO (CICLOS)

565

1.020

1.039

3.095

1.318

4.418

bubble10

196.485.190

282.092.214

196.664.898

282.413.166

281.096.146

411.377.368

jack

11.175.679

19.234.905

13.281.758

23.522.357

17.711.454

32.476.108

javac

149.381.359

231.107.825

164.429.015

256.012.316

191.119.064

299.964.117

raytrace

2.016.643

3.330.952

2.258.862

3.779.767

2.715.709

4.641.398

check

Pipeline

Multiciclo

Pipeline

Multiciclo

Pipeline

Multiciclo

Cinco células

Três células

Uma célula

1.80 x

(32)

RESULTADOS

ƒ

DESEMPENHO (CICLOS) MÉDIA

0

50000000

100000000

150000000

200000000

250000000

300000000

1

2

3

4

5

Multiciclo

Pipeline

Células

(33)

RESULTADOS

ƒ

ENERGIA

54.388.727 32.446.189 54.388.727 32.446.189 267.249.443 175.474.341

bubble10

3.175.722.204.209 1.507.668.097.293 3.283.465.560.114 1.570.903.779.150 3.656.603.556.865 1.749.994.163.998

jack

954.804.342.885 410.217.751.899 979.628.505.307 420.385.202.300 1.066.864.717.084 455.523.309.317

javac

5.463.818.494.078 2.233.736.444.863 5.503.182.817.115 2.250.962.861.447 5.667.357.585.744 2.313.507.896.766

raytrace

714.182.285.182 339.150.375.040 753.882.342.071 365.761.181.999 733.786.020.924 328.131.535.386

check

Pipeline

Multiciclo

Pipeline

Multiciclo

Pipeline

Multiciclo

Cinco células

Três células

Uma célula

(34)

RESULTADOS

ƒ

ENERGIA

54.388.727 32.446.189 54.388.727 32.446.189 267.249.443 175.474.341

bubble10

3.175.722.204.209 1.507.668.097.293 3.283.465.560.114 1.570.903.779.150 3.656.603.556.865 1.749.994.163.998

jack

954.804.342.885 410.217.751.899 979.628.505.307 420.385.202.300 1.066.864.717.084 455.523.309.317

javac

5.463.818.494.078 2.233.736.444.863 5.503.182.817.115 2.250.962.861.447 5.667.357.585.744 2.313.507.896.766

raytrace

714.182.285.182 339.150.375.040 753.882.342.071 365.761.181.999 733.786.020.924 328.131.535.386

check

Pipeline

Multiciclo

Pipeline

Multiciclo

Pipeline

Multiciclo

Cinco células

Três células

Uma célula

2.08 x

(35)

RESULTADOS

ƒ

ENERGIA

54.388.727 32.446.189 54.388.727 32.446.189 267.249.443 175.474.341

bubble10

3.175.722.204.209 1.507.668.097.293 3.283.465.560.114 1.570.903.779.150 3.656.603.556.865 1.749.994.163.998

jack

954.804.342.885 410.217.751.899 979.628.505.307 420.385.202.300 1.066.864.717.084 455.523.309.317

javac

5.463.818.494.078 2.233.736.444.863 5.503.182.817.115 2.250.962.861.447 5.667.357.585.744 2.313.507.896.766

raytrace

714.182.285.182 339.150.375.040 753.882.342.071 365.761.181.999 733.786.020.924 328.131.535.386

check

Pipeline

Multiciclo

Pipeline

Multiciclo

Pipeline

Multiciclo

Cinco células

Três células

Uma célula

2.10 x

(36)

RESULTADOS

ƒ

ENERGIA MÉDIA

0

5E+12

1E+13

1,5E+13

2E+13

2,5E+13

1

2

3

4

5

Multiciclo

Pipeline

Células

(37)

RESULTADOS

ƒ

ENERGIA PENALIDADE POR

BRANCHES

NA ROM

Células

0

5.000.000.000.000

10.000.000.000.000

15.000.000.000.000

20.000.000.000.000

25.000.000.000.000

1

2

3

4

5

Penalidade 100%

Penalidade 50%

Penalidade 0%

Multiciclo

Células

(38)

RESULTADOS

ƒ

POTÊNCIA

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

1

2

3

4

5

Média Potência Multiciclo

Média Potência Pipeline

Células

Potência

(39)

RESULTADOS

3. RESULTADOS

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

1

2

3

4

5

Média Potência Multiciclo

Média Potência Pipeline

Células

Potência

5.09 Vezes

(40)

RESULTADOS

3. RESULTADOS

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

1

2

3

4

5

Média Potência Multiciclo

Média Potência Pipeline

Células

Potência

3.88 Vezes

(41)

RESULTADOS

3. RESULTADOS

ƒ

ENERGIA X DESEMPENHO

0 1.000.000.000 2.000.000.000 3.000.000.000 4.000.000.000 5.000.000.000 6.000.000.000

raytrace

mpegaudio

mtrt

jack

Ciclos Multiciclo 5 células

Ciclos Pipeline 1 célula

Energia Multiciclo 5 células

Energia Pipeline 1 célula

(42)

3. RESULTADOS

ƒ

ENERGIA X DESEMPENHO

0 5.000 10.000 15.000 20.000 25.000 30.000

binary_search

seq_search

bubble10

quick10

select10

Ciclos Multiciclo 5 células

Ciclos Pipeline 1 célula

Energia Multiciclo 5 células

Energia Pipeline 1 célula

(43)

RESULTADOS

ƒ

ÁREA

VLIW 2

Pipeline

FEMTOJAVA PIPELINE

+ REC. ARRAY

4 células

5 diferentes reconfigurações

(44)

RESULTADOS

VLIW 2

Pipeline

PIPELINE

D.I.M.

ARRAY

RECONFIGURÁVEL

CACHE

DADOS

CACHE

RECONFIGURAÇÕES

Multiciclo

ƒ

ÁREA

(45)

RESULTADOS

VLIW 2

Pipeline

D.I.M.

ARRAY

RECONFIGURÁVEL

CACHE

DADOS

CACHE

RECONFIGURAÇÕES

Multiciclo

REDUÇÃO

DE

ÁREA!!!

Multiciclo

ƒ

ÁREA

(46)

RESULTADOS

VLIW 2

Pipeline

D.I.M.

CACHE

DADOS

CACHE

RECONFIGURAÇÕES

Multiciclo

REDUÇÃO

DE

ÁREA!!!

Multiciclo

Célula

Célula

Célula

Célula

(47)

CONCLUSÕES E TRABALHOS FUTUROS

9 CONCLUSÃO

9 A inserção de um Array Reconfigurável em um simples

microcontrolador, tornando a arquitetura praticamente

DataFlow, traz benefícios energéticos consideráveis.

9 Desconsiderando compromissos com área, pode-se alcançar

o mesmo desempenho de um processador mais complexo com

um consumo menor de energia.

9 TRABALHOS FUTUROS

9 Obtenção dos dados de potência dinâmica e estática do

Processador e do Array Reconfigurável em nível gate level.

(48)

REFERÊNCIAS

-Beck, A. C. S.., Carro, L. “Dynamic Reconfiguration with Binary Translation:

Breaking the ILP Barrier with Software Compatibility”. In Design Automation

Conference (DAC), 2005

-Gomes,V. F.., Carro,L. “Trading Time and Space on Low Power Embedded

Architectures with Dynamic Instruction Merging”. In Journal of Low Power

Electronics Vol.1, 1–10, 2005

- Radhakrishnan, R. Rubio, J. “Characterization of Java Applications at Bytecode

Referências

Documentos relacionados

Compreendendo- se que o estudo dos eventos do século XX podem ser relevantes e esclarecedores para a compreensão da história e da sociedade de hoje, e levando-se em conta o

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

Após a implantação consistente da metodologia inicial do TPM que consiste em eliminar a condição básica dos equipamentos, a empresa conseguiu construir de forma

Atividades realizadas: Realizar o reconhecimento inicial da demanda da alimentação escolar das escolas de 21 municípios a definir; Localizar e mobilizar a assistência

Deste modo, torna-se imperativo tornar acessível, de forma justa e equitativa, o acesso aos serviços públicos e ao espaço público para as populações cujos horários são cada vez

Existem razões que motivaram o crescimento do setor de serviços, entre os quais pode-se destacar duas, que segundo Churchill e Peter (2000), são o aumento da

Prova de proficiência leitora em inglês (classificatória). Observação: Em nenhuma hipótese haverá revisão de provas. O candidato que faltar a uma das provas será

Cópia  do  Diploma  de  curso  superior  ou  certificado  de  conclusão  de  curso  de  graduação  expedido  por  estabelecimento  oficial  ou