-
公开(公告)号:CN107810477B
公开(公告)日:2021-04-23
申请号:CN201680037476.X
申请日:2016-06-23
申请人: 微软技术许可有限责任公司
摘要: 公开了用于重复使用基于块的处理器架构中的提取的和解码的指令的系统和方法。在所公开的技术的一个示例中,一种系统包括多个基于块的处理器核心和指令调度器。相应的核心能够运行程序的一个或多个指令块。指令调度器能够被配置为标识驻留在处理器核心中的第一处理器核心上并且要被再次运行的程序的给定指令块。指令调度器能够被配置为在运行中调整指令块的映射,使得在没有重新提取给定指令块的情况下,给定指令块被重新运行在第一处理器核心上。
-
公开(公告)号:CN107810482A
公开(公告)日:2018-03-16
申请号:CN201680037471.7
申请日:2016-06-23
申请人: 微软技术许可有限责任公司
IPC分类号: G06F9/38
CPC分类号: G06F9/3802 , G06F9/3836 , G06F9/3853 , G06F12/0875 , G06F2212/452
摘要: 基于指令块的微架构中的处理器内核包括控制单元,控制单元通过同时提取指令块和包括控制位及操作数的相关联的资源,来以批量方式将指令分配到指令窗口中。这样的批量分配通过在执行期间在块中的所有指令上实施一致的管理和策略实施方式来支持处理器内核操作的效率提高。例如,当指令块自行向后分支时,它可以在刷新过程中被重新使用,而不是从指令高速缓存中被重新提取。由于该指令块的所有资源都位于一个地方,所以指令可以保持在合适的位置,并且只需要清除有效位。批量分配还支持通过块中的指令进行操作数共享以及指令之间显式的消息传递。
-
公开(公告)号:CN107810476A
公开(公告)日:2018-03-16
申请号:CN201680037470.2
申请日:2016-06-23
申请人: 微软技术许可有限责任公司
IPC分类号: G06F9/30 , G06F9/38 , G06F12/0842 , G06F12/0875 , G06F15/80
摘要: 一种基于指令块的微架构中的处理器内核被配置为使得指令窗口和操作数缓冲区被解耦合以进行独立地操作,其中块中的指令不与资源(诸如被维持在操作数缓冲区中的控制位和操作数)严格地绑定。相反,在块和资源中的指令之间建立指针,使得可以通过跟随这些指针来为经刷新的指令块(即,被重新使用而不从指令高速缓存重新提取的指令块)建立控制状态。指令窗口与操作数空间的这种解耦合可以提供更高的处理器效率,特别是在利用刷新的多核心阵列中(例如,当执行使用紧密的循环的程序代码时),因为操作数和控制位被预验证。
-
公开(公告)号:CN107787480A
公开(公告)日:2018-03-09
申请号:CN201680036067.8
申请日:2016-06-23
申请人: 微软技术许可有限责任公司
IPC分类号: G06F9/38
CPC分类号: G06F9/3802 , G06F9/3814 , G06F9/3853
摘要: 提供了一种方法,其包括提取关于指令组的信息,其中该指令组被配置为由处理器原子地执行,所述信息包括用于关于该指令组的信息的编码格式。该方法还包括处理编码格式以解释关于该指令组的信息。
-
公开(公告)号:CN105393242A
公开(公告)日:2016-03-09
申请号:CN201480031262.2
申请日:2014-05-28
申请人: 微软技术许可有限责任公司
IPC分类号: G06F15/78 , G06F9/38 , G06F9/30 , G06F15/173
CPC分类号: G06F15/803 , G06F9/30076 , G06F9/3828 , G06F9/3891 , G06F15/7892 , G06F15/8023
摘要: 一个或多个处理器核内布置的功能单元使用共享旁路网络和交换网络两者在通信上耦合。在交换网络允许其中功能单元被配置为空间阵列的专用处理的同时,共享旁路网络允许功能单元能被常规地操作用于通用处理。在空间阵列配置中,一个功能单元所产生的操作数可以仅被发送至功能单元中依赖指令已经先验地被映射至的一个子集。功能单元可以在运行时被动态地重配置以便在于通用配置中操作以及作为空间阵列操作之间切换。用于控制在各操作配置间切换的信息可以在功能单元所接收的指令中被提供。
-
公开(公告)号:CN107810485A
公开(公告)日:2018-03-16
申请号:CN201680037772.X
申请日:2016-06-23
申请人: 微软技术许可有限责任公司
IPC分类号: G06F9/38
CPC分类号: G06F9/3802 , G06F9/30043 , G06F9/30076 , G06F9/30101 , G06F9/30145 , G06F9/38 , G06F9/3806
摘要: 提供了一种方法,该方法包括提取指令组,其中该指令组被配置为由处理器原子地执行。该方法还包括解码第一指令或第二指令中的至少一个,其中:(1)解码第一指令导致对关于指令组的信息的处理,该关于指令组的信息包括关于指令组的大小的信息,以及(2)解码第二指令导致对以下其中的至少一项的处理:(a)对具有关于指令组的信息的存储器位置的引用,所述关于指令组的信息包括关于指令组的大小的信息,或者(b)具有关于指令组的信息的处理器状态字,所述关于指令组的信息包括关于指令组的大小的信息。
-
公开(公告)号:CN107810477A
公开(公告)日:2018-03-16
申请号:CN201680037476.X
申请日:2016-06-23
申请人: 微软技术许可有限责任公司
CPC分类号: G06F9/30181 , G06F8/443 , G06F8/445 , G06F8/452 , G06F9/30065 , G06F9/381 , G06F9/382 , G06F9/3836 , G06F9/3891 , G06F9/5061 , G06F9/5066
摘要: 公开了用于重复使用基于块的处理器架构中的提取的和解码的指令的系统和方法。在所公开的技术的一个示例中,一种系统包括多个基于块的处理器核心和指令调度器。相应的核心能够运行程序的一个或多个指令块。指令调度器能够被配置为标识驻留在处理器核心中的第一处理器核心上并且要被再次运行的程序的给定指令块。指令调度器能够被配置为在运行中调整指令块的映射,使得在没有重新提取给定指令块的情况下,给定指令块被重新运行在第一处理器核心上。
-
公开(公告)号:CN107771318B
公开(公告)日:2021-11-19
申请号:CN201680036642.4
申请日:2016-06-23
申请人: 微软技术许可有限责任公司
IPC分类号: G06F9/38
摘要: 一种基于指令块的微架构中的处理器核利用具有头部的指令块,所述首部包括到可以使用存储器、寄存器、逻辑、或代码流中的一种来表达的大小表的索引。处理器核中的控制单元基于从大小表中指示的块大小来确定为当前指令块取回多少指令以映射到指令窗口。由于指令块大小对于给定的程序通常是不均匀分布的,与指令块具有固定大小或以较少粒度来调整大小的布置相比,大小表的利用使能指令块与指令窗口中可用槽大小的匹配更为灵活。这样的灵活性使能更密集的指令封装,这通过减少给定指令块中的无操作的数量(无操作,诸如空函数)来提高整体处理效率。
-
-
公开(公告)号:CN105393242B
公开(公告)日:2019-04-23
申请号:CN201480031262.2
申请日:2014-05-28
申请人: 微软技术许可有限责任公司
IPC分类号: G06F15/78 , G06F9/38 , G06F9/30 , G06F15/173
摘要: 一个或多个处理器核内布置的功能单元使用共享旁路网络和交换网络两者在通信上耦合。在交换网络允许其中功能单元被配置为空间阵列的专用处理的同时,共享旁路网络允许功能单元能被常规地操作用于通用处理。在空间阵列配置中,一个功能单元所产生的操作数可以仅被发送至功能单元中依赖指令已经先验地被映射至的一个子集。功能单元可以在运行时被动态地重配置以便在于通用配置中操作以及作为空间阵列操作之间切换。用于控制在各操作配置间切换的信息可以在功能单元所接收的指令中被提供。
-
-
-
-
-
-
-
-
-