[发明专利]在事务内存中快速保存上下文的方法和装置有效
申请号: | 200910008371.3 | 申请日: | 2009-02-26 |
公开(公告)号: | CN101819518A | 公开(公告)日: | 2010-09-01 |
发明(设计)人: | 戈弋;侯锐;王华勇 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 邸万奎 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 内存 快速 保存 上下文 方法 装置 | ||
技术领域
本发明涉及一种在处理器的事务内存中使用的方法和装置,更具体地涉 及一种在处理器的事务内存中快速保存和恢复上下文的方法和装置。
背景技术
为了更有效地使用多核资源,越来越多地应用采取了并行程序。但是, 用于数据共享管理的复杂编程模型使得难于开发并行程序,因此建议由事务 内存来提供一种简易的使用机制,以定义和管理并行程序中的重要区段。
在事务内存模型中,线程上下文应该保存于事务处理的开始阶段。如果 在事务处理期间由于出现特定事件而发生退回(rollback),则恢复事务处理 之前被保存的上下文。直到目前为止,所有的程序上下文都是根据负载/存储 指令来保存的,包括体系结构寄存器、程序计数器、状态寄存器、堆栈指针 等,它们原来是被保存在处理器的通用寄存器中。将所有这些保存在现代微 体系结构的主存储器中会花费数千个时间周期,相同情况也发生在事务处理 的退回阶段。
寄存器重命名机制消除了WAR(write-after-read)和 WAW(write-after-write)冲突,被广泛用于现代处理器的流水线处理模式。伴随 某种映射方案,寄存器重命名机制可以动态地分配物理寄存器给体系结构寄 存器。
图1显示了体系结构寄存器和物理寄存器之间的映射的基本关系。
当一个指令试图修改一个体系结构寄存器(例如a1)时,为了避免与之前发 布的访问该体系结构寄存器a1的指令产生冲突,重命名机制自动为新指令分 配一个新的物理寄存器(r72),将该指令的修改值存储在新物理寄存器r72中。 如果有多个指令访问同一个体系结构寄存器,则该体系结构寄存器会存在多 个对应的物理寄存器。因此,物理寄存器的数目需要大于体系结构寄存器的 数目。
在现有技术中,包括被修改和未被修改的所有寄存器都需要在上下文保 存和恢复过程中被写入存储器和从存储器读出,这可能要花费数千个时间周 期。但是,大多数事务处理在整个过程中仅修改了几个体系结构寄存器,而绝 大多数体系结构寄存器是未经修改而被保存和恢复的,这种方式导致浪费了 大量的存储器资源。
发明内容
本发明提出了一种新的方法,其利用对重命名寄存器机制的扩展,在事 务处理期间仅仅保存/恢复被修改的体系结构寄存器,而不再对未被修改的寄 存器进行保存/恢复,体系结构寄存器的原值将被保存在重命名寄存器中而不 是存储器中,因此上下文保存/恢复的开销缩短为数十个周期,并且在事务处 理开始阶段不再需要明显的上下文保存操作。
根据本发明的一个方面,提供了一种用于在事务内存中快速保存上下文 的方法,所述事务内存包括多个体系结构寄存器以及数量多于所述体系结构 寄存器的物理寄存器,所述方法包括:建立映射表,其包括与多个体系结构 寄存器一一对应的多个表项,每个表项包含映射到多个体系结构寄存器的多 个第一物理寄存器的索引以及影子比特;响应于在事务处理中检测到体系结 构寄存器发生更新、并且其影子比特为无效值,将所述影子比特设为有效值, 并利用所述第一物理寄存器的索引为该体系结构寄存器设置影子寄存器;以 及向所述影子寄存器映射一第二物理寄存器,用来保存更新处理产生的修改 值,并由该体系结构寄存器对应的第一物理寄存器保存更新处理前的原值。
根据本发明的一个方面的方法还包括步骤:响应于事务处理期间发生退 回,重置影子比特,并清除影子寄存器及第二物理寄存器,以将体系结构寄 存器恢复为原值。
根据本发明的一个方面的方法还包括步骤:响应于所述事务处理的完成, 用影子寄存器的修改值替换相应的体系结构寄存器的原值,并将影子寄存器 及第二物理寄存器释放为可用状态。
根据本发明的一个方面的方法还包括步骤:响应于在事务处理中检测到 所述体系结构寄存器发生更新、并且其影子比特为有效值,直接用新的修改 值更新所述第二物理寄存器中的修改值。
在根据本发明的一个方面的方法中,所述表项还包括有效比特,用于将 在事务处理中被使用的所述体系结构寄存器标记为有效。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910008371.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钻孔设备
- 下一篇:压缩机缸体加工专用车床