Facilitating the Bootstrapping of a New ISA
Facilitating the Bootstrapping of a New ISA
复制标题
DOI:
10.1145/3589610.3596282
复制
发表时间:
2023-06
期刊:
影响因子:
--
通讯作者:
Abigail Mortensen;Scott Pomerville;D. Whalley;Soner Önder;Gang-Ryung Uh
中科院分区:
文献类型:
--
作者:
Abigail Mortensen;Scott Pomerville;D. Whalley;Soner Önder;Gang-Ryung Uh
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.