Skip to main content

Full-System Simulator for IBM PowerPC 970

A full-system simulation infrastructure and tools for the PowerPC 970 instruction set.

Date Posted: August 18, 2005

alphaworks tab navigation


 

Update: April 6, 2006 New version has been expanded to additional platforms, and set-up scripts have been improved.

 

What is Full-System Simulator for IBM PowerPC 970?

The IBM Full-System Simulator has been developed and refined in conjunction with several large-system design projects built upon the IBM Power Architecture. As an execution-driven, full-system simulator, the IBM Full-System Simulator has facilitated the experimentation and evaluation of a wide variety of system components for core IBM initiatives, such as the STI Cell and the IBM PERCS projects. The IBM Full-System Simulator for PowerPC 970 enables development teams both within and outside IBM to simulate a PowerPC 970 system in order to develop and enhance application support for this platform.

This technology is Linux®-compatible (see the requirements section for details).

How does it work?

Written in C, a significant part of the Full-System Simulator's simulation capability is directly attributed to its TSIM component. Developed as a robust, high-performance alternative to conventional process and thread programming, TSIM is a light-weight, multi-tasking scheduling framework that provides a complete set of facilities for creating and scheduling threads, manipulating time delays, and applying a variety of inter-thread communication policies and mechanisms to simulation events.

In TSIM's multi-threaded approach, individually-schedulable threads are created to simulate a component or collection of components. If a thread must defer processing, it requests to be blocked and continues execution when awakened. Any local (stack) state is preserved in order to mitigate the necessity for allocating areas for saving and restoring this state. TSIM threads are non-preemptive; they block only on well-defined events. TSIM simplifies access to shared data that must otherwise be serialized in order to guarantee correct behavior. Each thread has an associated priority. Scheduling and resource allocations are all "first-come, first-served" (FCFS) within priority. TSIM also includes software components useful for modeling common hardware components such as gates, latches, and ports.

This low-level simulation infrastructure is complemented with a host of additional features, such as integrated development and debugging tools, support for stand-alone and operating system boot, data collection and analysis frameworks, performance visualization, and tracing and logging capabilities that enable developers to realistically represent an entire system of equipment, devices, or subsystems and simulate not only the instructions executed by the processor core, but also its interactions with its surrounding system components. Additionally, the Full-System Simulator is capable of booting K42, IBM's research operating system, and rHype, the research hypervisor.

About the technology author(s)

The IBM Full-System Simulator has been developed by the Future Systems group at the IBM Austin Research Lab (ARL). Consisting of the Performance and Tools team, Novel Systems Architecture team, and Power-Aware Systems team, Future Systems focuses on software system issues, including system-level power analysis, system performance, and low-level system software issues. The researchers bring a wide variety of expertise and extensive experience in numerous software and hardware technologies to the team, including computer architecture, performance analysis, operating systems, power management, and algorithms.

Trademarks