发明名称 | 循环控制流转移 | ||
摘要 | 描述了循环控制流转移。循环控制流转移支持线程同步、无用信息收集以及其他涉及长时间运行循环的挂起的情形。可转移循环具有循环主体、循环顶部、包括循环顶部地址的间接单元、以及引用间接单元的循环跳转指令序列。在普通执行中,控制通过间接单元流到循环顶部。然而,在间接单元被更改后,执行流被转移到远离循环顶部的点。诸如无用信息收集等操作被执行而循环(以及由此使用该循环的(诸)线程)被因此转移。内核或另一线程接着将循环顶部地址还原到间接单元内,并且执行流通过被还原的间接单元再一次继续到循环顶部。 | ||
申请公布号 | CN102193777A | 申请公布日期 | 2011.09.21 |
申请号 | CN201110065876.0 | 申请日期 | 2011.03.09 |
申请人 | 微软公司 | 发明人 | S·莫热;M·M·马格鲁德;F·V·佩斯彻-盖里 |
分类号 | G06F9/32(2006.01)I | 主分类号 | G06F9/32(2006.01)I |
代理机构 | 上海专利商标事务所有限公司 31100 | 代理人 | 胡利鸣 |
主权项 | 一种用于循环控制流转移的过程,所述过程使用具有可操作地与至少一个存储器通信的至少一个逻辑处理器的设备,所述逻辑处理器具有至少一个寄存器,所述过程包括以下步骤:获得(312)存储器内的可执行模块,所述可执行模块包括具有循环主体和循环顶部的循环,所述模块还包括包含循环顶部地址的间接单元,所述循环顶部地址即指向循环顶部的地址,所述循环还包括引用所述间接单元的循环跳转指令序列;执行的第一线程执行(314)所述循环主体的迭代;通过在所述间接单元内指定的地址将所述第一线程的执行流继续(316)到所述循环顶部;执行的第二线程更改(318)所述间接单元的内容,使得所述间接单元包括不是所述循环顶部地址的地址;通过被更改的间接单元将所述第一线程的执行流转移(320)到远离所述循环顶部的点;将所述循环顶部地址还原(322)到所述间接单元内;以及通过被还原的间接单元再一次将所述第一线程的执行流继续到所述循环顶部。 | ||
地址 | 美国华盛顿州 |