当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于复制源数据从而实现对源数据的并行处理的方法和系统技术方案

技术编号:10441893 阅读:182 留言:0更新日期:2014-09-17 17:07
用于减少由CPU执行的读写操作的数量的方法及装置可涉及复制源数据以便实现对源数据的并行处理。存储器控制器可被配置成用于将写入第一缓冲器的数据分别复制到分配给一个或多个处理线程的一个或多个复制缓冲器中。在某些实现方式中,一个或多个复制缓冲器是专用缓冲器,并且第一缓冲器和一个或多个复制缓冲器的地址被存储在存储器控制器的寄存器中。

【技术实现步骤摘要】
【国外来华专利技术】减少由CPU执行以便复制源数据从而实现对源数据的并行处理的读/写操作的数量背景某些启用视频的计算机系统可使用多个处理线程,以便实现更快速的视频处理。为了实现由可在计算机系统中实现不同视频处理算法的多个处理线程对同一源数据进行并行处理,可分别在分配给多个处理器线程的多个缓冲器中复制源数据。以此方式,每个处理线程可在不干扰任意其他处理线程使用源数据的情况下处理该源数据。将源数据复制到多个缓冲器中可涉及计算机系统的中央处理单元(CPU)从存储器读取该源数据并且然后将该源数据写入多个缓冲器。在视频处理中,例如,当视频帧数据从视频文件或外部设备(诸如相机)加载到帧缓冲器中时,针对每个被加载的视频帧,CPU可从帧缓冲器读取帧数据并且然后将帧数据写入多个缓冲器。因此,视频的并行处理可要求CPU为每个帧执行读/写操作。执行这种读/写操作可降低并行处理计算系统的整体性倉泛。附图简要说明通过阅读以下说明书和所附权利要求书并且通过参考以下附图,本专利技术实施例的各种优点将对本领域普通技术人员将变得明显,在附图中:图1是根据实施例示出被配置成用于减少读/写操作的示例系统的框图;图2A和图2B根据实施例示出分别由图1的示例系统的存储器控制器和处理器执行的示例进程;图3是示出本公开的示例系统的框图;以及图4是示出示例小形状因数设备的框图,图3中系统的组件可在该设备中实现。详细说明本公开的不同实现提供了用于减少由CPU执行以便复制源数据从而实现对源数据的并行处理的读写操作的数量的方法及装置。图1示出用于减少由CPU执行的读写操作的数量的示例系统100,其中,源数据被复制,以便实现对源数据的并行处理。系统100可包括通过CPU总线120耦合到总线控制器110的处理器105。在某些实现方式中,系统100可包括多个处理器。总线控制器110可包括存储器控制器115。在某些实现方式中,存储器控制器115可位于总线控制器110的外部。存储器控制器115可通过存储器总线130将处理器105接口到系统存储器125。系统存储器125可由被存储器控制器115访问的动态随机存取存储器(DRAM)模块组成。在某些实现方式中,如以下更详细描述的,系统存储器125可包括用于存储将被第一处理线程处理的数据的第一缓冲器126以及用于存储分别由一个或多个其他处理线程处理的第一缓冲器126中所存储的相同数据的一个或多个复制缓冲器127(1)...127 (η)。在某些实现方式中,如以下更详细描述的,存储器控制器115还包括用于存储第一缓冲器126的地址和一个或多个复制缓冲器127(1)...127 (η)的地址的寄存器112,以及用于存储复制缓冲器位以便指示是否应当将存储在第一缓冲器126中的数据分别复制到一个或多个复制缓冲器 127(1)...127 (η)中的寄存器 114。在某些实现方式中,系统存储器125可存储将被处理器105执行的信息和指令。具体而言,系统存储器125可存储当被处理器105执行时致使处理器105执行参照图2B所描述的过程的指令。系统存储器125还可存储将被处理器105访问以便执行一个或多个处理器线程的数据。在某些实现方式中,系统存储器125可存储像素,这些像素是从数据源135接收的要被处理器105执行的一个或多个图像帧的部分。在某些实现方式中,图形处理器可处理存储在第一缓冲器126和一个或多个复制缓冲器127(1)...127 (η)中的帧数据。为了减少由处理器105执行以便复制源数据从而实现对源数据的并行处理的读/写操作的数量,存储器控制器115可被配置成用于将写入第一缓冲器126的数据分别复制到分配给一个或多个处理线程的一个或多个复制缓冲器127(1)...127 (η)。在某些实现方式中,一个或多个复制缓冲器127(1)...127 (η)是专用缓冲器。附加地,第一缓冲器126和一个或多个复制缓冲器127(1)...127 (η)的地址可被存储在存储器控制器115的寄存器112中。在某些实现中,当处理线程分配缓冲器以便存储并处理存储在第一缓冲器126中的数据时,处理线程将其缓冲器的地址写入寄存器112。因此,当存储器控制器115接收到将数据写入第一缓冲器126的命令时,存储器控制器115自动地将写入第一缓冲器126的数据复制到具有存储在寄存器112中的地址的复制缓冲器,而不使用处理器105。因此,与现有系统不同,为了将源数据复制到多个缓冲器以便实现对源数据的并行处理,所示出的处理器105不从第一地址126读取源数据并且然后将源数据写入复制缓冲器127(1)...127 (η)。在某些实现方式中,只有在寄存器114中与复制缓冲器相对应的复制缓冲器位被设置的情况下,存储器控制器115才将存储在第一缓冲器126中的数据复制到复制缓冲器。在某些实现方式中,一旦数据被复制到复制缓冲器,则重置相应的复制缓冲器位。在某些实现方式中,一旦数据被复制到复制缓冲器,存储器控制器115向处理器105发送帧就绪信号以便通知处理器105数据可用于处理。继续参照图1、图2Α和图2Β,示出了分别由存储器控制器115和处理器105执行的示例进程200Α和200Β,其中进程200Α和200Β可减少与对源数据进行并行处理相关的源数据复制所需的读/写操作的数量。在阶段205,处理器105可分配用于存储源数据以便由第一线程(例如,第一视频处理线程或视频加载线程)处理的第一缓冲器(例如第一缓冲器126)。在阶段210,所示出的处理器105分配用于存储要被存储在第一缓冲器中的源数据以便分别由一个或多个其他处理线程处理的一个或多个复制缓冲器(例如,复制缓冲器127(1),...,127 (η))。在阶段215,处理器105可以将第一缓冲器和一个或多个复制缓冲器的地址发送到存储器控制器115,以便实现存储器控制器115基于这些地址将写入第一缓冲器的数据复制到一个或多个复制缓冲器(例如复制缓冲器127 (I),..., 127 (η))。在阶段220,存储器控制器115可接收这些地址并将其存储在寄存器中(例如寄存器 112)。在阶段225,对于用于处理将被存储在第一缓冲器中的数据的每个处理线程而言,所示出的处理器105向存储器控制器112发送相应的复制缓冲器位以便通知存储器控制器112针对处理线程在相应的复制缓冲器中复制将被存储在第一缓冲器中的源数据。在阶段230,存储器控制器115可接收并存储(例如,在寄存器114中)复制缓冲器位。在阶段235,存储器控制器115可接收将数据写入系统存储器125的指令(例如,从处理器105或数据源135)。在阶段240,所示出的存储器控制器115确定写入指令是否是针对第一缓冲器。如果写入指令不是针对第一缓冲器(在阶段240 “否”),存储器控制器115可在阶段245在不复制数据的情况下向系统存储器125进行写入。如果写入指令是针对第一缓冲器(在阶段240“是”),存储器控制器115可在阶段250将数据写入第一缓冲器并且还将数据写入其相应的复制缓冲器位被设置的每个复制缓冲器。在阶段255,可重置这些复制缓冲器位(例如,由存储器控制器115),从而使得不复制未来的源数据,除非被处理器105设置。在某些实现方式中,复制缓冲器位将保持设置,直至本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201280066069.html" title="用于复制源数据从而实现对源数据的并行处理的方法和系统原文来自X技术">用于复制源数据从而实现对源数据的并行处理的方法和系统</a>

