-
公开(公告)号:CN106020778B
公开(公告)日:2018-12-11
申请号:CN201610299507.0
申请日:2013-01-05
申请人: 美普思技术有限责任公司
发明人: H·杰克逊
IPC分类号: G06F9/38
CPC分类号: G06F9/30043 , G06F9/3836 , G06F9/384 , G06F9/3855 , G06F9/3857 , G06F9/3863
摘要: 描述了一种用于还原寄存器重命名映射的技术。在一个示例中,每当向重排序缓冲器传递流程风险指令时,具有多个存储位置的还原表保存寄存器重命名映射的拷贝。当所有存储位置已满时,仍向所述重排序缓冲器传递进一步的指令,但是不保存映射的拷贝。当执行与一个存储位置关联的流程风险指令时,该个存储位置随后变得可用。在所述多个存储位置已满时的用于传递到所述重排序缓冲器的未记录的流程风险指令的寄存器重命名映射的状态被产生并且被存储在所述可用的位置。所述寄存器重命名映射的状态是使用用于先前的流程风险指令的还原表条目和用于中间指令的重排序缓冲器值来产生的,所述中间指令在所述先前的流程风险指令和所述未记录的流程风险指令之间。如果在指令流程中发生意外改变,则能用所述还原表来还原所述映射。
-
公开(公告)号:CN108694018A
公开(公告)日:2018-10-23
申请号:CN201711465816.1
申请日:2017-12-28
申请人: 爱思开海力士有限公司
IPC分类号: G06F3/06
CPC分类号: G06F9/4881 , G06F3/061 , G06F3/0659 , G06F3/0679 , G06F9/3855 , G06F9/5038 , G06F9/546 , G06F13/1642 , G06F13/1673 , G06F13/372 , G06F3/0604
摘要: 本发明提供一种数据存储装置的操作方法,该方法包括:使从主机装置接收的用于非易失性存储器装置的请求入队到第一队列中;确定在第一队列中排队的请求中未入队到第二队列中且具有相对低优先级的请求的饥饿时间是否达到预定响应时间;以及基于确定结果,使在第一队列中排队的请求中具有低优先级的请求和未入队到第二队列中且具有高优先级的请求之间的任何一个入队到第二队列中。
-
公开(公告)号:CN108108188A
公开(公告)日:2018-06-01
申请号:CN201810060916.4
申请日:2012-03-23
申请人: 英特尔公司
发明人: M·阿布达拉
IPC分类号: G06F9/30
CPC分类号: G06F9/3836 , G06F9/30043 , G06F9/3012 , G06F9/30123 , G06F9/30141 , G06F9/30189 , G06F9/3834 , G06F9/3838 , G06F9/3851 , G06F9/3855 , G06F9/3857 , G06F9/3889 , G06F9/5027 , G06F12/0875 , G06F2209/507 , G06F2212/452 , Y02D10/22
摘要: 本申请涉及用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段的技术。一种用于使用用于处理器的多个存储器片段来执行指令的系统。该系统包括:全局前端调度器,用于接收传入指令序列,其中全局前端调度器将传入指令序列分区成多个指令代码块并且生成描述在代码块的指令之间的相互依赖性的多个继承矢量。该系统还包括:处理器的多个虚拟核,被耦合用于接收全局前端调度器分配的代码块,其中每个虚拟核包括多个可分区引擎的相应资源子集,其中根据虚拟核模式并且根据相应继承矢量通过使用可分区引擎来执行代码块。多个存储器片段耦合到可分区引擎用于提供数据存储。
-
公开(公告)号:CN108027773A
公开(公告)日:2018-05-11
申请号:CN201680054500.0
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
IPC分类号: G06F12/0806 , G06F9/38
CPC分类号: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
摘要: 公开了用于使用硬件结构来控制存储器访问指令在基于块的处理器架构中的执行的装置和方法,该硬件结构指示指令块中的存储器访问指令的相对排序。在所公开的技术的一个示例中,一种执行具有多个存储器加载和/或存储器存储指令的指令块的方法包括选择下一存储器加载或者存储器存储指令,以基于被编码在块内的依赖性和对存储数据的存储向量执行,该数据指示指令块中的哪些存储器加载和存储器存储指令已经执行。可以使用存储掩码来对存储向量进行掩码。可以在对指令块译码时生成或者从指令块头部复制存储掩码。基于编码的依赖性和经掩码的存储向量,下一指令可以在它的依赖性可用时发出。
-
公开(公告)号:CN108027771A
公开(公告)日:2018-05-11
申请号:CN201680054472.2
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
IPC分类号: G06F12/0806 , G06F9/38
CPC分类号: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
摘要: 公开了与基于块的处理器核复合寄存器相关的系统、装置和方法。在所公开的技术的一个示例中,处理器可以包括多个基于块的处理器核,多个基于块的处理器核用于执行包括多个指令块的程序。相应的基于块的处理器核可以包括一个或多个可共享资源和可编程复合控制寄存器。可编程复合控制寄存器可以用于配置一个或多个可共享资源中的哪些资源与多个处理器核中的其他处理器核共享。
-
公开(公告)号:CN108027770A
公开(公告)日:2018-05-11
申请号:CN201680054462.9
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
IPC分类号: G06F12/0806 , G06F9/38
CPC分类号: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
摘要: 公开了用于使用指令译码器来控制基于块的处理器体系架构中的存储器访问指令的执行的装置和方法,该指令译码器对具有可变数目的目标操作数的指令进行译码。在所公开的技术的一个示例中,基于块的处理器核包括指令译码器,其被配置为译码用于指令块中的指令的目标操作数,该指令被编码以将可变数目的目标操作数考虑在内;以及控制单元,其被配置为发送用于由核中的至少一个核所执行的操作的译码的目标操作数中的至少一个目标操作数的数据。在一些示例中,该指令指示具有矢量编码的目标指令。在其他示例中,可变长度格式将对一个或多个目标的指示考虑在内。
-
公开(公告)号:CN108027735A
公开(公告)日:2018-05-11
申请号:CN201680054501.5
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
CPC分类号: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
摘要: 公开了用于使用生成指令块中的存储器访问指令的相对排序的硬件结构来控制基于块的处理器架构中的存储器访问指令的执行的装置和方法。在所公开的技术的一个示例中,一种执行具有多个存储器加载和/或存储器存储指令的指令块的方法包括:对编码多个存储器访问指令的指令块进行译码,并生成指示用于执行指令块中的存储器访问指令的相对次序的数据,并且至少部分地基于相对次序的数据来调度指令块的一部分的操作。在一些示例中,存储向量数据寄存器可以存储所生成的相对排序的数据以用于在指令块的后续实例中使用。
-
公开(公告)号:CN108027730A
公开(公告)日:2018-05-11
申请号:CN201680053045.2
申请日:2016-09-13
申请人: 微软技术许可有限责任公司
CPC分类号: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30138 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/3828 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
摘要: 公开了用于使在无效指令的目标字段中标识的一个或多个寄存器无效的装置和方法。在所公开的技术的一些示例中,一种装置可以包括存储器和一个或多个基于块的处理器核,其被配置为对多个指令块进行取指和执行。所述核之一可以包括控制单元,其至少部分地基于接收无效指令被配置为基于所述无效指令的目标字段,获得多个寄存器中的至少一个的寄存器标识。使与寄存器标识相关联的至少一个寄存器的写入无效。无效指令在多个指令块中的第一指令块中。基于至少一个寄存器的无效写入,执行来自不同的第二指令块的后续指令。
-
公开(公告)号:CN108027641A
公开(公告)日:2018-05-11
申请号:CN201680054903.5
申请日:2016-08-25
申请人: 高通股份有限公司
CPC分类号: G06F1/08 , G06F1/3206 , G06F1/324 , G06F1/3243 , G06F9/3824 , G06F9/3855 , G06F12/0804 , G06F12/0875 , G06F12/0897 , G06F12/12 , G06F2212/1024 , G06F2212/60 , Y02D10/126 , Y02D10/152
摘要: 响应于因高速缓冲存储器未命中所致的分派停止运作,降低处理器的时钟频率。在实施例中,倘若引发末级高速缓冲存储器未命中的加载指令为最旧加载指令及其中存在分派停止运作的连续处理器循环的数目超出阈值,且倘若自从末级高速缓冲存储器未命中以来的处理器循环的总数目不超过某一指定数目,那么针对所述加载指令降低所述处理器时钟频率。
-
公开(公告)号:CN107810481A
公开(公告)日:2018-03-16
申请号:CN201680036621.2
申请日:2016-06-23
申请人: 微软技术许可有限责任公司
IPC分类号: G06F9/38
CPC分类号: G06F9/3836 , G06F9/3802 , G06F9/381 , G06F9/3855 , G06F9/3859
摘要: 一种基于指令块的微架构中的处理器核包括控制单元,该控制单元显式地跟踪包括从指令高速缓存已经取回的当前块的年龄或优先级的指令块状态。跟踪的指令块以年龄顺序列表或优先级顺序列表维持。当指令块被控制单元识别为提交时,该列表被检查匹配,并且匹配的指令块可以被刷新而不从指令高速缓存中重新取回。如果找不到匹配,则可以基于年龄或优先级来提交和替换指令块。这种指令状态跟踪通常消耗很少的开销,并且使得指令块能够被重新使用并且错误预测的指令被跳过以提高处理器核效率。
-
-
-
-
-
-
-
-
-