• Nenhum resultado encontrado

projeto de pesquisa

N/A
N/A
Protected

Academic year: 2021

Share "projeto de pesquisa"

Copied!
9
0
0

Texto

(1)

Universidade Federal Rural de Pernambuco

Concurso para Professor do Magistério Superior

Projeto de Pesquisa

Millena de Andrade Almeida Gomes

(2)

Universidade Federal Rural de Pernambuco

Concurso para Docente

Projeto de Pesquisa

DOCUMENTO APRESENTADO COMO PROJETO DE PESQUISA NA UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PELA PROFESSORA MILLENA DE ANDRADE ALMEIDA GOMES.

Recife, junho de 2010

Identificação

(3)

Área Ciência da Computação - Engenharia de Software

Título Desenvolvimento de Ferramentas para Síntese de Sistemas Hardware/Software com foco em Desempenho

Descrição Estudo de arquiteturas de sistemas e definição de técnicas e ferramenta de síntese de sistemas compostos de elementos de hardware/software modelados em um alto nível de abstração em uma plataforma virtual de alto desempenho.

Requisitos Desejáveis

Arquitetura de Computadores, Engenharia de Software e Programação

Alunos de IC 4 por ano

(4)

Desenvolvimento de Ferramentas para Síntese de

Sistemas Hardware/Software com foco em

Desempenho

Os sistemas embarcados encontram-se presentes no cotidiano das pessoas, em celulares, PDAs, equipamentos de rede, câmeras entre diversos outros dispositivos. Estes dispositivos vêm aumentando sua complexidade devido ao acúmulo de funcionalidades, com várias restrições de desempenho, tamanho e consumo de potência, enquanto o tempo de desenvolvimento diminui devido ao reduzido time-to-market. O aumento da complexidade de sistemas modernos somado ao avanço tecnológico dos processos de fabricação direcionou os projetos de sistemas embarcados para o desenvolvimento de SoCs (System-on-chip)[3] . Esses sistemas caracterizam-se pelo alto poder de integração e heterogeneidade de componentes, incluindo em uma única pastilha de silício processadores, memórias, barramentos e periféricos. Outra característica relevante nos SoCs é o fato desses componentes poderem ter diferentes interfaces de comunicação e protocolos.

Além da heterogeneidade dos seus componentes, os projetos de SoC também possibilitam a implementação de partes da funcionalidade do circuito em aplicações de software executadas em processadores, compreendendo com isso o projeto tanto de hardware como de software. A fim de implementar a comunicação hardware/software o projetista deve desenvolver o suporte de software, através de device drivers do(s) dispositivo(s), e suporte de hardware, que consiste em controladores de interrupção, controladores de dispositivos e interfaces com o barramento. O projeto e a integração da infraestrutura necessária para a comunicação e interconexão entre componentes representam um desafio nos projetos de circuitos integrados, impactando diretamente na qualidade, tempo e custo do projeto. Por exemplo, as interconexões são responsáveis, para soluções em FPGA (Field-Programmable Gate Arrays), por 70% a 80% da área total do circuito [4] e 75% a 85% da potência total [5] . Isto encontra-se somado a problemas da taxa de atraso das interconexões, que aumentam proporcionalmente a complexidade das interconexões [6] , devido a heterogeneidade dos componentes com interfaces e protocolos de comunicação diferentes que interagem através de esquemas de comunicação sofisticados tais como barramentos, conexões ponto-a-ponto, NoCs, etc.

Para se ter uma idéia da complexidade da infraestrutura de comunicação e do seu impacto no projeto de um SoC a Figura 1 apresenta um exemplo da arquitetura de um SoC, baseado em plataforma. Neste tipo de arquitetura tem-se uma plataforma base onde podem ser identificados processador, barramento e memória. A plataforma base é incrementada com componentes específicos que irão depender do domínio de aplicação onde o SoC será utilizado. No exemplo da Figura 1 pode-se notar que a

(5)

plataforma foi especializada para processamento de vídeo com módulos como JPEG CODEC. Além do barramento, elemento central da comunicação, esta estrutura é composta por componentes responsáveis pela comunicação em software tais como os device drivers, e em hardware, como controladores, interfaces, e componentes auxiliares que melhoram o desempenho, como o DMA. Pode-se perceber que a comunicação é responsável por uma parte significativa da arquitetura de um sistema, como dito anteriormente.

Como visto anteriormente um SoC possibilita a implementação em um único chip de funcionalidades em software e hardware. Neste contexto, é fundamental o uso de plataformas virtuais, simuladores de SoC que possibilitam a execução de software junto com a simulação de componentes de hardware, para o projeto destes sistemas. As plataformas virtuais permitem a simulação em paralelo dos componentes de hardware e software, validando a funcionalidade do sistema mesmo quando o hardware real não está ainda disponível. Essa abordagem diminui o tempo de desenvolvimento do projeto ao permitir avaliar, de maneira simplificada, problemas de integração, possibilitando que decisões de projeto possam ser tomadas precocemente.

