MIXTO: MIPS-to-x86 translator and optimizer
Along with the rise of various computer technologies, programming has always been an essential component. In retrospect, programmers deal with various issues such as hardware-software compatibilities and code optimization. This is because different hardware processors have their own instruction set...
Saved in:
Main Authors: | , , , |
---|---|
Format: | text |
Language: | English |
Published: |
Animo Repository
2016
|
Subjects: | |
Online Access: | https://animorepository.dlsu.edu.ph/etd_bachelors/6598 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | De La Salle University |
Language: | English |
id |
oai:animorepository.dlsu.edu.ph:etd_bachelors-7242 |
---|---|
record_format |
eprints |
spelling |
oai:animorepository.dlsu.edu.ph:etd_bachelors-72422021-07-25T09:06:07Z MIXTO: MIPS-to-x86 translator and optimizer Cempron, Jonathan Paul C. Gonzales, Jonathan Benedict M. Hayakawa, Yuuki V. Salinas, Chudrack Shalym Y. Along with the rise of various computer technologies, programming has always been an essential component. In retrospect, programmers deal with various issues such as hardware-software compatibilities and code optimization. This is because different hardware processors have their own instruction set architecture (ISA) which basically dictates the programming of its hardware. Considering this, tools for programming and optimization have been of interest. There have also been other tools such as software emulators and simulators that attempts to increase the compatibility between different hardware. In the architectural design of processors, when comparing two different architectures in a certain characteristics, specifically their ISA, reduced instruction set computers (RISC) and complex instruction set computers (CISC) have a wide difference. This is because each architecture is designed with a different principle in mind. In addition, the inherent microarchitecture and hardware implementation for each architectural principle, RISC and CISC, also varies. Both architectural principles have a market that it dominates. RISC dominates the mobile computing market while CISC dominates the desktop market. Recently however, both are penetrating to the other's market. This merging of markets suggests software compatibility between the architectures. Software compatibility can mean translation of programs from one processor to the other. Being that each processor architecture has both its own ISA and a principle for this ISA, code written for an architecture cannot be simply ported to another. Thus the aim of this study is to provide a means of porting software between architectures of different design principles, RISC and CISC. A MIPS64 to x86_64 translator with few to non-existent errors were developed, limited however only to the EduMIPS64 simulator instruction set. A MIPS64 register renaming optimizer as well as a loop unrolling optimizer based on cliche detection were developed but with limitations. A similar loop unrolling optimizer was also developed for x86_64 code. 2016-01-01T08:00:00Z text https://animorepository.dlsu.edu.ph/etd_bachelors/6598 Bachelor's Theses English Animo Repository Computer architecture MIPS (Computer architecture) X86 assembly language (Computer program language) Computer Sciences |
institution |
De La Salle University |
building |
De La Salle University Library |
continent |
Asia |
country |
Philippines Philippines |
content_provider |
De La Salle University Library |
collection |
DLSU Institutional Repository |
language |
English |
topic |
Computer architecture MIPS (Computer architecture) X86 assembly language (Computer program language) Computer Sciences |
spellingShingle |
Computer architecture MIPS (Computer architecture) X86 assembly language (Computer program language) Computer Sciences Cempron, Jonathan Paul C. Gonzales, Jonathan Benedict M. Hayakawa, Yuuki V. Salinas, Chudrack Shalym Y. MIXTO: MIPS-to-x86 translator and optimizer |
description |
Along with the rise of various computer technologies, programming has always been an essential component. In retrospect, programmers deal with various issues such as hardware-software compatibilities and code optimization. This is because different hardware processors have their own instruction set architecture (ISA) which basically dictates the programming of its hardware. Considering this, tools for programming and optimization have been of interest. There have also been other tools such as software emulators and simulators that attempts to increase the compatibility between different hardware. In the architectural design of processors, when comparing two different architectures in a certain characteristics, specifically their ISA, reduced instruction set computers (RISC) and complex instruction set computers (CISC) have a wide difference. This is because each architecture is designed with a different principle in mind. In addition, the inherent microarchitecture and hardware implementation for each architectural principle, RISC and CISC, also varies. Both architectural principles have a market that it dominates. RISC dominates the mobile computing market while CISC dominates the desktop market. Recently however, both are penetrating to the other's market. This merging of markets suggests software compatibility between the architectures. Software compatibility can mean translation of programs from one processor to the other. Being that each processor architecture has both its own ISA and a principle for this ISA, code written for an architecture cannot be simply ported to another. Thus the aim of this study is to provide a means of porting software between architectures of different design principles, RISC and CISC. A MIPS64 to x86_64 translator with few to non-existent errors were developed, limited however only to the EduMIPS64 simulator instruction set. A MIPS64 register renaming optimizer as well as a loop unrolling optimizer based on cliche detection were developed but with limitations. A similar loop unrolling optimizer was also developed for x86_64 code. |
format |
text |
author |
Cempron, Jonathan Paul C. Gonzales, Jonathan Benedict M. Hayakawa, Yuuki V. Salinas, Chudrack Shalym Y. |
author_facet |
Cempron, Jonathan Paul C. Gonzales, Jonathan Benedict M. Hayakawa, Yuuki V. Salinas, Chudrack Shalym Y. |
author_sort |
Cempron, Jonathan Paul C. |
title |
MIXTO: MIPS-to-x86 translator and optimizer |
title_short |
MIXTO: MIPS-to-x86 translator and optimizer |
title_full |
MIXTO: MIPS-to-x86 translator and optimizer |
title_fullStr |
MIXTO: MIPS-to-x86 translator and optimizer |
title_full_unstemmed |
MIXTO: MIPS-to-x86 translator and optimizer |
title_sort |
mixto: mips-to-x86 translator and optimizer |
publisher |
Animo Repository |
publishDate |
2016 |
url |
https://animorepository.dlsu.edu.ph/etd_bachelors/6598 |
_version_ |
1712576617570631680 |