当前位置: 首页 > 专利查询>辉达公司专利>正文

通过标记CPU流量为特殊来避免死锁制造技术

技术编号:12822027 阅读:57 留言:0更新日期:2016-02-07 12:43
通过标记CPU流量为特殊来避免死锁。通过将并行处理器发出给系统存储器的读请求标记为“特殊”而避免死锁。标记为特殊的与读请求相关的读完成在PCIe总线的虚拟通道1上路由。在虚拟通道1上返回的数据不会由在虚拟通道0上的写请求停止,因此避免了潜在的死锁。

【技术实现步骤摘要】
本申请是分案申请,其原申请的中国国家申请号为200910249698.X,申请日为2009年12月14日,专利技术名称为“通过标记CPU流量为特殊来避免死锁”。
本专利技术一般地涉及计算机硬件,并更特别地涉及通过标记CPU流量为特殊来避免死锁的方法和系统。
技术介绍
常规的计算机系统包括中央处理单元(CPU)且也可以包括已知为并行处理单元(PPU)的协处理器。CPU将一定的处理操作卸下给PPU以减少CPU的处理工作量。其中,这些处理操作包括压缩和解压缩操作。当CPU需要这些处理操作时,CPU发出请求给PPU,包括读请求和/或写请求。例如,CPU可能需要将数据写到可能以压缩的格式存储的系统存储器中。CPU发送写请求给PPU,然后PPU可以读和解压缩与该写请求相关的数据并将解压缩的和与新数据合并的原始数据写到系统存储器中。有时,CPU发出的写请求可能引起PPU发出必须在初始写请求能完成之前完成的一个或多个“派生的”读请求。例如,PPU可以发出以与CPU相关的系统存储器单元为目标的派生的读请求。当读事务完成时,系统存储器发出读完成给PPU,这通知PPU该事务完成。但是,当CPU和PPU通过具有一个或多个待决写请求的外围部件接口快速(PCIe)总线连接时,可能产生问题。由于PCIe总线的排序规则,读完成不能超过写请求,因此任何派生的读请求不能返回读完成给PPU。因此,初始的写请求不能完成。这种情况在本领域中已知为循环依存或“死锁”。死锁使在CPU和PPU之间的一些或所有的通信停止并不利地影响计算机系统的处理吞吐量。下面讨论死锁条件的一些例子。在第一个例子中,如果PPU需要从存储在系统存储器中的页表读且写请求在PCIe总线中待决,则可能发生死锁。当PPU向发出读请求给系统存储器以从页表中获取项目时,与读请求相关的读完成不能返回给PPU,因此初始的写请求不能完成。当CPU发出以在与PPU相关的高速缓存存储器单元中的高速缓存行为目标的写请求给PPU时,也可能发生死锁。为了完成写请求,PPU首先通过检查标签存储件确定高速缓存行是否压缩。标签存储件指示与在高速缓存存储器单元中的最近访问的高速缓存行相关的压缩状态。当标签存储件不包括由写请求指定的高速缓存行的压缩状态时,PPU发出读请求给系统存储器以访问包括在高速缓存存储器单元中的每个高速缓存行的压缩状态的后备存储件。后备存储件返回指定的高速缓存行的压缩状态并发出读完成。但是,当写请求在PCIe中待决时,由于与读请求相关的读完成不能超过这些待决的写请求,因此可能发生死锁。当CPU试图写数据到压缩的系统存储器的区域中(本领域中已知为“压缩片”)时,可能发生第三种死锁,。CPU发出指定压缩片和包括写数据的写请求给PPU。PPU发出读请求给系统存储器以读压缩片。当写请求在PCIe中待决时,由于与读请求相关的读完成又不能超过这些待决的写请求,因此可能发生死锁。除了这三个例子外,还有数个其他情况可能导致死锁。因此,本领域中仍然需要避免死锁的方法和系统。
技术实现思路
本专利技术的实施例提供了在计算机系统中避免死锁的方法和系统,该计算机系统具有第一处理单元、第二处理单元、存储器桥、系统存储器和将第二处理单元连接到第一处理单元、存储器桥和系统存储器的总线。当读或写请求从第一处理单元发送到第二处理单元时避免了死锁。根据本专利技术实施例的避免死锁的方法包括:在总线的第一虚拟通道上在第二处理单元接收读或写请求;在处理读或写请求时在第二处理单元产生派生的读请求;通过总线的第二虚拟通道将派生的读请求发送给系统存储器;在总线的第二虚拟通道上接收派生的读请求的完成;和完成接收的读或写请求。根据本专利技术实施例的避免死锁的系统包括在第二处理单元中的总线接口单元。该总线接口单元配置为在第一虚拟通道上从第一处理单元接收读或写请求,并将在处理读或写请求时产生的派生的读请求通过第二虚拟通道发送。附图说明为了详细地理解本专利技术的上述特征,对于以上简要说明的本专利技术,将参照实施例进行更为具体的描述,其中对一些实施例在附图中进行了图示。然而,需要注意的是,附图只是图示本专利技术的代表性实施例,因此不能认为附图限制了本专利技术的范围,本专利技术可以允许其他同样有效的实施例。图1是图示配置为实现本专利技术的一个或多个方面的计算机系统的框图;图2是根据本专利技术一个实施例的图1中的计算机系统的并行处理子系统的框图;图3A是根据本专利技术一个实施例的在图2的并行处理单元(PPU)之一中的通用处理簇(GPC)的框图;图3B是根据本专利技术一个实施例的在图2中的并行处理单元之一中的分区单元的框图;图4是根据本专利技术一个实施例的配置为避免死锁的计算机系统的框图;和图5是根据本专利技术一个实施例的避免死锁的方法步骤的流程图。具体实施方式在下文的描述中,给出了大量具体的细节以便提供对本专利技术更为彻底的理解。然而,对于本领域技术人员来说显而易见的是,本专利技术可以无需一个或多个这些具体细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,公知的一些特征未进行描述。系统概述图1是图示配置为实现本专利技术一个或多个方面的计算机系统100的框图。计算机系统100包括中央处理单元(CPU)102和系统存储器104,二者通过存储器桥105经由总线路径进行通信。存储器桥105可以如图1所示集成到CPU102中。作为替换,存储器桥105可以是惯常设备例如北桥芯片,其通过总线连接到CPU102。存储器桥105通过通信路径106(例如HyperTransport(超传输)链路)与I/O(输入/输出)桥107相连接。I/O桥107例如可以是南桥芯片,其从一个或多个用户输入设备108(例如键盘、鼠标)接收用户输入,并将该输入通过路径106和存储器桥105转发给CPU102。并行处理子系统112通过总线或其他通信路径113(例如PCIExpress、加速图形端口或超传输链路)与存储器桥105相耦合;在一个实施例中,并行处理子系统112是将像素提供给显示设备110(例如传统的CRT或基于LCD的显示器)的图形子系统。系统盘114同样连接于I/O桥107。开关116提供了I/O桥107和诸如网络适配器118以及各种插卡120和121的其他部件之间的连接。包括USB或其他端口连接、CD驱动器、DVD驱动器、电影记录设备等的其他部件(图中没有明确示出),本文档来自技高网
...

