The design of an efficient simulator for the Pentium Pro processor

  • Authors:
  • David A. Sykes;Brain A. Malloy

  • Affiliations:
  • ObjectKnowlogy, Inc., 11 Oakview Drive, Greenville, SC;Department of Computer Science, Clemson University, Clemson, SC

  • Venue:
  • WSC '96 Proceedings of the 28th conference on Winter simulation
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

The increasing size and complexity of computer systems has created the need to develop new techniques to facilitate the design and evaluation of developing architectures. The most common technique applied to the development of new architectures is simulation, which permits detailed accurate modeling of the architecture. However, there are several problems associated with using simulation in developing computer systems. First, traditional simulation approaches are not flexible enough to permit easy extension or modification of the model. While most simulators are parameterized to provide flexibility, parameterization alone is not adequate to permit the modification and extension required for developing architectures. Second, traditional simulation approaches are computation intensive, slowing development and prohibiting simulation of large programs. To address the first problem, we use an object-oriented design for our simulator to produce a flexible, extensible model. To address the second problem, we incorporate the decode step of processor simulation into the state of each instruction object, saving the time to simulate the decode during execution. We have implemented a prototype of our design and initial experiments with the object oriented prototype, coded in C++, ran twice as fast as another prototype that we implemented using the traditional approach to simulation where the simulator was written in C.