[发明专利]一种指令处理装置、处理器及其处理方法在审
申请号: | 201910912615.4 | 申请日: | 2019-09-25 |
公开(公告)号: | CN112559048A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 刘畅;张如琴 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京思睿峰知识产权代理有限公司 11396 | 代理人: | 谢建云;赵爱军 |
地址: | 开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 处理 装置 处理器 及其 方法 | ||
本发明公开了一种指令处理装置,包括:指令读取和译码单元、指令调度单元、指令执行单元和指令退休单元。指令读取和译码单元读取指令并对所读取的指令进行译码,并缓存所读取和/或译码的指令。指令调度单元接收已译码的指令并缓存,并将所接收的指令发射到指令执行单元来执行。指令执行单元接收从指令调度单元发射过来的指令并执行指令。指令退休单元缓存指令执行单元完成执行的指令并退休这些指令。其中指令包括推测执行指令和推测条件判断指令。推测执行指令为假定推测条件正确时要执行的指令,以及当推测条件判断指令在指令执行单元中执行的结果指示推测条件错误时:指示指令读取和译码单元清除所缓存的读取和/或译码的指令;并在退休推测条件判断指令之后,指示指令调度单元清除所缓存的指令;以及在比推测条件判断指令老的指令执行完成并退休了之后,指示指令执行单元清除其中执行的指令,并清除指令退休单元中缓存的指令。本发明还公开了在指令处理装置中执行的指令处理方法以及包括这个指令处理装置的片上系统。
技术领域
本发明涉及处理器领域,尤其涉及进行推测执行的处理器核心和处理器。
背景技术
现代的处理器或者处理器核心以流水线的方式来处理指令。典型的流水线通常包括取指令、指令译码、指令调度、指令执行和指令退休等各个流水线阶段。在现在多发射的高性能处理器中,在指令译码阶段,可以在同一个时钟周期内对多条指令进行顺序译码,然后在指令调度阶段,对顺序译码的指令根据指令类型和流水线下游的指令执行状态,将指令乱序发射到各个指令执行阶段,从而在指令执行阶段同时执行多条指令。最后,在指令退休阶段,对执行完成的指令顺序退出,从而完成一条指令在处理器中的执行。
为了提升处理器核心的性能,在处理器核心中会采用推测执行(也称为投机执行)的方法,即允许处理器根据先前执行情况等信息,在取指令阶段就假定存在某个推测前提(例如跳转分支指令的跳转目标),读取在这个推测前提下的后续指令进行投机执行,这意味着处理器可以在更老的指令执行完成之前,提前执行更新的指令。如果更老的指令没有发生投机失败,那么新指令的执行结果就是有效的。这种方式可以有效提升处理器的性能。
另外,为了进一步提升处理器核心的性能,如果认为更老的指令不会产生投机失败,处理器可以在指令执行完成之前,提前提交指令的执行结果(即,将未来产生的执行结果提前标记为已提交)。这意味着在指令执行和指令退休阶段,存在提前退休的指令。提前退休的指令会在执行结果产生之后被立刻提交并退休。
然而,一旦出现了推测失败(即投机失败),那么投机执行的指令就是在错误路径上的指令,它们的执行结果是无效的,应当被清除。在现有的处理器设计方案中,需要等待执行推测条件判断的指令(例如,跳转分支指令)退休,然后等待提前退休的指令执行完毕后,才可以清空流水线,并向正确路径发起取指请求。这种传统方式会导致正确路径的取指请求较晚发出,延后正确路径的指令执行时间,进而降低处理器在投机失败场景下的性能。
因此,需要一种新的处理器流水线方案,可以在投机失败时较快发出对正确路径的取值请求,以加快在正确路径上的指令执行速度,从而提高处理器的性能。
发明内容
为此,本发明提供了一种新的指令处理装置、处理器和指令处理方法,以力图解决或者至少缓解上面存在的至少一个问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910912615.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种检测票证冒充行为的方法及装置
- 下一篇:一种充气量的控制方法及系统