Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP

hp.com home


Overview of Ski

» 

HP Labs

» Research
» News and events
» Technical reports
» About HP Labs
» Careers @ HP Labs
» People
» Worldwide sites
» Downloads
Content starts here

The Ski simulator is a software package designed to functionally simulate the IA-64 processor architecture at the instruction level. Ski offers an informative, screen-oriented machine-state display and a friendly, powerful command-line interface. Programs may be loaded from disk in executable format; they may be run from start to finish, single-stepped, and break-pointed. Execution can occur in a text-oriented or a graphical user interface or in batch-mode, with no user-interface at all. Both the user-level and the system-level machine-state can be simulated. For user-level execution, Ski will intercept IA-64 Linux system calls and translate them into the corresponding system calls of the host operating system.

Strengths

Ski is particularly well-suited for:

IA-64 application development.
Ski can simulate IA-64 programs in a Linux environment and IA-32 programs in an MS-DOS environment. Ski provides a user interface that looks very much like a typical debugger, but the processor you are debugging on is a virtual, simulated by Ski.
IA-64 compiler-tuning.
Ski provides performance statistics that can help you tuned IA-64 compiler code generators. Ski can help you improve your compiler's use of IA-64 architecture enhancements for parallelism. However, note that Ski does not emulate a particular Itanium processor and as such does not provide cycle-accurate results.
IA-64 operating-system and firmware development.
Ski can simulate a "raw" IA-64 processor, with no operating system provided. Because of this, you can use Ski to simulate an IA-64 operating system running IA-64 programs. For example, Ski continues to be used in the development of the IA-64 version of the Linux kernel.
IA-64 processor functional hardware and software verification.
Ski is a true implementation of the IA-64 architecture. You can compare the behavior of code simulated with Ski to the same code running on other IA-64. This helps you verify the correctness of those implementations, or of your software code.

Limitations

No physical device emulation.
Ski simulates the CPU itself but not any of the real devices that would be needed in a complete computer. As such, Ski is not suitable for developing, e.g., device drivers. In system-mode, Ski does provide access to a serial-console (simulated as an X11 terminal window), disk (simulated as a Linux file), and Ethernet (simulated as a raw Ethernet socket).
Sequential execution.
Ski doesn't simulate concurrent instruction execution. Instead, it executes instructions one at a time (as allowed by the IA-64 architecture). Hence Ski cannot be used to detect data-dependency violations.
Simulation accuracy.
In general, Ski is a faithful implementation of the IA-64 architecture. However, there is no guarantee that Ski implements the IA-64 architecture perfectly. The system-call emulation layer needed in user-mode also is not perfect: some applications may not work when simulated in user mode. Multi-threading is not supported in user mode: use the kernel mode instead.
Performance Monitor Unit.
The PMU implemented by Ski is so limited that it has no practical use. You may want to use real hardware for PMU-related development instead.
IA-32 emulation.
Ski emulates only 16-bit IA-32 emulation sufficient for running DOS applications.
Single processor.
Ski simulates only one CPU, so it cannot be used to test multi-processor code.



ski

» top
» overview
» documentation
» download
» mailing list
Printable version
Privacy statement Using this site means you accept its terms Feedback to HP Labs
© 2009 Hewlett-Packard Development Company, L.P.