The architecture of modern multi-core processors

  • Introduction
  • Main characteristics, processor power
  • How to choose a processor
  • Some tips for overclocking processors
  • Conclusion

Introduction to the concept of a computer processor

Welcome friends! Today we will analyze with you such an interesting and important question, what is a processor in a computer. It's more correct to call it CPU(CPU, also called a chip, stone, percent, and so on).


So, the processor is the main chip that processes and manages the main processes in the computer. More visually, the processor is called the brain. personal computer(PC), by analogy with the human brain, which also does the main work of processing and managing data for us.

The CPU is very important for a PC, it depends on it how fast it will work, carry out many everyday tasks. Although, of course, there are still several important components in the computer (RAM, video card), which also affect the speed of the entire system.

In order for the PC to constantly keep up with the times in speed and performance, the CPU and other details are changed from time to time. More on this below.

CPU specifications and power

The main characteristics of the CPU are:

  • Clock frequency

That is, this is the number of operations performed per second. Now this parameter is already measured in billions. For example, if you watched the technical data on a processor, you could see it has a value of 2.5 GHz - this means 2.5 billion operations per second (but this is still very small compared to the human brain, whose performance, in thousand times more).


Enough. The most powerful processors today can have clock frequency at 4 or 4.5 GHz, which is usually required for high-power computer games and programs, for everyday work this is superfluous.

  • Number of Cores

Some 10 years ago, almost no one even thought about the appearance of two or more nuclear CPUs. Manufacturers increased the clock speed until they hit the limit of this process. Then a new direction appeared - the creation of two or more cores in a chip.

On the one hand, this is very good. Because it allows the processor to work twice as fast. But on the other hand, without the appropriate software support, this cannot be realized. The thing is that any parts of the computer do not work by themselves.


They are able to function only if special software instructions are written for it. If there are none, then there is no point in any new technology won't be at all. So here, if you run programs that are designed for single-core ones on a dual-core CPU, then they will work only for one core, that is, there will be no increase in speed, the second core will simply not be involved.

This is how things are with the advent of multi-chip CPUs. Although now this problem has already been solved. Almost all outgoing programs are optimized for operation on multi-core processors (where necessary). Of course, these are games, video processing, imaging, modeling, development, and so on.

  • Energy consumption

It is important to understand that with increasing power, the costs of the energy required for operation also increase. This is very important, because a large energy consumption leads only to money spending, increased heat generation. Therefore, developers are constantly working to reduce energy consumption.

  • Bit depth

In short, this is the support by the processor of one or another architecture of work. Usually it is 32 or 64 bit. There are great opportunities in 64-bit, now it is becoming commonplace everywhere. All modern CPUs support 64 bits, so this is an unambiguous question and you can’t make a mistake in it. You can understand this issue in more detail in the article, what is the difference between 32-bit and 64-bit bitness of the operating system.

How to choose a processor

In general, there is a wide variety of them for every taste and need. But with slightly demanding requests, it is easy to choose it. For starters, it’s worth deciding for what purposes the computer will be used, if only for work and small entertainment (small games, watching movies, music, surfing the Internet), then everything is simple here - the most inexpensive modern chip will suit you.


If you are doing serious complex work that requires a powerful balanced computer, then this is a little more difficult. You need to pay attention to such points:

  1. Multi-core - 4 or more cores
  2. High clock frequency - 2.5 and higher gigahertz
  3. L3 cache at least 6 megabytes

