Difference between revisions of "Register"

From Computer History Wiki
Jump to: navigation, search
(Stubby, but a start)
 
(Register renaming)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
A '''register''' is a special storage location; usually within a [[CPU]], i.e. not part of the machine's [[main memory]], although [[device controllers]] usually include registers too. Since they are part of the CPU, access to them is very fast - usually faster than main memory.
+
A '''register''' is a special small [[memory]] unit; usually within a [[Central Processing Unit|CPU]], i.e. not part of the machine's [[main memory]], although [[device controller]]s usually include registers too. For the ones which are part of the CPU, access to them is very fast - usually faster than main memory.
  
The first computers did not include many registers in the CPU, since each register needs separate hardware, and that was a scare resource early on. Later on, hardware was not so much of an issue, but computers still tend to have somewhat limited numbers of registers, because they are named by fields in [[instruction]]s, and bits in the instruction word are (and always will be) a limited resource.
+
The first computers did not include many registers in the CPU, since each register needs separate [[hardware]], and that was a scarce resource early on. Many machines only had a single register available for doing computations with, the '''accumulator'''; these machines were typically a [[load-store architecture]].
 +
 
 +
Later on, hardware was not so much of an issue, but computers still tend to have somewhat limited numbers of programmer-visible registers, because they are named by fields in [[instruction]]s, and [[bit]]s in the instruction [[word]] are (and always will be) a limited resource. ([[Register renaming]] was developed to allow more registers to be used, without being able to explicitly name them.)
  
 
==See also==
 
==See also==
Line 8: Line 10:
 
* [[Program Counter]]
 
* [[Program Counter]]
  
{{stub}}
+
{{semi-stub}}
 +
 
 +
[[Category:Hardware Basics]]

Latest revision as of 13:10, 14 May 2021

A register is a special small memory unit; usually within a CPU, i.e. not part of the machine's main memory, although device controllers usually include registers too. For the ones which are part of the CPU, access to them is very fast - usually faster than main memory.

The first computers did not include many registers in the CPU, since each register needs separate hardware, and that was a scarce resource early on. Many machines only had a single register available for doing computations with, the accumulator; these machines were typically a load-store architecture.

Later on, hardware was not so much of an issue, but computers still tend to have somewhat limited numbers of programmer-visible registers, because they are named by fields in instructions, and bits in the instruction word are (and always will be) a limited resource. (Register renaming was developed to allow more registers to be used, without being able to explicitly name them.)

See also