需要了解的多核CPU运行模式

 多核     CPU      运行模式主要有以下三种:

•非对称多处理(Asymmetric mul     ti   processing,AMP)——每个CPU内核运行一个独立的操作系统或同一操作系统的独立实例(instan  TI a  TI on)。

•对称多处理(Symmetric mul  TI processing,SMP)——一个操作系统的实例可以同时管理所有CPU内核,且应用并不绑定某一个内核。

•混合多处理(Bound mul  TI processing,BMP)——一个操作系统的实例可以同时管理所有CPU内核,但每个应用被     锁   定于某个指定的核心。

 需要了解的多核CPU运行模式_设计制作_RF/无线

1、非对称多处理(AMP)

AMP给开发者提供了一个与传统单核CPU系统相类似的运行环境,使得开发者已有的一系列经验和知识可以继续加以利用;同时,这也为老程序的移植提供了相当大的便利性。

AMP分为同构(homogeneous)和异构(he     te   rogeneous)。前者是指所有内核运行同一种类型和版本的操作系统,后者则是指每个内核运行不同类型或版本的操作系统(比如一个内核运行QNX Neutrino RT,而另一个内核运行     Linux   )。

在同构环境中,开发人员只要选择一个可提供分布式编程模式的操作系统,就能最大化地利用多核,允许某个内核上的应用程序透明地与另一个内核上的应用/系统服务(如设备驱动、协议堆栈)进行通信,但不会有传统IPC机制所造成的高CPU占有率。

异构环境的要求有些不同。在这种环境下,开发人员要么执行专有的通信协议,要么选择可供IPC共享相同架构(如基于IP)的两个操作系统。为了避免资源冲突,两个操作系统还需要通过一个标准机制来访问被共享的硬件。

在AMP系统中,一个进程(process)总是运行在同一个内核中,即使其他内核处于空闲状态。结果会导致一个内核要么没有被充分利用,要么被利用过度。为了解决这个问题,系统会允许应用程序在内核间动态迁移。然而,这样就需要对状系统信息进行相当复杂的检测。

2、对称多处理(SMP)

所有内核都运行同一个操作系统拷贝。由于操作系统每时每刻都监控着系统的运行状态,因此可以在多核之间分配资源,而无需应用开发人员的干预。另外,操作系统可以提供内嵌的标准化原语(pri     mi   tives),如pthread_mutex_lock、pthread_mutex_unlock、pthread_s     pi   n_lock和pthread_spin_unlock,从而让多个应用可以安全和容易地共享这些资源。

一个设计良好的SMP 操作系统允许多个应用线程协同地运行在任何一个内核上。这种协同性使得应用程序任何时候都可以利用芯片的整体计算能力。如果操作系统能提供适当的优先权和线程优先排序能力,就能帮助应用开发人员确保CPU为最需要的应用服务。

3、混合多处理(BMP)

由QNX倡导的BMP结合了SMP高级资源管理和AMP应用控制的混合功能。BMP跟SMP一样具有透明资源管理功能,不同的是,可以让开发人员将软件任务锁定在指定的内核上。

与SMP相比,BMP带来了几大优势。它允许共享同一个数据集(data set)的应用独立地运行在同一个内核上,从而消除了SMP系统中会降低性能的CACHE冲突。BMP还可以让为单核环境编写的传统程序正确地运行在多核环境,即让这些应用运行在某一个内核上。

在BMP系统中,锁定于一个内核的应用无法利用其他内核,即使其他内核处于空闲状态。

4、异步双核和同步双核的解释

同步CPU——Synchronous,Synchronism,是指各个CPU内核必须以相同频率相同电压时工作或同时休息,不能轮流工作,二级缓存共享。CPU性能得到最大发挥,但同时也带来更高的功耗。目前手机同步双核包括     三星   Exynos4210,德仪OMAP44x0,Nvidia的Tegra2等,代表有三星i9100,MOTO XT910,LG P990。

异步CPU——Asynchronism,各个CPU内核能够同时以相同或不同频率电压处理不同任务,二级缓存共享,显著降低能耗。目前异步双核手机处理器多采用了     高通   的处理器,比如高通MSM8260(代表机型是小米M1,HTC的G14,G17,G18等)、MSM8660(代表机型是小米电信定制版、三星GALAXY SII(I929)、酷派9900等)、MSM8960(代表机型华硕     Pad   Fone、三星GALAXY SIII (I535)、HTC One XC和海尔W910等)、APQ8060(代表机型三星GALAXY SII HD LTE等)等。

同步异步的区别:同步的2个CPU是一个整体,无论多少个任务指令 ,都同时合力先完成一个,然后再完成下一个,和电脑CPU相似。
异步的2个CPU可独立工作,分别完成不同的任务。在第一个CPU未达到满载状态时,第二个CPU首选执行其他任务或者空闲(不启动);只有在第一个CPU满载非常严重的情况,第二个CPU才会主动分担第一个CPU的任务。所以并不是网络上谣传的两个核心不能同时执行一个任务。



50
81
0
40

相关资讯

  1. 1、上升时间加速器LTC4311的作用及性能分析3034
  2. 2、基于低成本FPGA或CPLD实现家电节能电机控制系统的设计4314
  3. 3、信捷电气2020年净利润大增,PLC及伺服份额显著提升3755
  4. 4、基于MSC1211系列微处理器实现小型化智能压力传感器的设计804
  5. 5、空心杯电机属于哪一种电机4832
  6. 6、数字货币交易中的所有名词解释625
  7. 7、PLC可编程控制技术在食品工业的应用4675
  8. 8、还让不让快递小哥活了!Starship的“小车车”把包裹递送的活也揽了3890
  9. 9、基于双通道光电耦合离轴旋转连接器设计方案3696
  10. 10、LX110T的板子上跑demo的时候遇到的一些错误的解决办法总结3896
全部评论(0)
我也有话说
0
收藏
点赞
顶部