Corresponding to such basic recommendations, you can somehow count on a good and productive copy. But it would be more correct to choose a model and look up information about it on the Internet, for example, performance tests, reviews, etc.

  • It must fit the motherboard connector, this must be 100% clarified before purchase. There are 2 main CPU manufacturers on the market - they are Intel and AMD. Each of these companies produces different lines of CPUs with a specific connector, which you need to know and select a motherboard for it, that is, a board where it is subsequently installed for permanent operation.


  • The processor is a fragile part, so in no case do we drop it, do not knock on it, do not throw it into the bag.
  • After installing it, you must definitely apply thermal paste (heat-conducting paste) on it, what it is, read in the article cleaning from dust and replacing it in a laptop, the logic is the same. If you forget about applying thermal paste, then the CPU will overheat and work unstably, ultimately, it will burn out altogether. Moreover, dried thermal paste and dust are among the main causes of laptop and computer breakdowns.


  • It is important to choose the right cooling for the CPU. The fact is that processors of different series can heat up in different ways. Accordingly, the cooler (this is a fan with a radiator for cooling) is selected individually for it. It's easy if you know its heat dissipation, you need to buy a cooler with the same value or higher.

In general, overclocking is an independent increase in its specifications, usually this is an increase in clock frequency, voltage, or unlocking the cores (if such an opportunity is present).

We strongly do not recommend doing it unless it is allowed by the manufacturer. If you act contrary to this, you can simply spoil it. Another thing is when the manufacturer himself allows this, moreover, he brought out a special function for this, sometimes you just need to press one button or select the appropriate value.

In this case, yes, if you consider it necessary to increase the characteristics of the CPU, then this can be done. But again, do not forget about cooling and thermal paste. If you do not make sure of these moments, then again you can ruin the CPU.


Conclusion

Based on the information presented above, we hope you can form a general idea of ​​what a processor is, what are its characteristics and how to use it correctly.

Introduction. Computer technology is developing at a rapid pace. Computing devices are becoming more powerful, smaller, more convenient, but recently increasing the performance of devices has become a big problem. In 1965, Gordon Moore (one of the founders of Intel) came to the conclusion that "the number of transistors placed on an integrated circuit chip doubles every 24 months."

The first developments in the field of creating multiprocessor systems began in the 70s. For a long time, the performance of familiar single-core processors was increased by increasing the clock frequency (up to 80% of the performance was determined only by the clock frequency) with a simultaneous increase in the number of transistors on a chip. The fundamental laws of physics stopped this process: the chips began to overheat, the technological one began to approach the size of silicon atoms. All these factors have led to:

  • leakage currents have increased, as a result of which heat dissipation and power consumption have increased.
  • The processor has become much "faster" than the memory. Performance was degraded due to call latency. random access memory and loading the data into the cache.
  • there is such a thing as a "von Neumann bottleneck". It means the inefficiency of the processor architecture when executing a program.

Multiprocessor systems (as one of the ways to solve the problem) were not widely used, since they required expensive and difficult to manufacture multiprocessor motherboards. Based on this, productivity increased in other ways. The concept of multithreading turned out to be effective - the simultaneous processing of several streams of commands.

Hyper-Threading Technology (HTT) or superthreading technology that allows a processor to run multiple program threads on a single core. It was HTT, according to many experts, that became the prerequisite for creating multi-core processors. The execution by the processor of several program threads at the same time is called thread-level parallelism (TLP –thread-level parallelism).

To unleash the potential of a multi-core processor executable program should involve all computing cores, which is not always achievable. Old serial programs that could use only one core will no longer run faster on a new generation of processors, so programmers are increasingly involved in the development of new microprocessors.

1. General concepts


Architecture in a broad sense is a description of a complex system consisting of many elements.

In the process of development, semiconductor structures (microcircuits) evolve, therefore, the principles of constructing processors, the number of elements included in their composition, how their interaction is organized, are constantly changing. Thus, CPUs with the same basic principles of structure are usually called processors of the same architecture. And these principles themselves are called processor architecture (or microarchitecture).

The microprocessor (or processor) is the main component of a computer. It processes information, executes programs, and controls other devices in the system. The power of the processor determines how fast programs will run.

The core is the basis of any microprocessor. It consists of millions of transistors located on a silicon chip. The microprocessor is divided into special cells called registers. general purpose(RON). The work of the processor in general consists in extracting commands and data from memory in a certain sequence and executing them. In addition, in order to increase the speed of the PC, the microprocessor is equipped with an internal cache memory. cache memory is inner memory processor, used as a buffer (to protect against interruptions in communication with RAM).

