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.