The central processing unit (CPU), as the computing and control core of the computer system, is the final execution unit for information processing and program operation. Since its inception, the CPU has made tremendous developments in logical structure, operating efficiency, and functional extension.
The central processing unit (CPU) is one of the main equipment of electronic computers and the core accessories in computers. Its function is mainly to interpret computer instructions and process data in computer software. The CPU is the core component in the computer that is responsible for reading instructions, decoding instructions, and executing instructions. The central processor mainly includes two parts, namely the controller and the arithmetic unit, which also includes a cache memory and a bus that realizes the data and control between them. The three core components of an electronic computer are the CPU, internal memory, and input/output devices. The functions of the central processor are mainly processing instructions, executing operations, controlling time, and processing data. [2]
In the computer architecture, the CPU is the core hardware unit that controls and allocates all hardware resources of the computer (such as memory and input and output units) and performs general operations. The CPU is the computing and control core of the computer. The operations of all software layers in the computer system will eventually be mapped to CPU operations through the instruction set.
The CPU appeared in the era of large-scale integrated circuits. The iterative update of processor architecture design and the continuous improvement of integrated circuit technology have prompted its continuous development and improvement. From initially dedicated to mathematical computing to widely used in general-purpose computing, from 4-bit to 8-bit, 16-bit, 32-bit processors, and finally to 64-bit processors, from the incompatibility of various manufacturers to the emergence of different instruction set architecture specifications, The CPU has been developing rapidly since its birth.
CPU development has a history of more than 40 years. We usually divide it into six stages.
(1) The first stage (1971-1973). This is the era of 4-bit and 8-bit low-end microprocessors, and the representative product is the Intel 4004 processor.
In 1971, Intel’s 4004 microprocessor integrated the arithmetic unit and the controller on a chip, marking the birth of the CPU; in 1978, the emergence of the 8086 processor laid the X86 instruction set architecture, and then the 8086 series of processors were widely used. Used in personal computer terminals, high-performance servers and cloud servers.
(2) The second stage (1974-1977). This is the era of 8-bit high-end microprocessors, and the representative product is Intel 8080. At this time, the command system has been relatively perfect.
(3) The third stage (1978-1984). This is the era of 16-bit microprocessors, and the representative product is Intel 8086. It is relatively mature.
(4) The fourth stage (1985-1992). This is the era of 32-bit microprocessors, and the representative product is Intel 80386. Already capable of multi-task, multi-user operations.
The 80486 processor released in 1989 implemented a 5-level scalar pipeline, marking the initial maturity of the CPU and the end of the traditional processor development stage.
(5) The fifth stage (1993-2005). This is the era of the Pentium series of microprocessors.
In November 1995, Intel released the Pentium processor. This processor used the superscalar instruction pipeline structure for the first time, introducing out-of-order execution of instructions and branch prediction technology, which greatly improved the performance of the processor. Therefore, the superscalar instruction pipeline structure It has been adopted by modern processors that have appeared subsequently, such as K9, K10 of AMD (Advanced Micro devices), and Core series of Intel.
(6) The sixth stage (2005-present). It is the era of the Core series of microprocessors. This is a new energy-saving micro-architecture. The starting point of the design is to provide outstanding performance and energy efficiency.
In order to meet the upper-level work requirements of the operating system, modern processors have further introduced functions such as parallelization, multi-core, virtualization, and remote management systems, constantly pushing forward the development of upper-level information systems.
The Von Neumann architecture is the foundation of modern computers. Under this architecture, programs and data are stored in a unified manner, instructions and data need to be accessed from the same storage space, transmitted through the same bus, and cannot be overlapped. According to the von Neumann system, the work of the CPU is divided into the following five stages: instruction fetch stage, instruction decoding stage, execution instruction stage, access number and result write back.
Instruction fetch (IF, instruction fetch) is the process of fetching an instruction from the main memory to the instruction register. The value in the program counter is used to indicate the position of the current instruction in the main memory. When an instruction is fetched, the value in the PC will automatically increase according to the instruction word length.
Instruction decoding stage (ID, instruction decode), after the instruction is fetched, the instruction decoder splits and interprets the retrieved instruction according to the predetermined instruction format, and identifies and distinguishes different instruction types and various fetch operands method.
Execution instruction stage (EX, execute), specifically realize the function of the instruction. Different parts of the CPU are connected to perform the required operations.
In the access number stage (MEM, memory), the main memory is accessed and the operand is read according to the instruction needs. The CPU obtains the address of the operand in the main memory, and reads the operand from the main memory for operation. Some instructions do not need to access the main memory, you can skip this stage.
The result write back stage (WB, write back), as the last stage, the result write back stage "writes back" the operation result data of the execution instruction stage to some storage form. The result data is generally written to the internal registers of the CPU for quick access by subsequent instructions; many instructions also change the status of the flag bits in the program status word register. These flag bits identify different operation results and can be Used to influence the action of the program.
After the execution of the instruction is completed and the result data is written back, if no unexpected events (such as result overflow, etc.) occur, the computer obtains the next instruction address from the program counter and starts a new cycle. The next instruction cycle will be taken out in sequence. An instruction.
Performance metrics
For the CPU, the main indicators that affect its performance are the main frequency, the number of bits of the CPU, and the CPU's cache instruction set. The so-called main frequency of the CPU refers to the clock frequency, which directly determines the performance of the CPU. Therefore, if the performance of the CPU is well improved, it is a good way to increase the main frequency of the CPU. The number of bits of the CPU refers to the number of floating-point numbers that the processor can calculate at one time. Generally, the higher the number of bits of the CPU, the faster the CPU will perform the calculation. The number of bits in the CPU is generally 32 or 64 bits. In the past, computers used by people were all 32-bit systems. In recent years, the proportion of 64-bit computers in the processors of computers used by people has become more. This is because 64-bit computers run faster and increase people’s Work efficiency. The CPU's cache instruction set is stored in the CPU, mainly refers to the hard program that can guide and optimize the operation of the CPU. Generally speaking, the CPU cache can be divided into first-level cache, second-level cache and third-level cache, and those processors with stronger processing power generally have larger third-level cache.
CPU structure
Generally speaking, the structure of the CPU can be roughly divided into arithmetic logic components, register components and control components. The so-called arithmetic logic components are mainly capable of related logical operations, such as: can perform shift operations and logical operations, in addition can also perform fixed-point or floating-point arithmetic operations and address operations and conversion commands. Functional arithmetic unit. The register component is used to temporarily store instructions, data and addresses. The control part is mainly used to analyze the instructions and can send out corresponding control signals. The computer's memory can be divided into random access memory (RAM) and read-only memory (ROM). The difference between the two is that the random access memory can directly exchange data with the CPU, and it can also be called main memory. RAM can be read and written at any time, and this process is very fast, so because of this advantage of main memory, it is often used as a temporary data storage medium for the operating system or other running programs; and read-only memory ROM is a kind of memory that can only read the data stored in advance. The user can not delete the data stored in it without changing the authority, and the data will not disappear after the power is turned off. This kind of memory is also widely used, and it is well used in electronic or computer systems where the information does not need to be changed frequently.
For the central processor, it can be regarded as a large-scale integrated circuit, its main task is to process and process various data. The storage capacity of the traditional computer is relatively small, and it has certain difficulty in processing large-scale data, and the processing effect is relatively low. With the rapid development of my country's information technology level, high-configuration processor computers have emerged. The high-configuration processor is used as the control center, which plays an important role in improving the structure and function of the computer CPU. The core part of the central processor is the controller and the calculator, which play an important role in improving the overall function of the computer, and can realize the diffusion of multiple functions such as registration control, logical operation, signal transmission and reception, etc., and lay a good foundation for improving the performance of the computer. basis.
The integrated circuit plays a role in regulating signals in the computer, and executes different instruction tasks according to user operation instructions. The central processing unit is a very large scale integrated circuit. It consists of operators, controllers, registers, etc. As shown in the following figure, the key operation is the processing and processing of various types of data.
Xilinx BGA
FPGA Spartan-3E Family 500K Gates 10476 Cells 572MHz 90nm Technology 1.2V 132-Pin CSBGA
FPGA XC5200 Family 16K Gates 1296 Cells 83MHz 0.5um Technology 5V 240-Pin PQFP
FPGA Spartan-IIE Family 50K Gates 1728 Cells 357MHz 0.15um Technology 1.8V 144-Pin TQFP
FPGA Spartan-IIE Family 50K Gates 1728 Cells 400MHz 0.15um Technology 1.8V 144-Pin TQFP
Support