1 / 26

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

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:.

ailish
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Avaliação de um processador FemtoJava multiprocesso CMP502 – Sistemas Embarcados Leomar Soares da Rosa Junior Porto Alegre, março de 2003

  2. Outline: • Objetivos do Trabalho; • Implementação; • Resultados Obtidos; • Trabalhos Futuros. 2

  3. 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

  4. 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

  5. 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

  6. 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

  7. Implementação: • Memória de programa e de dados: 7

  8. Implementação: 8

  9. Implementação: 9

  10. Implementação: • Possíveis variações do escalonador: 3 estratégias estudadas; Optou-se pela estratégia que apresentava menor custo em ciclos de execução e área necessária para salvamento de contexto! 10

  11. Implementação: • Primeira estratégia: 11

  12. Implementação: • Segunda estratégia: 12

  13. Implementação: • Terceira estratégia: 13

  14. 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

  15. 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

  16. Implementação: • Instruções criadas: 16

  17. Implementação: • Instruções criadas: 17

  18. Implementação: • Instruções criadas: 18

  19. Implementação: • Nova memória de programa: 19

  20. Resultados Obtidos: 20

  21. Resultados Obtidos: 21

  22. Resultados Obtidos: 22

  23. Resultados Obtidos: 23

  24. 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

  25. 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

  26. The end

More Related