目标专利:4087在处理器中的指令流水线中插入代理读取指令
专利公开号:CN116134418B
专利权人:高通股份有限公司
无效请求书提交日期:2027年
非显而易见性评估仅供参考,不构成法律建议。
| 编号 | 名称 |
|---|
一种处理器,包括:寄存器堆;包括多个寄存器条目;每个寄存器条目被配置为存储数据值;以及指令处理电路;包括:提取电路;被配置为将多个指令提取到指令流水线中;所述多个指令包括生产者指令和消费者指令;所述指令流水线;包括:执行电路;被配置为:执行包括源寄存器和目标寄存器的所述生产者指令;以生成要被写入到所述寄存器堆中的所述目标寄存器的产生值;以及调度器电路;被配置为:接收提取的消费者指令;所述消费者指令包括对应于所述生产者指令的所述目标寄存器的源寄存器;并且响应于确定所述产生值将不能在所述指令流水线中用来作为所述消费者指令的所述源寄存器被消费:在所述指令流水线中插入代理读取指令;所述代理读取指令包括存储所述产生值的所述目标寄存器。
根据权利要求1所述的处理器,其中所述调度器电路还被配置为:确定由所述生产者指令的执行所生成的所述产生值是否将在所述指令流水线中的至少一个数据转发路径中被转发;以能够在所述执行电路中用来作为所述消费者指令的所述源寄存器被消费。
根据权利要求1所述的处理器,其中所述调度器电路还被配置为:响应于确定所述产生值将能够在至少一个数据转发路径中用来作为所述消费者指令的所述源寄存器被消费:不在所述指令流水线中插入代理读取指令;所述代理读取指令包括存储所述产生值的所述目标寄存器。
根据权利要求1所述的处理器,其中所述执行电路还被配置为:在至少一个数据转发路径中转发由所述生产者指令的执行所生成的所述产生值;以作为所述消费者指令的所述源寄存器被消费。
根据权利要求1所述的处理器,其中所述执行电路还被配置为:执行所述代理读取指令;以重新生成所述产生值;以及在至少一个数据转发路径中转发重新生成的所述产生值。
根据权利要求5所述的处理器,其中:所述代理读取指令包括复制指令;并且所述执行电路被配置为:通过被配置为将所述产生值复制到所述目标寄存器中;来执行所述代理读取指令以重新生成所述产生值。
根据权利要求5所述的处理器,其中:所述代理读取指令包括移动指令;并且所述执行电路被配置为:通过被配置为将所述产生值移动到所述目标寄存器中;来执行所述代理读取指令以重新生成所述产生值。
根据权利要求5所述的处理器,其中:所述代理读取指令包括包含与所述目标寄存器是相同寄存器的源寄存器的指令;其中所述源寄存器包含所述产生值;并且所述执行电路被配置为:执行所述代理读取指令;以重新生成所述产生值。
根据权利要求5所述的处理器,其中所述执行电路还被配置为:将重新生成的所述产生值作为要被执行的所述消费者指令的所述源寄存器来消费。
根据权利要求1所述的处理器,其中所述调度器电路被配置为:通过被配置为执行如下操作来确定所述产生值是否将在所述指令流水线中被转发以能够在所述执行电路中用来作为所述消费者指令的所述源寄存器被消费;所述操作包括:确定与所述产生值能够从至少一个数据转发路径作为所述消费者指令的所述源寄存器被消费相比;所述产生值是否将更早地在所述至少一个数据转发路径中被转发。
根据权利要求1所述的处理器,其中:所述指令流水线还包括回写电路;所述回写电路被配置为:将由所述执行电路通过执行生产者指令所生成的所述产生值回写到与所述生产者指令的所述目标寄存器相对应的所述寄存器堆中;并且所述调度器电路被配置为:通过被配置为确定由所述生产者指令的执行所生成的、要作为所述消费者指令的所述源寄存器被消费的所述产生值是否被写回到所述寄存器堆;来确定与所述产生值能够从至少一个数据转发路径作为所述消费者指令的所述源寄存器被消费相比;所述产生值是否将更早地在所述至少一个数据转发路径中被转发。
根据权利要求11所述的处理器,其中所述调度器电路被配置为:通过被配置为确定在所述消费者指令被所述调度器电路调度之前;由所述生产者指令的执行所生成的、要作为所述消费者指令的所述源寄存器被消费的所述产生值是否被写回到所述寄存器堆;来确定所述产生值是否被写回到所述寄存器堆。
根据权利要求11所述的处理器,其中:所述调度器电路还被配置为:分派在所述执行电路中要被执行的所述消费者指令;并且所述调度器电路被配置为:通过被配置为确定由所述生产者指令的执行所生成的、要作为所述消费者指令的所述源寄存器被消费的所述产生值是否在所述消费者指令被分派到所述执行电路之前被写回到所述寄存器堆;来确定所述产生值是否被写回到所述寄存器堆。
根据权利要求1所述的处理器,其中所述调度器电路还被配置为:确定由所述生产者指令的执行所生成的、要作为所述消费者指令的所述源寄存器被消费的所述产生值是否将在至少一个数据转发路径中被转发太晚而不能从所述至少一个数据转发路径作为所述消费者指令的所述源寄存器被消费;并且响应于确定所述产生值将在所述至少一个数据转发路径中被转发太晚而不能从所述至少一个数据转发路径作为所述消费者指令的所述源寄存器被消费:停顿所述指令流水线中的所述消费者指令。
根据权利要求1所述的处理器,其中:所述执行电路包括耦合到所述寄存器堆的至少一个读取输入端口;所述至少一个读取输入端口被配置为接收来自所述寄存器堆的数据值;并且所述消费者指令包括数目大于所述至少一个读取输入端口当中的读取输入端口的数目的源寄存器。
根据权利要求1所述的处理器,其中所述指令流水线还包括至少一个数据转发路径;所述至少一个数据转发路径被配置为:转发由所述生产者指令的执行所生成的所述产生值;以能够用来作为所述消费者指令的所述源寄存器被消费。
根据权利要求1所述的处理器,其中:所述生产者指令包括生产者乘积累加(MAC)指令;所述MAC指令包括两个源寄存器和第三源寄存器;所述第三源寄存器也是所述生产者指令的所述目标寄存器;所述消费者指令包括消费者MAC指令;所述消费者MAC指令包括两个源寄存器和第三源寄存器;所述第三源寄存器也是所述消费者指令的所述目标寄存器;并且所述生产者MAC指令的所述目标寄存器包括所述消费者MAC指令的所述目标寄存器。
根据权利要求17所述的处理器,其中所述执行电路包括耦合到所述寄存器堆的仅两个读取输入端口;所述两个读取输入端口各自被配置为接收来自所述寄存器堆的数据值。
根据权利要求1所述的处理器,其中所述指令流水线还包括回写电路;所述回写电路被配置为:将由所述执行电路通过执行生产者指令所生成的所述产生值回写到与所述生产者指令的所述目标寄存器相对应的所述寄存器堆中。
根据权利要求1所述的处理器,所述处理器被集成到集成电路(IC)中。
根据权利要求1所述的处理器,所述处理器被集成到设备中;所述设备选自由以下项组成的组:头戴式设备、机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、全球定位系统(GPS)设备、移动电话、蜂窝电话、智能电话、会话发起协议(SIP)电话、平板计算机、平板手机、服务器、计算机、便携式计算机、移动计算设备、可穿戴计算设备、台式计算机、个人数字助理(PDA)、监控器、计算机显示器、电视、调谐器、无线电设备、卫星无线电设备、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器、机动车、交通工具组件、航空电子系统、无人机和多轴飞行器。