Facilitating the Bootstrapping of a New ISA
Document Type
Conference Proceeding
Publication Date
6-2023
Department
Department of Computer Science
Abstract
Implementation of a new instruction set architecture (ISA) is a non-trivial task that involves significant modifications to the system software, such as the compiler, the assembler, and the linker. This task also includes modifying and verifying functional and cycle accurate simulators to facilitate performance evaluation of programs under the new ISA. Isolating errors in these software components becomes extremely challenging and demands automated and semi-automated mechanisms since neither the compilation infrastructure nor the simulation infrastructure can be trusted as both parties have been heavily modified. Bootstrapping a new ISA is very common in embedded systems since there is a greater variety of embedded ISAs due to often not having a need to support backward compatibility of executables. In this paper, we present the tools and the verification mechanisms we have implemented to support the development of a number of related, but distinct ISAs. Our work in developing the system software and simulators for these ISAs demonstrate that a step-by-step semi-automated approach which relies on simple invariants can facilitate effective bootstrapping of the complete system software and the simulator infrastructure.
Publication Title
Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES)
ISBN
9798400701740
Recommended Citation
Mortensen, A.,
Pomerville, S.,
Whalley, D.,
Onder, S.,
&
Uh, G.
(2023).
Facilitating the Bootstrapping of a New ISA.
Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), 2-12.
http://doi.org/10.1145/3589610.3596282
Retrieved from: https://digitalcommons.mtu.edu/michigantech-p/17387