[发明专利]操作高速缓存在审
申请号: | 201780075509.4 | 申请日: | 2017-12-05 |
公开(公告)号: | CN110050263A | 公开(公告)日: | 2019-07-23 |
发明(设计)人: | 大卫·N·萨格斯 | 申请(专利权)人: | 超威半导体公司 |
主分类号: | G06F12/0862 | 分类号: | G06F12/0862;G06F9/30 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 樊英如;邱晓敏 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高速缓存 指令 存储 高速缓存行 操作存储 解码 最大化 共享 链接 索引 标签 服务 | ||
公开了一种用于使用操作(op)高速缓存的系统和方法。所述系统和所述方法包括用于高速缓存先前解码的指令的op高速缓存。所述op高速缓存包括多个物理地编索引且加标签的指令,以允许在线程之间共享指令。通过多种方式将所述op高速缓存链接起来,以允许服务高速缓存行中的多个指令。所述op高速缓存存储在共享操作存储与立即/位移存储之间以最大化容量。
相关申请的交叉引用
本申请要求2016年12月9日提交的美国专利申请号15/374,727和2016年12月13日提交的欧洲申请号EP16203863.2的权益,所述申请以引用方式并入,如同在本文中充分地阐述。
背景技术
传统上,经由具有指令高速缓存取出和指令解码级的流水线来分派指令。与固定长度指令相比,对于高带宽多指令每周期解码,诸如x86处理器中使用的那些可变长度指令引起相当大的额外硬件复杂性。这进而需要额外的流水线级进行指令流解析和解码,并且当必须重新开始流水线时,诸如在重定向指令取出的所采取或错误预测的分支上,这些额外级消耗额外的功率并且导致增加的时延。这限制了每周期总指令带宽,从而影响性能。还导致在不做有用的工作时消耗功率的更多空闲流水线级,直到来自重定向的指令沿流水线向下传播为止。需要绕过这些额外的解码级并且使操作(op)高速缓存(OC)中的指令服务流线化。
附图说明
可以从结合附图以举例的方式给出的以下描述中获得更详细的理解,在附图中:
图1示出了根据某些实现方式的处理器的核心处理单元;
图2示出了图1的核心处理单元的op高速缓存内的op高速缓存(OC)条目;
图3示出了跨指令高速缓存行分开的指令的基本块以及op高速缓存内的多个相关联OC条目;
图4示出了指令高速缓存、分支预测和OC流水线的过程的流程图;
图5示出了op取出流水线的过程的流程图;
图6示出了OC构建流水线的过程的流程图;
图7示出了执行图4的指令高速缓存、分支预测和OC流水线的方法;
图8示出了执行图5的OC取出流水线的方法;以及
图9是可以实施一个或多个公开的实施方案的示例性装置的框图。
具体实施方式
op高速缓存(OC)是先前解码的指令、特别是已经从原始可变长度格式解码为固定长度规范格式的指令的高速缓存。代替使用传统指令高速缓存取出和指令解码流水线级,OC可以服务用于分派的指令。OC服务指令通过减小重定向流水线时延并且简化更宽的并行指令分派来改进每周期指令(IPC)计数,从而增加每周期总指令带宽。OC服务指令通过避免对重新取出和重新解码指令的需要并且通过减少流水线级在重定向时空闲的时间量来改进功率使用。OC在一组中提供多个链接以便服务高速缓存行中的任意数量的指令。OC通过物理地编索引和加标签而使得能够在线程之间共享其内容。OC通过与立即/位移存储共享op存储来最大化容量。
OC含有固定长度格式的解码的指令。因此,OC不需要确定指令边界,也不需要从字节流中拾取单独指令。在使用OC时指令不需要解码成它们的组成部分(诸如前缀;操作代码(操作码);ModRM(在操作码之后的指定基于模式(Mod)、寄存器(R)和存储器(M)变量的地址计算的字节));SIB(操作码之后的指定基于变址(S)、索引(I)和基址(B)的地址计算的字节);以及例如,立即/位移字段)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体公司,未经超威半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780075509.4/2.html,转载请声明来源钻瓜专利网。