Registers within the CPU
This is an important concept. You should fully understand this.
In computer architecture, a processor register is a quickly accessible location available to a digital processor's central processing unit (CPU). Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. Registers are typically addressed by mechanisms other than main memory, but may in some cases be memory mapped.
Almost all computers, whether load-store architecture or not, load data from a larger memory into registers where it is used for arithmetic operations and is manipulated or tested by machine instructions. Manipulated data is then often stored back to main memory, either by the same instruction or by a subsequent one. Modern processors use either static or dynamic RAM as main memory, with the latter usually accessed via one or more cache levels.
Processor registers are normally at the top of the memory hierarchy, and provide the fastest way to access data. The term normally refers only to the group of registers that are directly encoded as part of an instruction, as defined by the instruction set.[1]
This video is excellent in helping you understand registers.
Do you understand this topic?
Registers, a memory location within the actual processor that work at very fast speeds. It stores instructions which await to be decoded or executed.
- PC - program counter - stores address of the -> next <- instruction in RAM
- MAR - memory address register - stores the address of the:
- next address -or-
- data of next instruction
- MDR - memory data register - stores the data that is to be sent to or fetched from memory
- CIR - current instruction register - stores actual instruction that is being decoded and executed
- ACC - accumulator - stores result of calculations
- IR - interrupt register - manages requests from I/O devices