软件框架的建议模型
基于数据存取模式的粒度,可以定义四种软件框架:行处理(空间域)、宏块处理(空间域)、帧处理(时间域)以及GOP处理(时间域)。如果某个应用程序的数据存取模式适于这四种模型中的任何一种,就可以采用相应的框架。如果一个数据流有两种或更多的处理算法,还可以将多种框架结合起来,实现非对称的并行处理。
在行处理模式中,关联性只存在于行级,也就是说,只存在于相邻像素之间。每行数据形成一个数据块,各处理器核都可以独立处理。
图3显示了行处理框架的数据流模型。处理器核A处理视频输入,处理器核B处理视频输出。核A和B之间的数据由独立的MDMA通道组进行管理。L1存储器使用多个缓神器,可以避免处理器核与外设DMA访问总线的冲突。两个处理器核之间每行数据的同步通过计数信号量实现。在这种框架中,采用单处理器核方式将数据直接存入L1存储器也具有优势,可以节省外部存储器带宽和DMA资源。这种框架的应用实例包括色彩变换、直方图均衡化、滤波和采样。
图3 行处理框架的数据流模型。处理器核A处理视频输入,处理器核B处理视频输出。
图4显示了宏块数据访问模式的数据流模型,可以在两个处理器核之间交替传送宏块。L2存储器具有多个片段缓冲器,独立的MDMA通道将宏块从每个处理器核的L2存储器传输到L1存储器。L1存储器也有多个缓神器,用以避免DMA与处理器核访问总线的冲突。与行处理框架类似,该框架中处理器核A控制输入视频接口,处理器核B控制输出接口,计数信号量实现两个处理器核之间的同步。这种框架的应用实例包括边缘检测、JPEG/MPEG编码/解码算法和卷积编码。