SCPCD Posted August 12, 2007 Report Share Posted August 12, 2007 Now the OP ! first test with a standard 16-bit and not scaled object : E : write back of the previous obj. the time between the last pixel phrase read and the write back completion is 5 cycles. This Followed by the 2 phrase of obj type 1 with one read each 2 cycles The time between last obj phrase and the first pixel phrase is 5 cycles then the OP read pixels : We can see the 2 first phrase read very close I have not yet a real explication about that. (maybe a pipelining effect ?) then 3 cycles between A and B. followed by all other pixel phrase with a rate of 3 cycles. then a 16-bit RMW and not scaled object : E : write back of the previous obj. the time between the last pixel phrase read and the write back completion is 5 cycles. This Followed by the 2 phrase of obj type 1 with one read each 2 cycles. The time between last obj phrase and the first pixel phrase is 5 cycles then the OP read pixels : 5 cycles between A and B. followed by all other pixel phrase with a rate of 4 cycles. Note : Transparent or not, CRY or RGB, it's the same result for timing. Quote Link to comment Share on other sites More sharing options...
SebRmv Posted August 13, 2007 Report Share Posted August 13, 2007 very interesting SCPCD! Quote Link to comment Share on other sites More sharing options...
SCPCD Posted April 19, 2011 Author Report Share Posted April 19, 2011 New Benchmarks about the OP : (cycles are count from the GPU Clock (@26.59MHz) ECPUCLK = 68k clock (@26.59MHz/2) 16-bit Unscaled {Normal, Transparent or Reflect} Bitmap List Structure : Object Address : Branch 1 : $3000 Branch 2 : $3008 Bitmap : $3010 Stop : $3030 Bitmap : Addr : $4518 Width : 68pix of 16-bit= 17 phrases Timing diagram : A : Branch 1 B : Branch 2 C : Bitmap D : Data Bitmap E : Write Back Bitmap F : Stop Object Cycles informations : A -> B = 4cycles B -> C = 4cycles C -> D = 7cycles first 2 phrase bitmap data read : D -> D' = 2cycles next bitmap data read : D' -> D" = 3cycles last bitmap data read : D"' -> E = 5cycles E -> F = 2cycles Stop length : F -> F' = 4cycles Bitmap data total time : D -> E = D->D' + 15*(D'->D") + D"'->E = 2 + 15*3 + 5 = 52cycles Total time : A->F' = A->B + B->C + C->D + D->E + E->F + F->F' = 4 + 4 + 7 + 52 + 2 + 4 = 73cycles 16-bit Unscaled RMW {Normal, Transparent or Reflect} Bitmap List Structure : Object Address : Branch 1 : $3000 Branch 2 : $3008 Bitmap : $3010 Stop : $3030 Bitmap : Addr : $4518 Width : 68pix of 16-bit= 17 phrases RMW Timing diagram : A : Branch 1 B : Branch 2 C : Bitmap D : Data Bitmap E : Write Back Bitmap F : Stop Object Cycles informations : A -> B = 4cycles B -> C = 4cycles C -> D = 7cycles first 2 phrase bitmap data read : D -> D' = 2cycles next bitmap data read : D' -> D" = 5cycles then bitmap data read : D" -> D"' = 4cycles last bitmap data read : D"" -> E = 5cycles E -> F = 2cycles Stop length : F -> F' = 4cycles Bitmap data total time : D -> E = D->D' + D'->D" + 14*(D"->D"') + D""->E = 2 + 5 + 14*4 + 5 = 68cycles Total time : A->F' = A->B + B->C + C->D + D->E + E->F + F->F' = 4 + 4 + 7 + 68 + 2 + 4 = 89cycles 16-bit Scaledx1 {Normal, Transparent or Reflect} Bitmap List Structure : Object Address : Branch 1 : $3010 Branch 2 : $3018 Bitmap : $3020 Stop : $3048 Bitmap : Addr : $4520 Width : 68pix of 16-bit= 17 phrases Zoom : x1 Timing diagram : A : Branch 1 B : Branch 2 C : Bitmap D : Data Bitmap E : Write Back Bitmap F : Stop Object Cycles informations : A -> B = 4cycles B -> C = 4cycles C -> D = 10cycles first 2 phrase bitmap data read : D -> D' = 2cycles next bitmap data read : D' -> D" = 5cycles then bitmap data read : D" -> D"' = 4cycles last bitmap data read : D"" -> E = 5cycles E -> F = 4cycles Stop length : F -> F' = 4cycles Bitmap data total time : D -> E = D->D' + D'->D" + 14*(D"->D"') + D""->E = 2 + 5 + 14*4 + 5 = 68cycles Total time : A->F' = A->B + B->C + C->D + D->E + E->F + F->F' = 4 + 4 + 10 + 68 + 4 + 4 = 94cycles 16-bit Scaledx2 {Normal, Transparent or Reflect} Bitmap List Structure : Object Address : Branch 1 : $3010 Branch 2 : $3018 Bitmap : $3020 Stop : $3048 Bitmap : Addr : $4520 Width : 32pix of 16-bit= 8 phrases Zoom : x2 Timing diagram : A : Branch 1 B : Branch 2 C : Bitmap D : Data Bitmap E : Write Back Bitmap F : Stop Object Cycles informations : A -> B = 4cycles B -> C = 4cycles C -> D = 10cycles first 2 phrase bitmap data read : D -> D' = 2cycles next bitmap data read : D' -> D" = 9cycles then bitmap data read : D" -> D"' = 8cycles last bitmap data read : D"" -> E = 5cycles E -> F = 4cycles Stop length : F -> F' = 10cycles Bitmap data total time : D -> E = D->D' + D'->D" + 14*(D"->D"') + D""->E = 2 + 9 + 5*8 + 5 = 56cycles Total time : A->F' = A->B + B->C + C->D + D->E + E->F + F->F' = 4 + 4 + 10 + 56 + 4 + 10 = 88cycles 16-bit Scaledx3 {Normal, Transparent or Reflect} Bitmap List Structure : Object Address : Branch 1 : $3010 Branch 2 : $3018 Bitmap : $3020 Stop : $3048 Bitmap : Addr : $4520 Width : 32pix of 16-bit= 8 phrases Zoom : x3 Timing diagram : A : Branch 1 B : Branch 2 C : Bitmap D : Data Bitmap E : Write Back Bitmap F : Stop Object Cycles informations : A -> B = 4cycles B -> C = 4cycles C -> D = 10cycles first 2 phrase bitmap data read : D -> D' = 2cycles next bitmap data read : D' -> D" = 13cycles then bitmap data read : D" -> D"' = 12cycles last bitmap data read : D"" -> E = 5cycles E -> F = 4cycles Stop length : F -> F' = 14cycles Bitmap data total time : D -> E = D->D' + D'->D" + 14*(D"->D"') + D"'->E = 2 + 13 + 5*12 + 5 = 80cycles Total time : A->F' = A->B + B->C + C->D + D->E + E->F + F->F' = 4 + 4 + 10 + 80 + 4 + 14 = 116cycles 16-bit Scaledx2 RMW {Normal, Transparent or Reflect} Bitmap List Structure : Object Address : Branch 1 : $3010 Branch 2 : $3018 Bitmap : $3020 Stop : $3048 Bitmap : Addr : $4520 Width : 32pix of 16-bit= 8 phrases Zoom : x2 RMW Timing diagram : A : Branch 1 B : Branch 2 C : Bitmap D : Data Bitmap E : Write Back Bitmap F : Stop Object Cycles informations : A -> B = 4cycles B -> C = 4cycles C -> D = 10cycles first 2 phrase bitmap data read : D -> D' = 2cycles next bitmap data read : D' -> D" = 17cycles then bitmap data read : D" -> D"' = 16cycles last bitmap data read : D"" -> E = 5cycles E -> F = 4cycles Stop length : F -> F' = 26cycles Bitmap data total time : D -> E = D->D' + D'->D" + 14*(D"->D"') + D"'->E = 2 + 17 + 5*16 + 5 = 104cycles Total time : A->F' = A->B + B->C + C->D + D->E + E->F + F->F' = 4 + 4 + 10 + 104 + 4 + 26 = 152cycles Refresh during line drawing Timing diagram : A : Start B : End Cycles informations : A -> B = 39cycles Result on a 16-bit Scaledx2 Bitmap of 320pix List Structure : Object Address : Branch 1 : $3010 Branch 2 : $3018 Bitmap : $3020 Stop : $3048 Bitmap : Addr : $4520 Width : 320pix of 16-bit= 80 phrases Zoom : x2 Timing diagram : A : Branch 1 B : Branch 2 C : Bitmap D : Data Bitmap E : Write Back Bitmap F : Stop Object Cycles informations : A -> B = 4cycles B -> C = 4cycles C -> D = 10cycles first 2 phrase bitmap data read : D -> D' = 2cycles next bitmap data read : D' -> D" = 9cycles then bitmap data read : D" -> D"' = 8cycles bitmap to refresh : 2cycles refresh : 39cycles last bitmap data read : D"" -> E = 5cycles E -> F = 4cycles Stop length : F -> F' = 10cycles Bitmap data total time : D -> E = D->D' + D'->D" + (54*(D"->D"') + refresh + ) + D""->E = 2 + 9 + (54*8 + 2 + 39 + 22*8) + 5 = 665cycles Total time : A->F' = A->B + B->C + C->D + D->E + E->F + F->F' = 4 + 4 + 10 + 665 + 4 + 10 = 697cycles Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted April 19, 2011 Report Share Posted April 19, 2011 Wow ! Nice work ! Quote Link to comment Share on other sites More sharing options...
ggn Posted April 19, 2011 Report Share Posted April 19, 2011 SCPCD wins the OP Quote Link to comment Share on other sites More sharing options...
Recommended Posts