[发明专利]提供预测指令调度节流以防止基于无序处理器(OOP)的设备中的资源溢出有效
| 申请号: | 201980063221.4 | 申请日: | 2019-09-26 |
| 公开(公告)号: | CN112789594B | 公开(公告)日: | 2022-05-31 |
| 发明(设计)人: | L·R-F·许;V·R·克廷蒂·纳雷什;G·M·赖特 | 申请(专利权)人: | 高通股份有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 张昊 |
| 地址: | 美国加利*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 提供 预测 指令 调度 节流 防止 基于 无序 处理器 oop 设备 中的 资源 溢出 | ||
本公开提供了预测指令调度节流以防止基于无序处理器(OOP)的设备中的资源溢出。关于这点,基于OOP的设备包括可被指令消耗或以其他方式占用的系统资源以及包括解码级和调度级的执行管道。OOP还维护运行计数和资源使用阈值。在接收到指令块时,解码级提取代理值,该代理值指示指令块内将消耗系统资源的指令的近似预测计数。然后,解码级按代理值使运行计数递增。调度级在调度任何较新的指令块之前,将运行计数与资源使用阈值进行比较。如果运行计数超过资源使用阈值,调度级阻止对较新指令块的调度,直到运行计数不再超过资源使用阈值。
本专利申请要求于2018年9月27日提交的标题为“PROVIDING PREDICTIVEINSTRUCTION DISPATCH THROTTLING TO PREVENT RESOURCE OVERFLOWS IN OUT-OF-ORDERPROCESSOR(OOP)-BASED DEVICES”的非临时申请第16/143,883号的优先权,转让给本申请的受让人并在此通过引用明确引入本文。
技术领域
本发明的技术总体上涉及基于无序处理器(OOP)的设备,具体涉及避免由基于OOP的设备中的资源溢出引起的指令刷新。
背景技术
无序处理器(OOP)是一种计算机处理器,其能够按照由每个指令的输入操作数的可用性确定的顺序来执行计算机程序指令,而不考虑正在执行的计算机程序中的指令出现顺序。通过无序地调度和执行指令,OOP可充分利用处理器时钟周期,否则这些处理器时钟周期将在OOP等待数据访问操作完成时浪费掉。基于OOP的设备的一种实施方式在这里被称为“块原子架构”,其中计算机程序被细分为指令块,每个指令块都包括原子地提交为组的多个指令。可缓冲每个指令块内的加载指令和存储指令,直到完成指令块的执行,此时所有的加载指令和存储指令都被提交到一起。
一些常规OOP还包括一个或多个系统资源(例如,队列或数据结构,作为非限制性示例),这些资源可被按有序解码和发布但被无序调度的指令占用或以其他方式被消耗。这种系统资源通常与OOP的调度级和/或OOP的后续资源释放级解耦,使得没有机制将系统资源的占用状态通信到相关级。因此,OOP必须被设计为处理或避免系统资源被完全占用而导致的“资源溢出”。
减少资源溢出发生的一种极端设计方法是:将系统资源提供得如此大,从而实际上保证系统资源永远不会被完全占用。然而,这种方法在OOP内的功耗和物理空间方面通常是非常昂贵的。备选地,可以为大多数用例配置足够大的系统资源,并且如果系统资源暂时被完全占用,OOP可被配置为暂缓指令的处理。然而,由于指令可能出现无序处理,因此系统资源可能完全被阻止较旧指令前进的较新指令占用,从而引发死锁。在这种情况下,OOP必须进行执行管道的“资源溢出刷新(resource overflow flush)”,这会对整个系统性能产生负面影响。此外,虽然可以在系统资源和OOP的调度级之间提供通信路径来提供关于系统资源占用状态的反馈,但是直到已由调度级调度指令之后,用于防止资源溢出的相关信息才可用。因此,期望一种用于在基于OOP的设备中调节指令调度以防止资源溢出的机制。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980063221.4/2.html,转载请声明来源钻瓜专利网。





