Difference between revisions of "CPU"

From SEGGER Wiki
Jump to: navigation, search
m
m
Line 6: Line 6:
 
A CPU has multiple CPU registers. A register is a CPU internal storage, anywhere from just a single up to 32-bits or more.
 
A CPU has multiple CPU registers. A register is a CPU internal storage, anywhere from just a single up to 32-bits or more.
 
==CPU registers==
 
==CPU registers==
  +
The CPU registers are the short term memory inside of the CPU. They can be easily accessed by the instructions executed.
  +
Every CPU architecture has a different register design. They all have the essential registers and some "work registers".
  +
===Essential registers===
  +
All CPU most have the following registers:
  +
* PC - The [[program counter]]. This is the register that contains the address of the next instruction to fetch then execute.
  +
* SP - Stack Pointer. Contains the address of the next item to push or pop. Typically grows downwards.
  +
* Status - A register containing certain certain flags such as Carry, Zero and typically other flags.
  +
==Work registers==
  +
 
== Wordsize of a CPU ==
 
== Wordsize of a CPU ==
 
The Wordsize of a CPU is not really clearly defined.
 
The Wordsize of a CPU is not really clearly defined.

Revision as of 15:36, 16 June 2019

CPU stands for Central Processing Unit. It is basically the "brain" of a computer.

CPUs can have multiple cores. CPU cores today are typically 32-bit or 64-bit. For the sake of this article, we will refer to a single core as CPU. A CPU has multiple CPU registers. A register is a CPU internal storage, anywhere from just a single up to 32-bits or more.

CPU registers

The CPU registers are the short term memory inside of the CPU. They can be easily accessed by the instructions executed. Every CPU architecture has a different register design. They all have the essential registers and some "work registers".

Essential registers

All CPU most have the following registers:

  • PC - The program counter. This is the register that contains the address of the next instruction to fetch then execute.
  • SP - Stack Pointer. Contains the address of the next item to push or pop. Typically grows downwards.
  • Status - A register containing certain certain flags such as Carry, Zero and typically other flags.

Work registers

Wordsize of a CPU

The Wordsize of a CPU is not really clearly defined. A true 8-bit CPU will have only 8-bit registers, with the exception of the PC, which needs to be wider in order to not limit the program memory to just 256 bytes. An example of a true 8-bit CPU would be the 6502. The 8080 or Z80 processors are also considered 8-bit CPUs, even though a lot of the registers can be grouped and actual arithmetic operations can be performed on them, such as in add HL, BC. Older CPUs were usually accumulator centered, so had some register that was used for most arithmetic operations. One way of telling the Wordsize of a CPU would then be the size of the accumulator. Note that the size of the bus interface has nothing to do with the Wordsize. The bus interface can even be 8-bit on a 32-bit CPU.

Thus we would define the wordsize as the number of bits processed by a typical instruction.

In Embedded Systems 8-bit and 16-bit CPUs are still widely used.