A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

07/06/2011 1 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Síntese comportamental de componentes de um Sistema Operacional em hardware João Paulo Pizani.

Apresentações semelhantes


Apresentação em tema: "07/06/2011 1 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Síntese comportamental de componentes de um Sistema Operacional em hardware João Paulo Pizani."— Transcrição da apresentação:

1 07/06/2011 1 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Síntese comportamental de componentes de um Sistema Operacional em hardware João Paulo Pizani Flor joaopizani@lisha.ufsc.br Orientador: Prof. Dr. Antônio Augusto Fröhlich Co-orientador: Tiago Rogério Mück 15 de Junho de 2011

2 07/06/2011 2 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Tópicos Motivação / Objetivo geral Conceitos fundamentais Objetivos específicos Desenvolvimento Resultados Conclusões

3 07/06/2011 3 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Motivação / Objetivo geral

4 07/06/2011 4 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Motivação / Objetivo geral Estudar a viabilidade de sintetizar para hardware algoritmos descritos em alto nível de abstração ● Implementar um escalonador para o EPOS, usando síntese de alto nível Algoritmo Arquitetura de hardware

5 07/06/2011 5 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Conceitos fundamentais

6 07/06/2011 6 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Hardware reconfigurável / FPGA “Malha” de blocos lógicos, totalmente flexível

7 07/06/2011 7 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Algoritmos em hardware Comportamento: o quê o algoritmo deve fazer Arquitetura: quais operadores usar e quando acioná-los

8 07/06/2011 8 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Síntese de alto nível

9 07/06/2011 9 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Síntese de alto nível

10 07/06/2011 10 João Paulo Pizani Flor (http://www.lisha.ufsc.br) EPOS Embedded Parallel Operating System ● Sistema Operacional orientado à aplicação ● Baseado em componentes, utiliza metaprogramação ● Configurabilidade e portabilidade com baixo overhead Conceito de componente híbrido SW/HW ● Arquitetura descrita em (MARCONDES, 2009) ● Idealmente código único

11 07/06/2011 11 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Objetivos específicos

12 07/06/2011 12 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Objetivos específicos Descrever um escalonador para o sistema EPOS em C++ padrão ● Sintetizar esse escalonador para um dispositivo FPGA ● Verificar o componente gerado com um testbench VHDL Coletar dados de área e atraso de algumas das microarquiteturas possíveis Comparar com a implementação de referência ● Escalonador RTL descrito em (MARCONDES, 2009)

13 07/06/2011 13 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Desenvolvimento

14 07/06/2011 14 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Estruturas de dados utilizadas

15 07/06/2011 15 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Limitações impostas Utilizamos o Catapult-C®, da Mentor Graphics Suporte bastante completo à linguagem C++, com algumas limitações: ● Ponteiros sem alvo (dangling pointers) ● Alocação dinâmica de memória ● Uma função define a interface do hardware

16 07/06/2011 16 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Alterações/Adições - Maybe O uso de ponteiros deve ser sintetizável ● Devem referenciar objetos estaticamente conhecidos ● Ponteiros inválidos impedem já a 1 ª etapa de síntese ● Estruturas EPOS fazem uso intensivo de ponteiros nulos Um tipo Maybe : ● Representa uma operação que pode falhar, mas em caso de sucesso retorna um valor de tipo T ● Dois construtores possíveis: vazio (falha) e com 1 parâmetro

17 07/06/2011 17 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Alterações/Adições - Alocação

18 07/06/2011 18 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Alterações/Adições – Interface raiz

19 07/06/2011 19 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Ambiente de execução EPOS em um MIPS32 Escalonador como slave em barramento, mapeado em memória

20 07/06/2011 20 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Resultados

21 07/06/2011 21 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Cenários de síntese ● Dispositivo: Spartan 3E, XC3S200-FT256 ● Cada cenário se encontra detalhado no relatório

22 07/06/2011 22 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Resultados

23 07/06/2011 23 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Conclusões e trabalhos futuros

24 07/06/2011 24 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Conclusões Confirmada viabilidade de síntese C++ para RTL ● Melhor que o esperado (poucas alterações nos fontes) ● Boa modelagem das estruturas utilizadas (EPOS) foi fundamental Métodos desenvolvidos de “adaptação” ao hardware podem ser generalizados ● Gerenciamento de alocação ● Dispatch de chamadas e tratamento de parâmetros

25 07/06/2011 25 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Trabalhos futuros Escalonador como primeiro componente híbrido do EPOS com descrição única ● Configurar sistema de compilação, etc. Generalização da adaptação de objetos para cenário de execução em hardware ● Estudar a comunicação entre objetos em hardware

26 07/06/2011 26 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Muito Obrigado! Always look on the bright side of life... Monty Python – The Life of Brian


Carregar ppt "07/06/2011 1 João Paulo Pizani Flor (http://www.lisha.ufsc.br) Síntese comportamental de componentes de um Sistema Operacional em hardware João Paulo Pizani."

Apresentações semelhantes


Anúncios Google