[RC5] Question on i386 RC5 cores

Bruce Ford b.ford at qut.edu.au
Fri Dec 29 00:00:59 EST 2000

>I thought all cores were hand-rolled and finger-optimized
>assembler code for RC5?

You are welcome to try to optimize further but the current x86 cores are 
all assembly language.  See http://www.distributed.net/source/.

There are cores for almost every x86 processor type out there and a lot 
have been "done to death".  I would suggest concentrating on the Athlon 
(K7) core.  This is currently at ~290 clocks per key and theoretically I 
feel it could reach 250 clocks per key.  See the archives for my logic on this.

An improvement in the PPro/PII/PIII core would probably be of most benefit 
as that is likely to be the highest fraction of the contribution to the x86 
total.  I wish you luck with that.

I did some work attempting to modify the MMX core for the K6-2 but could 
only achieve the theoretical clocks for one "cycle" of the first round.  My 
theory as to why was that the code needs to align on 32 byte cache lines to 
achieve the theoretical clock count.  This would be an absolute pain to do 
and after that you need to make the linkers ensure that the code is placed 
on a 32 byte boundary (for the various platforms) or dynamically align the 
core. Fun, fun, fun.  My theory could be wrong of course.

The 386/486 self-modifying core can probably be made to work on DPMI hosts 
(DOS, Win16) through aliasing CS but I suspect the contribution to 
distributed.net's overall RC5 rate would be minuscule.

Bruce Ford

To unsubscribe, send 'unsubscribe rc5' to majordomo at lists.distributed.net
rc5-digest subscribers replace rc5 with rc5-digest

More information about the rc5 mailing list