-
公开(公告)号:CN114761924A
公开(公告)日:2022-07-15
申请号:CN202080083834.7
申请日:2020-11-05
Applicant: 微软技术许可有限责任公司
Inventor: T·A·萨托里乌斯 , T·P·施派尔 , M·S·麦克勒瓦伊内 , J·N·迪芬德尔费尔 , R·W·史密斯
Abstract: 公开了基于处理废弃寄存器编码指令来废弃存储在处理器中的寄存器中的值。处理器被配置为支持对读和/或写指令的执行,指令包括废弃编码,废弃编码指示其源和/或目标寄存器操作数中的一项或多项将由处理器废弃。被编码为废弃的寄存器意味着存储在这种寄存器中的数据值将不会被指令流中的后续指令使用,因此不需要保留。因此,这种寄存器可以被设置为废弃状态,使得存储在这种寄存器中的数据值可以被忽略以改进性能。作为一个示例,针对具有废弃状态的寄存器的数据值可以被忽略,并且因此不被存储在针对要被切换出的进程的保存的上下文中,从而节省了存储器并且改进了用于进程切换的处理时间。
-
公开(公告)号:CN113597597A
公开(公告)日:2021-11-02
申请号:CN202080022352.0
申请日:2020-03-09
Applicant: 微软技术许可有限责任公司
Inventor: G·古普塔 , M·S·麦克勒瓦伊内 , R·W·史密斯 , T·P·施派尔 , D·T·哈珀三世
Abstract: 示例性的基于范围(reach)的显式数据流处理器以及有关的计算机可读介质和方法。基于范围的显式数据流处理器被配置为支持执行生产者指令,生产者指令是利用旨在消耗由生产者指令所生产的值的消费者指令的显式命名来编码的。基于范围的显式数据流处理器被配置为作为处理生产者指令的结果,将可用的生产值作为显式所命名的消费者指令的输入。基于范围的显式数据流处理器支持执行生产者指令,生产者指令基于使用生产者指令作为从生产者指令的相对参考点来显式地命名消费者指令。该基于范围的显式命名架构不需要指令被分组在指令块中,以支持用于消费者指令的显式命名的固定块参考点,并且因此不被限于仅在生产者指令的同一指令块内消费者指令的显式命名。
-
公开(公告)号:CN114761924B
公开(公告)日:2025-05-09
申请号:CN202080083834.7
申请日:2020-11-05
Applicant: 微软技术许可有限责任公司
Inventor: T·A·萨托里乌斯 , T·P·施派尔 , M·S·麦克勒瓦伊内 , J·N·迪芬德尔费尔 , R·W·史密斯
Abstract: 公开了基于处理废弃寄存器编码指令来废弃存储在处理器中的寄存器中的值。处理器被配置为支持对读和/或写指令的执行,指令包括废弃编码,废弃编码指示其源和/或目标寄存器操作数中的一项或多项将由处理器废弃。被编码为废弃的寄存器意味着存储在这种寄存器中的数据值将不会被指令流中的后续指令使用,因此不需要保留。因此,这种寄存器可以被设置为废弃状态,使得存储在这种寄存器中的数据值可以被忽略以改进性能。作为一个示例,针对具有废弃状态的寄存器的数据值可以被忽略,并且因此不被存储在针对要被切换出的进程的保存的上下文中,从而节省了存储器并且改进了用于进程切换的处理时间。
-
公开(公告)号:CN116097215A
公开(公告)日:2023-05-09
申请号:CN202180056986.2
申请日:2021-05-03
Applicant: 微软技术许可有限责任公司
IPC: G06F9/38
Abstract: 本文公开了使用切片重排序缓冲器(SROB)的并行遍历来执行冲刷恢复。在一示例性实施例中,寄存器映射电路提供重命名映射表(RMT),该重命名映射表(RMT)包括表示逻辑寄存器号(LRN)到物理寄存器号(PRN)映射的RMT条目。寄存器映射电路还提供SROB,该SROB包括多个SROB切片,每个SROB切片与相应LRN相对应。每个SROB切片跟踪未提交指令,这些指令写入与该SROB切片相对应的LRN,并且按程序顺序相互维护这些指令。在检测到写入LRN的未提交指令时,寄存器映射电路在SROB切片中分配与LRN相对应的SROB切片条目。当来自目标指令的流水线冲刷发生时,寄存器映射电路基于SROB的SROB切片的并行遍历将RMT的RMT条目还原为其先前映射状态。
-
公开(公告)号:CN115398394A
公开(公告)日:2022-11-25
申请号:CN202180026027.6
申请日:2021-02-10
Applicant: 微软技术许可有限责任公司
Inventor: S·普里亚达希 , Y·C·特克曼 , R·W·史密斯 , V·R·科辛丁阿瑞什
IPC: G06F9/38
Abstract: 公开了处理器中的调度器电路中的操作数池指令预留集群。调度器电路包括多个操作数池预留电路,每个操作数池预留电路具有用于存储的指令的分配数目的源操作数,该指令必须在发出指令之前准备好。具有相同数目的源操作数但尚未准备好发布的指令可以存储在具有相同分配数目的源操作数的操作数池预留电路中。以这种方式,集群调度器电路中的多个预留条目和相关比较器电路分布在多个操作数池预留电路之中,以避免或减少每个预留电路中调度路径连接的数目和复杂性的增加。这可以避免或减少集群调度器电路中给定数目的预留条目的调度延时的增加。
-
公开(公告)号:CN114450666A
公开(公告)日:2022-05-06
申请号:CN202080065096.3
申请日:2020-06-18
Applicant: 微软技术许可有限责任公司
Abstract: 公开了实现具有可变立即值大小的立即移动指令在基于处理器的设备中的提早执行。在一个示例性实施例中,基于处理器的设备提供了一种检测立即移动指令的立即移动逻辑电路,立即移动指令包括立即值和目的地寄存器。针对频繁遇到的立即值,立即移动逻辑电路分配来自立即物理寄存器文件(IPRF)的物理寄存器,并且将与所分配的IPRF寄存器对应的IPRF标签写入到目的地寄存器的最新映射表(MRT)条目中。嵌入相同立即值的后续立即移动指令以及其他依赖的指令然后可以通过访问MRT条目来从IPRF寄存器获得立即值。附加地,PE提供频繁立即表(FIT)以用于追踪立即值的出现,并且只有在该立即值的出现计数超过FIT阈值时才针对给定立即值分配IPRF寄存器。
-
公开(公告)号:CN114430822B
公开(公告)日:2024-10-29
申请号:CN202080066451.9
申请日:2020-06-19
Applicant: 微软技术许可有限责任公司
Inventor: A·佩雷斯 , R·W·史密斯 , S·普立亚达尔西 , R·M·艾尔·雪克 , V·R·克廷蒂·纳雷什
Abstract: 基于处理器的系统中的处理器元件被配置为获取与程序二进制文件相关联的一个或多个指令,其中该一个或多个指令包括具有立即操作数的指令。处理器元件被配置为确定立即操作数是否是对宽立即操作数的引用。响应于确定立即操作数是对宽立即操作数的引用,处理器元件被配置为从程序二进制文件中的公共中间查找表(CILT)取回宽立即操作数,其中立即操作数索引CILT中的宽立即操作数。然后,处理器元件被配置为处理具有立即操作数的指令,使得立即操作数被来自CILT的宽立即操作数替换。
-
公开(公告)号:CN115668136A
公开(公告)日:2023-01-31
申请号:CN202180038871.0
申请日:2021-04-01
Applicant: 微软技术许可有限责任公司
Inventor: K·R·赛斯 , Y·C·特克曼 , R·W·史密斯 , S·普里亚达希 , V·R·科欣蒂·纳雷斯
IPC: G06F9/38
Abstract: 一种寄存器映射电路,用于通过从另一寄存器映射状态的快照遍历ROB条目,恢复与被冲刷的指令相关联的寄存器映射状态。该寄存器映射电路包括ROB控制电路、快照电路和寄存器重命名恢复电路(RRRC)。ROB控制电路将ROB条目分配给进入处理器流水线的指令,包括被分配给目标指令的目标ROB条目和被分配给其他指令的其他ROB条目。快照电路捕获重命名映射表中的逻辑寄存器到物理寄存器映射状态的快照,该重命名映射表与可以被冲刷的指令的子集相关联。如果目标指令被冲刷,RRRC将基于被分配给另一指令的ROB条目中的快照来还原与目标指令相对应的重命名映射表寄存器映射状态,并遍历介于中间的ROB条目中的寄存器映射更新。
-
公开(公告)号:CN114430822A
公开(公告)日:2022-05-03
申请号:CN202080066451.9
申请日:2020-06-19
Applicant: 微软技术许可有限责任公司
Inventor: A·佩雷斯 , R·W·史密斯 , S·普立亚达尔西 , R·M·艾尔·雪克 , V·R·克廷蒂·纳雷什
Abstract: 基于处理器的系统中的处理器元件被配置为获取与程序二进制文件相关联的一个或多个指令,其中该一个或多个指令包括具有立即操作数的指令。处理器元件被配置为确定立即操作数是否是对宽立即操作数的引用。响应于确定立即操作数是对宽立即操作数的引用,处理器元件被配置为从程序二进制文件中的公共中间查找表(CILT)取回宽立即操作数,其中立即操作数索引CILT中的宽立即操作数。然后,处理器元件被配置为处理具有立即操作数的指令,使得立即操作数被来自CILT的宽立即操作数替换。
-
公开(公告)号:CN114341804A
公开(公告)日:2022-04-12
申请号:CN202080062389.6
申请日:2020-06-17
Applicant: 微软技术许可有限责任公司
Inventor: S·普立亚达尔西 , Y·C·特克蒙 , K·R·赛思 , R·W·史密斯 , V·R·克廷蒂·纳雷什
IPC: G06F9/38
Abstract: 最小化用于处理器中的中断指令恢复的寄存器重命名映射表(RMT)状态恢复的处理器重排序缓冲器(ROB)的遍历。指令可以在处理器中乱序执行。由每个指令产生的关于逻辑寄存器到物理寄存器映射的信息按程序顺序被存储在ROB中的条目中。当流水线被无法执行的指令中断而改变程序流时,中断指令之后的所有指令可以从处理器流水线中被冲刷。将RMT的状态返回到中断指令进入流水线时存在的状态是重要的。为了响应于中断指令而恢复RMT状态,ROB条目中的寄存器映射信息被遍历以撤销在中断指令之后进入流水线的较新指令或重放在中断指令之前进入流水线的较旧指令。
-
-
-
-
-
-
-
-
-