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.

Slides:



Advertisements
Apresentações semelhantes
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ Professor: Dilvan Moreira.
Advertisements

Eduardo Souza Santos. Título do trabalho  Heurística da Colônia de Formigas para Detecção de Comunidades  Orientador: Rafael de Santiago.
Sistema Help Desk 24 horas para uma Software House Gabriel Demarchi Orientando Prof. Ricardo Alencar de Azambuja Orientador Universidade Regional de Blumenau.
SyncEasy – Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados Acadêmico: Bernardo Marquardt Müller.
Linguagens de Programação Conceitos e Técnicas Valores e Tipos de Dados Prof. Isabel Cafezeiro
COMPONENTE DE GERAÇÃO DE BOLETOS BANCÁRIOS EM DELPHI Aluno: Jonas Ricardo Viel Prof. Adilson Vahldick - Orientador.
MONITORAMENTO DE DISPOSITIVOS DE REDE E SERVIDORES UTILIZANDO SNMP Luciano Lingnau Orientador: Francisco Adell Péricas.
Diagrama de Implementação Professor Sandro Carvalho.
Estrutura de Dados (DPADF 0056) Aula 7 – Encadeamento de Memória Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior.
5 UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO SISTEMA DE FORÇA DE VENDAS. Gustav Dallmann Júnior Orientador: Prof. Francisco Adell.
MÓDULO DE AVALIAÇÃO DO RETORNO DE INVESTIMENTO EM SISTEMA DE RASTREABILIDADE ANIMAL Eduardo Ehlert Orientador: Mauro Marcelo Mattos.
Algoritmos e Programação utilizando Visualg
INE5408 Estruturas de Dados
Gerência de Arquivos.
Laboratório de Lógica Configurável T8LLC
Projetos Cleber Matos.
Arquitetura de Computadores-S.O.
Polimorfismo e suas aplicações em C++.
Disciplina: Sistemas de Informação
1ª Mostra Integrada de Projetos Científicos Curso de Engenharia Civil
Mapeamento de Entrada e Saída em Sistemas Digitais
Trabalho de Conclusão de Curso
INF1007: Programação 2 2 – Alocação Dinâmica
Introdução OO.
SISTEMAS OPERACIONAIS AULA 01 - Introdução aos Sistemas Operacionais
Orientanda: Ana Paula Joslin de Oliveira
Linguagens de Programação Conceitos e Técnicas
UNIVERSIDADE AGOSTINHO NETO FACULDADE DE CIÊNCIA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO MEMÓRIA/FRAGMENTAÇÃO. Por: Ndalovich Aufico
Símbolo (s) da (s) instituição (es) dos autores
Administração de Gerência de servidores
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Tema 4 - Modelagem ER: Técnicas e Ferramentas
Prof. Wellington Franco
Programação Lógica: PROLOG
Inteligência Artificial
Componentes de Redes de Computadores
Criação e manipulação de objetos
Nome do Aluno Nome do Orientador Instituição
Introdução à programação orientada por objetos
TÍTULO Nome Sobrenome (Curso - AEMS) Nome Sobrenome (Curso - AEMS)
Kroton Educacional Universidade uniderp (Unidade Matriz)
Departamento de Estatística e Informática
TÍTULO COMEÇANDO BEM UMA APRESENTAÇÃO
Modelagem de Sistemas I Aula 1 – Introdução à UML
Níveis de Abstrações TANENBAUM:
Revisão Requisitos e Casos de Uso
Desenvolvimento em Camadas
BANCO DE DADOS I.
Programação Estruturada Aula 1 Prof. Jorge Barreto Julho 2018.
TÍTULO DO TRABALHO (Tam. 60) NOME/ORIENTADOR(A)/INSTITUIÇÃO (Tam
Linguagem de Programação
Sistemas Operacionais Aula 3
Estrutura do Sistema Operacional
Trabalho de Conclusão de Curso I
Título do Trabalho Trabalho de Conclusão de Curso (1 ou 2)
Apresentação do Curso: LABORATÓRIO DE LÓGICA CONFIGURÁVEL.
Daniel Volpato Leonardo Ecco
Prof. Wilian Soares Lacerda DCC - UFLA
Instalação e Manutenção de Computadores Técnico em Informática MAI1
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Resolução por algoritmos de Busca
Algoritmos e Estruturas de Dados I – Ponteiros
Apresentação da Disciplina Disciplina: Linguagens de Programação Prof. Antonio Oseas.
TÍTULO DO TRABALHO (Tam. 60) NOME/ORIENTADOR(A)/INSTITUIÇÃO (Tam
E. M. Dr. Leandro Franceschini
Iniciação Científica Visual # Tool
MAPREDUCE. Histórico, motivação e cenário Grande quantidade de dados criou uma necessidade de maior poder computacional; Impossibilidade de aumentar a.
TÍTULO: NO MÁXIMO 20 PALAVRAS
Alaor José da Silva Junior1, Fábio Moreira Costa1, Marcio N. Miranda2
Faculdades Integradas de Três Lagoas, 2019
Transcrição da apresentação:

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

07/06/ João Paulo Pizani Flor ( Tópicos Motivação / Objetivo geral Conceitos fundamentais Objetivos específicos Desenvolvimento Resultados Conclusões

07/06/ João Paulo Pizani Flor ( Motivação / Objetivo geral

07/06/ João Paulo Pizani Flor ( 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

07/06/ João Paulo Pizani Flor ( Conceitos fundamentais

07/06/ João Paulo Pizani Flor ( Hardware reconfigurável / FPGA “Malha” de blocos lógicos, totalmente flexível

07/06/ João Paulo Pizani Flor ( Algoritmos em hardware Comportamento: o quê o algoritmo deve fazer Arquitetura: quais operadores usar e quando acioná-los

07/06/ João Paulo Pizani Flor ( Síntese de alto nível

07/06/ João Paulo Pizani Flor ( Síntese de alto nível

07/06/ João Paulo Pizani Flor ( 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

07/06/ João Paulo Pizani Flor ( Objetivos específicos

07/06/ João Paulo Pizani Flor ( 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)

07/06/ João Paulo Pizani Flor ( Desenvolvimento

07/06/ João Paulo Pizani Flor ( Estruturas de dados utilizadas

07/06/ João Paulo Pizani Flor ( 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

07/06/ João Paulo Pizani Flor ( 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

07/06/ João Paulo Pizani Flor ( Alterações/Adições - Alocação

07/06/ João Paulo Pizani Flor ( Alterações/Adições – Interface raiz

07/06/ João Paulo Pizani Flor ( Ambiente de execução EPOS em um MIPS32 Escalonador como slave em barramento, mapeado em memória

07/06/ João Paulo Pizani Flor ( Resultados

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

07/06/ João Paulo Pizani Flor ( Resultados

07/06/ João Paulo Pizani Flor ( Conclusões e trabalhos futuros

07/06/ João Paulo Pizani Flor ( 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

07/06/ João Paulo Pizani Flor ( 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

07/06/ João Paulo Pizani Flor ( Muito Obrigado! Always look on the bright side of life... Monty Python – The Life of Brian