Repositório Institucional da UFPI

COGNITE - UM FRAMEWORK PARA CONSTRUÇÃO DE GERADORES DE CÓDIGO PARA ARQUITETURAS MULTI-CORE

DSpace/Manakin Repository

Show simple item record

dc.contributor.author CARVALHO, Eugênio Souza .
dc.date.accessioned 2020-08-14T12:26:05Z
dc.date.available 2020-08-14T12:26:05Z
dc.date.issued 2020-08-14
dc.identifier.uri http://hdl.handle.net/123456789/2333
dc.description Orientador: Prof Dr Ivan Saraiva Silva. Examinador Interno: Prof Dr Kelson Rõmulo T. Aires. Examinador Internos: Prof Dr Raimundo Santos Moura.Examinador Externo: Prof Dr Silvio Roberto F. de Araújo. pt_BR
dc.description.abstract RESUMO:O processo de desenvolvimento de hardware e software antes sequencial foi substituído por um modelo de desenvolvimento concorrente. Isso decorre do contínuo crescimento da complexidade dos sistemas e do encurtamento da janela de time-to-market. Projetos de hardware quase sempre resultam em novos paradigmas, bem como na inserção de instruções não suportados em compiladores convencionais. O objetivo desta dissertação é apresentar o framework e compilador Cognite, detalhando os recursos disponibilizados pelas ferramentas. O foco principal deste trabalho é disponibilizar uma infraestrutura que acelere o desenvolvimento de geradores de código para validação de projetos de hardware. Um objetivo secundário mas não menos importante consiste na utilização do framework com fins didáticos. Para verificar a capacidade de geração de código foram realizados experimentos comparando o código obtido pelo compilador Cognite e as soluções de compiladores Clang e GCC. Os resultados revelam que apesar da pouca maturidade e com um conjunto mínimo de otimizações Cognite obteve um bom posicionamento quando comparado com soluções consolidadas como Clang e GCC, para o conjunto de aplicações analisado. Os pontos de maior destaque são: a redução da quantidade de operações de load e store, bem como a melhor utilização dos registradores e memória disponíveis. Acredita-se que esse trabalho possa impulsionar os estudos nas áreas de hardware/software codesign e construção de compiladores com foco na exploração de paralelismo em arquiteturas não convencionais. ABSTRACT:The development process hardware and software before sequential has been replaced by a competitor development model. This stems from continued growth the complexity of the systems and the shortening of the time-to-market window. Hardware projects almost always result in new paradigms, as well as insertion of instructions not supported in conventional compilers. The objective of this dissertation is to present the compiler and the Cognite framework, detailing the resources made available by this tool. The main focus of this work is to provide an infrastructure that accelerate the development of code generators for validation of hardware projects. A secondary but not less important objective is to use the framework for didactic purposes. To verify the capacity of code generation were performed experiments comparing the code obtained by the Cognite compiler and the compilers Clang and GCC. The results show that despite the low maturity and with a minimal set of optimizations Cognite has achieved a good positioning when compared to consolidated solutions like Clang and GCC, for the set of applications analyzed. The most important points are: reducing the amount of load and store operations, as well as the best use of available registers and memory. It is believed that this work can boost the studies in the areas of codesign hardware / software and construction of compilers focused on the exploration of parallelism in architectures not conventional pt_BR
dc.language.iso other pt_BR
dc.subject Compilador pt_BR
dc.subject Gerador de Código pt_BR
dc.subject Simulação pt_BR
dc.subject Framework pt_BR
dc.subject Compiler pt_BR
dc.subject Code Generator pt_BR
dc.subject Simulation pt_BR
dc.title COGNITE - UM FRAMEWORK PARA CONSTRUÇÃO DE GERADORES DE CÓDIGO PARA ARQUITETURAS MULTI-CORE pt_BR
dc.type Preprint pt_BR


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse

My Account