[发明专利]多线程事务性存储器一致性无效
申请号: | 201310210525.3 | 申请日: | 2013-05-30 |
公开(公告)号: | CN103455308A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 吉列尔莫·J·罗扎斯 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/46 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 徐丁峰;魏宁 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 事务性 存储器 一致性 | ||
背景技术
现代微处理器可以实现使得ISA指令及其组成部件(例如微操作)被组织为事务。事务具有由处理器所执行的多个子部件。即使内部独立地执行子部件,单独事务作为整体也呈现为原子的和不可分割的。在事务的提交之前,子部件操作可以推测地(speculatively)影响高速缓存子系统(例如经由推测存储)。因为高速缓存位置典型地由处理线程所共享,所以不管如何处理事务性存储器(transactional memory),多线程处理器都增加维持数据高速缓存的一致性(coherency)的复杂度。这些处理器必须确保来自一个线程的推测数据对另一线程是不可见的。可替代地,如果来自一个线程的推测数据已经变得对另一线程是可见的,则对一个线程的回滚要求已经观察到推测数据的任何其他线程的协同回滚。
附图说明
图1示意性地描绘了根据本描述的、具有事务性存储器的微处理系统。
图2示意性地描绘了具有由共享存储器资源所支持的两个数据高速缓存的示范性微处理系统,并且在其中多个处理线程与加载存储单元和数据高速缓存控制器合作而与数据高速缓存之一交互。
图3描绘了示例性的事务及其子部件操作。
图4描绘了全局状态和线程状态信息与数据高速缓存中的多个高速缓存位置中的每一个的示例性关联。
图5显示了可以与数据高速缓存中的单独高速缓存位置(例如高速缓存行)相关联的全局状态和线程状态信息的示例。
图6显示了在具有事务性存储器的多线程微处理环境下维持数据高速缓存的一致性的示范性方法。
图7和8显示了可以如何使用线程状态信息来控制线程活动以及事务的回滚和提交的示例。
具体实施方式
本公开针对多线程微处理系统,在该多线程微处理系统中经由与在实行事务的同时读取和写入到数据高速缓存中的位置的单独线程相关联的状态信息来维持和控制数据高速缓存的一致性和使用。数据高速缓存中的每个位置(例如高速缓存行)具有关联的全局状态。该全局状态指定高速缓存位置相对于另一数据高速缓存中的相应位置和/或相对于支持两个高速缓存的共享存储器资源的一致性状态,该支持两个高速缓存的共享存储器资源例如支持在分开的处理核心上的两个不同的L1高速缓存的L2高速缓存。
例如,在MESI一致性制度中,高速缓存位置可以是全局地经修改、独享、共享或无效。在经修改状态(M)中,高速缓存位置是独享的(不与另一高速缓存中的相应位置共享)和脏的(包含较新的并且在存储器系统中的其他地方未被复制的数据)。转变到经修改状态要求其他所共同支持的核心上的任何共享高速缓存位置的无效。在独享状态(E)中,不共享高速缓存位置,但是位置中的数据是干净的-即在诸如较高级别高速缓存的另一位置中被复制。就经修改状态而言,转变到独享涉及其他所共同支持的核心上的任何共享位置的无效。共享状态(S)反映这样的情况,其中如果存在多个位置,则一个或多个位置是有效的、包含相同的数据,并且数据是干净的,即在存储器系统中的另一个地方被复制。
在本系统中,高速缓存中的每个位置的全局状态随分开的线程状态信息而扩张,该分开的线程状态信息被维持用于处理与数据高速缓存及其高速缓存位置(例如高速缓存行)交互的线程。该线程状态信息除全局状态以外并与全局状态分开地被指定用于高速缓存位置。高速缓存控制器或其他控制机制使用该状态信息来单独地控制线程是否可以在事务的执行期间从高速缓存位置读取或写入。线程状态信息可以进一步包括关于单独线程的推测活动的信息,诸如在正在处理的、未提交的事务期间已发生的读和写。因此控制机制可以进一步使用线程状态信息来确定和控制是否将回滚与高速缓存位置相关的线程的未提交事务。尽管本文的示例预期了MESI全局状态,但是应该理解其他机制和方法也可以用来提供全局状态而不脱离本描述的范围。可以由高速缓存控制器直接地、或结合处理器核心上的其他机制/逻辑来实施对许可和回滚的控制。
图1示意性地描绘了可以与本文所描述的系统和方法一起采用的微处理器和事务性存储器系统100。特别地,系统100可以实现为在多个线程实施影响数据高速缓存中的位置的推测事务的环境下提供高速缓存一致性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310210525.3/2.html,转载请声明来源钻瓜专利网。