This post explains some concepts related to computer processors.
You can read about 8-bit microprocessors on this post.
Concepts related to Computer Processors
In the context of computing, a processor is an electrical component (digital circuit) that performs operations on an external data source, usually memory or some other data stream.
A computer has at least a Central Processing Unit (CPU). Sometimes the term processor is used to refer to the CPU, but technically the other co-processors are also processors.
An example of co-processor is the Graphical Processing Unit (GPU).
An instruction set architecture (ISA) is an abstract model of a computer that usually describes the set of instructions, data types and registers. A device that implements an ISA is called an implementation.
CPUs are ISA’s implementations.
The binary code of an executable file is defined by the ISA. This means that implementations of the same ISA share the same binary code, but binary code for different ISAs or their implementations look different and are incompatible.
The power of a microprocessor is measured in a floating-point operations per second (FLOPs).
Type of Processors
Type of processors:
- CPU
- GPU
CPU
Computer Processing Unit (CPU).
The Arithmetical Logic Unit (ALU) is part of the CPU.
You can read about 8-bit microprocessors on this post.
GPU
Graphical Processing Unit (GPU) is a co-processor to process graphical data.
You can read more about GPUs on this post.
Computer Processing Architectures
Computer processing architectures
- Monoprocessor
- Multiprocessor
- Symmetric
- Softly coupled
- Tightly coupled
- NUMA
- UMA
- Asymmetric
- Symmetric
In softly coupled architecture each processor has its own memory.
In tightly coupled each processor has its own memory.
Non-uniform Memory Access (NUMA) means that some processors are closer to the memory and will get access easier.
Uniform Memory Access (UMA) means that all processors get the memory at the same speed.
Asymmetric means that each processor is not treated equally.
Bitness
Processors operates with bit sets:
- 8-bit: became mainstream in the 1970s.
- 16-bit: became mainstream for home computers in the late 1980s.
- 32-bit: became mainstream in the 1990s.
- 64-bit: became mainstream for PCs in the 2000s
Types of ISAs
List of popular types of Instruction Set Architectures (ISAs):
- CISC
- RISC
CISC and RISC are the most common types of ISAs, but there are many others.
CISC
Computer Instruction Set Computers (CISC) has more different instructions than RISC. It needs less instructions to execute the same logic, but it may do it slower.
It has several addressing modes.
There are different instruction format with variable width.
Microprogramming is one of its basic characteristics, and means that there is a software that translate the CISC instructions into machine code.
Micro-programmed Control Unit (MCU) is typical of CISC systems, as they are based on microprogramming.
RISC
Reduced Instruction Set Computers (RISC) need more instructions than CISC to execute the same logic, but it may do it faster.
RISC provides high performance per watt for battery operated devices where energy efficiency is key. This is why they are a popular choice for mobile, embedded and IoT devices.
RISC can be implemented in hardware as circuits.
It was first published on 1980.
Instruction Sets for ISAs
List of popular Instruction Set Architectures (ISAs):
- CISC
- x86
- amd64
- PowerPC
- RISC
- arm
- RISC-V
- OpenRISC
The most popular in home computing are x86 and arm.
Some ISAs are open source while other are proprietary.
x86
x86 is a CISC instruction set.
It was popularized by the Intel 8086 CPU and the IBM Personal Computer (PC) that had this CPU.
It is a proprietary architecture, licensed by Intel.
arm
arm is a RISC instruction set.
It has a proprietary archaddressing methodsitecture, licensed by ARM Holdings.
RISC-V
RISC-V is an open standard instruction set architecture (ISA), developed originally by the University of Berkeley and maintained by the RISC-V Foundation.
It was originally released in 2014.
You can read more about RISC-V on this post.
It is RISC.
OpenRISC
OpenRISC was an open ISA earlier than RISC-V, but it has not been as accepted by the industry as the latter.
It was originally released in 2000.
Addressing Methods
You can read this post about addressing methods.