next up previous contents
Next: Options to improve simulation Up: Porting Applications to RSIM Previous: Statistics collection

Performance tuning

For best performance, the user should invoke the compiler with full optimization flags as described in Section 2.4. With such options, the compiler will not generate code using outdated instructions such as MULScc [23], which lead to poor performance with RSIM (see Section 3.2.4).

Whenever possible, the user should use double-precision floating-point operations rather than single-precision, as single-precision floating-point operations currently require additional overhead. Specifically, floating-point registers in the RSIM processor are mapped and renamed according to double-precision boundaries. As a result, operations with single-precision destination registers are must read the previous value of the destination register before writing a portion of the register. This causes single-precision floating point instructions to suffer from output dependences.

The user should also inform the compiler to assume that accesses are aligned, as this will avoid unnecessary single-precision floating point loads. The makefile provided with the sample applications has this option set for the Sun C compiler.



Vijay Sadananda Pai
Thu Aug 7 14:18:56 CDT 1997