Hi all,

Parsec 2.0 simulation for large scale systems on M5 have brought two 
issues to my attention that maybe someone else has seen and has some 
thoughts. The basic phenomena is that the rename stage of the O3 model 
blocks approximately 30-50% of the time due to an instruction that 
causes all instructions after it to stall until the backend commits all 
instructions. I hypothesize that this serialization action is reducing 
IPC and giving suboptimal performance results for the parsec benchmark 
suite. The 3 types of instructions that cause the serialize stall are: 
(1) trapb, (2) hw_mfpr, and (3) hw_mtpr

(1) The math library from stdlib for alphaev67-unknown-linux-gnu adds 
trapb instructions in many of its functions like sqrt(). As far as I can 
tell, such an instruction was used in cases where the architecture did 
not support precise exceptions and you wanted to have a notion of where 
the error occurred. As far as I can tell, the alpha EV6 implements 
precise instructions but the IEEE standard in the stdlib can be compiled 
to be compliant with inexact exceptions. Does anyone know if I can 
remove the trapb instructions or turn on an option during creation of 
the cross_compiler that would remove these instructions? I hypothesize 
that maybe the m5sim.org cross compiler was not compiled with compiler 
options -mcpu=EV6.

(2) The hw_mfpr and hw_mtpr instructions cause a serialization stall in 
the O3 pipeline. Based on comments from rename_impl.hh (pasted below), 
it appears that these serializations are not strictly necessary, but 
based on limited support. Does someone know how I could could go about 
enabling support to allow the hw_mfpr and hw_mtpr instructions execute 
out of order?

        // In this model, IPR accesses are serialize before
        // instructions, and store conditionals are serialize after
        // instructions.  This is mainly due to lack of support for
        // out-of-order operations of either of those classes of
        // instructions.

Thanks in advance,
-Rick

_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to