Generally speaking, instruction sets are divided into simplified instruction sets and complex instruction sets.
Reduced instruction set, namely RISC instruction set computer.
The instruction set is characterized by a small number of instructions, a standard word length for each instruction, short execution time, and the implementation details of the central processing unit are visible to machine-level programs.
Complex instruction set, CISC instruction set complex instruction set computer.
In CISC microprocessor, the instructions of the program are executed in sequence, and the operations in each instruction are also executed in sequence.
The advantage of sequential execution is simple control, but the utilization rate of each part of the computer is not high and the execution speed is slow.
Generally speaking, RISC instruction set is to optimize some common instructions in CISC instruction set and give up some complex instructions. Complex functions need to be completed by combining instructions. Naturally, they are used in different situations, and CISC is more suitable for complex systems. Otherwise, RISC is more suitable and has low power consumption. Please note that there is no difference between RISC and CISC. Initially, the first CPU of Intel x86 defined the first instruction set, which is the initial instruction set. Later, some companies found that many instructions were not commonly used, so they decided to design a concise and efficient instruction set called RISC instruction set, thus defining the original Intel x86 instruction set as CISC instruction set.
Typical RISC instruction set CPUs are: ARM, MIPS, etc.
Typical CISC instruction set CPU includes Intel's x86 instruction set and AMD's x86-64 instruction set.
The above classification is a rough classification, and the instruction set has been developing. In CISC instruction system, a series of instruction sets are gradually developed:
1, x86 instruction set:
The x86 instruction set was specially developed by Intel's first 16-bit CPU(i8086). The CPU I8088 (simplified version of I8086) in the world's first PC introduced by IBM 198 1 also uses x86 instructions. At the same time, the x87 chip series mathematical coprocessor added in the computer to improve the floating-point data processing ability is also x87.
2.MMX instruction set:
In 1997, Intel introduced Multimedia Extensions (MMX), which included 57 multimedia instructions.
MMX instruction is mainly used to enhance the CPU's ability to process multimedia information and 3D graphics, video and audio information.
3.SSE instruction set: streaming SIMD extension
Because MMX instruction didn't significantly improve the performance of 3D games, 1999 Inter Company introduced data stream single instruction sequence extension instruction (SSE) into Pentium III CPU products. SSE is compatible with MMX instructions, which can effectively improve the speed of floating-point operation through SIMD (single instruction multiple data technology) and parallel processing of multiple floating-points in a single clock cycle.
4.SSE2 instruction set:
In Pentium 4 CPU, Inter developed a new instruction set SSE2. The newly developed SSE2 instruction is *** 144, including floating-point SIMD instruction, shaping SIMD instruction, conversion between SIMD floating-point and shaping data, data conversion in MMX register and so on. Important improvements include introducing new data formats, such as 128-bit SIMD integer operation and 64-bit double-precision floating-point operation.
5.SSE3 instruction set:
Compared with SSE2, SSE3 has added 13 new instructions, which were previously collectively called pni(prescott new instructions). In the 13 instruction, one is used for video decoding, two are used for thread synchronization, and the rest are used for complex mathematical operations, floating-point to integer conversion and SIMD floating-point operations.
6.SSE4 instruction set:
SSE4 has added 50 new performance enhancement instructions to help speed up compilation, media, character/text processing and program pointing.
7.3D Now! Extended instruction set:
3D now! This instruction set is a multimedia extended instruction set developed by AMD in 1998. * * * There are 2 1 instructions.
Aiming at the weakness that MMX instruction set does not strengthen the floating-point processing ability, this paper focuses on improving the 3D graphics processing ability of AMD K6 series CPU.
Due to limited instructions, now 3D! Instruction set is mainly used for 3D games, but its support for other commercial graphics applications is insufficient.
8.EM64T instruction set:
Em64t (Extended Memory 64 Technology) of Intel Corporation is a 64-bit memory expansion technology. This technology provides extended memory addressing capability for server and workstation platform applications,
Having more memory and address space can bring greater application flexibility, especially for improving the application of complex engineering software and game software such as audio and video editing and CAD design.
9.3DNow! +instruction set:
On the basis of the original instruction set, it is increased to 52 instructions, including some SSE instructions. This instruction set is mainly used for the new AMD CPU.
10, AVX instruction set
Intel Corporation will bring a new instruction extension set, Intel Advanced Vector Extensions Instruction Set (Intel AVX), to Sandy Bridge.
AVX is extended from 128 bits to 256-bit SIMD (single instruction multiple data). While Sandy Bridge's SIMD operation unit is expanded to 256 bits, data transmission is also improved, so theoretically the floating-point operation performance of CPU core is improved by two times.
It can be seen that the instruction set of CPU is constantly developing, and with the increase of demand, the instruction set is also constantly expanding, thus improving the performance of CPU.
RICS instruction set is generally used in embedded development occasions, so there is not much expansion of the instruction set.