【技术实现步骤摘要】
在SIMD处理单元中的任务执行
本专利技术总体上涉及SIMD处理单元,并且更特别地涉及在SIMD处理单元中的任务执行。
技术介绍
单指令多数据(SIMD)处理单元被布置为同时对多个数据项目执行相同操作。这允许SIMD处理单元并行处理数据项目,这可以比串行处理每个数据项目更高效。SIMD处理单元在将对大量数据项目执行相同指令(这在多媒体应用中是常见的)时特别有用。例如,图形处理单元(GPU)可以使用SIMD处理单元以便对计算机生成的图像的大量像素中的每个像素执行操作。相似地,用于处理(例如,由相机捕获的)图像数据的图像处理单元(该图像处理单元可以例如是相机处理流水线的部分)可以使用SIMD处理单元以便对图像的大量像素中的每个像素执行操作。任务可以由多个“工作项目”形成,其中可以执行任务的工作项目以由此对相应数据项目执行公共指令序列。也就是说,工作项目可以包括将对数据项目执行的指令序列,其中包括将对相应数据项目执行的相同指令序列的一组工作项目被一起分组成任务。每个任务可以包括上至预定最大数目的工作项目。可以在任务中包括的工作项目的最大数目可以在不同系统中变化,但是图1代表可以包括上至三十二个工作项目102的任务100。为了清楚,在图1中标注了工作项目102中的仅一些工作项目。图1也指示了工作项目可以被包括在的在任务内的三十二个不同项目定位(从定位0到定位31)中的一些项目定位。可以并行执行在任务内的不同工作项目,因为它们是将对相应数据项目实施的指令的相应实例。任务100未充满工作项目,并且因此被视为具有“部分空置(residency)”。也就是说,任务100包 ...
【技术保护点】
一种被配置为处理多个任务的单指令多数据(SIMD)处理单元,每个任务包括上至预定最大数目的工作项目,其中任务的所述工作项目被布置用于对相应数据项目执行公共指令序列,所述数据项目被布置成数据项目块,其中所述块中的一些块包括至少一个无效数据项目,以及其中涉及无效数据项目的工作项目是无效工作项目,所述SIMD处理单元包括:一组处理通道,所述一组处理通道被配置为在多个处理周期内执行特定任务的工作项目的指令;以及控制模块,所述控制模块被配置为基于所述工作项目的有效性将所述工作项目组装成所述任务,从而使得跨越所述一组处理通道在时间上对准所述特定任务的无效工作项目。
【技术特征摘要】
2013.12.18 GB 1322388.81.一种被配置为处理多个任务的单指令多数据(SIMD)处理单元,每个任务包括上至预定最大数目的工作项目,其中任务的所述工作项目被布置用于对相应数据项目执行公共指令序列,所述数据项目被布置成数据项目块,其中所述块中的一些块包括至少一个无效数据项目,以及其中涉及无效数据项目的工作项目是无效工作项目,所述SIMD处理单元包括:一组处理通道,所述一组处理通道被配置为在多个处理周期内执行特定任务的工作项目的指令;以及控制模块,所述控制模块被配置为基于所述工作项目的有效性将所述工作项目组装成所述任务,从而使得跨越所述一组处理通道在时间上对准所述特定任务的无效工作项目。2.根据权利要求1所述的SIMD处理单元,其中所述一组的所述处理通道中的每个处理通道被配置为在多个连续处理周期内执行与相应数据项目块有关的工作项目的指令。3.根据权利要求1或者2所述的SIMD处理单元,还包括耦合到所述一组处理通道的逻辑,所述逻辑被配置为如果无效工作项目集合是被调度用于在处理周期内通过所述一组处理通道来执行的仅有工作项目,则使所述一组处理通道跳过对所述无效工作项目集合的执行。4.根据权利要求1或者2所述的SIMD处理单元,其中所述控制模块被配置为设置指示符以指示所述工作项目已经如何被组装成所述任务。5.根据权利要求4所述的SIMD处理单元,还包括:存储库,所述存储库被配置为存储从所述一组处理通道输出的经处理的所述数据项目;以及存储逻辑,所述存储逻辑被配置为基于所述指示符确定用于在所述存储库中存储经处理的所述数据项目的地址。6.根据权利要求1或者2所述的SIMD处理单元,其中所述控制模块被配置为将所述工作项目组装成所述任务,从而使得与数据项目块有关的工作项目块的工作项目被一起分组成相同任务。7.根据权利要求6所述的SIMD处理单元,其中所述控制模块被配置为将所述工作项目组装成所述任务,从而使得工作项目块基于在所述相应工作项目块中的无效工作项目数目而被一起分组成任务。8.根据权利要求6所述的SIMD处理单元,其中所述控制模块被配置为将所述工作项目组装成所述任务,从而使得在工作项目块内的工作项目被重新排序以由此对准来自在任务内的不同工作项目块的所述无效工作项目。9.根据权利要求8所述的SIMD处理单元,其中所述控制模块被配置为通过执行在工作项目块内的工作项目的旋转操作和交换操作中的至少一个操作来对在所述工作项目块内的所述工作项目重新排序。10.根据权利要求9所述的SIMD处理单元,其中所述控制模块被配置为设置指示符以指示所述工作项目已经如何被组装成所述任务,其中所述控制模块被配置为设置用于多个所述工作项目块的相应指示符以指示在所述多个工作项目块内的所述工作项目的顺序。11.根据权利要求10所述的SIMD处理单元,其中每个工作项目块包括四个工作项目,以及其中每个指示符包括三位:两位用于定义在所述工作项目块内的所述工作项目的旋转,以及一位用于定义是否已经在所述工作项目块内的预定定位处对所述工作项目中的两个工作项目执行了交换操作。12.根据权利要求1或者2所述的SIMD处理单元,其中存在用于所述工作项目的多于两个级别的有效性,以及其中所述控制模块被配置为基于所述工作项目的有效性将所述工作项目组装成所述任务,从而使得跨越所述一组处理通道、在时间上对准所述特定任务的具有相同级别的有效性的工作项目。13.根据权利要求1或者2所述的SIMD处理单元,其中所述数据项目是像素值。14.根据权利要求13所述的SIMD处理单元,其中所述数据项目块是像素四方格。15.根据权利要求1或者2所述的SIMD处理单元,其中所述任务中的一些任务包括少于所述预定最大数目的工作项目,以及其中所述SIMD处理单元包括:并行多组处理通道,每组被配置为在多个处理周期内执行相应任务的工作项目的指令...
【专利技术属性】
技术研发人员:J·豪森,J·里德肖,Y·C·富,
申请(专利权)人:想象技术有限公司,
类型:发明
国别省市:英国;GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。