Re: [hatari-devel] DSP performance

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


I've given a little look at this :

Running the winuae core, falcon mode, cycle exact, no MMU

I've traced a few lines and something seems strange to me :

cpu video_cyc=   158 158@  0 : 0005197E 4a39 0018 105e           TST.B $0018105e
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
cpu video_cyc=   164 164@  0 : 00051984 6706                     BEQ.B #$00000006 == $0005198c (F)
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
cpu video_cyc=   166 166@  0 : 00051986 4eb9 0005 7a18           JSR $00057a18
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
p:0370  08f4a0 000001  (06 cyc)  movep #$000001,x:$ffe0                           
p:0372  0aa980 000370  (06 cyc)  jclr #0,x:$ffe9,p:$0370                          
cpu video_cyc=   174 174@  0 : 00057A18 6000 4b32                BT .W #$4b32 == $0005c54c (T)



Except if I'm wrong in reading the trace, I can see that

TST.B $0018105e                        is 6 CPU cycles (164-158)
BEQ.B #$00000006 == $0005198c (F)      is 2 CPU cycles (166 - 164)
JSR $00057a18                          is 8 CPU cycles (174 - 166)


But the DSP cycles between each instruction are not twice but 4 to 6 times the cycles of the cpu instruction

Am I wrong somewhere ?

Laurent



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/