In this article, Virtutech discusses its Simics Hybrid Simulation Capability

Virtutech Simics Hybrid Simulation Capability

A "hybrid" simulation solution mixes device and processor models at different levels of detail into a single coherent simulation system, giving you the best of both worlds. With the hybrid solution, you can:

  • Quickly develop software for the QorIQ P4080.
  • Analyze, optimize, and validate the performance of your software in great detail, before hardware availability.
  • Analyze, optimize, and validate the use of the smart datapath accelerators on QorIQ P4080 with a level of insight not attainable on hardware.
  • Debug performance issues in the large (algorithms, workload partitioning, and other system-wide issues) and the small (branch prediction, pipeline stalls, cache behavior, and similar micro-architectural details) in the same environment.

Background

The models are typically of two different types:

  • Fast functional models
  • Detailed performance models

The fast functional models are built for speed. They reflect the timing of the target system at a coarse level of detail, and are able to run firmware, operating systems, middleware and applications just like the physical system. They do not model microarchitectural details such as pipelines, cache coherency protocols, or the precise implementation of datapaths. They achieve very high simulation speeds, several hundred million instructions per second or more. Virtutech are experts in providing these fast models, and Simics users can also quickly develop fast models using the DML modeling language, or C, C++, or other modeling languages.

The detailed performance models add the microarchitectural details to provide deep insight into the precise cycle-by-cycle timing and behavior of the hardware. Such models run slower than the functional models, since they need to do more work per target instruction step. The level of detail built into these models requires that they are built in the same organization as the processors and devices being modeled. For the QorIQ P4080, the models used are Freescale's own validated performance models for the e500mc core and the performance-critical parts of the interconnect and datapath accelerators. The models are much faster than simulating the actual RTL of the implementation, and provide very good facilities for logging, tracing, and inspecting the behavior of the target system.

In Simics, these two types of models can be mixed in several different ways.

In a spatial hybrid, some models are fast functional models and some models are detailed. This keeps the system as fast as possible, while providing detail for the parts of most interest. Compared to modeling the complete system at using the detailed models, the performance can be many order of magnitude higher.

In a temporal hybrid, you also change the level of detail as the simulation of a workload progresses. The most common scenario is booting an operating system and loading a particular piece of application software and its dataset on the virtual machine using fast mode, and then changing over to detailed simulation for the interesting part of a workload. This maintains the value of the detailed performance models for insight into the performance-critical parts of your software while not wasting time when doing the non-value-added loading and positioning of the workload. This technique is known as "sampling" or "statistical simulation" or "workload positioning" in the computer architecture community.

For more information, please see our Overview for the Simics Hybrid Simulation Capability

Related Press Releases

News & Events | Feedback | Contact Us | About Us | Partners | Academia
All Content © 2004-2009 Virtutech unless otherwise noted | Privacy Policy