The Intel processors used in IBM-compatible PCs have more than a thousand instructions and belong to the processors with an extended instruction set - CISC-processors (CISC - Complex Instruction Set Computing).

1.1 High performance computing. Parallelism

The pace of development of computing technology is easy to follow: from ENIAC (the first general-purpose electronic digital computer) with a performance of several thousand operations per second to the Tianhe-2 supercomputer (1000 trillion floating-point operations per second). This means that the speed of computing has increased by a trillion times in 60 years. The creation of high-performance computing systems is one of the most difficult scientific and technical tasks. While the computational speed technical means has grown by only a few million times, the overall speed of computing has grown by a trillion times. This effect is achieved through the use of parallelism at all stages of computing. Parallel computing requires the search for rational memory allocation, reliable ways information transfer and coordination of computational processes.

1.2 Symmetric multiprocessing

Symmetric Multiprocessing (abbreviated SMP) or symmetric multiprocessing is a special architecture of multiprocessor systems in which several processors have access to a common memory. This is a very common architecture, widely used in recent times.

When using SMP, several processors work simultaneously in a computer, each on its own task. An SMP system with a high-quality operating system rationally distributes tasks between processors, ensuring an even load on each of them. However, there is a problem with memory reversal, because even uniprocessor systems require relatively big time. Thus, access to RAM in SMP occurs sequentially: first one processor, then the second.

Due to the above features, SMP systems are used exclusively in scientific field, industry, business, extremely rare in work offices. In addition to the high cost of hardware implementation, such systems require very expensive and high-quality software that provides multi-threaded execution of tasks. Regular programs (games, text editors) will not work effectively on SMP systems because they do not provide this degree of parallelism. If you adapt any program for an SMP system, then it will become extremely inefficient to work on single-processor systems, which leads to the need to create several versions of the same program for different systems. The exception is, for example, the ABLETON LIVE program (designed for creating music and preparing Dj-sets), which has support for multiprocessor systems. If you run a normal program on a multiprocessor system, it will still run a little faster than on a single processor. This is due to the so-called hardware interrupt (stopping the program for processing by the kernel), which is executed on another free processor.

An SMP system (like any other system based on parallel computing) imposes increased requirements on such a memory parameter as the memory bus bandwidth. This often limits the number of processors in a system (modern SMP systems work effectively with up to 16 processors).

Since processors have shared memory, it becomes necessary to use it rationally and coordinate data. In a multiprocessor system, it turns out that several caches work for a shared memory resource. Cache coherence is a cache property that ensures the integrity of data stored in individual caches for a shared resource. This concept- a special case of the concept of memory coherence, where several cores have access to a common memory (it is ubiquitous in modern multi-core systems). If we describe these concepts in general terms, then the picture will be as follows: the same block of data can be loaded into different caches, where the data is processed differently.

If any data change notifications are not used, an error will occur. Cache coherency is designed to resolve such conflicts and maintain consistency of data in caches.

SMP systems are a subgroup of MIMD (multi in-struction multi data - computing system with multiple instruction stream and multiple data stream) classification of computing systems according to Flynn (Professor at Stanford University, co-founder of Palyn Associates). According to this classification, almost all varieties of parallel systems can be attributed to MIMD.

The division of multiprocessor systems into types occurs on the basis of division according to the principle of memory use. This approach made it possible to distinguish the following important types

multiprocessor systems - multiprocessors (multiprocessor systems with shared shared memory) and multicomputers (systems with separate memory). Shared data used in parallel computing requires synchronization. The task of data synchronization is one of the most important problems, and its solution in the development of multiprocessor and multicore and, accordingly, the necessary software is a priority for engineers and programmers. Data can be shared with physical memory allocation. This approach is called non-uniform memory access (NUMA).

