Multicore processors are also known as on-chip multi-core processors (chip multi-processor,cmp).
1. Popularity of multi-core processors
Before Multicore appeared, commercial processors were dedicated to the development of single-core processors, and their performance has been extreme, only increasing the speed of single-core chips will generate too much heat and can not bring corresponding performance improvement, but the CPU performance needs are larger than the CPU Development speed. Although increasing the frequency of the pipeline increases, the increase in power due to increased cache and poor leakage control results in a much higher performance than the previous low-frequency CPU. Power increase, heat dissipation problem is also serious, air cooling can not solve the problem.
Then the new technology must appear - multicore processors. As early as 1996 years there was the first multi-core CPU prototype Hydra. 2001 IBM launches first commercial multicore processor power4,2005 year Intal and AMD multicore processors in large-scale applications.
Multicore processors are becoming more prevalent, whether in servers, desktops, netbooks, tablets, mobile phones or medical devices, defense, aerospace, and more.
Let's take a look at the basics.
2. Multi-core processor classification-Homogeneous, heterogeneous
From a hardware point of view, multicore design is divided into two categories. If all cores or CPUs have the same architecture, then they are defined as homogeneous multicore (homogeneous), and if the schemas are different, they are called heterogeneous (heterogeneous ) Multi-core.
From an application perspective, most of the homogeneous multicore processors are made up of generic processor cores, each of which can run independently, like a single-core processor. Heterogeneous multi-core processors often inherit the common processor,DSP,FPGA, media processor, network processor and so on. Each core is set for different requirements, which improves the computing performance or real-time performance of the application.
Today's heterogeneous multi-processors are:TIthe da Vinci platformDM6000Series (ARM9+DSP),Xilinxof theZynq7000Series (Dual-coreCORTEX-A9+FPGA),CellProcessor (1a -bitpowerpc+8a +coprocessor) and so on.
Homogeneous multiprocessor is more,Exynos4412,Freescale i.mx6 dual and Quad series,TI OMAP4460 ,Intel 's Core Duo , Core2 Duo et.
3. Multi-core processor operating mode-SMP,AMP,BMP
From the software point of view, there are three modes of operation of multi-core processors:
smp- Symmetric Multi-treatment,symmetric multi-processing.
amp-Asymmetric Multi-treatment,asymmetric multi-processing
bmp- Border Multi-processing (uncertain translation),bound multi-processing
Here are the features and benefits of the three modes:
A simple explanation:
amp-multiple cores run different tasks relatively independently, each core may run different operating systems or bare-metal programs, or different versions of the operating system. But there is a main core that is used to control the whole system as well as other from the core. has master-slave mode. For example, a main core control user interfaceUI, from core control data acquisition and output. also havePOSMachine, a responsibleUI, one responsible for trading. That is, the two are responsible for different tasks. Each core has its own memory space (as well as shared memory space), and there is a certain communication mechanism between the two. On the hardware, this multi-processing mode may be isomorphic or heterogeneous, but most of the cases are heterogeneous multiprocessor. Such asMCU+DSP,MCU+FPGAand so on. Isomorphism of course also has. LikeXilinxIt provides a case,SunCompany'sSolari4.1.3The system also supportsAMPmode (from a master-slave point of view, not multiple operating systems). Mars Boardcan also runAMPmode.
smp- symmetric multi-processing, which is currently used the most, an OS equivalent to the management of each core , to allocate workloads for each core. Currently, most systems support SMP mode, such as Linux,Vxworks,windows. This mode is simply to improve the performance of the operation. such as Dual-core PC, quad-core running Windows,Linux and so on. all of the core shared memory. In addition, this pattern is usually homogeneous multicore processors, because the heterogeneous structure is different, the implementation is more complex.
bmp- Boundary Multi-processing, Similar to SMP, is also an OS Management of all cores, but the difference is that, in BMP, Developers can specify that a task be executed on only one of the specified cores.
4.terminology related to multicore processors
Ap-application Processor, application processor
Bp-baseband Processor, baseband processor
The above appears in the mobile phone more, some will integrate the two into a silicon wafer.
Gpu- image processing Unit, graphic Processor unit there are pc cpu and gpu integration.
Soc-system on Chip, system on chip. This defines a variety of, generally a chip on a number of cores can say, this I am not sure. Some say Xilinx Zynq7000 is Soc(cortexa9+fpga0, some say The Exynos4412 is also a Soc(quad-core Cortex A9).
2015-03-14 13:59:34
zamely
Hust
Multi-core processor base Smp&&bmp