-
公开(公告)号:CN114341820B
公开(公告)日:2025-02-11
申请号:CN202080061595.5
申请日:2020-06-17
Applicant: 微软技术许可有限责任公司
Inventor: V·R·克廷蒂·纳雷什 , A·佩雷斯 , R·M·艾尔·雪克 , S·普立亚达尔西
IPC: G06F12/0877 , G06F9/38
Abstract: 公开了响应于推测性数据请求,而推迟基于处理器的系统中的非推测性高速缓存存储器中的高速缓存状态更新,直到推测性数据请求变为非推测性。由数据请求引起的高速缓存存储器中的至少一个高速缓存状态的更新被推迟,直到数据请求变为非推测性。因此,高速缓存存储器中的高速缓存状态不针对由错误预测导致的请求而被更新。推迟高速缓存存储器中的高速缓存状态的更新可以包括:推迟将所接收的推测性所请求的数据存储在高速缓存存储器的主数据数组中,作为高速缓存未命中的结果,直到数据请求变为非推测性。所接收的推测性所请求的数据可以首先被存储在与高速缓存存储器相关联的推测性缓冲存储器中,并且然后如果数据请求变为非推测性,则随后被存储在主数据数组中。
-
公开(公告)号:CN114341820A
公开(公告)日:2022-04-12
申请号:CN202080061595.5
申请日:2020-06-17
Applicant: 微软技术许可有限责任公司
Inventor: V·R·克廷蒂·纳雷什 , A·佩雷斯 , R·M·艾尔·雪克 , S·普立亚达尔西
IPC: G06F12/0877 , 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的宽立即操作数替换。
-
公开(公告)号: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条目中的寄存器映射信息被遍历以撤销在中断指令之后进入流水线的较新指令或重放在中断指令之前进入流水线的较旧指令。
-
公开(公告)号:CN114207581A
公开(公告)日:2022-03-18
申请号:CN202080053068.X
申请日:2020-06-01
Applicant: 微软技术许可有限责任公司
IPC: G06F9/38
Abstract: 公开了处理器中的调度器电路中的基于时延的指令预留集群。调度器电路包括多个基于时延的预留电路,每个预留电路具有所分配的生产者指令周期时延。具有相同周期时延的生产者指令可以被聚集在相同的基于时延的预留电路中。因此,预留条目的数量分布在多个基于时延的预留电路之中以避免或者减少调度路径连接的数量和每个预留电路中的复杂度的增加,以避免或者减少调度时延中的增加。针对非集群挑选电路上的给定数量的预留条目,减少了调度路径连接,因为被用于调度每个基于时延的预留电路中的指令的信号(例如,唤醒信号、挑选信号)不必具有相同的时钟周期时延,以便不影响性能。
-
公开(公告)号:CN114008587A
公开(公告)日:2022-02-01
申请号:CN202080043032.3
申请日:2020-04-28
Applicant: 微软技术许可有限责任公司
Inventor: V·R·克廷蒂·纳雷什 , S·普立亚达尔西
IPC: G06F9/38
Abstract: 在处理器中的推测性错误预测恢复中限制基于负载的控制无关(CI)指令的重放。在错误预测恢复中,如果基于负载的CI指令消耗了基于存储的指令的被转发存储的数据,则基于负载的CI指令被指定为基于负载的CI数据依赖(CIDD)指令。在错误预测恢复期间,被重放的基于负载的CIDD指令将重新评估正确数据存储器负载的准确源,而不是消耗可能已经由可能仅存在于错误预测的指令控制流路径中的基于存储的指令转发的潜在错误数据。将基于负载的CI指令的重放仅限于所确定的基于CIDD负载的指令可以减少指令流水线中的执行延迟和功耗。
-
-
-
-
-
-
-