[发明专利]乱序的基于块的处理器和指令调度器有效
申请号: | 201780026331.4 | 申请日: | 2017-04-25 |
公开(公告)号: | CN109074260B | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | A·L·史密斯;J·S·格雷 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京世辉律师事务所 16093 | 代理人: | 王俊 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 处理器 指令 调度 | ||
1.一种装置,包括:
指令译码器,其被配置为针对从存储器取指的一组指令的至少部分生成译码的就绪依赖性,所述一组指令中的每个指令与不同的相应指令标识符相关联,所述指令标识符指示指令在所述存储器中的所述一组指令内的相对位置;以及
指令调度器,其被配置为从所述一组指令不按程序顺序地发出第一指令,其中:
所述第一指令基于确定针对所述第一指令的所述译码的就绪依赖性被满足而被发出,
所述确定包括:访问存储装置,所述存储装置存储使用被编码在所述一组指令中的一个指令内的所述第一指令的相应指令标识符的所述译码的就绪依赖性,并且
所述确定包括:使用由执行的指令信号通知并且在所述执行的指令内编码的指令标识符,来生成用于访问所述存储装置的索引,其中所述索引是响应于所述执行的指令的执行而被生成的。
2.根据权利要求1所述的装置,其中所述装置还包括指令取指单元,所述指令取指单元被配置为:取指针对所述一组指令的头的至少部分,并且并发地取指所述一组指令的指令的至少部分。
3.根据权利要求2所述的装置,其中所述指令取指单元包括第一块存储器和第二块存储器,所述第一块存储器存储所述头的所取指的至少部分,所述第二块存储器存储所述指令的所取指的至少部分。
4.根据权利要求1所述的装置,其中所述装置是利用可配置逻辑器件实现的软核处理器。
5.根据权利要求1所述的装置,其中所述装置被配置为利用优先级编码器并且基于针对下一指令编码的所述指令标识符,选择要执行的所述一组指令中的所述下一指令。
6.根据权利要求1所述的装置,其中所述指令调度器被耦合到数据操作数缓冲器,所述数据操作数缓冲器存储用于由所述指令在后续时钟周期中的执行而生成的数据。
7.根据权利要求6所述的装置,还包括旁路逻辑电路,所述旁路逻辑电路允许数据操作数被转发以用于由指令在紧跟着的后续时钟周期中的执行,所述旁路逻辑电路允许所述数据操作数被转发而不将所述数据操作数存储在所述数据操作数缓冲器中。
8.根据权利要求6所述的装置,其中所述数据操作数缓冲器被配置为每个时钟周期为不超过一个的指令来存储操作数数据,所述装置还包括:
旁路逻辑电路,其允许在不同数据操作数被存储在所述数据操作数缓冲器中时,针对不同指令的数据操作数在相同时钟周期中被转发到执行单元。
9.一种现场可编程门阵列FPGA,包括处理器,所述处理器包括:
使用所述FPGA中的多个多输入查找表LUT实现的第一存储器;
指令高速缓存,其被配置为接收从第二存储器取指的指令,所接收的所述指令中的给定指令包括在所述给定指令中编码的第一指令标识符和第二指令标识符,所述第一指令标识符指示所述给定指令在所述第二存储器中的一组指令内的相对位置,并且所述第二指令标识符指定目标指令而不是所述给定指令来接收由执行所述给定指令生成的结果;以及
指令调度器,其被配置为在所述第一存储器中存储就绪状态数据,所述就绪状态数据由对应的指令的指令标识符索引,所存储的所述就绪状态数据指示所述对应的指令的断言操作数和/或数据操作数的状态,所述指令调度器还被配置为在所存储的所述就绪状态数据指示针对所述对应的指令的所有操作数依赖性被满足时发出所述对应的指令。
10.根据权利要求9所述的FPGA,其中所述指令高速缓存利用所述FPGA的块随机存取存储器RAM资源来实现。
11.根据权利要求9所述的FPGA,其中所述指令调度器利用使用所述多个LUT的部分形成的随机存取存储器RAM来实现。
12.根据权利要求11所述的FPGA,其中所述LUT由被耦合到一个或多个多路复用器的静态随机存取存储器RAM单元形成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780026331.4/1.html,转载请声明来源钻瓜专利网。