[NBLUG/talk] Bare metal question

Mitch Patenaude mrp at sonic.net
Sun May 25 09:51:01 PDT 2003


On Sunday, May 25, 2003, at 08:51 US/Pacific, Steve Zimmerman wrote:
> I recall clearly that, in this one particular
> passage, it was talking about moving something into
> a register that was _not_ a memory location.
>
> This puzzles me, for if a register can be used as
> something that is not a memory location, then what
> is a register?
>
> Proposition:  A register is a mediator between
> electricity and memory, and a register
> serves in the transformation of electricity into memory.
>
> Agree or disagree?

Disagree.

A register is a storage area.  It stores a small chunk of data in a 
space that is architecturally part of the processor, and that makes 
access to it very fast, since access doesn't need to be mediated by the 
address and data buses (which *help* mediate eletricity and  memory).

It is not a memory location since it is not addressable in the standard 
way.   The are some specialized registers (program counter, stack 
pointer)  and then there are the general purpose registers (although in 
the x86 architecture, even the general purpose registers have weird 
restrictions.)

The "not addressable" condition can be a little nebulous though.  Some 
RISC processors have large numbers of (truly) general purpose 
registers, and you can think about those as addressable, though they 
not addressed using the hardware address bus.   Also, you could also 
think about an L1 cache as a very large general purpose register.

Ultimately what mediates eletricity and memory are the small 
capacity/transistor combinations that take a electrical state (high or 
low) and can repeat it at a later time.  Registers have nothing to do 
with it.

    -- Mitch




More information about the talk mailing list