[发明专利]一种共享寄存器相关性消除的实现方法无效

专利信息
申请号: 200910022656.2 申请日: 2009-05-22
公开(公告)号: CN101593096A 公开(公告)日: 2009-12-02
发明(设计)人: 邵志标;邹刚;左坤;谈杰 申请(专利权)人: 西安交通大学
主分类号: G06F9/38 分类号: G06F9/38;G06F9/46
代理公司: 西安通大专利代理有限责任公司 代理人: 张震国
地址: 710049*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 共享 寄存器 相关性 消除 实现 方法
【权利要求书】:

1.一种共享寄存器相关性消除的实现方法,其特征在于:

1)提供了双核共享寄存器涉及的各种相关性的类别:即根据指令序列读写同 一个寄存器的先后次序不同,出现四种数据竞争;

所述的各种相关性的类别是根据指令序列读写同一个寄存器的先后次序不 同,出现下面四种数据竞争:假定有两条指令i和j,并且指令i在指令j前面:

先写后读相关RAW(Read After Write):指令j读源寄存器Rx,但指令i还 没有将结果写回目的寄存器Ry,此时指令j得到的是一个不正确的旧操作数值;

写写相关WAW(Write After Write):指令i和j都写同一个目的寄存器Ry, 但是指令j的写操作和指令i同时发生或者在指令i之前完成,最后写的结果是在 错误的次序下完成的,导致在目的寄存器Ry的值是指令i写的值或者是不确定的 值,而不是指令j写的值;

先读后写相关WAR(Write after Read):指令j写操作结果在指令i读源操 作数之前完成,导致指令i读出一个不正确的新值;

读读相关RAR(Read after Read):指令i和j都读同一个源寄存器不会引 起数据冲突;

由于读读相关RAR操作不会引起数据混乱,所以读读相关RAR性不需要处理, 另外由于双核微处理器采用的是共享寄存器堆方法,以及按序发射的指令发射策 略,并且2条流水线统一在译码级读源操作数,在执行级写目的操作数,因此在读 源操作数必定在写目的操作数之前,所以也不会引起先读后写相关WAR的竞争,在 其微结构里面两个核间的数据竞争只会是WAW和RAW数据竞争;

2)提供不同类型相关性的检测机制:当在取指阶段取完指令后放入指令寄存 器中,通过比较指令寄存器中的相应的源操作数、目的操作数的编码段完成RAW相 关性的检测;

所述的提供不同类型相关性的检测机制是在双核的每个时钟周期里,两个核 心的流水线从译码级各发射一条指令到执行级执行,其检测方法是在译码级完成, 当在取指阶段取完指令后就放入指令寄存器中,通过比较指令寄存器中的相应的 源操作数、目的操作数的编码段完成RAW相关性的检测;

首先指令编码在REG1、REG2类型里,第21位到25位是第一源寄存器scr1的 编码,第16位到20位是目的寄存器dst的编码,第0位到4位是第二源寄存器 scr2的编码,对应到指令寄存器ir里,ir25^21对应源操作数第一源寄存器scr1, ir20~16对应目的操作数目的寄存器dst,ir4~0对应源操作数第二源寄存器scr2; REG3、CTRL、MEM类指令里只有一个源操作数第一源寄存器scr1,除了CTRL类型 以及存数类指令没有目的操作数外,其他类型的指令格式都有目的操作数;

先写后读相关RAW检测的具体方案如下:

首先令,

dst(1)=~(bar(1)|bsr(1)|STORE(1))&ir(1)20~16+(bal(1)|bsr(1))&ir(1) 25~21

scr1(2)=ir(2)25~21

scr2(2)=ir(2)4~0&~(REG3(2)|CTRL(2)|MEM(2));

如果dst(1)==scr1(2)|scr2(2),则存在RAW相关性;

其中,ir(1)代表核1的指令寄存器,dst(1)代表核1的目的操作数, bar(1)、bsr(1)、STORE(1)为核1译完码后无条件转移和存储类控制信号,ir(2) 代表核2的指令寄存器,scr1(2)和scr2(2)代表核2的两个源操作数,REG3(2)、 CTRL(2)、MEM(2)分别代表核2译码后的寄存器类、控制类、存储器类的控制信号;

3)提供了各类型相关性的消除机制:提供读读相关RAR(Read After Read)、 先写后读相关RAW(Read After Write)、写写相关WAW(Write After Write)、 先读后写相关WAR(Write after Read)性消除策略。

2.根据权利要求1所述的共享寄存器相关性消除的实现方法,其特征在于: 所述的步骤3)各类型相关性的消除机制:先读后写相关WAR数据竞争的解决方式: 双核微处理器是按序发射指令,因此指令的执行是按照程序中的顺序执行,如果 相邻两条指令要对同一寄存器写数据,只要把后一条指令的结果写入寄存器中就 可以消除先读后写相关WAW;

具体的处理如下:

C1、C2分别代表核1、核2的写总线,WC1(i)、WC2(i)代表核1、核2的 写控制信号,i的值是0~28,代表0~28号通用寄存器,只有写控制信号发生时, 才把总线C1、C2上的内容写到寄存器中;

得出,REG(i)=(WC2(i)&C2)|(~WC2(i)&WC1(i)&C1),REG(i) 代表第i号寄存器,如果两个核都对同一寄存器写入数据,只把核2的数据写入相 应的寄存器当中,通过对寄存器的写操作的修正,解决先读后写相关WAW相关性问 题;

先写后读相关RAW数据竞争的解决:①在ID级读源操作数时,此时若正确的 值在流水线内部还没有产生,则有先写后读相关RAW请求,然后由流水线控制部件 处理;②在ID级读源操作数时,此时若正确的值已在流水线内部产生,只会发生 在核内部由于流水线重叠产生,而双核之间的的并行是完全同步的,即取指、译 码、执行完全是同步的,读操作是在译码级进行,这时两个核都还没有执行操作, 在两个核间不会产生这种相关性,因此,只对于情况①进行相关性处理。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910022656.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top