转载自:https://www.cnblogs.com/zamely/p/4334979.html
多核处理器也称片上多核处理器(Chip?Multi-Processor,CMP)。
1.多核处理器的流行
多核出现前,商业化处理器都致力于单核处理器的发展,其性能已经发挥到极致,仅仅提高单核芯片的速度会产生过多热量且无法带来相应性能改善,但CPU性能需求大于CPU发展速度。尽管增加流水线提高频率,但缓存增加和漏电流控制不力造成功率大幅增加,性能反而不如之前低频率的CPU。功率增加,散热问题也严重了,风冷已经不能解决问题了。
那么新技术必须出现-多核处理器。早在1996年就有第一款多核CPU原型Hydra。2001年IBM推出第一个商用多核处理器POWER4,2005年Intal和AMD多核处理器大规模应用。
多核处理器越来越流行,无论在服务器、桌面、上网本、平板、手机还是医疗设备、国防、航天等方面。
我们来了解一下基础知识。
2.多核处理器分类-同构、异构
从硬件的角度来看,多核设计分为两类:
- 如果所有的核心或CPU具有相同的构架,那么定义为同构多核(homogeneous);
- 同构多核处理器中大多数由通用处理器核构成,每个核可以独立运行,类似单核处理器;
- 如果架构不同,那么称为异构(heterogeneous)多核。
- 异构多核处理器往往同时继承了通用处理器、DSP、FPGA、媒体处理器、网络处理器等。
- 每个内核针对不同的需求设定的,从而提高应用的计算性能或实时性能。
目前的异构多处理器有:TI的达芬奇平台DM6000系列(ARM9+DSP)、Xilinx的Zynq7000系列(双核Cortex-A9+FPGA)、Cell处理器(1个64位POWERPC+8个32位协处理器)等等。
同构多处理器就比较多了,Exynos4412,freescale?i.mx6?dual和quad系列、TI的OMAP4460等,Intel的Core?Duo、Core2?Duo等。
3.?多核处理器运行模式-SMP、AMP、BMP
从软件的角度来看,多核处理器的运行模式有三种:
SMP-对称多处理,symmetric?multi-processing。
AMP-非对称多处理,asymmetric?multi-processing
BMP-边界多处理(翻译不确定),bound?multi-processing
以下是三种模式的特点和优点:
?
简单的解释一下:
- AMP
- 多个核心相对独立的运行不同的任务,每个核心可能运行不同的操作系统或裸机程序,或者不同版本的操作系统。
- 每个核心有自己的内存空间(同时会有共享的内存空间),另外两者之间还有一定的通信机制。
- 但是有一个主要核心,用来控制整个系统以及其它从核心。具有主从模式。
- 举个例子,比如一个主要核心控制用户界面UI,从核心控制数据采集以及输出。还有POS机,一个负责UI,一个负责交易。也就是两者负责不同的任务
- 从硬件上来说,这种多处理模式可能是同构的,也可能是异构的,但大多情况是异构多处理器。如MCU+DSP,MCU+FPGA等。同构的当然也有。
- 比如Xilinx就提供了案例,Sun公司的Solari4.1.3系统也支持AMP模式(从主从角度来看,而不是多个操作系统)。Mars?Board也可以运行AMP模式。
- SMP
- 对称多处理,这个是目前用的最多的,一个OS同等的管理各个内核,为各个内核分配工作负载。
- 目前,大多数的系统都支持SMP模式,如Linux,Vxworks,windows。
- 这种模式就是简单提高运行性能。比如PC机上双核、四核运行windows,linux等。
- 所有的核心共享内存。
- 另外,这种模式的通常都是同构多核处理器,因为异构的结构不同,实现比较复杂。
- BMP
- 边界多处理,和SMP类似,也是一个OS管理所有内核。
- 但是不同的是,BMP中,开发者可以指定将某个任务仅在某个指定内核上执行。
4.多核处理器相关术语
AP-Application?Processor,应用处理器
- 手机CPU中最主要的一部分,手机的系统运作还有APP的运行,靠的都是AP应用处理器。例如:苹果A9处理器指的就是AP。
BP-Baseband?Processor,基带处理器
- 基带处理器管理的是手机一切无线信号(除了wifi,蓝牙,NFC等等),一款手机支持多少种网络模式,支持4G还是3G,都是由基带部分决定的。
CP-CoProcessor,协处理器
- 在早期CP只用于解码视频和处理音频等等简单任务。但是各大厂商发现,CP的性能其实也可以很高,于是开始处理的东西越来越多。现在的CP已经可以处理虚拟现实,增强现实,图像处理,HIFI,HDR,传感器等等。