Figura 1 Exemplo de arquitetura de um SoC onde os elementos relacionados a comunicação representam uma percentagem significativa da arquitetura do SoC

Um importante passo para redução da complexidade de projeto de SoCs foi a possibilidade de modelagem de comunicação em diferentes níveis de abstração variando de acordo com a necessidade e quantidade de detalhes fornecida pelo modelo: nível de transferência de registradores, nível de driver, nível de mensagem e nível de serviço [8] . O nível de transferência de registradores (RTL) é caracterizado por uma modelagem de comunicação baseada em sinais lógicos, com comunicação ponto a ponto entre lógica combinacional e/ou registradores. Neste caso os dados são transmitidos em representação binária, possuindo como unidade de tempo de

Micropr

ocessad

or

Micropr

ocessad

or

Bus

Bus

JPEG

Codec

Driver

JPEG

Codec

Driver

A

/

D

C

C

D

Me

mór

ia

Me

mór

ia

D

/

A

C

o

d

ec

JP

E

G

D

M

A

D

M

A

Br

id

ge

Br

id

ge

UA

RT

UA

RT

Contr

olado

r LCD

Contr

olado

r LCD

Cont

rolad

or de

Mem

ória

Cont

rolad

or de

Mem

ória

I

Ca

ch

e

I

Ca

ch

e

D

Cac

he

D

Cac

he

(6)

comunicação os ciclos de clock. O nível de driver é caracterizado pela modelagem de interconexões lógicas que encapsulam protocolos, como barramentos, onde a comunicação é realizada através de operações de leitura e escrita de dados em formatos fixos estabelecidos pelo protocolo. Neste nível o tempo de comunicação é previamente conhecido, devido ao tamanho fixo dos dados. No nível de mensagens, a comunicação é modelada através de canais abstratos independentes de protocolo, como FIFOs, através da definição de primitivas que encapsulam todos os detalhes de comunicação. Por fim, no nível de serviço a comunicação é caracterizada por uma combinação de requisições de serviços, onde todos os detalhes de comunicação (protocolo, estrutura de conexão, entre outros) são completamente abstraídos. Desta forma, a especificação no nível de serviço implica em uma modelagem mais rápida e menos susceptível a erros e com melhor desempenho na simulação. A ausência de detalhes arquiteturais, em particular infraestrutura de comunicação, incluindo portas, interfaces, protocolos, barramentos e controladores reduz o esforço do projetista, porém o preço a ser pago é o aumento da distância entre a modelagem do sistema e sua implementação final como um SoC.

Nos últimos anos várias abordagens para aumentar o nível de abstração foram propostas. Apesar de serem normalmente conhecidas como ESL (Electronic System Level) [9] [10] , elas diferem quanto à linguagem e ao nível de abstração suportado. As abordagens iniciais utilizaram linguagens de programação, a exemplo de C/C++ [11] , para a modelagem de sistemas, adicionando, posteriormente a essas linguagens, suportes de bibliotecas, como SystemC [12] [13] . Esse tipo de abordagem foi amplamente aceito e utilizado para modelar e implementar sistemas compostos por elementos de hardware e de software.

Mais recentemente, o mecanismo de especificação UML 2.0 [14] tem ganhado espaço como uma alternativa para descrever sistemas de hardware/software, devido à sua independência de linguagem e capacidade de definição de profiles específicos. Um exemplo do uso de UML 2.0 para projeto de SoCs é o UML profile for SoC [15] e MARTE [16] , adaptado para a modelagem de hardware. Essas abordagens suportam a modelagem de comunicação em nível de mensagem, possuindo, por isso, ainda foco no protocolo não fornecendo uma semântica bem definida em termos de características de comunicação (síncrono, assíncrono, seqüencial, paralelo). Apesar do UML 2.0 permitir a modelagem no nível de serviço, a maioria das abordagens usando profiles UML 2.0 [17] [15] [18] focam em uma modelagem do sistema equivalente a forma em que são modelados em outras linguagens de baixo nível de abstração, alterando apenas a linguagem utilizada e não o nível de abstração

(7)

trabalhado. Os detalhes da arquitetura, especialmente a infraestrutura de comunicação, precisam ser especificados, incluindo portas, interfaces e protocolos. Este tipo de abordagem, portanto, consome mais tempo de projeto e consiste em mais uma fonte de erros que podem ser propagados durante o desenvolvimento.

Como foi dito anteriormente, projetos de sistemas embarcados deparam-se com a necessidade de aumento da produtividade dos seus projetistas para atender as demandas de tempo, custo e qualidade praticada pelo mercado. Neste contexto, este mercado de sistemas embarcados depara-se com o problema de como reduzir o esforço na modelagem de sistemas hardware/software, diminuindo, conseqüentemente, o tempo de projeto.

Uma das abordagens utilizadas para diminuição do esforço de modelagem é o aumento do nível de abstração trabalhado. Esta abordagem, porém, depara-se com o problema da necessidade de síntese e da ausência de um suporte ferramental que possibilite uma síntese satisfatória.

