From: David B. <dbr...@st...> - 2003-05-01 17:47:03
|
> > I've used vtune to get instructions retired, but that is sort of on the > > "opposite" end of the processor that I'm interested in. [snip] > > For the paper, I'd like to compare instructions > > issued vs. instructions retired for the two programs. On the P4, those > > two may not be the same for a number of weird P4 reasons (as I > > understand talking to P4 experts). [snip] > > I've tried valgrind with --single-step=yes, and see a couple of > > different things that I think *may* be the instructions issued, like > > "translate: new" in the output, but I'm not sure. Is this instructions > > issued? > > All x86 implementations beginning with the Intel PentiumPro [ca.1995] have > speculative, out-of-order execution, including along false conditional > control paths (and even false _un_conditional control paths). Speculation > is influenced by code alignment, icache and dcache hits/misses, interrupts > and task switches, CPU temperature, etc. "Instructions issued" is almost > meaningless for the hardware; certainly no software could ever compute it. Thanks, that's good information but I'm not sure it completely answers my question. What I want is the number of assembly instructions issued, then I can calculate with vtune the number of instructions retired. It would be interesting in it's own right just to compare the two...(esp. since instructions retired is uops, not assembly instructions). I was hoping valgrind already would increment an instructions issued variable before simulating the execution...this is all I really need for right now. Is this in the output of valgrind? After I get that number, i'll compare it to vtune's instructions retired (running the program by itself w/o valgrind). -david |