Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 64 Bitties

Author: Poschmann

Date: 09:11:38 01/04/00

Go up one level in this thread


On January 04, 2000 at 09:24:13, Robert Hyatt wrote:

>On January 04, 2000 at 06:20:52, Poschmann wrote:
>
>>On January 03, 2000 at 14:58:04, Bruce Moreland wrote:
>>
>>>On January 03, 2000 at 13:03:46, Bango wrote:
>>>
>>>>However; to us technophobes, it seems reasonable that a 64 bit bus can send
>>>>double the information as well a 64 bit CPU can calculate twice as fast.  For
>>>>example look at the SEGA games which run on 64 bit systems, the graphics are
>>>>amazing, much nicer than a home computer.
>>>>
>>>>IMHO if a computer software program runs better on 32 bits than 16 bits it seems
>>>>reasonable that 64 bits will increase speed and quality even more.
>>>
>>>If you are trying to get drunk, you may be able to do it more quickly if the
>>>opening in the top of the beer bottle is larger.  But beyond a certain point it
>>>does not matter how much larger the opening is, since the mouth of everyone
>>>except Mick Jagger is of finite and typical size.  If you put a pint of beer in
>>>a salad bowl you can't drink it any faster than if you put it in a five gallon
>>>bucket.
>>>
>>>I am not a graphics programmer, but I think that the reason that the graphics
>>>app work better with a wider word size is that those things want to do a lot of
>>>calculations on wide words, and want to move a tremendous amount of data around
>>>as fast as possible.
>>>
>>>Chess programs don't benefit as much from the wide bus.
>>>
>>>bruce
>>
>>In image or graphic processing you must do many operations with each pixel in
>>the same way. If you have a 64-Bit-processor you can load, calculate and store 8
>>8-Bit-pixels at once. For example you can use MMX instructions in the Pentium
>>processor.
>>
>>I dont know, if there is a possibility to do chess calculations in the same way
>>in parallel. I suspect it is difficult or impossible because many operations
>>depend on if/then/else conditions before.
>>
>>Ralf
>
>
>Many things can be done 'in parallel'.  Is there a pawn on this square, AND a
>pawn on that square, AND a pawn on that other square?  Etc...

Can you explain your example ? If I have to realize your example I could do it
in the following two ways:

//1.
if(pos(pawn1)==this_square){
  if(pos(pawn2)==that_square)
    action11;
  else
    action12;
}
else{
  if(pos(pawn2)==that_square)
    action21;
  else
    action22;
}

//2.
idx=(BitBoard_Position_of_Pawns&Mask_Pawn12)<<Some_Bits;
switch(idx)
{
  case 0: action22;
          break;
  case 1: action21;
          break;
  case 8: action12;
          break;
  case 9: action11;
          break;
}

In both cases the program not realy benefit from a larger integer word. Because
the decision-tree is sequential as before. Am I wrong ?
In the second case you can exchange the switch statement for a lookup table
access. But the number of table entries is limited by the available memory.






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.