减少数据交换负载的计算系统以及相关的数据交换方法

文档序号:10517828阅读:429来源:国知局
减少数据交换负载的计算系统以及相关的数据交换方法
【专利摘要】一种计算系统,包括多个处理电路和存储装置。所述多个处理电路至少包括第一处理电路和第二处理电路。至少所述第一处理电路和所述第二处理电路共享所述存储装置。所述第一处理电路执行整个高速缓存刷新操作以准备在所述存储装置中的交换数据。所述第二处理电路从所述存储装置中获取所述交换数据。
【专利说明】减少数据交换负载的计算系统以及相关的数据交换方法
[0001]相关申请的交叉引用
[0002]本申请要求2014年5月28日递交的申请号为62/003,611的美国临时案的优先权,在此合并参考该申请案的申请标的。
技术领域
[0003]本发明公开的实施例关于一种数据交换方案,特别是关于一种减少数据交换负载(overhead)的计算系统(例如,异构(heterogeneous)计算系统或均勾(homogeneous)计算系统)和相关的数据交换方法。
【背景技术】
[0004]由于半导体工艺的进步,当今的多处理器系统变得流行起来。对于异构计算系统,它具有多个不同的处理器。例如,异构计算系统可包括至少一个第一处理器和至少一个第二处理器,其中每个第一处理器可以具有第一处理器架构(例如,第一指令集架构),并且每个第二处理器可以具有不同于第一处理器架构的第二处理器架构(例如,第二指令集架构)。因此,如果在第一处理器和第二处理器上运行相同的任务,第一处理器执行的指令将与第二处理器执行的指令不同。在一般情况下,由于不同的处理器架构,在异构计算系统中实现的第一处理器和第二处理器具有不同的计算能力(computing power)。例如,第一处理器和第二处理器其中之一可以用来作为主处理器,第一处理器和第二处理器中的另一个可以用作辅助处理器。在第一处理器和第二处理器之间需要进行数据交换,这不可避免地导致大的通信负载(communicat1n overhead)。
[0005]因此,需要一种创新的数据交换方案,其能够减少在计算系统中的不同处理电路(例如,不同的处理器)之间的数据交换负载。

【发明内容】

