[发明专利]无序处理器中的事务存储器执行的方法、设备和系统有效
申请号: | 201310090359.8 | 申请日: | 2007-03-20 |
公开(公告)号: | CN103257933B | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | R.拉瓦;H.阿卡里;K.赖 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/0802 | 分类号: | G06F12/0802;G06F13/16;G06F9/30;G06F9/38;G06F9/52 |
代理公司: | 中国专利代理(香港)有限公司72001 | 代理人: | 徐予红,朱海煜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 无序 处理器 中的 事务 存储器 执行 方法 设备 系统 | ||
技术领域
一般来说,本公开涉及电子领域。更具体来说,本发明的一个实施例涉及无序处理器中的事务存储器(TM)执行。
背景技术
为了改进性能,一些计算机系统可同时运行多个线程。一般来说,在线程访问共享资源之前,可获得共享资源的锁定。在共享资源是存储器中存储的数据结构的情况下,尝试访问同一个资源的所有线程可按照锁定机制提供的互斥性来使其操作的执行串行化。这对于系统性能可能是有害的,并且例如因死锁缺陷而可能导致程序故障。
为了降低由锁定机制的利用引起的性能损失,一些计算机系统可使用事务存储器。事务存储器一般指的是一种同步模型,它允许多个线程同时访问共享资源而无需利用锁定机制。但是,例如由于由无序处理器中进行的推测处理引起的误预测,无序处理器中的事务存储器执行增加了设计的复杂度。
发明内容
按照本发明的第一方面,提供了一种用于无序处理器中的事务存储器执行的设备,其包括:
能够经由互连或总线进行通信的一个或多个处理器,每个处理器包括:
一个或多个处理器核心,
高速缓存,其存储被一个或多个处理器核心利用的数据,以及/或
路由器,其在所述处理器的各个部件之间进行通信,其中所述处理器核心包括:
事务深度计数器,其存储与未提交的事务存储器访问请求的数量对应的值;以及
事务深度计数器逻辑模块,其对于事务存储器访问请求开始和事务存储器访问请求提交的出现而更新所述事务深度计数器中存储的所述值,
调度单元,其在先前的事务存储器访问请求已经访问存储器中与加载操作对应的相同位置之后,猜测地引起加载操作的发出,
其中调度单元基于对高速缓存的一部分的先前的事务存储器访问的指示猜测地发出与事务存储器请求对应的事务存储器加载指令到所述高速缓存的一部分,其中所述先前的事务存储器访问在所述事务存储器加载指令猜测地访问所述高速缓存的一部分之前发生,并且其中在退出或提交之后,响应于缺少对所述高速缓存的一部分的先前的事务存储器访问,调度单元重新发出所述事务存储器加载指令。
按照本发明的第二方面,提供了一种将在处理器中执行的方法,所述方法包括:
响应于与事务存储器请求对应的至少第一指令,更新与未提交的事务存储器访问请求的数量对应的事务深度计数器中的存储值,
响应于与所述事务存储器请求对应的第二指令而在执行单元中执行一个或多个操作,以及
基于对高速缓存的一部分的先前的事务存储器访问的指示,从调度单元猜测地发出与事务存储器请求对应的事务存储器加载指令到所述高速缓存的一部分,其中所述先前的事务存储器访问在所述事务存储器加载指令猜测地访问所述高速缓存的一部分之前发生,并且其中在退出或提交之后,响应于缺少对所述高速缓存的一部分的先前的事务存储器访问,重新发出所述事务存储器加载指令。
按照本发明的第三方面,提供了一种用于无序处理器中的事务存储器执行的系统,其包括:
存储器,其存储数据;
能够经由互连或总线进行通信的一个或多个处理器,每个处理器包括:
一个或多个处理器核心,
高速缓存,其存储被一个或多个处理器核心利用的数据,以及/或
路由器,其在所述处理器的各个部件之间进行通信,其中所述处理器核心包括:
读取单元,其从所述存储器中取出与事务存储器访问的开始对应的第一指令,并从所述存储器中取出与所述事务存储器访问的结束对应的第二指令;
事务深度计数器,其存储与未提交的事务存储器访问请求的数量对应的值;以及
事务深度计数器逻辑模块,其响应于所述第一指令和所述第二指令的一个或多个而更新事务深度计数器中存储的值,
调度单元,其在先前的事务存储器访问请求已经访问存储器中与加载操作对应的相同位置之后,猜测地引起加载操作的发出,
其中调度单元基于对高速缓存的一部分的先前的事务存储器访问的指示猜测地发出与事务存储器请求对应的事务存储器加载指令到所述高速缓存的一部分,其中所述先前的事务存储器访问在所述事务存储器加载指令猜测地访问所述高速缓存的一部分之前发生,并且其中在退出或提交之后,响应于缺少对所述高速缓存的一部分的先前的事务存储器访问,调度单元重新发出所述事务存储器加载指令。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310090359.8/2.html,转载请声明来源钻瓜专利网。