On Thu, Dec 22, 2005 at 11:00:02AM -0500, William Case wrote: > Hi; > > Simple question which I can't find an answer to. Probably because it is > so basic. > > Whenever a processor fetches a dWord from memory, is the word *always* > copied to the processor or is it in fact moved -- leaving, as it were, a > blank (Ox0000) at that particular address? Get a computer architecture book. The computer's memory is a pyramid: /\ <- processor registers (this one isn't always true) / \ <- L1 cache / \ <- L2 cache / \ <- ... other caches perhaps. / \ <- Main memory Whatever is higher up the pyramid is a subset of the lower levels. Also, generally, when you're writing back down the pyramid you have to go through all levels. I.e., if you were to write a register back to main memory, it would end up in all the cache levels also. Registers aren't always a subset of the caches and memory because some of them are used as pointers to stacks, global pointers, etc. Also, some architectures support in-situe memory operations, so the value/pointer doesn't need to be in a register. So, back to your initial question: The original value is still in memory until you do a "store" of 0 back to the initial memory location. mh -- Martin Hicks || mort [ at ] bork [ dot ] org || PGP/GnuPG: 0x4C7F2BEE
Attachment:
signature.asc
Description: Digital signature