Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 64 Bitties

Author: Eugene Nalimov

Date: 11:34:47 01/03/00

Go up one level in this thread


I can assure you that for at least one part of chess program - TBs - 32 bits is
too small; for 6 man TBs we need at least 33 bits... And while it is doable at
32-bit machines (or at 16-bit, or even at 8-bit), 64 bits will help a lot.

Eugene

On January 03, 2000 at 12:35:28, Bruce Moreland wrote:

>On January 03, 2000 at 10:43:19, Fernando Villegas wrote:
>
>>Not too much. F5,16 to Fritz 5,32 was not the great thing in terms of speed
>>increment. Seems to me that top programs has reached a point where dramatic
>>improvements are:
>>a) more slowly
>>b) more based in code improvements than in speed progress.
>>But I am not a guru and I can be totally wrong. Ask the programmers here.
>>Fernando
>
>In a 16-bit architecture there are issues involving quantities that exceed 16
>bits.  You have 65536 unique values that you can stuff into an int.  This is
>usually enough in a chess program.  But going to 32-bits allows you to do a few
>things that were a little harder before.
>
>The big 16-bit issue is memory addressing, because you can only stick 65536
>unique values into a pointer variable.  Computers have more memory than this, so
>in the Intel architecture how they let you address more is through segment
>registers, which are 16 additional bits that you can use to address more memory.
>
>I'm not going to go into great detail about this, but it's a big deal.
>Essentially you get 64K that you can address quickly, and for everything else
>you have to use a segment register, which is slower.
>
>In a chess program you can jam everything into 64K, except the hash table and
>maybe some other large and infrequently used data, but you can do more if you
>don't have to deal with this.
>
>In the 32-bit world you don't have to deal with this.  You can create new chunks
>of data without having to worry about blowing out 64K segments, you can write a
>lot of code, and you can deal with ints that have larger values.
>
>So what you get when you go from 16- to 32-bits is freedom to write more
>interesting stuff.  You also get a little speedup from being able to throw away
>segment registers.  And finally, in my opinion you can ditch your assembly code
>if you want, since the compilers seem to be much more capable in the 32-bit
>environment.
>
>When you run in 64-bits, you can make bigger ints, but the lifting of code and
>data size restrictions are much less important, since no "normal" programs are
>anywhere near to blowing out a 32-bit address space.
>
>For chess applications you can use a 64-bit datatype to assign one bit per
>square, which can be either vaguely useful or extremely crucial depending upon
>how you architect your program.
>
>My guess is that most programs are designed to run fine in the 32-bit world, or
>even the 16-bit world.  These will not benefit much from 64-bit processors.  You
>can write a perfectly fine chess program without having to take heavy advantage
>of 64-bit quantities.  If you are starting from scratch perhaps you would make
>more use of these, but if you don't have them you can live without them and
>suffer very little if at all.
>
>bruce



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.