Multithreading technology

honggarae 22/11/2021 1010

CPU description

In order to improve the performance of the CPU, CPU manufacturers usually increase the clock frequency of the CPU and increase the cache capacity. However, the frequency of the CPU is getting faster and faster. If the performance is improved by increasing the CPU frequency and increasing the cache, it will often be restricted by the limitation of the manufacturing process and the excessive cost.

Performance

Although the performance can be improved by increasing the clock frequency of the CPU and increasing the cache capacity, such CPU performance improvement is technically difficult. In fact, due to many reasons in the application, the execution unit of the CPU is not fully used. If the CPU cannot read data normally (bus/memory bottleneck), its execution unit utilization rate will drop significantly. In addition, most execution threads lack ILP (Instruction-Level Parallelism) support. All these have caused the performance of the CPU to not be fully utilized. Therefore, Intel adopts another idea to improve the performance of the CPU, allowing the CPU to execute multiple threads at the same time, so that the CPU can exert greater efficiency, which is the so-called "Hyper-Threading ("HT")" technology. Hyper-threading technology uses special hardware instructions to simulate two logical cores into two physical chips, so that a single processor can use thread-level parallel computing, which is compatible with multi-threaded operating systems and software, and reduces the idle time of the CPU. Improved CPU operating efficiency.

Hyper-threading technology is to execute multiple programs on one CPU at the same time and share the resources in one CPU. In theory, it needs to execute two threads at the same time like two CPUs. P4 processor needs Add one more Logical CPU Pointer (logical processing unit). Therefore, the die area of ​​the new generation of P4 HT is 5% larger than that of the previous P4. The remaining parts such as ALU (integer arithmetic unit), FPU (floating-point arithmetic unit), and L2 Cache (second-level cache) remain unchanged, and these parts are shared.

Although hyper-threading technology can execute two threads at the same time, it is not like two real CPUs. Each CPU has independent resources. When two threads both need a certain resource at the same time, one of them should be temporarily stopped, and the resource should be surrendered until these resources are idle. Therefore, the performance of hyper-threading is not equal to the performance of two CPUs.

Intel P4 Hyper-Threading has two operating modes, Single Task Mode and Multi Task Mode. When the program does not support Multi-Processing, The system will stop the operation of one of the logical CPUs and concentrate resources on a single logical CPU, so that single-threaded programs will not reduce performance due to one of the logical CPUs being idle, but because the stopped logical CPU will still wait for work and occupy a certain amount Therefore, when the Hyper-Threading CPU runs in the Single Task Mode program mode, it may not reach the CPU performance without the hyper-threading function, but the performance gap will not be too large. That is to say, when running single-threaded application software, hyper-threading technology will even reduce system performance, especially when single-threaded software is running on a multi-threaded operating system.

It should be noted that CPUs with hyper-threading technology need chipset and software support in order to take full advantage of this technology. The chipsets that support Hyper-Threading Technology include: Intel i845GE, PE, and SiS iSR658 RDRAM, SiS645DX, SiS651 can directly support Hyper-Threading; Intel i845E, i850E can be supported by upgrading BIOS; VIA P4X400, P4X400A can support, but not obtained Officially authorized. Operating systems such as: Microsoft Windows XP, Microsoft Windows 2003, Linux kernel 2.4.x and later versions also support Hyper-Threading technology.

Latest: Diskless system

Next: Fourth-generation computer