新闻中心

EEPW首页>嵌入式系统>设计应用> 嵌入式多媒体应用的多处理器核软件设计框架

嵌入式多媒体应用的多处理器核软件设计框架

作者: 时间:2016-12-02 来源:网络 收藏


由于每个DMA控制器上都有两组MDMA通路,系统设计时,可以将MDMA通路在处理器核上平均分配,从而可以对称地进行并行操作。

对于具有较小粒度数据访问模式的应用,可以轻松的利用对L1和L2存储器的快速访问,也可以直接将独立的数据块从外围设备传送到L1和L2存储器,而不需要通过慢速的外部存储器访问,这样可节省宝贵的外存储器带宽和MDMA资源,还可以缩短数据传输时间。

对于某些采用较高层级粒度的数据访问模式的应用,存储器就可能成为访问瓶颈,因为较小的L1和L2存储器层级不能容纳大量的数据帧。然而,大量数据帧之间虽然会出现数据关联性,但这种关联通常也仅存在于跨数据帧的较小数据块。如果能将所有关联的数据帧存放在一个较大的存储空间(外存储器)中,就可以将每一帧中的独立数据块相继送入空闲的处理器核进行处理。如果这些独立的数据块比数据帧小得多,以至于符合L1和L2存储器的容量,就可减少存储器存取延迟从而高效地处理数据。

虽然L2和外存储器都有独立的总线连接,两个处理器核仍共享这些存储器接口总线。因此,应当尽量避免利用两个处理器核同时对同一级别的存储器进行存取操作,以免造成因线路争用引起延迟。为了减少线路争用状态,程序架构应考虑目标程序代码和数据的映射,要让一个处理器核主要访问L2存储器核,而另一处理器核则主要访问外部存储器。在这种情况下,虽然处理器核完成多数外部存储器访问会出现较大的访问延迟,但总的访问延迟仍然要比存在线路争用状态下的情况小。



该结构能将所有的输入外设接口配置在一个处理器核上,所有的输出外设接口分配到另一处理器核上。BF561体系结构中有两个PPI(并行外设接口),通过PPI视频输入/输出接口,可以实现输入或输出视频帧的独立操作。

如果中断处理时间比数据流的处理时间要短,还可将所有的外设接口分配到一个处理器核上以便于编程,较短的中断处理时间不会影响两个处理器核的负载平衡。

建议的软件框架模型

基于数据访问模式的粒度,您可以定义四种软件框架:行处理(空域),宏块处理(空域),帧处理(时域)以及GOP处理(时域)。如果某个应用程序的数据访问模式适于这四种模型中的任何一种,就可以采用相应的软件结构,如果对同一数据流有两种或多种处理算法,还可以将这几种软件结构结合起来,实现非对称的并行处理。

在行处理模式中,只在行级有相关性——也就是说,只在两个相邻像素之间存在相关性。每行数据形成一个数据块,这样两个处理器核都独立处理,图3说明了行处理软件架构的数据流模型。图中,处理器核A控制视频输入,处理器核B控制视频输出。处理器核A和B之间的数据有独立的MDMA通道进行管理。L1存储器使用多个缓冲器,可以避免处理器核与外设DMA数据访问之间出现的线路争用状态。两个处理器核之间每行数据的同步,则通过一个计数信号量实现。在行处理模式中,采用单处理器核方式将数据直接存入L1存储器也具有优势,可以节省外部存储器带宽和DMA资源。行处理软件架构的应用实例包括色彩变换,直方图均衡化,滤波,以及采样。



图4说明了宏块数据访问模式的数据流模型,可以将交替的宏块在两个处理器核之间传送。L2存储器保持多个数据缓冲区,宏块从L2存储器传输到每个处理器核的L1存储器都有独立的MDMA通道。L1存储器也保持多个数据缓冲区,以避免在DMA和处理器核数据访问过程中产生线路争用。与行处理结构类似,该结构中处理器核A仍控制输入视频接口,处理器核B控制输出接口,计数信号量实现两个处理器核之间的同步。这种软件架构的应用实例包括边缘检测,JPEG/MPEG的编/解码算法,以及卷积编码。



在帧级处理模式中,外部存储器存储相关的数据帧。根据数据帧(宏块或行)之间相关性的粒度,系统将数据帧的子块传送到L1或L2存储器。图5说明了帧级处理软件架构数据流模型。在这种情况下,假定某个宏块在不同帧间存在相关性,系统则将数据帧的宏块传送至L1存储器。与其他软件架构类似,处理器核A仍控制输入视频接口,处理器核B则控制输出接口,计数信号量实现两个处理器核之间的同步。该软件架构已应用于运动检测算法。


评论


技术专区

关闭