home | list info | list archive | date index | thread index

Re: [OCLUG-Tech] One last dumb question about processor -- for now ??

  • Subject: Re: [OCLUG-Tech] One last dumb question about processor -- for now ??
  • From: Martin Hicks <mort [ at ] bork [ dot ] org>
  • Date: Thu, 22 Dec 2005 11:32:10 -0500
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