[发明专利]无锁先入先出无效
申请号: | 201310036660.0 | 申请日: | 2013-01-30 |
公开(公告)号: | CN103294753A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 斯蒂芬·琼斯;黄晓煌 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 董巍;徐丁峰 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 无锁先入先出 | ||
技术领域
本发明总地涉及先入先出子系统(FIFO),并且更具体地,涉及无锁FIFO。
背景技术
常规FIFO允许在单个时钟周期期间推入头FIFO条目以及取出尾
FIFO条目。这样的FIFO对于单个生产者填充FIFO以及单个消费者清空FIFO的系统是足够的。当多个消费者和/或生产者同时尝试访问FIFO时仅单个消费者和单个生产者会成功。然而,常规FIFO不指示多个消费者和/或生产者中的哪一个成功地访问了FIFO。因此,实际上,当在时钟周期期间仅单个消费者和生产者可成功地访问FIFO时,全部消费者和/或生产者将不正确地假定其各自的访问是成功的。
通常,使用锁定机制来控制对常规FIFO的访问以确保在单个时钟周期中仅单个生产者和单个消费者可访问FIFO。当由一个消费者锁定FIFO时,没有其他消费者可访问FIFO。类似地,当由一个生产者锁定FIFO时,没有其他生产者可访问FIFO。锁定机制的实现方案是复杂的。
因此,本领域需要的是用于允许多个生产者和/或消费者访问FIFO的改进的系统和方法。
发明内容
本发明的一个实施例阐述了用于允许多个生产者和/或消费者访问FIFO的技术。无锁机制被用来访问FIFO以便多个消费者和/或生产者可同时访问FIFO而不用首先获得锁。
用于访问无锁FIFO子系统的本发明的方法的各种实施例包括接收从无锁FIFO取出FIFO头节点的取出请求、从无锁FIFO数据结构读取FIFO头指针值以及读取包括在FIFO头节点中并且在无锁FIFO中识别第二FIFO节点的next值。实施原子的比较和交换操作以将FIFO头指针值与存 储在无锁FIFO数据结构中的当前FIFO头指针值加以比较。对于原子的比较和交换操作而言,如果FIFO头指针值等于当前FIFO头指针值,那么将next值与在无锁FIFO数据结构中的当前FIFO头指针值进行互换以更新FIFO头指针值。否则,对于原子的比较和交换操作而言,如果FIFO头指针值不等于当前FIFO头指针值,那么重复读取FIFO头指针值、读取next值并且实施原子的比较和交换操作。
“无锁”机制允许多生产者和/或消费者访问FIFO。当两个或两个以上生产者尝试同时向FIFO推入数据时,仅该生产者之一成功。类似地,当两个或两个以上消费者尝试同时从FIFO取出数据时,仅该消费者之一成功。然而,每个生产者和消费者被提供以其各自的访问是否成功的指示。在接下来的时钟周期中可重试不成功的访问,以便使同时的访问序列化。
附图说明
为了详细地理解本发明的上述特征,对于以上简要说明的发明,可以参照实施例进行更为具体的描述,其中一些实施例示出于附图中。然而,应注意的是,附图中示出的只是本发明的代表性实施例,因此不应被认为是对其范围的限制,本发明可以适用于其他同等有效的实施例。
图1是示出了配置为实现本发明的一个或多个方面的计算机系统的框图;
图2是根据本发明的一个实施例的、用于图1计算机系统的并行处理子系统的框图;
图3A是根据本发明的一个实施例的、图2的PPU之一内的GPC的框图;
图3B是根据本发明的一个实施例的、图2的PPU之一内的分区单元的框图;
图3C是根据本发明的一个实施例的、图3B的SM的一部分的框图;
图4是根据本发明的一个实施例的无锁FIFO的概念图;
图5A是根据本发明的一个实施例的、用于从无锁FIFO取出FIFO头节点的方法步骤的流程图;
图5B是根据本发明的一个实施例的、用于从无锁FIFO取出FIFO头节点的方法步骤的另一个流程图;以及
图6是根据本发明的一个实施例的、用于推入FIFO节点到无锁FIFO上的方法步骤的流程图。
具体实施方式
在接下来的说明中,阐述了大量的具体细节以提供对本发明的更透彻的理解。然而对本领域的技术人员来讲显而易见的是,可在没有一个或多个这些具体细节的情况下实践本发明。
系统概述
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310036660.0/2.html,转载请声明来源钻瓜专利网。