> I still don't understand what you mean, but the clock timings that are > in the data sheet, are the same ones on my documentation. You would have > to find somebody more skilled then I to debate if they are correct or not. > > Okay, here are some exaples (intel notation): First, the 2 cycles listed in the MMX section is not true. An MMX op costs 6 cycles, that is the latency. It is true that there can exist some stage in the undocumented FPU pipeline which costs 2 cycles, but that defines just the throughput (the MediaGX databook at least listed both numbers.)
example1 (this example is not correct since all paddb will run for 6 cycles it is just hidden from the IU): paddb mm0,mm1 ; 2 paddb mm2,mm3 ; 2 paddb mm4,mm5 ; 2 example2 (we do not care about movd now): movd mm0,eax paddb mm0,mm1 ; 6 paddb mm0,mm2 ; 6 paddb mm0,mm3 ; 6 movd eax,mm0 Now that only means that the Geode is at most half as fast than a Pentium MMX but actually it is not that bad. The problem is that this 6 cycle latency is not documented, neither that the 2 cycles listed in the databook are throughput numbers. Now we reach the land of "synchronized ops". example3 (I cannot garantee that the numbers are correct since I cannot test it): movd mm0,eax ; 5 paddb mm0,mm1 ; 6 paddb mm0,mm2 ; 6 paddb mm0,mm3 ; 6 movd eax,mm0 ; 10 Now from where this 5 and 10 come is a mystery but nevertheless was a shocking revelation. Effectively it makes MMX almost unusable on the Geode. My simple question is: is 3DNOW similarly unusable? Now it is possible that I messed up the measurements but if I am right then something is clearly wrong with the documentation. If your internal documentation lists the same numbers then that internal documentation is wrong as well. Even if the numbers are correct (2 in the case of paddb) it does not mean that the databook is usable since a programmer has to work with the number 6 in this case which is not listed anywhere (not to mention the numbers 5 and 10). Now for the other parts of your message: Are you suggesting that I should measure everything on the Geode? Because I have written my message because I do not want to measure in the first place. Not that I have better things to do than checking clock cycles (normally the documentation matches reality), but this measurement will not even be finished (cannot be done). You know I am not sure what should I say. _______________________________________________ Devel mailing list [email protected] http://lists.laptop.org/listinfo/devel
