Multi Core vs. Many-Core, or Why do we need multi-core microprocessors

💖 Like it? Share the link with your friends

A lot of nuclear processors are central processing units that contain more than two computing cores. Such cores can be located both in the same package and on the same processor chip.

What is a multi-core processor?

Most often, multi-core processors are understood as central processing units in which several computing cores are integrated into one chip (that is, they are located on the same silicon chip).

Usually the clock frequency 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 characterized by the features of all modern processors - it uses a multi-level cache, supports out-of-order execution of code and vector instructions.

Hyper-threading

Cores in multi-core processors can support SMT technology, which allows multiple threads to execute and multiple logical processors to be created from each core. On processors manufactured by Intel, this technology is called "Hyper-threading". Thanks to it, you can double the number of logical processors compared to the number of physical chips. In microprocessors that support this technology, each physical processor is able to store the state of two threads at the same time. To the operating system, this will look like having two logical processors. If one of them pauses (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 divided into several types. They may or may not support shared cache usage. Communication between the cores is implemented on the principles of using a shared bus, a network on point-to-point links, a network with a switch, or using a shared cache.

Principle of operation

Most modern multi-core processors works according to the following scheme. If running application supports multithreading, it can force the processor to execute several tasks at the same time. For example, if the computer uses a 4-core processor with a clock frequency of 1.8 GHz, the program can "load" all four cores 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 multi-threading, so using multi-core processors can speed up your computer even for applications that do not support multi-threading. If we consider the work 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 the speed of a conventional processor, and sometimes even slower.

A multi-core processor is a central processing unit containing two or more processing cores on one processor chip or in one package.

Among the multi-core processors at the moment, we can distinguish

*processors designed primarily for embedded and mobile applications, in which developers paid much attention to means and methods for reducing energy consumption (SEAforth (SEAforth24, seaforth40), Tile (Tile36, Tile64, Tile64pro), AsAP-II, CSX700);

* processors for computing or graphics stations where power consumption is not so critical (graphic processors, for example, g80 series processors from NVIDIA, the Larrabee project from Intel, and the Cell processor from IBM can be partly included here, although the number of computing cores is relatively low) ;

* processors so-called. mainstream - designed for server, workstations and personal computers (AMD, Intel, Sun);

  • Number of cores (Number of cores. Core (core) - a silicon crystal with an area of ​​\u200b\u200babout one square centimeter, on which, by means of microscopic logical elements, circuit diagram processor, the so-called architecture. Each core is perceived by the system as a separate, independent processor, with all the necessary set of functions.)

Clock frequency (a clock is an elementary operation per second that a processor can perform. Therefore, the number of clock cycles is an indicator of how many operations per second of time a processor can process. The unit of this parameter is gigahertz GHz.)

Cache memory (memory directly built into the processor and used to store and access frequently used data is called cache memory. It is divided into several levels - L1, L2 and L3. The higher level of cache memory has a larger volume, but less high-speed data access.)

Bit depth (determines the amount of information that the processor can exchange with RAM for one beat. This parameter is measured in bits. The bit depth parameter affects the amount of possible RAM - a 32-bit processor can only work with 4 GB of RAM.)

Performance

Power consumption

Dimensions

Price

Classes of tasks for which they are designed

Comparative characteristics processor performance, power consumption and data exchange rates are presented in the tables

(Mflops - million floating point operations per second)

A significant contribution to the overall performance of the processor and the efficiency of its operation is made by the structure of internuclear connections and the organization of the memory subsystem, in particular the cache memory.


CSX700 processor

The architecture of the CSX700 processor was designed to address the so-called Size, Weight and Power (SWAP) problem that tends to be a major issue for embedded high performance applications. By integrating processors, system interfaces, and onboard error-correcting memory, the CSX700 provides a cost-effective, reliable, and high-performance solution to meet today's application requirements.

The processor architecture is optimized for massive data parallelism and is designed for high efficiency and reliability. The architecture is aimed at intelligent signal processing and image processing in the time and frequency domains.

The CSX700 die contains 192 high-performance processor cores, 256 kB on-board buffer memory (two banks of 128 kB), data and instruction caches, ECC protection for internal and external memory, built-in DMA controller. ClearConnect NoC technology is used to provide on-chip and inter-chip networks (Fig. 11).


The processor consists of two relatively independent MTAP (MultiThreaded Array Processor) modules containing instruction and data caches, processor element control units, and a set of 96 computing cores (Fig. 12).


Rice. 12. Structure of the MTAP block

Each core has a double floating point unit (addition, multiplication, division, square root calculation, single and double precision numbers are supported), 6 kbytes of high-performance RAM, 128-byte register file. 64-bit virtual address space and 48-bit real address space are supported.

Specifications processor:

core clock speed 250 MHz;

96 GFlop for double or single precision data;

supports 75 GFlops in Double Precision Matrix Multiplication (DGEMM) test;

productivity of integer operations 48 ShAOs;

power dissipation 9 W;

throughput internal memory buses 192 GB/s;

two external memory buses 4 GB/s;

data exchange rate between individual processors 4 GB / s;

PCIe interfaces, 2 DDR2 DRAM (64 bits).

Designed for low power systems, this processor operates at a relatively low clock speed and has a frequency control mechanism that allows application performance to be adjusted to suit specific power consumption and thermal environments.

The CSX700 is supported by a professional development environment (SDK) based on Eclipse technology with visual application debugging tools based on an optimized ANSI C compiler with extensions for parallel programming. In addition to the standard C library, there is a set of optimized libraries with functions such as FFT, BLAS, LAPACK, etc.

Modern Intel processors and AMD

The modern processor market is divided by two main competitors - Intel and AMD.

Processors from Intel are considered the most productive today, thanks to the Core i7 Extreme Edition family. Depending on the model, they can have up to 6 cores at the same time, clock frequency up to 3300 MHz and up to 15 MB L3 cache. The most popular cores in the desktop processor segment are based on Intel - Ivy Bridge and Sandy Bridge.

Intel processors use proprietary proprietary technologies to improve system performance.

1. Hyper Threading- Due to this technology, each physical processor core is capable of processing two computation threads simultaneously, it turns out that the number of logical cores is actually doubled.

2. Turbo Boost - Allows the user to commit automatic overclocking processor, without exceeding the maximum allowable operating temperature limit of the cores.

3. Intel QuickPath Interconnect (QPI) - The QPI ring bus connects all processor components, thereby minimizing all possible delays in the exchange of information.

4. Visualization Technology - Hardware support for virtualization solutions.

5. Intel Execute Disable Bit - Practical antivirus program, it provides hardware protection against possible virus attacks based on buffer overflow technology.

6. Intel SpeedStep - A tool that allows you to change the voltage level and frequency depending on the load on the processor.

Core i7 - on this moment top line of the company

Core i5 - high performance

Core i3 - low price, high/medium performance

Most fast processors AMD is still slower than the fastest Intel processors (data as of November 2010). But due to their good value for money, AMD processors, mainly for desktop PCs, are a great alternative to Intel processors.

For Athlon II and Phenom II processors, not only the clock frequency is important, but also the number of processor cores. Athlon II and Phenom II, depending on the model, may have two three or four cores. Six core model - Highend Phenom II series only.

Most modern AMD processors support the following technologies by default:

1. AMD Turbo CORE - This technology is designed to automatically regulate the performance of all processor cores, due to controlled overclocking (a similar technology from Intel is called TurboBoost).

2. AVX (Advanced Vector Extensions), XOP and FMA4 - A tool that has an extended set of commands specifically designed to work with floating point numbers. Definitely a useful tool.

3. AES (Advanced Encryption Standard) - B software applications using data encryption improves performance.

4. AMD Visualization (AMD-V) - This virtualization technology helps to share the resources of one computer between several virtual machines.

5. AMD Power Now! - Power management technology. They help the user achieve performance improvements by dynamically activating and deactivating parts of the processor.

6. NX Bit - Unique antivirus technology to help prevent infections personal computer certain types of malware.

Use in GIS

Geoinformation systems- multifunctional tools for analyzing combined tabular, textual and cartographic data, demographic, statistical, land, municipal, address and other information. Multi-core processors needed for fast processing various kinds information, as they significantly speed up and distribute the work of programs.

CONCLUSION

The transition to multi-core processors is becoming the main direction for improving performance. At the moment, 4 and 6 core processors are considered the most common. Each core is perceived by the system as a separate, independent processor, with all the necessary functionality. The technology of multi-core processors made it possible to parallelize the calculation operations, as a result of which the PC performance indicator increased.

http://www.intuit.ru/department/hardware/mcoreproc/15/

http://kit-e.ru/articles/build_in_systems/2010_2_92.php

http://softrew.ru/instructions/266-sovremennye-processory.html

http://it-notes.info/centralnyj-processor/

http://www.mediamarkt.ru/mp/article/AMD,847020.html

Benefits of multi-core processors

The ability to distribute the work of programs, for example, the main tasks of applications and background tasks of the operating system, across several cores;

Increasing the speed of programs;

Processes that require intensive calculations are much faster;

More efficient use of computationally demanding multimedia applications (for example, video editors);

Reduced energy consumption;

The work of the PC user becomes more comfortable;

What is a processor core

At the center of a modern central microprocessor (CPU - short for English central processing unit - central computing device) is the core (core) - a silicon crystal with an area of ​​\u200b\u200babout one square centimeter, on which, by means of microscopic logical elements, a processor circuit diagram is implemented, the so-called architecture ( chip architecture).

The core is connected to the rest of the chip (called the “package”, CPU Package) using flip-chip technology (flip-chip, flip-chip bonding - an inverted core, an inverted crystal mount). This technology is so named because the outward-facing—visible—part of the core is actually the "bottom" of the core, to ensure direct contact with the cooler's heatsink for better heat dissipation. On the reverse (invisible) side is the "interface" itself - the connection of the crystal and packaging. The processor core is connected to the package using Solder Bumps.

The core is located on a textolite base, along which contact paths go to the "legs" (contact pads), filled with a thermal interface and closed with a protective metal cover.

What is a multi-core processor

A multi-core processor is a central microprocessor containing 2 or more processing cores on one processor chip or in one package.

What is multicore for?

The first (of course, single-core!) microprocessor intel 4004 was introduced on November 15, 1971 by Intel Corporation. It contained 2300 transistors, ran at a clock frequency of 108 kHz and cost $300.

The requirements for computing power of the central microprocessor have constantly grown and continue to grow. But if earlier processor manufacturers had to constantly adjust to the current urgent (ever-growing!) requests of PC users, now chipmakers are ahead of the curve!

For a long time, the increase in the performance of traditional single-core processors was mainly due to a sequential increase in the clock frequency (about 80% of the processor's performance was determined by the clock frequency) with a simultaneous increase in the number of transistors on a single chip. However, a further increase in the clock frequency (at a clock frequency of more than 3.8 GHz, the chips simply overheat!) Resists a number of fundamental physical barriers (because technological process came close to the size of an atom: today processors are produced using 45-nm technology, and the size of a silicon atom is approximately 0.543 nm):

First, with a decrease in the size of the crystal and with an increase in the clock frequency, the leakage current of transistors increases. This leads to an increase in power consumption and an increase in heat emission;

Second, the benefits of higher clock speeds are offset in part by memory access latencies, as memory access times do not match increasing clock speeds;

Third, for some applications, traditional serial architectures become inefficient as clock speeds increase due to the so-called “Von Neumann bottleneck,” a performance bottleneck resulting from the sequential flow of computation. At the same time, RC signal transmission delays increase, which is an additional bottleneck associated with an increase in the clock frequency.

The use of multiprocessor systems is also not widespread, as it requires complex and expensive multiprocessor motherboards. Therefore, it was decided to achieve a further increase in the performance of microprocessors by other means. The concept of multithreading, which originated in the world of supercomputers, was recognized as the most effective direction - this is the simultaneous parallel processing of several instruction streams.

So in the bowels of Intel, Hyper-Threading Technology (HTT) was born - a technology for super-threaded data processing, which allows the processor to execute up to four program threads simultaneously in a single-core processor. Hyper-threading significantly improves the performance of resource-intensive applications (for example, those related to audio and video editing, 3D modeling), as well as the operation of the OS in multitasking mode.

A Pentium 4 processor with Hyper-threading enabled has one physical core that is split into two logical cores, so the operating system sees it as two different processors (instead of one).

Hyper-threading has actually become a springboard to the creation of processors with two physical cores on a single chip. In a 2-core chip, two cores (two processors!) work in parallel, which, at a lower clock frequency, provide greater performance, since two independent instruction streams are executed in parallel (simultaneously!)

Architecture of multi-core systems

Multi-core processors can be classified by the presence of support for coherent (shared) cache memory between cores. There are processors with and without such support.

Communication method between the cores: shared bus network (Mesh) on channels point-to-point network with a switch shared cache memory

The ability of a processor to execute multiple program threads simultaneously is called thread-level parallelism (TLP). The need for TLP depends on the specific situation (in some cases it is simply useless!).

The main problems of creating multi-core processors

Each processor core must be independent, with independent power consumption and controlled power;

Market software must be provided with programs capable of effectively splitting the instruction branching algorithm into an even (for processors with an even number of cores) or odd (for processors with an odd number of cores) number of threads;

Benefits of multi-core processors

The ability to distribute the work of programs, for example, the main tasks of applications and background tasks of the operating system, across several cores;

Increasing the speed of programs;

Processes that require intensive calculations are much faster;

More efficient use of computationally demanding multimedia applications (for example, video editors);

Reduced energy consumption;

The work of the PC user becomes more comfortable;

Disadvantages of multi-core processors

The increased production cost of multi-core processors (compared to single-core ones) forces chipmakers to increase their cost, and this partly restrains demand;

Since two or more cores work simultaneously with RAM, it is necessary to “teach” them to work without conflicts;

Increased power consumption requires the use of powerful power circuits;

Need more powerful system cooling;

The amount of software optimized for multi-core is negligible (most programs are designed to run in the classic single-core mode, so they simply cannot use the processing power of additional cores);

Operating systems that support multi-core processors (for example, Windows XP SP2 and higher) use the computing resources of additional cores for their own system needs;

It should be recognized that at present multi-core processors are used extremely inefficiently. In addition, in practice, n-core processors do not perform calculations n times faster than single-core processors: although the performance increase turns out to be significant, it largely depends on the type of application. For programs that are not designed to work with multi-core processors, performance increases by only 5%. But programs optimized for multi-core processors work faster by 50%.

Your benefit

Warranty 6 months computers are assembled from reliable components

Possibility of return goods within a week without explanation

Set-off possible Opportunity to donate your equipment

Low prices due to direct wholesale contracts with manufacturers


Despite the seemingly universal computer literacy, many users still cannot clearly answer what a computer processor is and what it is for. Even more questions arise about the core of this very processor. So let's take a look at this issue one by one.

computer processor

talking plain language, the central processing unit of a computer is the most important microcircuit that processes information, redistributes it, controls RAM, gives the necessary commands to all connected devices and system components. It is he, or rather, his structure that determines the architecture of the main, motherboard and the entire computer as a whole.

This definition also contains the answer to the question of why a processor is needed - to control and manage the actions taking place in the systems and components of a computer. In addition to the central processor, there are other locally placed chips, for example, in video and sound cards.

By the way, one of the most common questions, especially for beginners, is: “How do I find out what processor I have?” The answer to it is very simple and you can find this information in system information operating system. For example, in Windows 7, to do this, you need to right-click on the "Computer" icon, and select "Properties" from the drop-down context menu. Basic information about the computer, including the processor model, will be displayed in the window that opens.

As technology advances, so does the speed at which processors can process more complex tasks. Therefore, manufacturers periodically replenish the list of their products by releasing new models of processors. So two computer giants, companies and Intel, have processors AMD Athlon X4, AMD FX-8350, and others.

Processors consist of the following main components:

  • RAM controller.
  • System bus interface.
  • Cache memory, which speeds up the exchange of data with operational.
  • Processor core (or multiple cores).

Depending on the specific model the processor may contain various function blocks defining its purpose.

Processor core

So we come to another question: what is a processor core.

If the processor itself is the brain of the computer, then its core is the brain of the processor itself. Perhaps a little confusing, but now we will consider the issue in more detail.

The processor core performs all arithmetic and logical operations, and also contains all the necessary functional blocks, including:

  • An interrupt block is, simply put, the ability to quickly and frequently switch from one task to another.
  • Instruction fetch block - receives and sends command signals for further processing.
  • Decoding block - processes the command signal, determines what needs to be done at the moment, and whether additional actions are needed for this.
  • Control block - transfers the decoded instructions for further execution to other blocks, coordinates the load applied to them.
  • The blocks for executing and saving the results, respectively, execute the received command and save the result in the right place.

This short description kernel structure, more details about the principles of its operation and methods of acceleration can be found in other available materials.

IN different processors there may be a different number of cores. This is done so that the computer can perform several tasks of the same type or, on the contrary, diverse tasks in parallel, increasing the speed of their processing and, accordingly, the speed of their execution.

How to find out how many cores are in a processor? There are two easy ways:

  1. The information is in the controller. Windows devices. You need to click the "Start" button, then select "Control Panel". In the window that opens, among other items, find "Device Manager". We go into it, find the line "Processors", and click on it. The drop down list will show the data we need.
  2. Even easier. Right click on the panel at the bottom quick start. will appear context menu, in which you need to select "Start Task Manager". In the window that appears, select "Performance". At the top of the window that opens, you will see one or more windows with graphs labeled "CPU Usage History". The number of these windows corresponds to the number of cores in the processor.

Probably, every user who is little familiar with a computer has come across a bunch of incomprehensible characteristics when choosing a central processor: process technology, cache, socket; sought advice from friends and acquaintances competent in the matter of computer hardware. Let's look at the variety of all possible parameters, because the processor is the most important part of your PC, and understanding its characteristics will give you confidence in the purchase and further use.

CPU

The processor of a personal computer is a microcircuit that is responsible for performing any operations with data and controls peripheral devices. It is contained in a special silicon case called a crystal. The abbreviation is used for abbreviation - CPU(CPU) or CPU(from the English Central Processing Unit - central processing unit). In today's computer hardware market, there are two competing corporations, Intel and AMD, which are constantly in the race for the performance of new processors, constantly improving the technological process.

Process technology

Process technology is the size used in the manufacture of processors. It determines the size of the transistor, the unit of which is nm (nanometer). Transistors, in turn, form the internal basis of the CPU. The bottom line is that continuous improvement in manufacturing techniques allows you to reduce the size of these components. As a result, much more of them are placed on the processor chip. This helps to improve the performance of the CPU, so the process technology used is always indicated in its parameters. For example, Intel Core The i5-760 is made according to the 45 nm process technology, and the Intel Core i5-2500K at 32 nm, based on this information, one can judge how modern the processor is and outperforms its predecessor, but a number of other parameters must be taken into account when choosing.

Architecture

Also, processors are characterized by such a characteristic as architecture - a set of properties inherent in a whole family of processors, as a rule, produced for many years. In other words, the architecture is their organization or the internal design of the CPU.

Number of Cores

Core- the most important element of the central processor. It is a part of the processor capable of executing a single instruction stream. Cores differ in cache size, bus frequency, manufacturing technology, etc. Manufacturers assign new names to them with each subsequent technical process (for example, core AMD processor- Zambezi, and Intel - Lynnfield). With the development of processor manufacturing technologies, it became possible to place more than one core in one package, which significantly increases the performance of the CPU and helps to perform multiple tasks simultaneously, as well as use multiple cores in programs. Multi-core processors will be able to handle archiving, video decoding, the operation of modern video games, etc. faster. For example, lines Core processors 2 Duo and Core 2 Quad from Intel, which use dual-core and quad-core CPUs, respectively. At the moment, processors with 2, 3, 4 and 6 cores are widely available. Most of them are used in server solutions and are not required by an ordinary PC user.

Frequency

In addition to the number of cores, performance is affected by clock frequency. The value of this characteristic reflects the performance of the CPU in the number of cycles (operations) per second. Another important characteristic is bus frequency(FSB - Front Side Bus) demonstrating the speed at which data is exchanged between the processor and the computer's peripherals. The clock frequency is proportional to the bus frequency.

socket

So that the future processor, when upgraded, is compatible with the existing motherboard, you need to know its socket. The socket is called connector, in which the CPU is installed on motherboard computer. The socket type is characterized by the number of pins and the processor manufacturer. Different sockets correspond to certain types of CPU, so each socket accepts a certain type of processor. Intel uses socket LGA1156, LGA1366 and LGA1155, while AMD uses AM2+ and AM3.

Cache

Cache- the amount of memory with a very high access speed, necessary to accelerate the access to data that is constantly in memory with a lower access speed (RAM). When choosing a processor, keep in mind that increasing the size of the cache improves the performance of most applications. The CPU cache is distinguished by three levels ( L1, L2 and L3), located directly on the processor core. It receives data from RAM for more high speed processing. It is also worth considering that for multi-core CPUs, the amount of L1 cache for one core is indicated. The second-level cache performs similar functions, differing in lower speed and larger volume. If you intend to use the processor for resource-intensive tasks, then a model with a large amount of second-level cache will be preferable, given that the total amount of L2 cache is indicated for multi-core processors. L3 cache is bundled with the most powerful processors such as AMD Phenom, AMD Phenom II, Intel Core i3, Intel Core i5, Intel Core i7, Intel Xeon. The third level cache is the least fast, but it can be up to 30 MB.

Energy consumption

The power consumption of the processor is closely related to the technology of its production. With a decrease in the nanometers of the process technology, an increase in the number of transistors and an increase in the clock frequency of processors, there is an increase in the power consumption of the CPU. For example, processors Core line i7 from Intel require up to 130 or more watts. The voltage supplied to the core clearly characterizes the power consumption of the processor. This setting is especially important when choosing a CPU for use as a multimedia center. Modern processor models use various technologies that help combat excessive power consumption: built-in temperature sensors, automatic voltage and frequency control systems for processor cores, and power-saving modes with low CPU load.

Additional features

Modern processors have acquired the ability to work in 2 and 3-channel modes with RAM, which significantly affects its performance, and also support a larger set of instructions, raising their functionality to a new level. GPUs process video on their own, thereby offloading the CPU, thanks to the technology DXVA(from the English DirectX Video Acceleration - video acceleration by the DirectX component). Intel uses the above technology turbo boost to dynamically change the CPU clock frequency. Technology Speed ​​Step manages CPU power consumption depending on processor activity, and Intel Virtualization Technology creates a virtual environment in hardware to use multiple operating systems. Also modern processors can be divided into virtual cores using technology Hyper Threading. For example, dual core processor capable of dividing the clock speed of one core into two, which contributes to high performance processing data using four virtual cores.

Thinking about the configuration of your future PC, do not forget about the video card and its GPU(from the English Graphics Processing Unit - graphic processing device) - the processor of your video card, which is responsible for rendering (arithmetic operations with geometric, physical objects, etc.). The higher the frequency of its core and the frequency of memory, the less will be the load on the central processor. Particular attention to GPU gamers must show.



tell friends