[PY] Do you really understand multicore processors? Understanding Multithreading

Source: Internet
Author: User

Do you really understand multicore processors?

1. Dual-core ≠ dual performance

Multicore does not necessarily make your phone or computer faster, but it will improve the overall performance of your PC, which is a different subtle technical feature. The performance boost for multicore processors is not a multiple of the simple CPU core because of the drag on shared resources between two (multiple) cores. For example, dual-core performance is a single-core 1.4~1.8 times, the actual situation depends on the specific application.


A nuclear work desperately, turn and turn ah, other nuclei in the look, the last temperature rising and then blue screen ....

It's a joke, but you can use the Task Manager to see that the load is not evenly distributed for each core.

This is why a nuclear turn ah turn ah, the last blue screen reason.

2. Multicore is not necessarily high-energy

In theory, multicore performance must be much higher than a single core. However, the development of software is far from the speed of hardware development, so multicore CPUs in the actual application can not play its application, such as the four-core CPU is now very popular, but four-core optimization of the application software is few. Even if you've already used a eight-core CPU, you'll still not feel as fast as you can when running a lot of software. Therefore, we do not want to only nuclear is from, multi-core is not necessarily the best. "Good enough" is always the only principle of choosing hardware when you are installed. In addition, because of the architecture, the frequency of the different, multicore is not necessarily higher than the low-core performance.

Multi-core is not necessarily high-energy, the principle of more than people do not necessarily power, is a truth.

3. Multicore is not only CPU

To get the most out of CPU power and reduce user spending, more and more CPU-integrated GPU capabilities, such as Intel's GPU core integration into the CPU at Sandy Bridge, have significantly improved graphics core performance at the GPU core.

Multicore is a helpless move: Previously, the development of semiconductor technology can lead to a "three-to-one" effect, including increased transistor speed, reduced power consumption and reduced chip area. However, when the manufacturing process developed to 90nm or 65nm, the problem of leakage current is highlighted, the use of the previous internal structure to improve the frequency of the method is difficult to work. In order to achieve performance improvement without increasing the operating frequency, only the number of CPU cores can be increased.

In servers with many clients that require parallel processing, multicore architectures are easy to achieve better results. However, the problem occurs with the client running the application based on the user's requirements. Because the number of software that may run concurrently is limited, even if the individual software can be split in parallel later, the parts of the software that must be serially executed will still impede processing performance gains. Many people believe that in the current architecture of the PC, the 4~8 core may be a multi-core processor can achieve better performance improvement of the limit.

Integrates multiple different types of cores: On the other hand, new applications such as advanced user interfaces, dynamic and static image analysis, which provide a new experience, have a higher demand for processor processing performance. These new applications may not be possible if the processor continues to evolve only at the current architecture dominated by the CPU core.

"It is well known that Moore's Law has limits in physics," said Gordon Moore, chairman of Intel's board of directors, at the Intel Fall Technology summit in September 2007. After about 10 years or 15, Moore's law will face a fundamental obstacle and exit the historical stage. "On the other hand, Moore believes that the development of semiconductor processes is likely to continue for about 10 years as before." What kind of internal architecture should the processor adopt in order to move beyond the barriers that lie ahead of the multi-core architecture, while developing technology as a technical driver?

The industry's idea is to use heterogeneous processor architectures to integrate different types of cores. In this architecture, floating-point arithmetic and signal processing, which the CPU core is not good at, will be performed by other programmable cores integrated on the same chip. It is believed that heterogeneous multi-core architectures that integrate multiple different types of cores will become the mainstream architecture for future processors.
From isomorphic to heterogeneous general-purpose processors will be SOC: "At the moment, the graphics chip has a floating-point performance that goes far beyond the processor," said the president and CEO of Nvidia. With the development of the graphics chip, a variety of new applications will emerge, if it can be used flexibly. "In the x86 processor, which occupies the mainstream of PC and server, the related research and development work around GPU (graphics processing unit) is suddenly active.

The integration and generalization of GPUs has progressed: There are two major research and development directions around the GPU. First, the GPU core is integrated into the processor chip. AMD acquired ATI Technology Inc., a Canadian GPU maker, in July 2006, and proposed a fusion processor solution that integrates ATI's GPU core into the processor. In addition, Intel, in April 2007, made it clear that it was developing vector processor Larrabee (development code), which integrates many CPU cores dedicated to floating-point operations.

Another development direction is to use the GPU to excel in parallel processing of floating-point operations as a vector processor. This is the GPGPU (General Purpose Computing on GPU) for universal computing, and Nvidia has been rolling out hardware products and software development tools since the second half of 2006 (see Figure 1).

When Xilinx pushed a new device, it was estimated that Intel's boss was surprised to fall off the chair.

What's this new device? This is the new FPGA---Zynq UltraScale MPSoC based on 16nm FinFET 3D transistors released at the beginning of the big year.

Take a look at its internal structure:

    • 1, quad core A53 processor CPU
    • 2, a GPU MALI-400MP
    • 3, a CORTEX-R5 CPU
    • 4, Power Management Unit, AMS unit
    • 5. h.265 (HEVC) Video codec
    • 6. Safety Module
    • 7, UltraScale FPGA unit;

This is actually a heterogeneous processor, as described earlier, it is an ASIC-class heterogeneous processor! and a 64-bit processor with a 16nm FINFET process! And it is a processor that uses FPGA to achieve hard acceleration!

Intel acquires Altera, which means Intel can't sit. A drama is about to be opened. See.

4. What are dual-core, dual-core, and Hyper-threading

Dual (Multi) Core: refers to the possession of two (or more) physical core (also known as the kernel), a variety of CPU cores have a fixed logical structure, primary cache, two cache, execution unit, instruction level unit and bus interface and other logical units, each core through the ultra-transmission technology to the CPU core directly connected to external I/O, Integrated memory controller technology, so that each core has its own cache can be used, all have their own dedicated lane direct I/O, there is no resource scramble for the problem.

Dual (Multi) Cores: only two (or more) complete CPUs are packaged together and connected to the same front-end bus. Due to the limitations of the bus, the two cores will inevitably generate bus scramble, affect performance, and the more core of the more, the more easily aggravate the processor contention front-end bus bandwidth, become a bottleneck to improve system performance, this is the CPU architecture caused by the congenital failure, so this double (multi) core is actually "fake multicore." The two cores are like large communities developed in the suburbs of Beijing, where many communities take advantage of the same urban expressway, and people travel (data processing) must be stuck in traffic jams. Dual-core is the development of special lanes for different communities, each cell travel does not cross (data can be processed in parallel), and will not occur traffic jams.

HT Technology (Hyper-Threading Technology): HT Technology is a processor that implements 2 logical processors (note that it is not a physical processor) and is making full use of the processor resources, similar to virtual CPUs, that make the system mistaken for a dual-core processor. The dual-core processor is a dual-core processor that integrates 2 physical cores and is a practical one. For example, the former seems to be a chef who can cook with both hands at the same time, but one dish can only be put on the table at a time, while a dual core processor is like 2 cooks fry two dishes and deliver two dishes to the table at the same time.

5. Multitasking and multithreading

Multitasking means that the system can perform multiple tasks at the same time, for example, you can download and listen to songs while Windows can support multitasking, which doesn't matter much to multicore CPUs. Multi-threading means that the system can invoke multiple CPUs for parallel processing for an operation. such as multi-threaded PS, in batch processing multiple operations (such as filters, cutout), the system will call the multi-CPU parallel processing these operations to improve operational efficiency.

[PY] Do you really understand multicore processors? Understanding Multithreading

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.