Por favor, use este identificador para citar o enlazar este ítem:https://uvadoc.uva.es/handle/10324/50086
Título
Simulador de múltiples arquitecturas segmentadas de computadores
Director o Tutor
Año del Documento
2021
Titulación
Grado en Ingeniería Informática
Abstract
Los lenguajes ensambladores son comúnmente estudiados en asignaturas básicas sobre Arquitectura
de Computadores para explicar el funcionamiento de los procesadores. Existe un conjunto
significativo de lenguajes ensambladores surgidos de las distintas arquitecturas de computadores
existentes. Dicho conjunto de lenguajes va en aumento conforme se desarrollan más arquitecturas
hardware. Elegir qué lenguaje ensamblador estudiar y de qué modo es una decisión limitada a las
tecnologías de desarrollo o simulación existentes para cada arquitectura.
Este trabajo describe la implementación de un prototipo de simulador de lenguajes ensambladores
con propósito docente escrito en Java. Este simulador ha sido desarrollado para soportar un
conjunto extensible de lenguajes ensambladores distintos, centrándose en aquellos de arquitecturas
RISC. Actualmente, está implementado el backend para ARM LEGv8, arquitectura descrita en
Computer Organization and Design: ARM edition. Este backend implementa funcionalidades de
segmentación de instrucciones, tales como las descritas en Computer Architecture: A Quantitative
Approach, incluyendo la simulación de unidades funcionales multiciclo. También se ha implementado
el backend para el subconjunto de instrucciones RV64I de RISC-V, validando la capacidad
de extensión del simulador.
El trabajo desarrollado en este proyecto ha dado lugar a dos publicaciones científicas que han
sido aceptadas y serán presentadas en las XXXI Jornadas de Paralelismo 2020/2021 de la Sociedad
de Arquitecturas de Computadores (SARTECO).
Consideramos que la herramienta desarrollada puede ser de gran utilidad tanto para docentes
como para estudiantes de asignaturas básicas de Arquitectura de Computadores. Assembly languages are commonly studied in basic Computer Architecture courses to explain
the inner workings of processors. A significantly large set of assembly languages has arisen from
the various different computer architectures that exist. Said set is increasing as more hardware
architectures are being developed. Choosing which assembly language to study in a subject and
how to do so is a decision limited by the development and simulation tools available for each
architecture.
This project describes the implementation of a prorotype of an education-oriented, Java-based
assembly language simulator. This simulator has been developed to support an increasing set
of different assembly languages, focusing on those of RISC architectures. Currently, the ARM
LEGv8 backend is implemented, whose architecture is described in Computer Organization and
Design: ARM edition. This backend implements instruction pipelining functionalities such as the
ones described in Computer Architecture: A Quantitative Approach, including the simulation of
multicycle functional units. The RV64I subset of instructions from the RISC-V architecture has
also been implemented, proving the extension capabilities of the simulator.
The work developed in this project has led to the writing of two scientific articles that have
been accepted and will be presented in the XXXI Jornadas de Paralelismo 2020/2021, organized
by the Sociedad de Arquitectura de Computadores (SARTECO).
We consider that the developed tool might be really useful to both undergraduate computer
science students and Computer Architecture professors.
Palabras Clave
Arquitectura de Computadores
Arquitecturas Segmentadas
Docencia
Idioma
spa
Derechos
openAccess
Collections
- Trabajos Fin de Grado UVa [29392]
Files in this item
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivatives 4.0 Internacional