[0006]根据本发明的示例性实施例,提出了解决上述问题的一种降低数据交换负载的计算系统(例如,异构计算系统或均匀计算系统)以及相关的数据交换方法。
[0007]根据本发明的第一方面,本发明公开了一种示例性计算系统。示例性计算系统包括多个处理电路和存储装置。所述多个处理电路至少具有第一处理电路和第二处理电路。至少所述第一处理电路和第二处理电路共享所述存储装置。所述第一处理电路用于执行整个高速缓存刷新(whole cache flush)操作以准备在所述存储装置中的交换数据。所述第二处理电路用于从所述存储装置中获取所述交换数据。
[0008]根据本发明的第二方面,本发明公开了一种示例性计算系统。示例性计算系统包括多个处理电路和存储装置。所述多个处理电路至少具有第一处理电路和第二处理电路。至少所述第一处理电路和所述第二处理电路共享所述存储装置。关于第二处理电路处理的每一个任务,第二处理电路用于参考高速缓存决定,以选择性地执行高速缓存刷新操作,以存储所述任务的处理结果中的至少一部分,作为存储装置中的交换数据的一部分。所述第一处理电路用于从所述存储装置中获取交换数据。
[0009]根据本发明的第三方面,本发明公开了一种示例性数据交换方法。示例性数据交换方法包括:在第一处理电路的高速缓存中执行整个高速缓存刷新操作,以准备由第一处理电路和第二处理电路共享的存储装置中的交换数据,以及第二处理电路从存储装置获取交换数据。
[0010]根据本发明的第四方面,本发明公开了一种示例性数据交换方法。示例性数据交换方法包括:关于处理的每一个任务,参考高速缓存刷新决定选择性地在第二处理电路的高速缓存中执行高速缓存刷新操作,以存储所述任务的处理结果的至少一部分,以作为由第一处理电路和第二处理电路共享的存储装置中的交换数据的一部分,以及第一处理电路从存储装置中获取交换数据。
[0011]对于已经阅读后续由各附图及内容所显示的较佳实施方式的本领域的技术人员来说,本发明的各目的是明显的。
【附图说明】
[0012]图1是根据本发明一实施例的第一计算系统的示意图。
[0013]图2是根据本发明的一实施例的在主机端(hostside)的第一处理电路采用的数据交换方法的流程图。
[0014]图3是根据本发明的一实施例的在设备端(deviceside)的第二处理电路采用的数据交换方法的流程图。
[0015]图4是根据本发明的一实施例的在主机端和设备端之间的数据交换的时序图。
[0016]图5是根据本发明的一实施例的第二计算系统的示意图。
[0017]图6是根据本发明的一实施例的第三计算系统的示意图。
[0018]图7是根据本发明的一实施例的第四计算系统的示意图。
【具体实施方式】
[0019]在权利要求书及说明书中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的组件。本权利要求书及说明书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准贝1J。在权利要求书及说明书中所提及的「包括」为开放式的用语,故应解释成「包括但不限定于」。另外,「耦接」一词在此包括任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表所述第一装置可直接电连接于所述第二装置,或通过其他装置或连接手段间接地电连接至所述第二装置。
[0020]图1是根据本发明的一实施例的第一计算系统的示意图。计算系统100包括多个子系统(102和104)、高速缓存刷新决定电路105、总线106、存储装置108。子系统102包括第一处理电路112和第一高速缓存114。子系统104包括第二处理电路116和第二高速缓存118。在本实施例中,子系统102可以是主机子系统,以及子系统104可以是设备子系统。此外,计算系统100可以是异构计算系统或均匀计算系统,这取决于实际的设计考虑。
[0021]在一个典型的设计中,第一处理电路112可以包括共享相同的高速缓存(即第一缓存114)的一个或多个处理器(或处理器内核),以及第二处理电路112可以包括共享相同的高速缓存(即第二高速缓存118)的一个或多个处理器(或处理器内核)。例如,第一处理电路112可以使用中央处理单元(CPU)来实现,第二处理电路116可以使用图形处理单元(GPU)来实现。另一个例子,在主机端的第一处理电路112可以使用CPU、GPU、数字信号处理器(DSP)或任何其他处理器来实现,在设备端的第二处理电路116可以使用的CPU、GPU、DSP、硬件电路或任何其他处理器来实现。应该注意的是,第一处理电路112和第二处理电路116可以使用相同类型的处理器或不同类型的处理器来实现。简单地说,本发明在第一处理电路112和第二处理电路116的实际实现方面没有任何限制。任何计算系统或电子设备(例如,移动电话、平板、可穿戴设备、个人电脑、笔记本电脑或具有多个处理电路的任何其他设备)使用所提出的数据交换方案均落入本发明的范围内。
[0022]存储装置108可以是外部存储装置,如动态随机存取存储器(DRAM),以及第一处理电路112和第二处理电路116可以共享存储装置108。因此,存储装置108可作为存储第一处理电路112和第二处理电路116的读/写数据的全局缓冲区(global buffer)。第一高速缓存114和第二高速缓存118都可以是内部存储装置,如静态随机存取存储器(SRAM)。因此,第一高速缓存114可以作为高速缓存第一处理电路112的读/写数据的专用本地缓冲区,以及第二高速缓存118可以作为高速缓存第二处理电路118的读/写数据的专用本地缓冲区。
[0023]如上所述,存储装置108是外部存储装置,由第一处理电路112和第二处理电路116共享。因此,第一处理电路112可以通过总线106访问存储装置108,以及第二处理电路116也可以通过总线106访问存储装置108。第一处理电路112可准备在存储装置108中的交换数据,以及第二处理电路118可以从存储装置108获取交换数据以用于进一步处理。在本实施例中,第一高速缓存114和第二高速缓存118都可以采用写回策略(write-back policy)。根据写回策略,最初只完成写入高速缓存,以及写入备用存储器被推迟,直到高速缓存中包含的是即将由新数据修改/替换的数据。因此,在设备端的第二处理电路116从存储装置(例如,DRAMH08读取由主机端的第一处理电路112更新的数据之前,第一处理电路112需要从第一高速缓存114将“脏”的高速缓存线中最新更新的内容刷新(即写回)至存储装置(例如,DRAM) 108。在这种方式中,在第一高速缓存114适当地刷新之后,第二处理电路116可以从存储装置108得到最新更新的内容。
[0024]类似地,在主机端的第一处理电路112从存储装置(例如,DRAM)108读取由设备端的第二处理电路116更新的请求数据之前,第二处理电路112需要从第二高速缓存118将“脏”的高速缓存线中最新更新的内容刷新(即写回)至存储装置(例如,DRAMH08。在通过这种方式,在第二高速缓存118适当地刷新之后,第一处理电路112可以从存储装置108中获取最新更新的内容。
[0025]基于所提出的数据交换方案,第一处理电路112可以减少的高速缓存刷新负载准备在存储装置108中的交换数据。在存储装置108中的交换数据被运行于第二处理电路116上的任务处理之后,处理结果可从第二高速缓存118刷新到存储装置108中,以及第一处理电路112可以从存储装置108中获取处理结果。此外,基于所提出的数据交换方案,高速缓存刷新决定电路105控制由第二处理电路116执行的高速缓存刷新操作,以减少高速缓存刷新负载。所提出的在主机端和设备端的数据交换方案进一步细节描述如下。
[0026]图2是根据本发明的一实施例的在主机端的第一处理电路采用的数据交换方法的流程图。如果可以得到大致相同的结果,则步骤不一定要遵照图2所示的顺序来执行。示例性数据交换方法可采用如图1所示的第一处理电路(例如,中央处理器)112来实施。第一处理电路112可在存储装置108中分配缓冲区。例如,在第一处理电路112中运行的应用程序,可以分配用于存储应用程序数据(例如,属性数据)的缓冲区,在所分配的缓冲区中的数据可以被运行于第二处理电路116上的任务读取,以进一步处理。在步骤202中,第一处理电路112收集应被刷新的缓冲区。例如,应被刷新的缓冲区可以包括将由设备端的第二处理电路(例如,GPU) 116使用的在存储装置108中分配的缓冲区。在步骤204中,第一处理电路112确定应被刷新总的缓冲区大小。在步骤206中,第一处理电路112根据第一高速缓存114的大小(即第一处理电路112的高速缓存大小)确定阈值。举例来说,但不限制本发明,阈值可以被设置为等于第一高速缓存114的大小的值,或者也可以被设置为第一高速缓存114的大小的2倍的值。
[0027]在步骤208中,第一处理电路112检查是否满足预定标准,通过比较所述总的缓冲区大小,应根据高速缓存大小确定的阈值来刷新。在本实施例中,预定标准(例如,总的缓冲区大小〉阈值)控制着应用于第一高速缓存114的整个高速缓存刷新操作的启用。当应被刷新的总的缓冲区大小大于阈值时,第一处理电路112决定满足预定标准。然而,当应被刷新的总的缓冲区大小不大于阈值时,第一处理电路112决定不满足预定标准。由第一处理电路112执行的高速缓存刷新操作是根据预定标准的检查结果来控制的。在一些实施例中,步骤202-208可以由第二处理电路116或任何其他装置来执行,上述实施例并非用以限制本发明。
[0028]一般来说,第一高速缓存114是小型的缓冲区,如512KB的高速缓存。第一高速缓存114可包括应被刷新至存储装置108中分配的缓冲区以供第二处理电路116使用的“脏”的缓存数据,以及还可进一步包含不需要被第二处理电路116使用的“脏”的缓存数据。执行由第一处理电路112和第二处理电路116共同使用的一个缓冲区的高速缓存刷新操作,可能需要检查第一高速缓存114中的每个缓存线,以找到应被刷新至存储装置108中分配的缓冲区的高速缓存的数据。当第一处理电路112对每一个缓冲区执行一个高速缓存刷新操作时,主机端会具有巨大的(heavy)高速缓存刷新负载。当满足预定标准(例如,总的缓冲区大小〉阈值)时,这意味着在一个操作中刷新整个第一高速缓存114以写回所有在第一高速缓存114中的“脏”的缓存数据,包括应被刷新至存储装置108中分配的缓冲区以供第二处理电路116使用的”脏”的缓存数据,以及不需要被第二处理电路116使用的“脏”的缓存数据,与分别刷新每一个分配的缓冲区相比,这样的方式可以有效地减少高速缓存刷新负载。因此,当满足预定标准(例如预定标准为,总的缓冲区大小〉阈值)时,第一处理电路112在第一高速缓存114中执行整个高速缓存刷新操作,以准备在存储装置108中的交换数据(步骤210)。因此,在整个高速缓存刷新操作完成之后,在存储装置108中分配的特定缓冲区中准备的交换数据将包括从第一高速缓存114中刷新的最新更新的内容。
[0029]然而,当不满足预定标准(例如预定标准为,总的缓冲区大小〉阈值)时,这意味着在第一高速缓存114中的大多数的”脏”的缓存数据可能不会被第二处理电路116使用。刷新整个第一高速缓存114将导致过多的数据,这些数据是不打算被第一处理电路112和第二处理电路116共享的,但从第一高速缓存114刷新到存储装置108。因此,当不满足预定标准(例如预定标准为,总缓冲区大小〉阈值)时,第一处理电路112分别对每个缓冲区(在存储装置108中分配的以及由第一处理电路112和第二处理电路116共享)执行高速缓存刷新操作(步骤212)。
[0030]第二处理电路116从存储装置108中获取由第一处理电路112准备的交换数据。此夕卜,第二处理电路116执行一个或多个任务以处理由第一处理电路112准备的交换数据,从而产生每个任务的处理结果。如果对于每个任务的处理结果都执行一个高速缓存刷新操作,由于第一处理电路112可能不需要或不是立即需要处理某些任务的结果,那么在设备端可能会有不必要的缓存刷新操作。例如,当任务的处理结果包括中间数据而不是第一处理电路112所需的最终数据,执行高速缓存刷新操作以将中间数据从第二高速缓存118刷新到存储装置108是不必要的,这会增加设备端的高速缓存刷新负载。因此本发明提出对由第二处理电路116执行的每个任务的处理结果选择性执行高速缓存刷新操作,以有效地减少设备端的高速缓存刷新负载。换言之,可以执行一个任务的处理结果的高速缓存刷新操作,而跳过其他不同任务的处理结果的高速缓存刷新操作。
[0031]图3是根据本发明的一实施例的在设备端的第二处理电路采用的数据交换方法的流程图。如果可以得到大致相同的结果,则步骤不一定要遵照图3所示的顺序来执行。示例性数据交换方法可以包括高速缓存刷新决策程序(cache flush decis1n makingprOCedure)301和高速缓存刷新控制程序302,其中高速缓存刷新决策程序301可以由如图1所示高速缓存刷新决定电路105来执行,以及高速缓存刷新控制程序302可以由如图1所示的第二处理电路(例如,GPU) 116来执行。高速缓存刷新决定电路105是用于自动的产生每个任务的高速缓存刷新决定(第二处理电路116至少部分基于从第一处理电路112准备并存储于存储装置108的交换数据中获取的数据来执行每个任务)。在步骤312中,高速缓存刷新决定电路105收集将由第二处理电路116执行的任务。然后,可以触发随后的步骤。在步骤314中,高速缓存刷新决定电路105分析每个任务的处理结果的含义。在步骤316中,高速缓存刷新决定电路105基于从步骤314中得到的分析结果,作出每个任务的处理结果的至少一部分(即,部分或全部)的一个高速缓存刷新决定。
[0032]根据设计考虑,每一个任务的处理结果可能部分或全部从第二高速缓存118刷新到存储装置108中,以响应于启用的高速缓存刷新操作。在该实施例中,当分析结果表明,第一处理电路112需要或立即需要任务的处理结果的至少一部分(S卩,部分或全部),相关的高速缓存刷新决定被作出以启用高速缓存刷新操作。然而,当分析结果表明,第一处理电路112不需要或不是立即需要任务的处理结果的至少一部分(S卩,部分或全部),相关的高速缓存刷新决定被作出以禁用/跳过高速缓存刷新操作。
[0033]假设第一处理电路112为CPU,第二处理电路116为可编程处理器(如GPU)。除了准备在存储装置108中的交换数据,第一处理电路112可以进一步传送程序代码至第二处理电路104。例如,第一处理电路112可执行GPU驱动,以准备将被第二处理电路104执行的程序代码。因此,第二处理电路104可执行由第一处理电路112配置的程序代码,以至少部分基于从第一处理电路112准备并存储于存储装置108的交换数据中获取的数据来执行任务。第一处理电路112可以进一步给高速缓存刷新决定电路105提供程序代码的信息。因此,基于程序代码的信息,高速缓存刷新决定电路105可以很容易地完成步骤312和314。然而,这只是为了说明用途,并不是本发明的限制。任何能够确定由设备端的第二处理电路116执行的任务的处理结果是否被主机端的第一处理电路112所需要或立即需要的方法,都可以被高速缓存刷新决定电路105采用。
[0034]高速缓存决定电路105对每一个任务生成一个高速缓存刷新决定至第二处理电路116。关于第二处理电路116处理的每一个任务,第二处理电路116参考相关的高速缓存刷新决定,选择性地执行高速缓存刷新操作,以从第二高速缓存118刷新任务的处理结果的至少一部分,作为由第二处理电路116准备并存储在存储装置108中的交换数据的一部分,第一处理电路112可以从存储装置108中获取由第二处理电路112准备的交换数据。当作出任务的处理结果的至少一部分的高速缓存刷新决定来启用高速缓存刷新操作时(步骤320),高速缓存刷新决定指示第二处理电路116执行高速缓存刷新操作,以存储任务的处理结果的至少一部分至存储装置108,用来作为为第一处理电路112准备的交换数据的一部分(步骤322)。当作出任务的处理结果的至少一部分的高速缓存刷新决定来禁用/跳过高速缓存刷新操作时(步骤320),高速缓存刷新决定指示第二处理电路116避免对第二高速缓存118中的任务的处理结果的至少一部分执行高速缓存刷新操作(步骤324)。
[0035]在一个典型的设计,高速缓存刷新决定可能被配置为至少包括第一决定和第二决定,其中的第一决定决定是否需要在第二高速缓存118的一个高速缓存级别(例如,级别I)上执行高速缓存操作;以及第二决定决定是否需要在第二高速缓存118的另一个缓存级别(例如,级别2)上执行高速缓存操作。
[0036]图4是根据本发明的一实施例的在主机端和设备端之间的数据交换的时序图。例如,CPU可以设置在主机端,以及GPU设置在设备端。相比于将高速缓存中的“脏”高速缓存数据分别刷新至多个缓冲区的每一个,在一个操作(即整个高速缓存刷新操作)中刷新高速缓存中的所有“脏”高速缓存数据,具有可接受的负载。
[0037]此外,相比于将从每个任务获得的数据刷新至共享的存储装置(例如,系统DRAM),所提出的参照高速缓存刷新决定有选择地将从每个任务获得的数据刷新至共享的存储装置(例如,系统DRAM)的操作,可以删除不必要的高速缓存刷新操作(例如,如图4所示的第一次执行序(1st pass)的任务的高速缓存刷新操作)以降低负载。作为本领域的技术人员应可以很容易地理解如图4所示的数据交换过程的详细信息,为简洁起见此处省略进一步的说明。
[0038]如图1所示,高速缓存刷新决定电路105可以是不同于第一处理电路112和第二处理电路116任何一个的硬件设备。然而,这只是为了说明的目的,并非用以限制本发明。在第一替代设计中,高速缓存刷新决定电路(用于自动地为每个任务作出高速缓存刷新决定)可以是主机端的第一处理电路的一部分。图5是根据本发明的一实施例的第二计算系统的示意图。计算系统100和计算系统500之间的主要区别是,尚速缓存刷新决定电路105是如图512所示的子系统502的第一处理电路512的一部分。例如,第一处理电路(例如,CPU)512可执行GPU驱动,以准备将被第二处理电路(例如,GPU)116执行的程序代码,以及第一处理电路512可进一步确定在程序代码中定义的每个任务的高速缓存刷新决定。因此,第一处理电路512进一步支持为每个任务自动地作出高速缓存刷新决定的高速缓存刷新决定功能,并输出每一个任务的高速缓存刷新决定至第二处理电路116。
[0039]在第二替代设计中,高速缓存刷新决定电路(用于自动地为每个任务作出高速缓存刷新决定)可以是设备端的第二处理电路的一部分。图6是根据本发明的一实施例的第三计算系统的示意图。计算系统100和计算系统600之间的主要区别是,高速缓存刷新决定电路105是如图6所示的子系统604的第二处理电路616的一部分。因此,第二处理电路616进一步支持为每个任务自动地作出高速缓存刷新决定的高速缓存刷新决定功能。
[0040]在第三替代设计中,每个任务的高速缓存刷新决定可以来自于用户输入。换句话说,每个任务的高速缓存刷新决定可以手动配置。图7是根据本发明的一实施例的第四计算系统的示意图。计算系统100和计算系统700之间的主要差别区别是,如图7所示的子系统704的第二处理电路716从用户界面(未显示)接收用户输入USER_IN,然后从接收的用户输入USER_IN获取高速缓存刷新决定。
[0041]本领域的技术人员将容易地观察到,在不脱离本发明的精神和范围内,可以对装置和方法进行多种修改和变动。因此,本发明的范围应以权利要求的范围为准。
【主权项】
1.一种计算系统,其特征在于,包括: 多个处理电路,至少包括第一处理电路和第二处理电路; 存储装置,至少所述第一处理电路和所述第二处理电路共享所述存储装置; 所述第一处理电路用于执行整个高速缓存刷新操作以准备在所述存储装置中的交换数据,以及所述第二处理电路用于从所述存储装置中获取所述交换数据。2.如权利要求1所述的计算系统,其特征在于,当满足标准时,所述第一处理电路执行所述整个高速缓存刷新操作。3.如权利要求2所述的计算系统,其特征在于,所述第一处理电路还用于分配所述存储装置中的至少一个缓冲区,所述交换数据存储在所述至少一个缓冲区中;以及将所述至少一个总的缓冲区大小于阈值相比,以检查是否满足所述标准。4.如权利要求3所述的计算系统,其特征在于,所述阈值是基于所述第一处理电路的高速缓存大小来设置的。5.如权利要求3所述的计算系统,其特征在于,当所述至少一个总的缓冲区大小大于所述阈值时,满足所述标准。6.如权利要求2所述的计算系统,其特征在于,所述第一处理电路还用于分配所述存储装置中的至少一个缓冲区,所述交换数据存储在所述至少一个缓冲区中;当不满足标准时,所述第一处理电路进一步用于对所述至少一个缓冲区的每一个分别执行高速缓存刷新操作。7.一种计算系统,其特征在于,包括: 多个处理电路,至少包括第一处理电路和第二处理电路; 存储装置,至少所述第一处理电路和所述第二处理电路共享所述存储装置; 其中,关于所述第二处理电路处理的每一任务,所述第二处理电路用于参考高速缓存刷新决定以选择性地执行高速缓存刷新操作,以存储所述任务的处理结果的至少一部分,作为所述存储装置中的交换数据的一部分;以及所述第一处理电路用于从所述存储装置中获取所述交换数据。8.如权利要求7所述的计算系统,其特征在于,还包括: 高速缓存刷新决定电路,用于自动生成所述高速缓存刷新决定。9.如权利要求8所述的计算系统,其特征在于,所述高速缓存刷新决定电路是所述第一处理电路的一部分。10.如权利要求8所述的计算系统,其特征在于,所述高速缓存刷新决定电路是所述第二处理电路的一部分。11.如权利要求7所述的计算系统,其特征在于,所述高速缓存刷新决定来自于用户输入。12.如权利要求7所述的计算系统,其特征在于,当所述第一处理电路需要所述任务的所述处理结果的至少一部分时,所述高速缓存刷新决定被作出以指示所述第二处理电路来执行所述高速缓存刷新操作。13.如权利要求7所述的计算系统,其特征在于,所述高速缓存刷新决定至少包括第一决定和第二决定,所述第一决定决定是否需要在一个高速缓存级别上执行所述高速缓存刷新操作,以及所述第二决定决定是否需要在另一个高速缓存级别上执行所述高速缓存刷新操作。14.一种数据交换方法,其特征在于,包括: 在第一处理电路的高速缓存中执行整个高速缓存刷新操作,以在所述第一处理电路和第二处理电路共享的存储装置中准备交换数据; 所述第二处理电路从所述存储装置中获取所述交换数据。15.如权利要求14所述的数据交换方法,其特征在于,还包括: 检查标准; 当满足标准时,执行所述整个高速缓存刷新操作。16.如权利要求15所述的数据交换方法,其特征在于,还包括 在所述存储装置中分配至少一个缓冲区,所述交换数据存储在所述至少一个缓冲区中; 其中所述检查标准的步骤包括: 通过比较所述至少一个总的缓冲区大小和阈值,检查是否满足所述标准。17.如权利要求16所述的数据交换方法,其特征在于,包括: 根据所述高速缓存的大小设置所述阈值。18.如权利要求16所述的数据交换方法,其特征在于,当所述至少一个缓冲区的所述总大小大于所述阈值时,满足所述标准。19.如权利要求15所述的数据交换方法,其特征在于,还包括: 在所述存储装置中分配至少一个缓冲区,所述交换数据存储在所述至少一个缓冲区中; 其中所述检查标准的步骤包括: 当不满足所述标准时,对所述至少一个缓冲区每一个分别执行所述高速缓存刷新操作。20.一种数据交换方法,其特征在于,包括: 关于处理的每一个任务,参考高速缓存刷新决定在第二处理电路的高速缓存上选择性地执行高速缓存刷新操作,以存储所述任务的处理结果的至少一部分,来作为存储装置中的交换数据的一部分,第一处理电路和所述第二处理电路共享所述存储装置; 所述第一处理电路从所述存储装置中获取所述交换数据。21.如权利要求20所述的数据交换方法,其特征在于,还包括: 利用高速缓存刷新决定电路自动地生成所述高速缓存刷新决定。22.如权利要求21所述的数据交换方法,其特征在于,所述高速缓存刷新决定电路是所述第一处理电路的一部分。23.如权利要求21所述的数据交换方法,其特征在于,所述高速缓存刷新决定电路是所述第二处理电路的一部分。24.如权利要求20所述的数据交换方法,其特征在于,还包括: 接收用户输入; 从所述用户输入获取所述高速缓存刷新决定。25.如权利要求20所述的数据交换方法,其特征在于,当所述第一处理电路需要所述任务的所述处理结果的至少一部分时,所述高速缓存刷新决定被作出以启用所述高速缓存刷新操作。26.如权利要求20所述的数据交换方法,其特征在于,所述高速缓存刷新决定至少包括第一决定和第二决定,所述第一决定决定是否需要在所述高速缓存的一个高速缓存级别上执行高速缓存刷新操作,以及所述第二决定决定是否需要在所述高速缓存的另一个高速缓存级别上执行所述高速缓存刷新操作。
【文档编号】G06F9/46GK105874431SQ201580003533
【公开日】2016年8月17日
【申请日】2015年5月28日
【发明人】朱育成, 张胜凯, 陈勇铭, 朱启诚
【申请人】联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1