[发明专利]对执行包括辅助子线程的线程的显式软件控制的方法和结构无效
| 申请号: | 200580009866.8 | 申请日: | 2005-03-29 |
| 公开(公告)号: | CN101263452A | 公开(公告)日: | 2008-09-10 |
| 发明(设计)人: | 克里斯托夫·布朗;奎因·A·雅各布森;沙伊伦德尔·乔杜里;马克·特伦布莱 | 申请(专利权)人: | 太阳微系统公司 |
| 主分类号: | G06F7/38 | 分类号: | G06F7/38;G06F9/00;G06F9/44;G06F15/00 |
| 代理公司: | 北京律盟知识产权代理有限责任公司 | 代理人: | 王允方;刘国伟 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 执行 包括 辅助 线程 软件 控制 方法 结构 | ||
相关申请案
本申请案主张2004年3月31日申请的标题为″Method And Structure For ExplicitSoftware Control Of Execution Of A Thread Including A Helper Subthread″且发明者为Christof Braun、Quinn A.Jacobson、Shailender Chaudhry和Marc Tremblay的美国临时申请案第60/558,690号的益处,所述申请案以全文引用的方式并入本文。
技术领域
本发明大体上涉及增强处理器的性能,且更确切地说涉及用于增强存储器级并行性(MLP)以减少处理器在等待数据载入上耗费的总体时间的方法。
背景技术
为增强现代处理器的性能,使用各种技术来增加给定时间周期中执行的指令数目。这些技术中的一种是预取处理器将来需要的数据。
预取数据大体上是指预测不久以后将需要的数据并发布交易以使得所述数据尽可能地靠近处理器的机制。使数据更加靠近处理器可在需要数据时减少存取所述数据的等待时间。
人们已提出许多种形式的数据预取来提高存储器级并行性(MLP)。一种形式的数据预取使用基于各种试探法来预取数据的硬件机制。另一种形式的数据预取使用传统的软件预取,其中将指示放置在指令流中以起始数据预取。
大多指令设定架构具有一预取指令,其使得软件通知硬件不久后软件可能需要指令中指定的一给定位置上的数据。随后,硬件通过将数据潜在地移动到处理器中的接近的高速缓冲存储器来回应这些预取指令。
为了使用预取指令,软件必须还包括用以计算地址的代码序列。这些代码序列不但为程序的总体执行添加了额外开销,而且还需要分配在一定时段内指定给预取工作的一些硬件资源,例如寄存器。数据预取在减少处理器花费在等待数据上的时间方面的潜在益处通常会抵消超出数据预取的额外开销,但并非总是如此。这一点尤其复杂,因为软件充其量也无法完全提前知道哪些数据将已靠近处理器以及哪些数据需要预取。
发明内容
根据本发明的一个实施例,用显式软件控制来在等待完成长等待时间操作的同时执行辅助操作。此处,长等待时间指令是指其执行需要存取局部高速缓冲存储器中得不到的信息或使用指令预备好执行时不可用的资源的指令。
例如,在等待载入指令执行完成时,执行一个或一个以上预取指令,连同计算预取指令地址所需的额外计算。以一旦预取指令执行完成,处理便返回到载入指令之后的原始代码段且执行照常继续的方式来进行此举。
因此,可识别出处理器空闲的时段,且仅在处理器空闲时预取数据的代码序列才会运行。用以预取数据的代码序列的包含方式使得所述代码序列不会影响主程序的状态或资源分配。
在一个实施例中,一种基于计算机的方法在显式软件控制下确定与长等待时间指令相关联的项目是否可用。在所述确定发现与长等待时间指令相关联的项目不可用后,在显式软件控制下执行一辅助子线程。
在显式软件控制下执行辅助子线程会导致对一种状态进行定点检验以获得快照状态。在一个实例中,所述状态为处理器状态。在显式软件控制下执行辅助子线程还会通过执行辅助子线程中的指令而导致执行辅助操作。一旦完成辅助操作,状态就退回至快照状态,且使用项目的实际值执行原始代码段。
或者,在所述确定发现与长等待时间指令相关联的项目可用后执行原始代码段。在此情况下,不执行辅助子线程。
对于此实施例,一种结构包括:用于在显式软件控制下确定与长等待时间指令相关联的项目是否可用的构件;和用于在所述确定发现与长等待时间指令相关联的项目不可用后,在显式软件控制下执行一辅助子线程的构件。
用于在显式软件控制下执行辅助子线程的构件包括:用于对一种状态进行定点检验以获得快照状态的构件;用于通过执行辅助子线程中的指令而执行辅助操作的构件;用于将所述状态退回至快照状态的构件。所述结构还包括用于使用项目的实际值来执行原始代码段的构件。
举例而言,可通过使用存储的计算机可执行指令和计算机系统中执行这些指令的处理器来实施这些构件。所述计算机系统可为工作站、便携式计算机、客户端-服务器系统,或联网计算机、存储媒体等的组合。
对于此实施例,一种计算机系统包括一处理器和一耦合到所述处理器的存储器。所述存储器包括存储在其中的指令,当在所述处理器上执行所述指令时,一种方法包括:
在显式软件控制下确定与长等待时间指令相关联的项目是否可用;和
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于太阳微系统公司,未经太阳微系统公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580009866.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于鞋类的三平面支承系统
- 下一篇:在风力发电机塔内部安装元件的方法