These systems include:

  • Systems where only the individual processor cache is used to represent data (cache-only memory architecture).
  • Systems with local cache coherence for different processors (cache-coherent NUMA).
  • Systems with provision public access to the individual memory of processors without the implementation of non-cache coherent NUMA at the hardware level.

Simplification of the problem of creating multiprocessor systems is achieved by using distributed shared memory, but this method leads to a significant increase in the complexity of parallel programming.

1.3 Simultaneous multithreading

Based on all the above disadvantages of symmetric multiprocessing, it makes sense to develop and develop other ways to improve performance. If you analyze the operation of each individual transistor in the processor, you can pay attention to very interesting fact- when performing most computational operations, not all processor components are involved (according to recent studies - about 30% of all transistors). Thus, if the processor performs, say, a simple arithmetic operation, then most of the processor is idle, therefore, it can be used for other calculations. So, if in this moment the processor performs real operations, then an integer arithmetic operation can be loaded into the free part. To increase the load on the processor, you can create speculative (or advanced) execution of operations, which requires a great complication of the processor hardware logic. If the program pre-defines threads (sequences of commands) that can be executed independently of each other, then this will significantly simplify the task ( this way easily implemented in hardware). This idea, which belongs to Dean Tulsen (developed by him in 1955 at the University of Washington), is called simul-taneous multithreading. It was later developed by Intel called hyperthreading ( hyper threading). Thus, one processor executing many threads is perceived as an operating Windows system like multiple processors. The use of this technology again requires an appropriate level of software. The maximum effect from the use of multithreading technology is about 30%.

1.4 Multi-core

Multithreading technology is the implementation of multi-core at the software level. Further increase in performance, as always, requires changes in the hardware of the processor. The complication of systems and architectures is not always effective. There is an opposite opinion: “everything ingenious is simple!”. Indeed, in order to increase the performance of the processor, it is not at all necessary to increase its clock frequency, complicate the logical and hardware components, since it is enough just to rationalize and refine the existing technology. This method is very profitable - there is no need to solve the problem of increasing the heat dissipation of the processor, the development of new expensive equipment for the production of microcircuits. This approach was implemented as part of the multi-core technology - the implementation of several computing cores on a single chip. If you take the original processor and compare the performance gains from implementing multiple performance enhancements, it's clear that multi-core technology is the best option.

If we compare the architectures of a symmetric multiprocessor and a multi-core one, they will turn out to be almost identical. The cache memory of the cores can be multi-level (local and shared, and data from RAM can be loaded directly into the second-level cache memory). Based on the considered advantages of the multi-core architecture of processors, manufacturers focus on it. This technology turned out to be quite cheap to implement and universal, which made it possible to bring it to a wide market. In addition, this architecture has made its own adjustments to Moore's law: "the number of computing cores in the processor will double every 18 months."

If you look at the modern computer technology market, you can see that devices with four and eight nuclear processors. In addition, processor manufacturers say that processors with hundreds of processing cores will soon be seen on the market. As has been repeatedly said before, the full potential of a multi-core architecture is revealed only with high-quality software. Thus, the sphere of production of computer hardware and software is very closely related.

The processor is the heart of any computer. Mobile, stationary, it doesn't matter. It is he who determines the computing power of the device. When the processor power does not match the tasks assigned to the computer, working with this computer can cause various difficulties, which is primarily expressed in reduced speed and, as a result, inefficient use of working time.

Thus, it is important that the capabilities of the processor match the tasks for which the computer is being purchased or built. And most importantly, if you are building a gaming computer, you should choose a processor with enough power, because the capabilities of even the coolest video card can be limited if you use an underperforming processor.

What to choose: AMD or Intel?

The market for stationary and portable processors is dominated by solutions from two manufacturers: AMD and Intel. Each of them has both supporters and opponents. When dealing with most common applications the difference between competitors is often not visible, but Intel processors are gaining popularity, even though AMD products are cheaper.

