Título: | Estudo e desenvolvimento de uma ferramenta-base para criação de processadores de aplicação específica |
Autor(es): | Nery, Moysés Pinheiro |
Orientador(es): | Silva, Jones Yudi Mori Alves da |
Assunto: | Sistemas embarcados (Computadores) Microprocessadores Arquitetura de computador Compiladores (Programas de computador) Software - desenvolvimento |
Data de apresentação: | Dez-2020 |
Data de publicação: | 15-Set-2021 |
Referência: | NERY, Moysés Pinheiro. Estudo e desenvolvimento de uma ferramenta-base para criação de processadores de aplicação específica. 2020. viii, 52 f., il. Trabalho de conclusão de curso (Bacharelado em Engenharia Mecatrônica)—Universidade de Brasília, Brasília, 2020. |
Resumo: | Os sistemas embarcados estão difundidos em quase todos os aspectos do cotidiano da atualidade.
Esses sistemas encontram-se em smartphones, videogames, câmeras inteligentes, carros elétricos,
fábricas automatizadas e diversas outras aplicações. Por conta disso diversos microprocessadores
são desenvolvidos a cada dia para desempenharem certo grupo específico de aplicações, de modo
que é necessário acompanhar tais arquiteturas de processadores com seus respectivos compila-
dores. Este trabalho objetiva estudar o desenvolvimento de um compilador realizado para uma
arquitetura computacional didática chamada de “Cpu0”, que é um microprocessador RISC de 32
bits, cujo código em Verilog é aberto ao público, onde o framework LLVM foi utilizado para criação
de um backend para portar tal arquitetura de um novo compilador. Além disso, busca-se realizar
modificações no backend a fim de adequá-lo a possíveis alterações na ISA do Cpu0 para aplicá-lo a
um contexto específico. O LLVM é uma estrutura de compilação modular que foi concebida para
compilar softwares de forma otimizada, por meio do fornecimento de informações de alto nível às
transformações do compilador que levam a tempos de compilação e execução otimizados. |
Abstract: | Embedded systems are widespread in almost all aspects of today’s daily life. These systems are
found in smartphones, video games, smart cameras, electric cars, automated factories and several
other applications. Because of this, several microprocessors are developed every day to perform
a specific group of applications, so it is necessary to add to these processor architectures with
their respective compilers. This work aims to study the development of a compiler made for a
didactic computational architecture called “Cpu0”, which is a 32-bit RISC microprocessor, whose
code in Verilog is open to the public, where the LLVM framework was used to create a backend
to port such architecture to a new compiler. In addition, modifications are made to the backend
in order to adapt it to possible changes in the Cpu0 ISA to apply it to a specific context. The
LLVM is a modular compilation structure that was designed to compile software in an optimized
way, by providing high-level information to the compiler transformations that lead to optimized
compilation and execution times. |
Informações adicionais: | Trabalho de conclusão de curso (graduação)—Universidade de Brasília, Faculdade de Tecnologia, Curso de Graduação em Engenharia de Controle e Automação, 2020. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Engenharia Mecatrônica
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.