Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move ordering ?

Author: James Robertson

Date: 15:23:22 10/26/98

Go up one level in this thread


On October 26, 1998 at 16:22:11, Robert Hyatt wrote:

>On October 26, 1998 at 10:59:14, James Robertson wrote:
>
>>On October 25, 1998 at 13:28:05, Robert Hyatt wrote:
>>
>>[....]
>>
>>>>
>>>>I still have problems understanding. Suppose you have, starting at address 0,
>>>>four 8-bit values. If you access the first, then the whole "clump" of 32 bytes
>>>>are loaded into the L2 cache. Ok, that makes sense.
>>>>
>>>>Suppose you access the second byte in chunk 0. Does the computer load chunk 0
>>>>(bytes 0-3) into memory? or does it load bytes 1-4 into memory? Thanks for the
>>>>help!
>>>>
>>>>James
>>>>
>>>
>>>cache lines are *always* aligned on 32 byte boundaries...  so if you access
>>>*any* byte between 0 and 31, all the bytes in the line get loaded from bytes
>>>0-31 in memory...  non-boundary aligned caches were done many years ago, but
>>>cause problems with todays 32 bit "banks"...
>>>
>>
>>Ok, this clears up one problem I got from not reading enough of the previous
>>messages in this thread.... the cache is 32 bytes long, not 32 bits. Suppose you
>>have an array, say, of 50 3-bit structures. Obviously 32 is not divisible by 3,
>>so will the machine "split" a structure between two lines? Obviously this is
>>necessary for huge structures, but are smaller treated differently?
>>
>>James
>
>
>None of that has anything to do with cache...  just think of memory as being
>broken up into 32 byte "lines" rather than 4 byte words...  a reference to
>any byte in a single line results in the entire line being loaded into cache.
>
>If the part of the "thing" you reference is in line X, then line X is popped
>into cache in its entirety.  If it is longer than a single line, doesn't matter,
>because lines are fetched as bytes within a line are accessed...
>
>So the cpu only sees memory-to-cache-line mapping.  How the compiler did the
>structure-to-memory mapping is unimportant to the hardware, because the hardware
>doesn't understand *anything* about "structures" and such... those are compiler
>abstractions of the basic memory model...

Ok, that clears just about everything up. My other questions I can probably
figure out from the help files, but I may still end up adding questions to this
thread... :)

James



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.