Avaliação de um processador FemtoJava multiprocesso CMP502 – Sistemas Embarcados

Post on 10-Jan-2016

19 views 0 download

description

Avaliação de um processador FemtoJava multiprocesso CMP502 – Sistemas Embarcados Leomar Soares da Rosa Junior Porto Alegre, março de 2003. Outline:. Objetivos do Trabalho; Implementação; Resultados Obtidos; Trabalhos Futuros. 2. Objetivos do Trabalho:. - PowerPoint PPT Presentation

Transcript of Avaliação de um processador FemtoJava multiprocesso CMP502 – Sistemas Embarcados

Avaliação de um processadorAvaliação de um processador

FemtoJava multiprocessoFemtoJava multiprocesso

CMP502 – Sistemas EmbarcadosCMP502 – Sistemas Embarcados

Leomar Soares da Rosa JuniorLeomar Soares da Rosa Junior

Porto Alegre, março de 2003Porto Alegre, março de 2003

Outline:Outline:

• Objetivos do Trabalho;

• Implementação;

• Resultados Obtidos;

• Trabalhos Futuros.

2

Objetivos do Trabalho:Objetivos do Trabalho:

• Investigar o impacto causado pela execução de threads ou processos simultâneos, gerenciados por software, sobre um mesmo processador femtojava;

• Implementação de um escalonador dedicado à arquitetura.

3

Objetivos do Trabalho >> Contribuição:Objetivos do Trabalho >> Contribuição:

• FemtoJava não tem suporte a execução de threads ou processos simultâneos (sintetiza apenas uma aplicação);

• Permitir o desenvolvimento de programas com várias threads, deixando a gerência p/ o S.O. e p/ a MVJ.

4

Implementação:Implementação:

• Desenvolver um escalonador de threads, o qual utilizará alguma política clássica de escalonamento*, que irá realizar a gerência da troca de contexto entre dois fluxos de execução distintos.

* Inicialmente: Round-Robin

5

Implementação:Implementação:

• Implementação realizada diretamente em bytecodes Java;

• Desenvolver instruções capazes de salvar e recuperar contexto;

• Utilizar o sistema de timer do femtojava para gerar interrupções.

6

Implementação:Implementação:

• Memória de programa e de dados:

7

Implementação:Implementação:

8

Implementação:Implementação:

9

Implementação:Implementação:

• Possíveis variações do escalonador:

3 estratégias estudadas;

Optou-se pela estratégia que apresentavamenor custo em ciclos de execução e áreanecessária para salvamento de contexto!

10

Implementação:Implementação:

• Primeira estratégia:

11

Implementação:Implementação:

• Segunda estratégia:

12

Implementação:Implementação:

• Terceira estratégia:

13

Implementação:Implementação:

• Regras adotadas (1/2):

Cada processo envolvido deveria possuir sua própria pilha de execução;

Cada SP relativo ao topo da pilha de cada processo deveria ser salvo em um local de memória específico, garantindo, assim, que os valores dos registradores salvos pudessem ser realmente restaurados quando o processo fosse escalonado para tomar posse do processador;

14

Implementação:Implementação:

• Regras adotadas (2/2):

As pilhas de execução dos processos deveriam possuir um valor razoavelmente significativo, permitindo que dados não fossem perdidos pela sobreposição de informações;

O local na memória de dados onde os SPs das pilhas dos processos seriam salvos deveria ser uma posição que não fosse alcançada pelas variáveis globais e nem pelo crescimento abrupto da pilha de algum processo.

15

Implementação:Implementação:

• Instruções criadas:

16

Implementação:Implementação:

• Instruções criadas:

17

Implementação:Implementação:

• Instruções criadas:

18

Implementação:Implementação:

• Nova memória de programa:

19

Resultados Obtidos:Resultados Obtidos:

20

Resultados Obtidos:Resultados Obtidos:

21

Resultados Obtidos:Resultados Obtidos:

22

Resultados Obtidos:Resultados Obtidos:

23

Trabalhos Futuros (1/2):Trabalhos Futuros (1/2):

• Implementação do escalonador para o femtojava 8 bits;

• Otimização das instruções efetivamente envolvidas no escalonador;

• Adaptação do escalonador Round-Robin para um maior número de processos;

24

Trabalhos Futuros (2/2):Trabalhos Futuros (2/2):

• Análise da possibilidade de implementar o escalonador com outra estratégia mais econômica;

• Implementação de outras políticas de escalonamento;

• Implementação de uma ferramenta para automatizar o processo de construção dos escalonadores dadas as aplicações do usuário.

25

The endThe end