【技术保护点】
一种系统,包括:数据源,用于提供源数据;第一缓冲器,用于存储所述源数据以便由第一处理线程处理;一个或多个复制缓冲器,用于存储所述源数据以便分别由一个或多个其他处理线程处理;控制器,用于如果所述控制器接收到将所述源数据写入所述第一缓冲器的命令,将所述源数据存储在所述第一缓冲器以及所述一个或多个复制缓冲器中;以及处理器,用于处理存储在所述第一缓冲器以及所述一个或多个复制缓冲器中的所述源数据。

【技术特征摘要】
【国外来华专利技术】2012.01.06 MY PI20120000731.一种系统,包括: 数据源,用于提供源数据; 第一缓冲器,用于存储所述源数据以便由第一处理线程处理; 一个或多个复制缓冲器,用于存储所述源数据以便分别由一个或多个其他处理线程处理; 控制器,用于如果所述控制器接收到将所述源数据写入所述第一缓冲器的命令,将所述源数据存储在所述第 一缓冲器以及所述一个或多个复制缓冲器中;以及 处理器,用于处理存储在所述第一缓冲器以及所述一个或多个复制缓冲器中的所述源数据。2.如权利要求1所述的系统,其中,所述源数据是帧数据。3.如权利要求1所述的系统,其中,所述第一缓冲器以及所述一个或多个复制缓冲器是中贞缓冲器。4.如权利要求1所述的系统,其中,所述第一缓冲器以及所述一个或多个复制缓冲器是图像缓冲器。5.如权利要求1所述的系统,其中,所述处理器是图形处理器。6.如权利要求1所述的系统,其中,所述一个或多个复制缓冲器是专用缓冲器。7.如权利要求1所述的系统,进一步包括用于存储所述一个或多个复制缓冲器的一个或多个地址的存储器。8.如权利要求1所述的系统,进一步包括存储器,所述存储器用于为所述一个或多个复制缓冲器的每一个存储标志以控制所述控制器是否将所述源数据存储到所述复制缓冲器中。9.如权利要求1所述的系统,进一步包括用于如果所述一个或多个复制缓冲器被填充则发送缓冲器就绪信号的信号生成器。10.一种方法,包括: 分配用于存储源数据以便由第一处理线程处理的第一缓冲器; 分配用于存储将被存储在所述第一缓冲器中的所述源数据以便分别由一个或多个其他处理线程处理的一个或多个复制缓冲器; 接收将数据写入所述第一缓冲器的指令;以及 当接收到将数据写入所述第一缓冲器的所述指令时,将所述源数据写入所述第一缓冲器以及所述一个或多个复制缓冲器中。11.如权利要求10所述的方法,进一步包括处理存储在所述第一缓冲器以及所述一个或多个复制缓冲器中的所述源数据。12.如权利要求10所述的方法,进一步包括存储所述第一缓冲器以及所述一个或多个复制缓冲器的一个或多个地址,以便实现基于所存储的地址将写入所述第一缓冲器的所述源数据存储到所述一个或多个复制缓冲器中。13.如权利要求10所述的方法,进一步包括为所述一个或多个复制缓冲器中的每一个设置标志以便控制是否将所述...

【专利技术属性】
技术研发人员:Y·H·周
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1