[发明专利]一种指令缓存的管理方法和处理器有效
申请号: | 201310269557.0 | 申请日: | 2013-06-28 |
公开(公告)号: | CN104252425B | 公开(公告)日: | 2017-07-28 |
发明(设计)人: | 郭旭斌;侯锐;冯煜晶;苏东锋 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 缓存 管理 方法 处理器 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种指令缓存的管理方法和处理器。
背景技术
CPU(Central Processing Unit,中央处理机)缓存(Cache Memory)是位于CPU与内存之间的临时存储器,容量比内存小得多,解决了CPU运算速度与内存读写速度不匹配的矛盾,加快了CPU的读取速度。
在多线程处理器中,多个硬件线程从同一块I-Cache(指令缓存)中获取指令,当I-Cache中不存在所要获取的指令时,在向下一级Cache发送缺失请求的同时,切换到其他硬件线程访问I-Cache继续取指,减少了流水线由于I-Cache缺失所导致的停顿,提高了流水线效率。但是由于每个硬件线程分到的共享I-Cache资源不足时,I-Cache缺失率增大,I-Cache发往下一级Cache的缺失请求会频繁发生,且从下一级Cache取回指令回填时,在线程数据增多时,会导致填入的指令所在的Cache行立即填入到缺失的I-Cache中不会立即用到,而替换出的Cache行反而有可能被再次使用。
另外,在根据Cache命中情况来调整Thread(线程)的调度策略时,会尽量在一段时间内保证优先调度访存指令在Cache中命中率高的线程,但是对于每个硬件线程分到的共享I-Cache资源不足的问题并没有得到改善。
发明内容
本发明的实施例提供一种指令缓存的管理方法和处理器,能够扩大硬件线程的指令缓存容量,降低指令缓存的缺失率,提高系统性能。
为达到上述目的,本发明的实施例采用如下技术方案
第一方面,提供一种处理器,其特征在于,包括程序计数器、寄存器堆、指令预取部件、指令译码部件、指令发射部件、地址生成单元、算术逻辑单元、共享浮点单元、数据缓存以及内部总线,还包括:
共享指令缓存,用于存储所有硬件线程的共享指令,包括标签存储阵列和数据存储阵列,所述标签存储阵列用于存储标签,所述数据存储阵列包括存储的指令和硬件线程标识,所述硬件线程标识用于识别所述共享指令缓存中的缓存行对应的硬件线程;
私有指令缓存,用于存储从所述共享指令缓存中替换出的指令缓存行,所述私有指令缓存与所述硬件线程一一对应;
缺失缓存,用于当所述共享指令缓存中不存在所取指令时,将从所述共享指令缓存的下一级缓存中取回的缓存行保存在所述硬件线程的缺失缓存中,在所述所取指令对应的硬件线程取指时,将所述缺失缓存器中的缓存行回填至所述共享指令缓存中,所述缺失缓存与所述硬件线程一一对应。
结合第一方面,在第一方面的第一种可能实现的方式中,还包括:
标签比较逻辑,用于当所述硬件线程取指时,将所述硬件线程对应的私有指令缓存中的标签与翻译后援缓冲器转换的物理地址进行比较,将所述私有指令缓存与所述标签比较逻辑相连,以使得所述硬件线程在访问所述共享指令缓存的同时访问所述私有指令缓存。
结合第一方面的第一种可能实现的方式,在第二种可能实现的方式中,所述处理器为多线程处理器,所述私有指令缓存的结构为全相联结构,所述全相联结构为主存储器中的任意一块指令缓存映射所述私有指令缓存中的任意一块指令缓存。
结合第一方面的第二种可能实现的方式,在第三种可能实现的方式中,所述共享指令缓存、私有指令缓存和所述缺失缓存为静态存储芯片或动态存储芯片。
第二方面,提供一种指令缓存的管理方法,包括:
当处理器的硬件线程在从指令缓存中获取指令时,同时访问所述指令缓存中的共享指令缓存和所述硬件线程对应的私有指令缓存;
确定所述共享指令缓存和所述硬件线程对应的私有指令缓存是否存在所述指令,并根据判断结果从所述共享指令缓存或所述硬件线程对应的私有指令缓存中获取所述指令。
结合第二方面,在第二方面的第一种可能实现的方式中,所述共享指令缓存包括标签存储阵列和数据存储阵列,所述标签存储阵列用于存储标签,所述数据存储阵列包括存储的指令和硬件线程标识,所述硬件线程标识用于识别所述共享指令缓存中的缓存行对应的硬件线程;
所述私有指令缓存的结构为全相联结构,所述全相联结构为主存储器中的任意一块指令缓存映射所述私有指令缓存中的任意一块指令缓存,所述私有指令缓存与所述硬件线程一一对应。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310269557.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高精度激光焊接机剪刃
- 下一篇:高压钠灯电子镇流器