Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 64 Bit Processors

Author: Bas Hamstra

Date: 17:12:17 05/18/01

Go up one level in this thread


On May 18, 2001 at 14:32:43, Robert Hyatt wrote:

>On May 18, 2001 at 14:12:19, Dan Andersson wrote:
>
>>>Probably a rewrite into bitmaps.  The issue is information density.  Bitmaps
>>>are dense pieces of information requiring 64 bits.  A normal program will end
>>>up with most of the bits wasted since the upper 1/2 are _never_ used and in
>>>general, the lower 1/2 is only partially used, in any 64 bit register...
>>
>>Yes, one of the main problems when using a 64 bit processor is that many data
>>structures are smaller than 64 bits, many are 8 bits or less. Refactoring the
>>data to use the bigger size words is essential. But IMO that a 64 bit processor
>>chess program will have worse information density, and will need special data to
>>extract some information from the board. Thus some of the gain from making the
>>transition that will be eaten up by lessened data and instruction cashe
>>efficacy, but not all. An iteresting POV is that an attackboard program can be
>>rewritten fairly easy from 32 to 64 bits by having 32 words of 64 bits instead
>>of 64 words of 32 bits. And when I'm thinking about it an attackboard will gain
>>substantially from 64 bits, since the sparseness of the boards will be offset by
>>the fact that a captured pieces board is not needed longer. The only problem
>>with the attackboard as I see it, is that it will tax even a register rich RISC
>>architecture, at least in the opening.
>>
>>Regards Dan Andersson
>
>
>The registers might be less of a problem than you suspect.  IE register-renaming
>solves many bitboard problems where I do something like this:
>
>bishops_queens^=something;
>white_occupied^=something;
>etc.
>
>Those two could be coded using one real register, and yet they can be
>pipelined at the same instant if the hardware does register renaming...
>
>The real wins are the shifts and stuff I do a lot of.  Shifts are evil if you
>use 64 bits for the item, but only have 32 bit registers...

But there *are* the MMX registers. Wouldn't it be possible to create a MMX asm
library for 64 bits operations? I saw Dann busy with a MMX popcnt that looks
interesting. MMX ought to be fast (though there is some overhead of course, for
example you can't do a LastOne directly).

Best regards,
Bas.






This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.