包含至少一个SIMD分散操作的操作的基于指令的同步制造技术

技术编号:20986267 阅读:35 留言:0更新日期:2019-04-29 20:03
一种确定由处理器实行的存储器操作的执行次序的方法,其包含由所述处理器执行至少一个单指令多数据SIMD分散操作以将数据存储到存储器。所述方法进一步包含由所述处理器执行一或多个指令以确定存储器操作的集合的所述执行次序。所述存储器操作的集合包含所述至少一个SIMD分散操作。

Instruction-based synchronization with at least one SIMD decentralized operation

A method for determining the execution order of memory operations performed by a processor includes at least one single instruction multiple data SIMD decentralized operation performed by the processor to store data into memory. The method further includes executing one or more instructions by the processor to determine the execution order of the set of memory operations. The set of memory operations includes at least one SIMD decentralized operation.

【技术实现步骤摘要】
【国外来华专利技术】包含至少一个SIMD分散操作的操作的基于指令的同步相关申请案的交叉引用本申请案要求2016年9月22日提交的美国专利申请案第15/272,613号的优先权,所述申请案的全部内容以引用的方式并入本文中。
本公开大体上涉及电子装置,且更具体地说,涉及包含在电子装置中的处理器的操作。
技术介绍
电子装置可包含实行操作的一或多个处理器。处理器可具有单指令多数据(single-instruction,multiple-data,SIMD)配置,其能够使得处理器基于多数据部分(例如,通过对向量的每一位实行操作)来实行特定操作。处理器可实行SIMD存储操作以将多数据部分存储到存储器的多个区域。多数据部分可存储到存储器的相邻区域,或多数据部分可随机地存储到存储器。举例来说,可实行SIMD分散存储操作以将多数据部分随机地存储(或“分散”)到存储器的与地址的集合相关联的非相邻部分。处理器可确定操作的次序以存取存储器。举例来说,如果另一操作以SIMD分散存储操作的地址中的一或多个为目标,那么可使另一操作延迟(或可使其“暂停”)直到SIMD分散存储操作完成为止。为了实现SIMD分散操作的次序,装置可追踪由SIMD分散存储操作定为目标的地址。举例来说,装置可包含指示由SIMD分散存储操作“使用”的地址的硬件,且处理器可在发起另一操作之前存取硬件。以这一方式追踪地址使用处理器的资源且可使处理器的操作减慢。
技术实现思路
根据本公开的处理器可执行指令(例如替代使用硬件追踪地址)以使包含一或多个单指令多数据(SIMD)分散存储操作的操作的集合同步(例如确定所述操作的集合的定时)。举例来说,指令可包含形成存储器操作的“屏障”的分散存储-释放指令和加载-获取指令。分散存储-释放指令可防止先于分散存储-释放指令的存储器操作在分散存储-释放指令之后执行,且加载-获取指令可防止后于加载-获取指令的存储器操作在加载-获取指令之前执行。在说明性实例中,分散存储-释放指令为并不指示待存储数据的“空”指令。在其它实施方案中,分散存储-释放指令的执行可使处理器存储数据(例如存储到存储器)。基于指令的操作同步的使用可改善处理器性能。举例来说,分散存储-释放操作和加载-获取操作的使用可使得处理器能够减少或避免使用硬件追踪地址(例如通过使得处理器能够使用分散存储-释放指令和加载-获取指令而不是使用专用硬件来管理SIMD分散存储操作的次序)。在说明性实例中,确定由处理器实行的存储器操作的执行次序的方法包含由处理器执行至少一个SIMD分散操作以将数据存储到存储器。方法进一步包含由处理器执行一或多个指令以确定存储器操作的集合的执行次序,例如通过使得特定存储器存取操作能够在发起另一存储器存取操作之前完成。所述存储器操作的集合包含所述至少一个SIMD分散操作。在另一说明性实例中,设备包含分散检测器电路,其经配置以检测SIMD分散指令。设备还包含执行单元,其经配置以执行SIMD分散指令来发起SIMD分散操作、经配置以执行存储器存取指令来发起存储器存取操作以及经配置以响应于检测SIMD分散指令而执行第三指令来确定存储器存取操作和SIMD分散操作的执行次序。在另一说明性实例中,非暂时性计算机可读媒体存储可由处理器执行以实行操作的指令。操作包含由处理器执行一或多个指令以确定包含至少一个SIMD分散操作的存储器操作的集合的执行次序。在另一说明性实例中,设备包含用于检测SIMD分散指令的装置。设备进一步包含用于执行SIMD分散指令以进行以下操作的装置:发起SIMD分散操作、发起存储器存取操作以及确定存储器存取操作和SIMD分散操作的执行次序。由所公开实例中的至少一个提供的一个特定优点为减少处理器中的电路面积。举例来说,通过使用指令来使存储器存取操作同步,可避免使用专用硬件来追踪由存储器存取操作定为目标的地址。因此,可供用于其它硬件的电路面积增加。在检视整个申请案后,本公开的其它方面、优点和特征将变得显而易见,申请案包含以下部分:附图说明、具体实施方式和权利要求书。附图说明图1为包含经配置以执行指令以使存储器存取操作同步的处理器的系统的说明性实例的框图。图2为确定例如图1处理器的处理器的存储器操作的执行次序的方法的说明性实例的图。图3为包含例如图1处理器的经配置以执行指令以使存储器存取操作同步的处理器的电子装置的说明性实例的框图。具体实施方式参看图1,描绘了系统的说明性实例且一般将其表示为100。系统100包含一或多个处理器,例如处理器102、处理器104和处理器106。取决于特定实施方案,处理器102、104和106可包含在共同集成电路中(例如系统芯片装置中)或在单独积体电路中。虽然图1的说明性实例描绘三个处理器,但是在其它实施方案中,系统100可包含不同数量的处理器。处理器102、104和106可耦合到存储器160。在图1的实例中,处理器102包含存储装置,例如指令高速缓存110。指令高速缓存110可经配置以存储指令,例如存储器存取指令112、单指令多数据(SIMD)分散指令114和存储器存取指令116。在说明性实例中,存储器存取指令112包含存储指令、加载指令、SIMD分散指令或SIMD收集指令。存储器存取指令116可包含存储指令、加载指令、SIMD分散指令或SIMD收集指令。SIMD分散指令114可指示存储器160的地址118。虽然图1说明单个地址118,但是应注意,SIMD分散指令114以存储器160的多个地址(例如多个独立地址)为目标。举例来说,SIMD分散指令114可由处理器102执行以将向量的多个分量存储到存储器160,其中向量的每个分量存储到存储器160的不同地址。地址可以是非连续的。处理器102还可包含数据高速缓存120。数据高速缓存120可经配置以存储数据,例如数据122、124和126。处理器102可进一步包含分散检测器电路130。分散检测器电路130可经配置以存取释放指令(例如分散存储-释放指令132)和获取指令(例如加载-获取指令134)。在一些实施方案中,分散检测器电路130耦合到指令高速缓存110且经配置以检测存储在指令高速缓存110处的SIMD分散指令(例如SIMD分散指令114)。处理器102可经配置以响应于检测SIMD分散指令(例如SIMD分散指令114)而执行一或多个指令(例如所述指令132、134),如下文中进一步描述。处理器102进一步包含一或多个执行单元,例如执行单元140。执行单元140可包含多个级,例如级142和第二级144。举例来说,步骤142、144可对应于流水线级,且执行单元140可具有流水线化配置。执行单元140可耦合到指令高速缓存110,耦合到数据高速缓存120且耦合到分散检测器电路130。存储器160包含多个存储器区域,例如区域162、164、166和168。地址118可指示区域162、164、166和168中的一个。地址118可包含在由SIMD分散操作定为目标的一或多个地址的集合中。举例来说,一或多个地址的集合可对应于存储器160的区域(例如区域162、164、166和168中的任一个)。在操作期间,系统100可使用处理器102、104和106中的一或多个来执行指令。举例来说,执行单元140可执行从指令高速缓本文档来自技高网...

