[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