They allow multiplying the performance of a computer by inserting different logic-arithmetic units within the same silicon bank. Its function was theorized and formalized during the Second World War. The law that has guided its technical and technological development for years has been more than 50 years. In short, despite belonging to a prehistoric technological age (seventy / fifty years are equivalent, in the world of information technology, and hi-tech in general, to different geological eras), the processor is still one of the fundamental components of a computer system.
Inside a computer, the CPU performs the delicate task of the system’s computational center: the data arriving from the input peripherals and other components ( GPU, RAM and so on) are processed following the instructions present in the various algorithms that make up the software to then be returned, modified, to the output devices. A job that, over the years and decades, has become more and more pressing: the information that the CPU is called to process has grown exponentially, requiring a parallel increase in the computing power of the single processor.
To ensure that the number of operations to be performed at the same time could double or quadruple without changing the basic structure of Von Neumann’s architecture(a processor, working memory and input and output peripherals ), the big names in the field of microcircuits ( Intel and AMD above all) have increased the number of cores (the components that physically take care of processing data) inside the processors. In this aspect, a multicore processor follows the structure of GPUs, which, by their very nature (or, better said, by the heart of the data they have to process), are made up of hundreds of – if not thousands – of cores. Since the early 2000s, the first 5 multicore processors have appeared on the market and have had the merit of starting a real Copernican revolution in the information technology sector.
The term multicore (and its various facets: dual-core, quad-core, exa-core, octa-core and so on) refers to all those central computing units (not just computer CPUs, but also the SoCs of smartphones and tablets, for example) in which several computing units ( cores or logic-arithmetic units) share the same silicon plate. This allows, as mentioned, to double, quadruple, and sextuple the computing power of the single processor. Instead of processing a single piece of information simultaneously, a multicore processor can simultaneously process as many data packets as cores in the die. When we talk about multiprocessor systems, on the other hand, we refer to those machines that contain two or more CPUs connected using special communication channels.
A parallel with industrial manufacturing could help clarify the difference between multicore and multiprocessor architecture. A multicore processor is comparable to a production site with two or more workers (the cores ) assigned to build a particular product (i.e. perform required computer calculations). In a multiprocessor system, on the other hand, the same workers would be divided into different production sites, more or less distant from each other. It thus becomes clear that the substantial difference between the two scenarios is the optimization of the necessary “dead times” and the reduction and the dangers of accidents inherent in transporting the semi-finished product from one production site to another.
The Advantages Of The Multiprocessor
Such technology offers undoubted advantages over single-core multiprocessor architectures. The most immediate, as mentioned, in terms of performance: the possibility of having multiple cores hosted in the same die allows the printed circuits that deal with checking the coherence of the cache to operate with a frequency far higher than that possible if one were found in front of a multiprocessor system. This is possible because the distance that separates two cores placed inside the same processor is less than the distance that must separate two different CPUs on the motherboard. Therefore, the signal that connects the computing units undergoes, in the first case, a lower degradation, allowing the passing of a greater quantity of data and allowing the logical-arithmetic teams to perform multiple operations in a single unit of time.
As we have said, multicore technology allows you to print circuits closer as it is necessary to use less space in the printed circuit board or PCB compared to other architectures and technologies (for example, in symmetrical multiprocessor systems ). This ensures, among other things, greater energy efficiency: dual-core, quad core and multicore processors generally perform better with lower energy consumption when compared to multiprocessor systems with the same number of computing units. A significant advantage for all the various battery-powered devices – from smartphones to smartwatches – on the market today. Finally, in a multicore CPU, the various computing units share some constituent elements (L2 cache, front side bus and others), thus allowing to save components and, therefore, being cheaper than the counterparts (for example, multiprocessor architectures).