Refers to special locations inside the
core of a
micro(
processor|
controller). These can be thought of as
memory locations, but they are
so much more.
Much
These
suckers can be accessed within the same
clock cycle they are being used. Usually you have to go out to
main memory,
pluck the
value from there,
operate on it, and then put it somewhere. This can take
forever! But write something to a register -
BAM! It's there!
Increment it - BAM! it's incremented. Some
processors can operate on multiple registers in one
machine cycle. Yowza!
These are used for
ultra-tight and
precise loops and
algorithms, and are a basic way of passing information from one
function to another. Part of a processor's bit rating (ie, a 32 bit processor) is determined by how large these registers are. You could have a 32 bit core, but if your registers are all 8bit then many people consider the processor to be an 8 bit (and, for all intents and purposes, it is as
effective as an 8 bit)
Most people don't even think about the registers anymore. The
OS or the
compiler determines how they get used, and that's the end of it - which is ok, since you'll rarely run across someone who programs in a low enough language who touches the registers.