Abstract: At present, single-core, dual-core and multi-core of processors have been widely used. Today we mainly talk about some related concepts of multi-core processors, and the analysis of its work and its advantages and disadvantages.
1, multi-core processorA multi-core processor refers to the integration of two or more complete computing engines (cores) in a single processor. In this case, the processor can support multiple processors on the system bus, and all bus control signals are provided by the bus controller. Command signal.
2, the advantages and disadvantages of multi-core processorsFrom the perspective of application requirements, more and more users will be involved in multi-tasking application environments during their use. There are two typical application modes used in daily applications.
One application mode is that a program uses thread-level parallel programming. Then, when the program is running, the parallel threads can be simultaneously delivered to the two cores for processing, and the program running speed is greatly improved. Some of these programs are professional programs designed for multi-channel workstations or servers, such as professional image processing programs, non-linear video editing programs, animation programs, or scientific computing programs. For this type of program, the two physical cores and the two processors are basically equivalent, so these programs can often run directly on a dual-core computer without any changes.
There are also some more common everyday applications. For example, Office, IE, etc., also use thread-level parallel programming, which can call multiple threads to work together at runtime, so the running speed on the dual-core processor will be greatly improved. For example, open an IE browser and go online. A seemingly simple operation, in fact, the browser process will call a series of threads such as code parsing, Flash playback, multimedia playback, Java, script parsing, etc. These threads can be processed in parallel by the dual-core processor, so the speed is greatly accelerated (actually The operation of the IE browser also involves many process-level interactive communications, which are not detailed here. It can be seen that for software that has already adopted parallel programming, whether it is professional software or daily application software, the running speed on multi-core processors will be greatly improved. Another mode in everyday applications is to run multiple programs simultaneously.
Many programs do not use parallel programming, such as some file compression software, some game software, and so on. For these single-threaded programs, running on a multi-core processor alone is not significantly different from running a single-core processor running on the same parameters. However, since the most basic program used every day - the operating system - supports parallel processing, when running multiple single-threaded programs on a multi-core processor at the same time, the operating system will put instructions of multiple programs. Sent to multiple cores, so that the speed of completing multiple programs at the same time is greatly accelerated. In addition, although a single single-threaded program can not reflect the advantages of multi-core processors, multi-core processors still provide a good platform for programmers, allowing them to optimize the parallel design of the original single-line program. Achieve better program running results.
Some game makers are optimizing some of the original single-threaded games, using parallel programming to make the game run faster. Some games can use one thread to implement character animation and another thread to load map information. Or use one thread to implement matrix operations in image rendering, and use another to achieve higher artificial intelligence operations. Nowadays, a large number of games supporting multi-core have emerged, which will enable the advantages of multi-core processors to be further developed.
Advantages: multi-threading, can handle more tasks in one clock cycle, multi-tasking, large cache, high bus, which is not possible with single-core processors.
Disadvantages: high power consumption, need specific platform support, need large memory, follow up, general software, support up to two threads (dual core), high price
3, the difference between multi-core development and multi-threaded developmentIn essence, multi-core development is the use of multi-threaded program development, allowing different functional processes to run on different cores, or threads of different functions in the same process running on different cores. In the past, the algorithms we studied were all oriented to single-threaded. In multi-core development, these algorithms were transformed into multi-threaded algorithms. Then, when the system was running, multiple threads were allocated to the multi-core processors to accelerate the operation.
However, unlike traditional multi-threaded programming, multi-core development is simpler for issues such as synchronous locking, but you need to carefully analyze the blocks of code that can be computed in parallel so that multithreading can be paralleled in one task. When developing multi-threaded, you don't know that there are several physical CPUs, and when doing multi-core development, you know how many physical CPUs there are.
4, multi-core processor worksIt is determined by the program. If the program supports a multi-core processor, it will decompose the data to be processed into multiple parts and give different core registers to each operator to operate together. The final result is summarized and processed by an operator for distribution to the next step, or The results of each operation are sent directly to the next step directly by program control. If the program only supports a single core, it is very simple to supply the data stream to a processor for processing.
5, summaryAt present, multi-core technology has become the most concerned topic and research direction. Multi-core architectures have opened up new directions for areas such as performance improvement and energy-efficient computing. However, today's multi-core processors do not have a unified standard and are basically in the exploratory stage. The connection between the core and the core, the way of communication coordination, the difference between the core and the internuclear structure in the same processor, the device resource allocation strategy, the task scheduling strategy, the energy saving strategy, and the software and hardware collaborative design strategy are all in the research and exploration. Multi-core will bring about tremendous changes affecting all aspects of the entire computer industry, including architecture research, embedded system design and solution design, compilation technology, operating system core algorithms, application software design and other computer systems.
In the study of single-core processors, the focus is on improving the frequency and improving the degree of parallelism at the instruction level. In the multi-core system, more attention is paid to the cooperation between the core and the core, the allocation of shared resources, and the improvement of thread-level parallelism.
One problem that multi-core processors inevitably pose is the need to increase the parallelism of the program, because single-threaded programs cannot take advantage of multi-core processors. The original single-threaded code can be compiled into a multi-threaded form by compiling optimization. OpenMP provides a way for programmers to add appropriate markup to code that can be processed in parallel, and the compiler compiles the code into multi-threaded blocks based on these tags. Multi-threaded program development involves the problem of multi-threaded debugging, which becomes more difficult on multi-core processors, so the multi-core system causes a huge change in the program development mode.
Task scheduling on multi-core processors is also a new problem. Common scheduling algorithms include global queue scheduling and local queue scheduling. The former means that the operating system maintains a global task waiting queue. When one CPU core is idle in the system, the operating system selects the ready task from the global task waiting queue to start execution on this core. The advantage of this approach is the high CPU core utilization. The latter means that the operating system maintains a local task waiting queue for each CPU core. When a CPU core is idle in the system, the appropriate task execution is selected from the core task waiting queue. The advantage of this method is that The task basically does not need to switch between multiple CPU cores, which is beneficial to improve the CPU core local cache hit rate, thereby improving the performance of the system. At present, most CMP operating systems use a global queue-based task scheduling algorithm.
Wire Condenser
The condensing unit is used for refrigerator temperature control devices, air conditioners, heat pumps and coolers. They are called [gas refrigerants" by compression in the form of heat, then pumped through the coil system, and heated and cooled by the coiled air. The condenser unit is mainly used in commercial refrigeration systems and industrial refrigeration systems. The condensing unit mainly consists of Mono-Blocks For Cold Storage,Semi Hermetic Condensing Unit,Box Type Condensing Unit ,we can follow the customer's requirements to produce the correct size of the condensing unit.
Wire Condenser,Cold Room Condenser,Evaporator Condenser,Refrigerator Condenser
FOSHAN SHUNDE JUNSHENG ELECTRICAL APPLIANCES CO.,LTD. , https://www.junshengcondenser.com