I. Introduction
Modern processors are becoming more complex and as features and application size increase, their evaluation is becoming more time-consuming. Chip-multi-processors exacerbate this problem requiring the simultaneous simulation of tens or hundreds of cores, an intensive task no matter how simple the individual cores are. To accelerate the design process and increase their understanding in properties of modern processors, architects and systems designers rely on simulation tools - traditionally in software. Important characteristics of simulation models are flexibility and detail and of course performance, i.e. simulation speed. However these are conflicting goals and it is difficult to achieve all these characteristics simultaneously in one simulator.