1.多核处理器的场景需求
单核芯片的发展按照摩尔定律18个月高速发展。随着越到后面,单芯片的工艺发展速度放缓。而随着场景的发展,高性能的芯片要求更快的速度。所以多核芯片的SOC变成近20年发展的一种常态。1996年就有第一款多核CPU原型Hydra。2001年IBM推出第一个商用多核处理器POWER4,2005年Intal和AMD多核处理器大规模应用。
多核处理器越来越流行,在服务器、桌面、上网本、平板、手机还是医疗设备、国防、航天等方面都得到了广泛的应用。
2.多核处理器的分类
2.1 从架构上区分
1)同构多核架构:系统中的处理器在架构上是相同的。
2)异构多核架构:系统中的处理器在架构上是不同的。
同构多核架构在硬件与软件设计上比较简单,通用性高。
2.2 从运行模式上区分
在软件上区分的话,多核处理器有三种运行模式:
- AMP(非对称多处理)
- SMP(对称多处理)
- BMP(受约束多处理)
3.多核处理器架构介绍
3.1AMP多核架构
AMP是指多个核相对独立的运行不同的任务,每个核之间相互隔离,可以运行不同的操作系统或裸机程序。AMP的运行模式基本不会存在开销问题,尤其是在运行裸机程序时,甚至没有开销,这种模式比较适合实时性高的应用。但是两个核心之间的通信与资源共享需要有一套优秀的处理机制。虽然多个核心可以运行不同的系统,但是需要有一个主要的核心,需要使用该核心来控制整个系统以及其他的核心。例如:一个核心运行运行实时性较高的任务,另一个核心运行UI界面。
3.2 SMP多核架构
SMP是指多个核心运行一个操作系统,该操作系统同等的管理多个内核,这种运行模式就是简单提高运行性能。目前支持该运行模式的操作系统有:Linux,Windows,Vxworks。
目前,我们的PC机使用的就是这种运行模式,一般适用于功能复杂,对实时性要求不高的系统。
3.3 BMP多核架构
BMP运行模式与 SMP类似,同样也是一个OS管理所有的核心,但开发者可以指定将某个任务仅在某个指定内核上执行 。这个使用的比较少。