Dentro deste contexto, a proposta de projeto de pesquisa é a realização de um estudo de ambientes de projetos de SoC para posterior definição de técnicas e métodos que possibilite a síntese de um sistema modelado em nível de serviço para uma plataforma virtual. O objetivo das técnicas e métodos é, portanto, diminuir o tempo de projetos de SoC, que será alcançado através de um conjunto de ferramentas que implementem as técnicas e métodos desenvolvidos durante a pesquisa.

Para alcançar estes objetivos, devem ser estudados os diversos tipos de arquiteturas SoC e os seus componentes de hardware e software. Identificados os diversos tipos de arquitetura serão desenvolvidas as técnicas para realização de síntese de hardware e comunicação, focando na otimização do desempenho do sistema. Vale salientar que este projeto de pesquisa objetiva a proposição de novas técnicas para síntese a partir da especificação de um sistema em alto nível de abstração.

A execução deste projeto será realizada por um grupo de pesquisa composto por professores de disciplinas relacionadas e alunos de iniciação científica, sendo tentados recursos junto ao CAPES e ao CNPq para o financiamento dos recursos do projeto.

(8)

Referências Bibliográficas

[1] PDesigner. Disponível em: http://www.pdesigner.org. Último acesso: 09/03/2009. [2] BRAZILIP. Site do projeto Brazil-IP. url: www.brazilip.org.br. Último acesso em

15/03/2009.

[3] KAMATH, U., KAUNDIM, R. System-on-chip designs- strategy for success. Wripo technologies. June, 2001.

[4] SINGH, A. , PARTHASARATHY , G., MAREK-SADOWSKA, M. Efficient circuit clustering for area and power reduction in FPGAs,” ACM Design Automation of Electronic Systems, vol. 7, no. 4, pp. 643–663. 2002.

[5] KUSSE, E., RABAEY, J. Low-Energy Embedded FPGA Structures. In proc. Of the 1998 International Symposium On Low Power Electronics And Design (ISLPED’98), New York, 1998, pp. 155–160.

[6] CONG, J., FAN, Y., JIANG, W. Platform-Based Resource Binding Using A Distributed Register-File Microarchitectur. In proc. Of the 2006 International Conference On Computer Aided Design (ICCAD’06), San Jose, California, pp. 709-715.

[7] _. (2007). International technology roadmap for semiconductors. Disponível em: http://www.itrs.net/links/2007itrs/home2007.htm. Último acesso: 09/03/2009. [8] SVARSTAD, K.; NICOLESCU, G.; JERRAYA, A. A model for describing

communication between aggregate objects in the specification and design of embedded systems. Proceedings of the conference on Design, Automation and Test in Europe, p.77-85, March 2001, Munich, Germany.

[9] BAILAY, B., MARTIN, G., PIZIALI, A. ESL design and verification. 2007.

[10] MARTIN, G., BAILEY, B., PIZIALI, A. ESL design and verification: a prescription for electronic system level methodology. San Francisco, USA: Morgan Kaufmann, 2007

[11] STROUSTRUP, B. The C++ Programming Language (Special Edition). Addison Wesley. Reading Mass. USA. 2000. ISBN 0-201-70073-5. 1029 pages.

[12] PANDA, P. Systemc: a modeling platform supporting multiple design abstractions. In the proceedings of the 14th International Symposium On Systems Synthesis. Montreal, Canada, 2001, p. 75-80.

(9)

[13] BHASKER, J. A SystemC Primer. Star Galaxy Pub, 2002.

[14] SCHATTKOWSKY, T. UML 2.0 - overview and perspectives in soc design. In the Proceedings Of The Conference On Design, Automation And Test In Europe (DATE`05), v.2, p. 832-833, 2005.

[15] Uml profile for SoC, OMG,

http://www.omg.org/technology/documents/formal/profile_soc.htm, last access 03/11/2008.

[16] FAUGÈRE, M. et all. MARTE: also an uml profile for modeling aadl applications. In proceeding of ICECCS 2007, IEEE computer society, Auknland, New Zeland, 2007.

[17] MUELLER, W. et all. Uml for ESL design: basic principles, tools, and applications. Proceedings of the 2006 IEEE/ACM International Conference On Computer-Aided Design. San Jose, California, 2006.

[18] RICCOBENE, E., SCANDURRA, P., ROSTI, A., BOCCHIO, S. A UML 2.0 profile for systemc. St microelectronics technical report ast-agr-2005-3.

Referências

Documentos relacionados

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

aquilo e comentou na semana passada na palavra livre que a administração começou perdendo tirando a EPAGRI daqui, e acha que perdeu bastante, quando a gente coloca

Se você tiver, no mínimo, três anos de vinculação ao Plano, terá direito ao Benefício Proporcional Diferido (BPD), que consiste em manter o saldo de Conta de

Um outro sistema robótico do tipo rodas, figura 10, é utilizado para inspecionar e limpar a superfície interna de dutos de concreto (Saenz, Elkmann, Stuerze, Kutzner, &

de uma defesa da formulação mais incisiva de políticas públicas, as quais, para serem eficazes, precisam de mecanismos capazes de mapear não só o universo da

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no