Chapter 20
ERRIC Machine Code Simulator
Aleksey Gospodchikov, Sergey Koziakov, Danila Romanov
and Eugene Zouev
Abstract The architecture and implementation of the ERRIC instruction code
software simulator is presented. The main property of the simulator is providing a
tool for developing real ERRIC-based software even before a real ERRIC processor
appears, or to develop software without a processor at hand. The overall structure of
the software tool is described, and the key data structures and algorithms of the
simulator are explained and discussed.
20.1 Overall Description
The principal architecture of the ERRIC code simulator is presented below,
Fig. 20.1.
As Fig. 20.1 shows the developed software system consists of:
• an interpreter library capable of running machine code compatible with ERRIC
command set
• a console and graphical clients that use the library to run executable files and
show the results.
Together, they form the ERRIC Machine Code Simulator.
20.2 Basic Usage
The interpreter library is capable of interpreting a certain version of ERRIC
machine code, the details of which were introduced in the Chap. 14, Sect. 14.2. The
interpreter works primarily with self-contained structures, allowing for great flexibility, such as the option of simulating multi-core processors. The library also
allows the user to read executable files in order to fill the structures to execute.
The console client executes the given executable from the start until the end on a
single-processor machine and creates a memory dump after the execution.
© Springer Nature Switzerland AG 2020
I. Schagaev et al., Software Design for Resilient Computer Systems,
https://doi.org/10.1007/978-3-030-21244-5_20
293
ERRIC Machine Code Simulator
Aleksey Gospodchikov, Sergey Koziakov, Danila Romanov
and Eugene Zouev
Abstract The architecture and implementation of the ERRIC instruction code
software simulator is presented. The main property of the simulator is providing a
tool for developing real ERRIC-based software even before a real ERRIC processor
appears, or to develop software without a processor at hand. The overall structure of
the software tool is described, and the key data structures and algorithms of the
simulator are explained and discussed.
20.1 Overall Description
The principal architecture of the ERRIC code simulator is presented below,
Fig. 20.1.
As Fig. 20.1 shows the developed software system consists of:
• an interpreter library capable of running machine code compatible with ERRIC
command set
• a console and graphical clients that use the library to run executable files and
show the results.
Together, they form the ERRIC Machine Code Simulator.
20.2 Basic Usage
The interpreter library is capable of interpreting a certain version of ERRIC
machine code, the details of which were introduced in the Chap. 14, Sect. 14.2. The
interpreter works primarily with self-contained structures, allowing for great flexibility, such as the option of simulating multi-core processors. The library also
allows the user to read executable files in order to fill the structures to execute.
The console client executes the given executable from the start until the end on a
single-processor machine and creates a memory dump after the execution.
© Springer Nature Switzerland AG 2020
I. Schagaev et al., Software Design for Resilient Computer Systems,
https://doi.org/10.1007/978-3-030-21244-5_20
293
