一种指令唤醒方法、装置及存储介质与流程

    技术2024-11-18  9


    本发明涉及一种指令唤醒方法、装置及存储介质,属于集成电路芯片设计。


    背景技术:

    1、如图1所示,在处理器设计中,指令的运行步骤在指令缓存中取到指令后通常需要经过寄存器重命名、指令的分派、发射(唤醒+选择)和执行。其中,一条指令是否能发射进入执行单元进行计算取决于它的操作数是否都准备完毕,而操作数没有都准备完毕的指令需要在发射队列中等待,当相关的结果返回后,可以将该条指令进行唤醒,最终在多条待发射的指令中进行选择,发往执行单元。

    2、指令唤醒的实现方式,通常是通过对比发射队列中所有有效条目的指令操作数的寄存器号。当某条指令在执行单元中计算完毕返回结果时,对比发射队列中所有等待唤醒的操作数,如有匹配的操作数,则将该操作数的指示位拉高,表示该操作数已经准备完毕。

    3、指令的唤醒是通过比对指令操作数的寄存器号和返回结果的寄存器号,该方法需要比对发射队列中所有的指令操作数,且大多数的指令都有两个操作数。并且为了提高处理器的性能,通常发射队列的深度较深,所以按照传统唤醒的实现方式,需要做大量的对比逻辑,最终只会唤醒少数的操作数,浪费了时间,且增加了功耗。


    技术实现思路

    1、本发明的目的在于克服现有技术中的不足,提供一种指令唤醒方法、装置及存储介质,对比传统的指令唤醒方法,减少了对比逻辑,从而加快了唤醒的过程,并且降低了功耗。

    2、为达到上述目的,本发明是采用下述技术方案实现的:

    3、第一方面,本发明提供了一种指令唤醒方法,包括:

    4、将生产者指令的目的寄存器通过重命名过程获得的物理寄存器号作为索引,将生产者指令在发射队列中的条目号作为装填内容,写入寄存器重命名表的pie域;

    5、当消费者指令需要读取操作数时,从寄存器重命名表中读取对应条目,根据pie域中的内容找到发射队列中生产者指令的条目,若生产者指令条目的die域中无有效数据,则将消费者指令在发射队列中的序号装填进生产者指令条目的die域;

    6、当生产者指令的执行结果返回后,生产者指令查询其条目的die域,根据die域中的内容找到对应的消费者指令的操作数,并通知消费者指令唤醒。

    7、进一步的,所述方法还包括:当检测到生产者指令的数据被多个消费者指令使用时,执行以下步骤:

    8、将生产者指令的目的寄存器通过重命名过程获得的物理寄存器号作为索引,将生产者指令在发射队列中的条目号作为装填内容,写入寄存器重命名表的pie域;

    9、若消费者指令发现生产者指令条目的die域已有有效数据,表明消费者指令不是首个消费者,则将生产者指令条目的广播位置为1,并将消费者指令自身条目的监听位置为1;

    10、生产者指令的执行结果返回后,查询其条目的广播位,若广播位为1,则将生产者指令的物理寄存器号放入总线中,发射队列中监听位为1的条目比对自身的操作数寄存器号与总线上的寄存器号,若匹配,则唤醒相应的消费者指令。

    11、进一步的,所述pie域由生产者指令装填,用于给消费者链接其生产者。

    12、进一步的,所述die域由消费者指令装填,所述die域由返回结果的生产者指令读取,用于给返回结果的生产者指令指示其对应的消费者操作数位置。

    13、进一步的,所述广播位由消费者指令进行装填,用于指示返回结果的生产者是否需要广播传递返回结果。

    14、进一步的,所述监听位由消费者指令进行装填,用于指示当有广播在总线上时,是否需要对比内容。

    15、第二方面,本发明提供一种指令唤醒装置,包括:

    16、写入模块,用于将生产者指令的目的寄存器通过重命名过程获得的物理寄存器号作为索引,将生产者指令在发射队列中的条目号作为装填内容,写入寄存器重命名表的pie域;

    17、读取模块,用于在消费者指令需要读取操作数时,从寄存器重命名表中读取对应条目,根据pie域中的内容找到发射队列中生产者指令的条目,若生产者指令条目的die域中无有效数据,则将消费者指令在发射队列中的序号装填进生产者指令条目的die域;

    18、唤醒模块,用于在生产者指令的执行结果返回后,生产者指令查询其条目的die域,根据die域中的内容找到对应的消费者指令的操作数,并通知消费者指令唤醒。

    19、第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述中任一项所述方法的步骤。

    20、第四方面,本发明提供一种计算机设备,包括:

    21、存储器,用于存储计算机程序/指令;

    22、处理器,用于执行所述计算机程序/指令以实现前述中任一项所述方法的步骤。

    23、第五方面,本发明提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现前述中任一项所述方法的步骤。

    24、与现有技术相比,本发明所达到的有益效果:

    25、本发明提供一种指令唤醒方法、装置及存储介质,通过在寄存器重命名表中增加pie域,使得作为数据消费者的指令操作数和作为数据生产者的指令条目获得了1对1的链接效果,发射队列中添加的die域,使得生产者数据运算完毕后,可以精确的找到对应的依赖操作数,精准唤醒。不需要像传统方法那样,依次去对比发射队列中的所有指令操作数。结果是减少了唤醒逻辑,并且降低了功耗。

    26、广播和监听指示位的组合可以减少一个生产者有多个消费者情形时的条目对比操作。将原来需要对比整个发射队列条目的操作,减少为只需要对比监听位为1的条目。

    27、综上所述,本发明对比传统的指令唤醒方法,减少了对比逻辑,从而加快了唤醒的过程,并且降低了功耗。



    技术特征:

    1.一种指令唤醒方法,其特征在于,包括:

    2.根据权利要求1所述的指令唤醒方法,其特征在于,所述方法还包括:当检测到生产者指令的数据被多个消费者指令使用时,执行以下步骤:

    3.根据权利要求2所述的指令唤醒方法,其特征在于,所述pie域由生产者指令装填,用于给消费者链接其生产者。

    4.根据权利要求2所述的指令唤醒方法,其特征在于,所述die域由消费者指令装填,所述die域由返回结果的生产者指令读取,用于给返回结果的生产者指令指示其对应的消费者操作数位置。

    5.根据权利要求2所述的指令唤醒方法,其特征在于,所述广播位由消费者指令进行装填,用于指示返回结果的生产者是否需要广播传递返回结果。

    6.根据权利要求2所述的指令唤醒方法,其特征在于,所述监听位由消费者指令进行装填,用于指示当有广播在总线上时,是否需要对比内容。

    7.一种指令唤醒装置,其特征在于,包括:

    8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。

    9.一种计算机设备,其特征在于,包括:

    10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-6中任一项所述方法的步骤。


    技术总结
    本发明公开了一种指令唤醒方法、装置及存储介质,所述方法包括将生产者指令的目的寄存器通过重命名之后获得的物理寄存器号作为索引,将该指令位于发射队列中的条目号作为装填内容,写入寄存器重命名表的PIE域;当消费者指令的操作数读取寄存器重命名表的对应条目后,根据PIE域中内容找到发射队列中数据生产者所在条目,如DIE域中无有效数据则将消费者指令自身的发射队列序号装填进入生产者指令所在条目的DIE域;当生产者指令的执行结果回来之后,查询自身条目的DIE域,根据域中内容找到对应的消费者指令的操作数,通知其唤醒;本发明对比传统的指令唤醒方法,减少了对比逻辑,从而加快了唤醒的过程,并且降低了功耗。

    技术研发人员:黄颢彦,曹世威,刘奔,乌绮
    受保护的技术使用者:无锡先进技术研究院
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-22178.html

    最新回复(0)