【技术保护点】
1.一种确定由处理器实行的存储器操作的执行次序的方法,所述方法包括:由处理器执行至少一个单指令多数据SIMD分散操作以将数据存储到存储器;以及由所述处理器执行一或多个指令以确定存储器操作的集合的执行次序,所述存储器操作的集合包含所述至少一个SIMD分散操作。

【技术特征摘要】
【国外来华专利技术】2016.09.22 US 15/272,6131.一种确定由处理器实行的存储器操作的执行次序的方法,所述方法包括:由处理器执行至少一个单指令多数据SIMD分散操作以将数据存储到存储器;以及由所述处理器执行一或多个指令以确定存储器操作的集合的执行次序,所述存储器操作的集合包含所述至少一个SIMD分散操作。2.根据权利要求1所述的方法,其中所述存储器操作的集合并不由所述处理器的硬件追踪。3.根据权利要求1所述的方法,其中由所述处理器执行所述至少一个SIMD分散操作包含将数据向量的元素存储到所述存储器的独立地址。4.根据权利要求1所述的方法,其中执行所述一或多个指令包含响应于发起所述至少一个SIMD分散操作而执行释放指令。5.根据权利要求4所述的方法,其中执行所述释放指令使得所述存储器的特定架构状态的更新延迟直到所述至少一个SIMD分散操作完成为止。6.根据权利要求4所述的方法,其中所述释放指令并不指示数据。7.根据权利要求4所述的方法,其中所述释放指令指示由所述至少一个SIMD分散操作定为目标的所述存储器的区域的至少第一地址。8.根据权利要求7所述的方法,其中所述第一地址包含在由所述至少一个SIMD分散操作定为目标的一或多个地址的集合中。9.根据权利要求4所述的方法,其中执行所述一或多个指令包含响应于发起所述至少一个SIMD分散操作而执行获取指令,且其中所述释放指令和所述获取指令形成与所述至少一个SIMD分散操作相关联的屏障。10.根据权利要求9所述的方法,其中所述获取指令的执行暂停直到所述释放指令的执行完成为止。11.一种设备,其包括:分散检测器电路,其经配置以检测单指令多数据SIMD分散指令;和执行单元,其耦合到所述分散检测器电路,所述执行单元经配置以执行所述SIMD分散指令来发起SIMD分散操作、经配置以执行存储器存取指令来发起存储器存取操作以及经配置以响应于检测所述SIMD分散指令而执行第三指令来确定所述存储器存取操作和所述SIMD分散操作的执行次序。12.根据权利要求11所述的设备,其进一步包括数据高速缓存,所述数据高速缓存耦合到所述执行单元且经配置以存储数据。13.根据权利要求12所述的设备,其中所述执行单元经配置以存取所述数据且经配置以响应...

【专利技术属性】
技术研发人员:艾瑞克·马胡林卢西恩·科德雷斯库
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1