Reading Time: 4 minutes

Not all the different CPUs are the same: they may have a different Instruction Set Architecture (ISA).

An Instruction Set Architecture (ISA) is part of the abstract model of a computer that defines how the CPU is controlled by the software. The ISA acts as an interface between the hardware and the software, specifying both what the processor is capable of doing as well as how it gets done.

The ISA provides the only way through which a user is able to interact with the hardware. It can be viewed as a programmer’s manual because it’s the portion of the machine that’s visible to the assembly language programmer, the compiler writer, and the application programmer.

An instruction set architecture is distinguished from a microarchitecture, which is the set of processor design techniques used, in a particular processor, to implement the instruction set. Processors with different microarchitectures can share a common instruction set. For example, the Intel and the AMD implement nearly identical versions of the x86 instruction set, but they have radically different internal designs.

An ISA may be classified in a number of different ways and a common classification is by architectural complexity:

  • complex instruction set computer (CISC) has many specialized instructions, some of which may only be rarely used in practical programs. Intel and AMD CPUs fall in this category.
  • reduced instruction set computer (RISC) simplifies the processor by efficiently implementing only the instructions that are frequently used in programs, while the less common operations are implemented as subroutines, having their resulting additional processor execution time offset by infrequent use. ARM, MIPS, RISC-V based CPUs fall in this category.

In the past (last decades of previous century) there was a huge dilemma between the two different types of ISA… but somehow the X86 model became the de-facto standard.

The x86 architecture was introduced by Intel in 1978 with the release of the 8086 microprocessor, which was later succeeded by the 80286, 80386, and 80486 processors. These processors were used in early IBM-compatible personal computers and established the dominance of the x86 architecture in the PC market.

MIPS (Microprocessor without Interlocked Piped Stages, also the abbreviation of Millions of Instructions Per Second) is a processor architecture that adopts a reduced instruction set (RISC), which appeared in 1981 and was developed and authorized by MIPS Technology Corporation.

MIPS processors have been widely used in the past for desktop computers, servers, and video game consoles. However, they have since been mostly replaced by other architectures such as x86 and ARM in those markets. Nonetheless, MIPS remains popular in certain specialized areas where its strengths in embedded systems and signal processing are valued. And remain one of the most energy efficent architecture.

ARM (Advanced RISC Machines and originally Acorn RISC Machine), is a British semiconductor and software design company that specializes in the development of microprocessors, system-on-chip (SoC) designs, and related technologies. ARM processors are widely used in smartphones, tablets, laptops, smart TVs, and other embedded systems. The ARM architecture is based on a reduced instruction set computing (RISC) approach, which aims to simplify the processor design and improve performance by reducing the number of instructions executed per cycle. This allows ARM processors to consume less power, generate less heat, and offer better performance than traditional processors based on complex instruction set computing (CISC) architectures.

RISC-V is an open standard instruction set architecture (ISA) introduced on August 2014 and based on established reduced instruction set computer (RISC) principles. Unlike most other ISA designs, RISC-V is provided under royalty-free open-source licenses. Many companies are offering or have announced RISC-V hardware; open source operating systems with RISC-V support are available, and the instruction set is supported in several popular software toolchains.

Share