[发明专利]数据处理系统、操作数据处理系统的方法和计算机可读介质有效
申请号: | 201480055719.3 | 申请日: | 2014-08-07 |
公开(公告)号: | CN105659285B | 公开(公告)日: | 2019-04-12 |
发明(设计)人: | J·尼斯塔德;A·恩格-哈斯特维德 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06T1/60 | 分类号: | G06T1/60;G06F12/0815;G06F12/0842 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 吕俊刚 |
地址: | 英国*** | 国省代码: | 英国;GB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理系统 | ||
1.一种操作数据处理系统的方法,该数据处理系统包括可操作以启动执行线程的原子存储器请求的一个或更多个启动器以及被用于在要执行原子存储器操作时存储执行原子存储器操作所需的数据的一个或更多个数据高速缓存,所述方法包括:
针对要一个接一个地针对同一存储器地址执行特定原子操作的一个或更多个执行线程的集合,所述原子操作具有关联的算术运算:
在执行所述集合中的第一线程的所述原子操作之前,确定要存储执行所述原子操作所需的数据的所述数据高速缓存是否已经存储有要被执行所述原子操作的所述存储器地址处的数据,并且如果所述数据高速缓存尚未存储该数据,则:
发送存储器请求,以将包含具有要被执行所述原子操作的所述存储器地址处的数据的数据项的高速缓存行装入所述数据高速缓存中;
在所述数据高速缓存中为所述原子操作分配临时高速缓存行;
在所述临时高速缓存行中为所述原子操作准备所述数据项;
使所述集合中的所述第一线程的所述原子操作的所述算术运算的运算对象值存储在所述临时高速缓存行中的、用于要被执行所述原子操作的所述存储器地址的所述数据项中;
如果一个或更多个执行线程的所述集合包括超过一个线程,则针对所述数据高速缓存中的所述临时高速缓存行中的、用于要被执行所述原子操作的所述存储器地址的所述数据项依次执行所述集合中的一个或更多个随后线程的所述原子操作,直到包含要被执行所述原子操作的所述存储器地址处的数据的所述高速缓存行抵达所述数据高速缓存为止;以及
当包含要被执行所述原子操作的所述存储器地址处的数据的所述高速缓存行抵达所述数据高速缓存时,利用所述临时高速缓存行中的用于所述存储器地址的所述数据项作为一个运算对象并且利用抵达的高速缓存行中的用于所述存储器地址的所述数据项作为另一运算对象,来执行所述原子操作的所述算术运算,
由此提供结果数据项,所述结果数据项包含针对要被执行所述原子操作的所述存储器地址的所述原子存储器操作的组合结果;以及
存储包含所述结果数据项的结果高速缓存行。
2.根据权利要求1所述的方法,其中,执行线程的所述集合包括多个执行线程,并且所述方法包括:
在包含要被执行所述原子操作的所述存储器地址处的数据的所述高速缓存行抵达所述数据高速缓存之前,针对所述数据高速缓存中的所述临时高速缓存行中的、用于要被执行所述原子操作的所述存储器地址的所述数据项依次执行多个线程的所述原子操作,以在包含要被执行所述原子操作的所述存储器地址处的数据的所述高速缓存行抵达所述数据高速缓存之前,在所述临时高速缓存行中累积多个执行线程的所述原子操作的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480055719.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:防触电柜员机
- 下一篇:用于定位并且显示与用户分享的内容的技术