A Compact Intermediate Format for SimICS

Magnusson, Peter S. and Samuelsson, David (1994) A Compact Intermediate Format for SimICS. [SICS Report]



Instruction set architecture (ISA) simulators are an increasingly popular class of tools for both research and commercial purposes. Common applications include trace generation, program development, and compatibility support. A major concern with ISA simulators is performance and memory overhead. A common technique for achieving good performance is to use threaded code, which involves translating the target object code to an intermediate format which is subsequently interpreted. We describe such an internal format, which we call the 64-bit format, that is compact and meets a range of requirements in terms of flexibility and simplicity. We show how a simulator using this format can be implemented efficiently by taking advantage of extensions to the C language supported by the GNU C compilers. We have used the format to write the core interpreter in SimICS, a system level multiprocessor simulator that supports the Motorola 88110 and the SPARC V8 instruction sets.

Item Type:SICS Report
Uncontrolled Keywords:Intermediate Representation, Interpreter, Simulator, InstructionSet, Architecture, SPARC, m88110, C, GCC
ID Code:2137
Deposited By:Vicki Carleson
Deposited On:22 Oct 2007
Last Modified:18 Nov 2009 16:00

Repository Staff Only: item control page