[发明专利]多线程事务性存储器一致性无效
申请号: | 201310210525.3 | 申请日: | 2013-05-30 |
公开(公告)号: | CN103455308A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 吉列尔莫·J·罗扎斯 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/46 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 徐丁峰;魏宁 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 事务性 存储器 一致性 | ||
1.一种具有事务性存储器系统的多线程微处理器,包括:
数据高速缓存,其由共享存储器资源所支持,所述数据高速缓存包括多个高速缓存位置;以及
高速缓存控制器,其与所述数据高速缓存可操作地耦连并且对于所述高速缓存位置中的每一个维持和控制,
(ⅰ)用于所述高速缓存位置的全局状态,其指定所述高速缓存位置相对于所述共享存储器资源以及相对于由所述共享存储器资源所支持的另一数据高速缓存中的高速缓存位置的一致性,以及
(ⅱ)和与所述高速缓存位置交互的多个线程相关联的线程状态信息,所述线程状态信息除所述全局状态以外并与所述全局状态分开地被加以指定,其中所述高速缓存控制器使用所述线程状态信息来单独地控制是否每个线程能够读取自或写入到所述高速缓存位置,以及来控制是否将回滚与所述高速缓存位置相关的线程的未提交事务。
2.根据权利要求1所述的系统,其中所述高速缓存控制器可操作以确保如果所述线程中的任何一个具有写入到所述高速缓存位置的许可,则防止所有其他线程读取自或写入到所述高速缓存位置。
3.根据权利要求2所述的系统,其中所述高速缓存控制器可操作以假如所述线程全都不具有写入到所述高速缓存位置的许可,则允许一个以上的所述线程从所述高速缓存位置读取。
4.根据权利要求3所述的系统,其中所述线程状态信息对于所述线程中的每一个包括设置为YES或NO的读指示符To以分别识别所述线程的未提交事务是否已经推测地从所述高速缓存位置读取,以及设置为YES或NO的写指示符Ts以分别识别所述未提交事务是否已经推测地写到所述高速缓存位置。
5.根据权利要求4所述的系统,其中如果Ts设置为YES,则所述微处理器在允许任何其他线程读取自或写入到所述高速缓存位置之前引起所述未提交事务的回滚。
6.根据权利要求4所述的系统,其中如果To设置为YES并且Ts设置为NO,则所述微处理器在允许另一线程写入到所述高速缓存位置之前引起所述未提交事务的回滚,但在允许另一线程仅从所述高速缓存位置读取之前不引起回滚。
7.根据权利要求4所述的系统,其中如果To设置为YES或Ts设置为YES,则所述微处理器在允许另一线程写入到所述高速缓存位置之前引起所述未提交事务的回滚。
8.根据权利要求4所述的系统,其中如果To和Ts设置为YES,一旦回滚或提交所述未提交事务,则所述高速缓存控制器将To和Ts转变为NO。
9.根据权利要求4所述的系统,其中如果所述高速缓存位置在由所述未提交事务所实施的到所述高速缓存位置的第一推测存储之前包含脏的已提交数据,则所述微处理器制作所述脏的已提交数据的备份拷贝,所述备份拷贝在回滚所述未提交事务情况下恢复或暴露到所述高速缓存位置以及在提交所述未提交事务的情况下无效。
10.根据权利要求1所述的系统,其中所述全局状态是指定所述高速缓存位置是否是经修改、独享、共享或无效的MESI状态,并且独立于所述线程状态信息被维持用于所述高速缓存位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310210525.3/1.html,转载请声明来源钻瓜专利网。