Fwd: Re: [hatari-devel] Re: [hatari-users] DSP emulation - MPY #immediate |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Eero, A mail from Doug and my answear. I think we'll have to check this together. Laurent Hi Doug, First, be very careful with the N,R and M registers in hatari, as on a real DSP, their value can only be used after 1 other instruction; but in hatari, their value change and can be used immediatly (I'll have to fix this one day). Normally, you should have a compiler warning if you use the Nx value immediatly after seting it (I'm not so sure about it). For the timings : it looks strange, as > p:0050 21de00 (02 cyc) move a,n6 0.01% (15153, 60612) I indicate 2 cycles into the parenthesis (which seems to be well counted), but the profiler gives 4 cycles. > Can you explain what is happening here? Is it just a profiler bug or something odd happening in the emulation core itself? Good question, I check this from the DSP part. Eero, can you check from the profiler part ? (I think we'll have to check this one together). Laurent -------- Message original --------
Hi Laurent, I have another question for you regarding DSP emulation /
cycle counts / profiling.
p:004f 044e16
(04 cyc) lua (r6)+n6,r6
0.01% (15153, 30306)
p:0050 21de00
(02 cyc) move a,n6
0.01% (15153, 60612)
p:0051 21fa00
(02 cyc) move b,n2
0.01% (15153, 30306)
In the above example, 'n6' is written shortly after it has
been used, however the measured timing for this operation is 4
cycles (60612:cycle_sum / 15153:incidence_sum) and not the
expected 2 cycles. This timing seems to correlate with the
*previous* instruction.
Another example:
p:0099 0aa981
000099 (06 cyc) jclr #1,x:$ffe9,p:$0099
0.01% (8813, 20062)
p:009b 576701
(02 cyc) tfr b,a b,x:(r7)
0.00% (8204, 49224)
I see this occur in many other places, but not necessarily
everywhere - e.g. divides *seem* to look sensible:
p:00bb 0618a0
(04 cyc) rep #$18
0.07% (113102, 226204)
p:00bc 018040
(02 cyc) div x0,a
1.56% (2714448, 5655100)
p:00bd 210500
(02 cyc) move a0,x1
0.07% (113102, 226204)
Can you explain what is happening here? Is it just a profiler
bug or something odd happening in the emulation core itself?
Thanks,
Doug.
|
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |