Date Added: Jan 2011
Multi-core architectures provide an alternative to increasing clock frequencies to improve performance of modern processors. The best design for these chip multiprocessors, including structure sizes or whether to use homogeneous or heterogeneous cores, remains open for exploration. One potential design path involves using heterogeneous cores that are specialized for a given task. This paper examines the design of a core specifically for the execution of virtual machines. While virtual machines create opportunities for run-time code modification for tasks such as optimization, instrumentation, and security, they lead to overhead at run-time.