[发明专利]硬件共享系统和方法有效
申请号: | 200710097240.8 | 申请日: | 2007-04-28 |
公开(公告)号: | CN101078996A | 公开(公告)日: | 2007-11-28 |
发明(设计)人: | 格克汗·阿夫卡罗古拉里;史蒂文·L·彼得森 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京律盟知识产权代理有限责任公司 | 代理人: | 王允方;刘国伟 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 共享 系统 方法 | ||
技术领域
本文件大体上涉及电子计算机和数字数据处理系统中的输入和输出,且更确切地说,涉及用于在此类系统中防止访问共享资源的构件或步骤。本文件揭示至少一种用于多线程多处理器共享异步硬件单元的系统。
背景技术
在现代计算机系统中,在处理器上运行的软件程序(SW)越来越普遍地使用多个执行线程。这些执行线程可在有多个线程在同一处理器上运行时显示感知同时性,或者当计算机系统中存在多个处理器时显示真实同时性。
此外,在现代计算机系统中越来越普遍地具有:复杂的硬件资源(HW),例如直接存储器访问(DMA)通道;具有内部缓冲或内部DMA引擎的外围设备;和媒体处理元件,其从专有存储区域、内部缓冲器工作或者使用DMA。有些硬件资源还可具有多个通道,从而增加了可同时运行且还需要被管理的有效硬件资源的数目。(由于计算机系统可有效地将多通道装置用作多个资源,因而在本文中,我们针对每个通道使用标签“硬件资源”以免与“硬件装置”混淆。)
计算机系统中的硬件资源经常按照需要而成为异步的,以使得对其进行管理的处理器可针对所需任务来对其每一者进行编程,继续执行其它操作,且稍后再返回并获得早先编程的任务的结果。这形成了真实的并行性。
当一硬件资源由多个执行线程使用时,不论线程的同时性的性质如何,某机制必须可用,以确保每次只有一个执行线程使用所述硬件资源。确保硬件资源正确操作且确保执行线程获得的结果是正确的,这一点是必要的。而这一点正是现有技术方法所欠缺的,因为它们建立在软件锁定(例如,软件相互排斥锁定,通称为“互斥体”)的基础上。
图1a-b(背景技术)是在文体上展示现代计算机如何可能为非常复杂的系统的实例的方框图。图1a展示具有单个主处理器的较简单的计算机系统,且图1b展示具有多个主处理器的较复杂的计算机系统。在操作系统(OS)的控制下,每个处理器可潜在地运行多个软件程序(此处未直接展示)。针对当前目的,我们并不特别关注高级别的软件程序,而是关注于其中我们称为“执行线程”(TOE)的基本部分。在关于计算技术的许多优秀文本中均涵盖线程程序执行,所以我们此处只提出单个软件程序可能具有单个线程或多个线程,且所有这些线程可能竞争使用整个计算机系统内的资源。确切地说,计算机系统中的执行线程可能需要异步地共享一个或一个以上硬件资源(HWR)。
现在参看图1a,TOE#2代表执行线程的最简单情况。其未在使用且其未在等待任何硬件资源。类似地,HWR#1代表简单情况。任何执行线程均未在使用它且没有线程在等待使用它。TOE#1和HWR#2代表稍微复杂的情况。TOE#1在使用HWR#2,且没有其它执行线程在等待使用HWR#2。
事实很少像描述的这样简单。举例来说,如果TOE#1在使用HWR#2且TOE#2也需要使用HWR#2会出现什么情况呢?在常规的计算机系统中,操作系统通过软件锁定来管理对硬件资源的访问。可能会发生像下面这样的对话:
(1)TOE#1:我需要使用HWR#2。
(2)OS:(在检查其锁定并对其更新之后)好的,TOE#1,请用。
(3)TOE#2:我需要使用HWR#2。
(4)OS:(在检查其锁定之后)不行,TOE#2,请稍等。
(5)TOE#1:我用完了HWR#2。
(6)OS:(在更新其锁定之后)好了,TOE#2,请用。
这个对话是简缩的,且并未涵盖所有可能的情况。举例而言,如果步骤(4)从未发生(比如因为TOE#1崩溃或编程得较差),那么会出现什么情况?操作系统必须也处置这种情况。
现在参看图1b,图中描绘了若干较复杂的场景,这些场景在现代计算机系统中均越来越普遍。举例来说,除了多个处理器之外,这些计算机系统可能还运行不同的操作系统(例如,处理器#1中的Windows(TM)操作系统和处理器#2中的Linux操作系统)。如图1b中也显示且现在所论述的,硬件资源本身可能具有也应被考虑在内的复杂特征。
在图1b中展示了与上述对话下的场景相似的场景。此处,TOE#2在使用HWR#3且TOE#3也想使用所述HWR#3。举例而言,比如HWR#3是打印机且TOE#2用它来打印文本字符,而HWR#3想用它来打印图像。
再次,常规方法是使用控制各个执行线程的操作系统通过软件锁定方案来管理对硬件资源的这种争夺。通常,此类软件锁定实施为相互排斥目标(通称为“互斥体”)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710097240.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:分离式底盘和具有分离式底盘的平板显示器
- 下一篇:一种新型高节能水泥粉磨机