【技术保护点】
一种计算机系统,包括:第一处理单元、第二处理单元、存储器桥、系统存储器和通过第一虚拟通道和第二虚拟通道将该第二处理单元连接到该第一处理单元、该存储器桥和该系统存储器的总线;其中该第二处理单元包括总线接口单元,该总线接口单元配置为:(i)从该第一处理单元通过该第一虚拟通道接收读或写请求;和(ii)将在处理该读或写请求时产生的派生的读请求在该第二虚拟通道上发送,其中当该读或写请求访问没有存储在该高速缓存存储器单元中的压缩状态信息时,该高速缓存存储器单元产生该派生的读请求,或者,当该读或写请求从该系统存储器的压缩的区域访问数据时,该高速缓存存储器单元产生该派生的读请求。

【技术特征摘要】
2008.12.12 US 12/334,3941.一种计算机系统,包括:
第一处理单元、第二处理单元、存储器桥、系统存储器和通过第一虚
拟通道和第二虚拟通道将该第二处理单元连接到该第一处理单元、该存储
器桥和该系统存储器的总线;
其中该第二处理单元包括总线接口单元,该总线接口单元配置为:
(i)从该第一处理单元通过该第一虚拟通道接收读或写请求;和(ii)将
在处理该读或写请求时产生的派生的读请求在该第二虚拟通道上发送,
其中当该读或写请求访问没有存储在该高速缓存存储器单元中的压
缩状态信息时,该高速缓存存储器单元产生该派生的读请求,或者,
当该读或写请求从该系统存储器的压缩的区域访问数据时,该高速缓
存存储器单元产生该派生的读请求。
2.根据权利要求1的计算机系统,其中该第二处理单元进一步包括
具有转换后备缓冲器的存储器管理单元,且当在该转换后备缓冲器中发生
缺失时该存储器管理单元产生该派生的读请求。
3.根据权利要求1的计算机系统,进一步包括用于该第二处理单元
的本地存储器,其中该第二处理单元通过高速缓存存储器单元与该本地存
储器连接且该高速缓存存储器单元产生该派生的读请求。
4.根据权利要求1的计算机系统,其中该第二处理单元进一步包括
存储器管理单元仲裁器,该存储器管理单元仲裁器配置为从多个客户端接
收读或...

【专利技术属性】
技术研发人员:塞缪尔·H·邓肯戴维·B·格拉斯科黄伟杰阿图·卡拉姆布尔帕特里克·R·马尔尚丹尼斯·K·马
申请(专利权)人:辉达公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1