Processor architectures differ in the type and scope of the following units, which together form an electronic circuit to a processor or processor core:
- A register set for storing temporary application data (accumulator and other general purpose registers) and for displaying the processing context (flag register, stack pointer, segment register, etc.)
- Arithmetic-logical unit (ALU) for arithmetic and logical processing of register contents.
- Internal data, address and control bus. These are to be distinguished from their external counterparts.
- a control unit that opens and closes gates within the internal buses within the process of executing commands in the processor cycle and thus controls the flow of data between registers, the ALU and the external buses.
The popular x86 architecture, due to its history going back to the 1970s, can no longer be referred to as a processor architecture. This is more of a computer architecture: An application programmer trained in 8086 assembler can easily cope with the Intel64 architecture. In terms of structure, however, there are no longer any similarities that go beyond the disposition of the registers.
There can be processors with multiple cores within an architecture . Even a mixed structure with several cores of different architecture in one processor is possible, e.g. B. IBM's Cell processor as a combination of PowerPC and SPEs .
While only processors with 32 or 64 bit processing width are used as the main processor in modern PCs or servers , special processors are used for very different tasks, e.g. B. microcontrollers , signal processors , graphics cards or bus controllers.
In contrast to practically all of the processors mentioned above, which are clock-controlled , there are also non-clocked, asynchronous processors . As they can do without clocking, asynchronous processors have better electromagnetic compatibility and hardly use any power during process breaks. Theoretically, their performance adapts to the electrophysical possibilities and the software-logical requirement situation. However, there are far less sophisticated development techniques for asynchronous digital circuits, which is why this approach is rarely followed.