蓝冠招商《Q374919》 随着应用程序的复杂性持续增长,我们已经达到了仅通过缩放时钟速度来提高性能的极限。为了满足日益增长的处理需求,现代片上系统解决方案包含多个处理核心。难题是如何将应用程序映射到多核设备。在这篇文章中,我们提出了一种将应用程序转换为在多核设备上运行的编程方法。我们也描述德州仪器dsp的特性,使有效的实现,执行,蓝冠官网 同步,和多核应用程序的分析。
介绍
在过去的50年里,摩尔定律准确地预言了集成电路上晶体管的数量每两年就会翻一番。为了将这些晶体管转换成同等级别的系统性能,芯片设计者增加了时钟频率(需要更深入的指令管道),增加了指令级并行性(需要并发线程和分支预测),增加了内存性能(需要更大的缓存),以及增加了功耗(需要有功电源管理)。
这四个领域中的每一个都遇到了阻碍进一步增长的障碍:
随着半导体器件的收缩,由于时钟速率的改进减弱和糟糕的线材缩放,增加的处理频率正在放缓。
指令级并行受到应用程序内在缺乏并行性的限制。
内存性能受到处理器和内存速度之间不断增大的差距的限制。
功耗随时钟频率变化;所以,在某种程度上,需要特别的方法来冷却设备。
在一个芯片上使用多个处理器内核可以让设计人员在不使用最大工作频率的情况下满足性能目标。他们可以在工艺技术的最佳点选择频率,从而降低功耗。与等效的单核心解决方案相比,蓝冠注册 核心具有简化的管道架构,从而实现了总体性能。设备中的多个核心实例导致mips / watt性能的显著提高。
将应用程序映射到多核处理器
直到最近,计算硬件的进步显著提高了软件的执行速度,而软件开发人员只需付出很少的努力。多核处理器的引入对软件开发人员提出了新的挑战,他们现在必须掌握充分利用多核处理潜力所必需的编程技术。
任务并行性是指软件中独立任务的并发执行。在单核处理器上,单独的任务必须共享同一个处理器。在多核处理器上,蓝冠招商 任务本质上是相互独立运行的,从而提高了执行效率。
并行处理模型
将应用程序映射到多核处理器的第一步是确定任务的并行性并选择最适合的处理模型。两个主要的模型是主/从模型,其中一个核心控制所有核心上的工作分配,以及数据流模型,在数据流模型中,工作像在管道中一样通过处理阶段。
主/从模式
主/从模型表示分布式执行的集中控制。主核负责调度各种执行线程,这些线程可以分配给任何可用的核进行处理。它还必须将线程所需的任何数据传递到从核。适合此模型的应用程序天生由许多独立的小线程组成,这些线程很容易适合单个核心的处理资源。这个软件通常包含大量的控制代码,并且经常以随机顺序访问内存,有多个间接层次。每次内存访问的计算量相对较少,而且代码库通常非常大。
适合主/从模型的应用程序通常运行在像Linux这样的高级操作系统上,并且可能已经定义了多个执行线程。在这个场景中,高级操作系统是负责调度的主操作系统。
使用此模型的应用程序面临的挑战是实时负载平衡,因为线程激活可能是随机的。单个执行线程可能有非常不同的吞吐量要求。主机必须维护一个具有空闲资源的内核列表,并能够优化跨内核的工作平衡,从而实现最佳的并行性。图1显示了一个主/从任务分配模型的示例。