A processing circuit system 4 with support vector loading and storing instructions is provided. In response to a transaction start event, the processing circuit system presumably executes one or more subsequent instructions. In response to the transaction end event, the processing circuit system 4 implements the inferential results of these instructions. Hazard Detection Circuit System 50 detects whether there is an inter-element address hazard between the address of the data element J used for the previous vector loading instruction and the address of the data element K used for the later vector storage instruction, where K and J are not equal. In response to the detection of inter-element address hazards, hazard detection circuit system 50 triggers processing circuit system 4 to stop further processing of instructions after transaction start events and to prevent speculative results from being implemented. This method can provide faster performance for vectorized code.
【技术实现步骤摘要】
【国外来华专利技术】处理针对向量指令的元素间地址危害
本技术涉及数据处理的领域。
技术介绍
某些数据处理系统支持向量指令的处理,对于该处理而言,来源操作数(operand)或指令的结果值是包括多个数据元素的向量。通过支持响应于单一指令而处理许多相异的数据元素,可改良代码密度且指令的提取及译码的负荷减少了。可通过将数据值加载进向量操作数的相应元素及使用单一向量指令一次处理若干元素的数据值来更高效地处理要处理的数据值数组。
技术实现思路
至少某些示例提供了一种装置,该装置包括:处理电路系统,用于响应于指令而执行数据处理,其中响应于向量加载指令,该处理电路系统被配置为从数据储存器的相应位置将数据加载给向量值的相应数据元素,且响应于向量储存指令,该处理电路系统被配置为从向量值的相应数据元素将数据储存到该数据储存器的相应位置;其中该处理电路系统响应于事务开始事件而推测性地执行一个或更多个后续指令,且响应于事务结束事件而实行在该事务开始事件之后所推测性地执行的该一个或更多个后续指令的推测性结果;该装置包括危害检测电路系统,该危害检测电路系统用于检测在相对应于用于先前的向量加载指令的数据元素J的地址及相对应于用于后来的向量储存指令的数据元素K的地址之间是否发生元素间地址危害,该先前的向量加载指令是在该事务开始事件之后推测性地执行的,该后来的向量储存指令是在该事务开始事件之后推测性地执行的,其中K与J不同,且该先前的向量加载指令及该后来的向量储存指令两者是来自由该处理电路系统所处理的相同指令线程;其中响应于检测到该元素间地址危害,该危害检测电路系统被配置为触发该处理电路系统以中止该事务开始事件之 ...
【技术保护点】
1.一种装置,包括:处理电路系统,其用于响应于指令而执行数据处理,其中,响应于向量加载指令,该处理电路系统被配置为从数据储存器的相应位置将数据加载给向量值的相应数据元素,并且响应于向量储存指令,该处理电路系统被配置为从向量值的相应数据元素将数据储存到所述数据储存器的相应位置;其中,该处理电路系统响应于事务开始事件而推测性地执行一个或更多个后续指令,并且响应于事务结束事件而实行在该事务开始事件之后所推测性地执行的该一个或更多个后续指令的推测性结果;该装置包括危害检测电路系统,该危害检测电路系统用于检测在相对应于用于先前的向量加载指令的数据元素J的地址与相对应于用于后来的向量储存指令的数据元素K的地址之间是否发生元素间地址危害,该先前的向量加载指令是在该事务开始事件之后推测性地执行的,该后来的向量储存指令是在该事务开始事件之后推测性地执行的,其中K与J不同,并且该先前的向量加载指令和该后来的向量储存指令两者是来自由该处理电路系统所处理的相同指令线程;其中,响应于检测到该元素间地址危害,该危害检测电路系统被配置为触发该处理电路系统以中止该事务开始事件之后的指令的进一步处理并且防止所述推测性结 ...
【技术特征摘要】
【国外来华专利技术】2016.09.20 GB 1615959.21.一种装置,包括:处理电路系统,其用于响应于指令而执行数据处理,其中,响应于向量加载指令,该处理电路系统被配置为从数据储存器的相应位置将数据加载给向量值的相应数据元素,并且响应于向量储存指令,该处理电路系统被配置为从向量值的相应数据元素将数据储存到所述数据储存器的相应位置;其中,该处理电路系统响应于事务开始事件而推测性地执行一个或更多个后续指令,并且响应于事务结束事件而实行在该事务开始事件之后所推测性地执行的该一个或更多个后续指令的推测性结果;该装置包括危害检测电路系统,该危害检测电路系统用于检测在相对应于用于先前的向量加载指令的数据元素J的地址与相对应于用于后来的向量储存指令的数据元素K的地址之间是否发生元素间地址危害,该先前的向量加载指令是在该事务开始事件之后推测性地执行的,该后来的向量储存指令是在该事务开始事件之后推测性地执行的,其中K与J不同,并且该先前的向量加载指令和该后来的向量储存指令两者是来自由该处理电路系统所处理的相同指令线程;其中,响应于检测到该元素间地址危害,该危害检测电路系统被配置为触发该处理电路系统以中止该事务开始事件之后的指令的进一步处理并且防止所述推测性结果被实行。2.根据权利要求1所述的装置,其中,响应于检测到该元素间地址危害,该危害检测电路系统被配置为触发该处理电路系统以将架构状态数据恢复到响应于该事务开始事件而捕捉的先前版本的架构状态数据。3.根据权利要求1和2中的任一项所述的装置,其中K<J。4.根据前述权利要求中的任一项所述的装置,包括危害追踪储存器电路系统,该危害追踪储存器电路系统用于储存危害追踪数据,该危害追踪数据用于追踪用于在该事务开始事件之后所推测性地执行的一个或更多个先前的向量加载指令的地址。5.根据权利要求4所述的装置,其中,该危害追踪储存器电路系统包括所述数据储存器的部分。6.根据权利要求4和5中的任一项所述的装置,其中,该危害检测电路系统被配置为响应于该事务开始事件而清除该危害追踪数据。7.根据权利要求4到6中的任一项所述的装置,其中,该危害检测电路系统被配置为响应于该事务开始事件之后所执行的事务清除指令而清除该危害追踪数据。8.根据权利要求4到7中的任一项所述的装置,其中,该危害检测电路系统响应于该事务开始事件之后所推测性地执行的向量加载指令,基于用于该向量加载指令的地址来更新该危害追踪数据。9.根据权利要求8所述的装置,其中,该危害检测电路系统被配置为响应于预定类型的向量加载指令而更新该危害追踪数据,并且响应于该预定类型的向量加载指令以外的向量加载指令而抑制该危害追踪数据的更新。10.根据权利要求4到9中的任一项所述的装置,其中,该危害追踪数据包括多个追踪条目,各个追踪条目相对应于相应的地址区块并且识别最高数据元素位置,在该最高数据元素位置处,该相对应地址区块内的地址被用于该事务开始事件之后所推测性地执行的先前的向量加载指令。11.根据权利要求10所述的装置,其中,该危害检测电路系统被配置为:在相对应于地址区块的该追踪条目识别了较给定数据元素位置更高的数据元素位置时,针对该事务开始事件之后所推测性地执行的该后来的向量储存指令检测该元素间地址危害,该地址区块包括用于该后来的向量储存指令的该给定数据元素位置的地址。12.根据权利要求10和11中的任一项所述的装置,其中,所述数据储存器包括高速缓存,该高速缓存包括用于储存数据的多个高速缓存行,并且追踪条目被储存在该高速缓存中,各个高速缓存行与用于相对应于该高速缓存行的一个或...
【专利技术属性】
技术研发人员:马修·詹姆斯·霍斯内尔,姆布·埃约勒,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国,GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。