Difference between revisions of "Register"

From Computer History Wiki
Jump to: navigation, search
m (rm plural from link)
(Register renaming)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
A '''register''' is a special storage location; 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. 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. Many machines only had a single register available for doing computations with, the '''accumulator'''; these machines were typically a [[load-store architecture]].
+
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 registers, because they are named by fields in [[instruction]]s, and bits in the instruction [[word]] are (and always will be) a limited resource.
+
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 10: Line 10:
 
* [[Program Counter]]
 
* [[Program Counter]]
  
{{stub}}
+
{{semi-stub}}
 +
 
 +
[[Category:Hardware Basics]]

Latest revision as of 12: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