8240 BogoMIPS
Geir Frode Raanes
geirfrs at invalid.ed.ntnu.no
Mon May 22 20:50:01 EST 2000
On Mon, 22 May 2000, Seungdong Lee wrote:
>
> Marcus Sundberg wrote:
> > Seungdong Lee <sdlee at da-san.com> writes:
> > > Marcus Sundberg wrote:
> > > > I'm not very familiar with 82x0 processors, but doesn't 8240 use a
> > > > 603-core? When I worked with a 603ev running at 200 MHz I got
> > > > something like 133 BogoMIPS, so then the above value would be correct.
> >
> > > I still think that the correct value is 400.
> >
> You are right, but you might think in other way if you read
> instruction timing section in 603 manual.
> Branch instruction needs only 1 CPU clock and test loop is as follows.
>
> extern __inline__ void __delay(unsigned int loops)
> {
> if (loops != 0)
> __asm__ __volatile__("mtctr %0; 1: bdnz 1b" : :
> "r" (loops) : "ctr");
> }
>
> "bdnz" instruction is executed 'loops' times.
> bdnz is the instruction which jumps to itself.
> Loop count is controlled by CTR register.
In this case you utilize the single dedicated loop HW resorce of
the PowerPC architecture. I have at times had to resort to this
kind of handassembling with addition of move-many instructions
and cache nullify to eliminate copyback reading, simply because
GCC _does not_ utilize this dedicated hardware on its own.
> Please check the BogoMIPS algorithm.
Rather check the implementation. If it is written in C then it
will not result in the above assembly construct - it will use
an ordinary register as loop counter instead.
--
******************************************************
Never ever underestimate the power of human stupidity.
-Robert Anson Heinlein
GeirFRS at invalid.and.so.forth
******************************************************
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list