Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador

Detalhes bibliográficos
Autor(a) principal: Silva, José Miguel Pereira da
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/41933
Resumo: Dissertação de mestrado integrado em Engenharia Eletrónica Industrial e Computadores
id RCAP_8c04f737aebd78dd06608874d02e0542
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/41933
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processadorPorting of the LLVM compiler with Clang fronted to a novel processor architectureLLVMCompiladorBackendMicroprocessadoresCompilerMicroprocessorsEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Engenharia Eletrónica Industrial e ComputadoresOs sistemas embebidos estão presentes em praticamente todos os aspetos do diaa- dia da vida moderna. Os sistemas embebidos são usados em leitores mp3, telemóveis, consolas, câmaras digitais, leitores DVD. Novos microprocessadores são por vezes desenvolvidos para satisfazerem as necessidades de uma certa aplicação ou grupo de aplicaçõs sendo necessário acompanhar o desenvolvimento de novas arquiteturas de processadores com o desenvolvimento de novos compiladores para elas. O M2up é um novo processador multi-threading desenvolvido in-house pelo que ainda não possui nenhum compilador. O principal objetivo desta tese é desenvolver um compilador para funcionar em conjunto com o assemblador já desenvolvido para o M2up. A infraestrutura LLVM foi utilizada como base para a criação de um backend LLVM para o processador M2up usando o Clang como frontend. O LLVM (Low Level Virtual Machine) é uma estrutura de compilação desenhada para otimizar a compilação de programas, através do fornecimento de informações de alto nível às transformações do compilador otimizando assim os tempos de compilação, ligação e execução. O LLVM tem vindo a ganhar popularidade entre os programadores como uma alternativa ao GCC (GNU Compiler Collection), porque o GCC tem um código fonte grande e antigo que pode ser lento e que pode gerar alguns erros.Embedded systems have an influence on virtually all aspects of day-today modern life. Mp3 players, mobile phones, videogame consoles, digital ameras, DVD players use embedded systems. New microprocessors architectures are developed to fulfill the needs of a certain application or group of applications, this development of new architectures needs to be accompanied with the development of new compilers to them. M2up is a new multi-threading processor developed in-house and it doesn‟t have any compiler. The main focus of this thesis is developing a compiler to work with the already developed M2up assembler. The LLVM infrastructure was used as a base to develop a backend for de M2up architecture using clang as the frontend. LLVM (Low Level Virtual Machine) is a compiler infrastructure designed to optimize the compilation of programs by providing high-level information to compiler transformations optimizing the compile, linking and executing time. LLVM has been gaining popularity among developers as an alternative to GCC, because GCC as a large and old code-base that can be buggy and slow.Monteiro, João L.Universidade do MinhoSilva, José Miguel Pereira da20132013-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/41933porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:39:22Zoai:repositorium.sdum.uminho.pt:1822/41933Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:35:58.646839Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
Porting of the LLVM compiler with Clang fronted to a novel processor architecture
title Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
spellingShingle Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
Silva, José Miguel Pereira da
LLVM
Compilador
Backend
Microprocessadores
Compiler
Microprocessors
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
title_full Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
title_fullStr Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
title_full_unstemmed Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
title_sort Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
author Silva, José Miguel Pereira da
author_facet Silva, José Miguel Pereira da
author_role author
dc.contributor.none.fl_str_mv Monteiro, João L.
Universidade do Minho
dc.contributor.author.fl_str_mv Silva, José Miguel Pereira da
dc.subject.por.fl_str_mv LLVM
Compilador
Backend
Microprocessadores
Compiler
Microprocessors
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic LLVM
Compilador
Backend
Microprocessadores
Compiler
Microprocessors
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado integrado em Engenharia Eletrónica Industrial e Computadores
publishDate 2013
dc.date.none.fl_str_mv 2013
2013-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/41933
url http://hdl.handle.net/1822/41933
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132887368335360