Processor architecture in desktop computers

Currently, there are processors with 32-bit and 64-bit architectures. Every year, both AMD and Intel introduce new lines of processors designed using the latest advances. information technology. Here is what has appeared on the market in recent years:

AMD has launched the G-series processors based on the Jaguar architecture. It is worth noting that AMD has long been engaged in the release of APU-type hybrid processors, which are a system in which the processor and video card are combined into one. Thanks to their smaller size, APUs perform very well in mainframe computers and netbooks (although it is clear that such solutions will not replace an external video card). And here AMD has more experience than Intel.

Intel, in turn, introduced the platform Intel Haswell(fourth generation of processors), which is an improved version of the previous Ivy Bridge architecture. The new development has increased productivity, also comes with an integrated graphics adapter and shows top scores regarding energy saving.

prospects

Both companies will prioritize mobile solutions in the future as the market mobile devices growing uncontrollably. Also, both companies have as their goal the creation of energy-efficient processors that provide low power consumption while maintaining a sufficiently high performance.

What to look for when choosing a processor?

Number of cores and threads

In theory, the more cores a processor has, the faster and more efficiently it should work. However, in practice this does not always happen. And the trick is that the lion's share of applications (especially those developed for home use) do not use the full potential of multithreading and multi-core, as a result of which operations are performed by one or two cores.

The increase in performance is well manifested when working with several applications at the same time, in games and when using advanced software. Thus, for applications designed for home and office, it is necessary to choose a processor with at least two cores. In general, at the present time you can find four, six and even eight-core processors (AMD).

AT Intel processors Core i3, i5, and i7 uses Hyper-threading technology, which artificially increases the number of supported threads. True, the efficiency of such a solution is not as high as when using physical cores, but it is a cheaper alternative.

Cache

The processor cache is used to store the most frequently accessed data. AMD and Intel often focus on ever-improving cache options, but in practice it happens that the differences in performance are barely noticeable, which can not be said about the cost. There are three levels of cache in total:

  • L1 - the size is small, but data is stored here that should be "at hand". It is characterized by the shortest access time;
  • L2 is the next level, which contains data that may be needed after some time. They are taken from L3 or RAM;
  • L3 - appeared in the latest and most productive processors. It is also a buffer and often serves to synchronize the work of several cores.

Clock frequency

Simply put, the clock frequency has a direct impact on the actual performance of the processor and, accordingly, on the speed of operations. Clock speed is one of the most important indicators of processors.

socket

The processor is not an independent unit. For its installation on the "motherboard" a special socket is used - a socket. However, for installation to be possible, motherboard must be compatible with the selected processor. If the computer is being built from scratch, you should choose the processor model, and only then - the motherboard. In case of replacing obsolete components, you should find out what socket the motherboard is equipped with and select a processor for it. Of course, if you do not change both at once.

Overclocking capability

If your budget is limited, you can purchase a processor that can be overclocked later. AMD and Intel offer for this purpose special processors with special markings. Intel adds the letter X to the name of the processor, and AMD adds the letters BE (which is an abbreviation of the words Black Edition) or K.

Cooling

The processor, especially during intensive work, generates a lot of heat. If the temperature is too high, it may cause unstable operation operating system. Thus, you must take care to install an efficient cooling system.

What are laptop processors?

Laptops use special mobile versions processors. Laptops are assembled by the manufacturer, so you don't have to worry about installation. To determine which processor is best for a laptop, you should pay attention to the number of cores, clock speed, cache, and the processor line to which a particular model belongs.

What should be the processor for games?

Processor for gaming computer should not be something super fast, but it still needs a sufficient supply of power. Ideally, it should have at least four cores, at least 3.2 GHz (although you can use an overclocked processor with lower rates), and it should be equipped with a third level cache.

Thus, choosing a processor based on the manufacturer's brand is not the right approach. The main thing is that its capabilities meet your needs.