Porting do compilador LLVM com o frontend Clang para uma nova arquitetura de processador
Autor(a) principal: | |
---|---|
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 |