In modern multi-core processors, two or more computing cores are located on a single silicon crystal. Moreover, each core is capable of supporting the calculation of two or more threads. The use of multi-core processors can speed up the operation of operating systems and applications that support multithreading.
Multi-core processors are central processing units that contain more than two processing cores. Such cores can be located both in one package and on one processor die.
What is a multi-core processor?
Most often, multicore processors are understood as central processors in which several computing cores are integrated into one microcircuit (that is, they are located on a single silicon crystal).
Usually, the clock speed in multi-core processors is deliberately underestimated. This is done in order to reduce power consumption while maintaining the required processor performance. At the same time, each core is a full-fledged microprocessor, which is characteristic of all modern processors - it uses a multilevel cache, supports out-of-order code execution and vector instructions.
Hyper-threading
Cores in multi-core processors can support SMT, which allows multiple threads of computation to be executed and multiple logical processors based on each core. On processors manufactured by Intel, this technology is called "Hyper-threading". It allows you to double the number of logical processors as compared to the number of physical chips. In microprocessors that support this technology, each physical processor is capable of maintaining the state of two threads simultaneously. To the operating system, it will look like there are two logical processors. If there is a pause in the work of one of them (for example, it is waiting for data to be received from memory), the other logical processor starts executing its own thread.
Types of multi-core processors
Multi-core processors are classified into several types. They may or may not support the use of shared cache. Communication between the cores is implemented using a shared bus, a point-to-point network, a network with a switch, or a shared cache.
Principle of operation
Most modern multi-core processors work according to the following scheme. If the running application supports multithreading, it can force the processor to execute multiple tasks at the same time. For example, if the computer uses a 4-core processor with a clock speed of 1.8 GHz, the program can "load" all four cores with work at once, while the total processor frequency will be 7.2 GHz. If several programs are running at once, each of them can use part of the processor cores, which also leads to an increase in computer performance.
Many operating systems support multithreading, so the use of multicore processors can speed up the computer even in the case of applications that do not support multithreading. If we consider the operation of only one application, then the use of multi-core processors will be justified only if this application is optimized for multithreading. Otherwise, the speed of a multi-core processor will not differ from that of a conventional processor, and sometimes it will work even slower.