Difference between revisions of "Register"
 (add mention of accumulator)  | 
				 (Register renaming)  | 
				||
| (6 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | A '''register''' is a special   | + | 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   | + | 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   | + | 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 11: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.)