[发明专利]一种基于AHB总线接口的低功耗指令缓存方法及装置在审
申请号: | 202010148175.2 | 申请日: | 2020-03-05 |
公开(公告)号: | CN111381881A | 公开(公告)日: | 2020-07-07 |
发明(设计)人: | 王锐;张良臣;李建军;李岳峥 | 申请(专利权)人: | 广芯微电子(广州)股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F13/16 |
代理公司: | 北京权智天下知识产权代理事务所(普通合伙) 11638 | 代理人: | 陈照辉 |
地址: | 510000 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ahb 总线接口 功耗 指令 缓存 方法 装置 | ||
本申请实施例公开了一种基于AHB总线接口的低功耗指令缓存方法及装置。本申请实施例提供的技术方案通过ICACHE中的多个WAY共用一个SRAM,在CPU发出取指令访问时,先根据上一次访问的WAY预判本次访问的WAY,并从WAY_SRAM中读取对应的WAY中的指令数据,在基于TAG_DATA和CPU访问地址确定对WAY的预判是否正确,若正确则直接返回指令数据,否则再重新读取正确的指令数据。由于指令跳转情况出现的几率较低,对WAY的预判在绝大多数情况下是准确的,在不影响ICACHE效率的情况下,ICACHE仅仅使用一块WAY_SRAM即可实现多个WAY的功能,有效降低了ICACHE运行时芯片的功耗。
技术领域
本申请实施例涉及缓存技术领域,尤其涉及一种基于AHB总线接口的低功耗指令缓存方法及装置。
背景技术
在MCU芯片中,指令缓存(ICACHE)是使用预取的方式,预判CPU后面将要反复取的指令,提前将其放到SRAM中。由于SRAM的执行速度较快,可以在单个时钟周期内完成,这样在CPU反复取此指令时,整个系统的执行效率将大大增强。
传统ICACHE的设计方法是一个WAY对应一块SRAM,多个WAY将对应多块SRAM,在CPU发起每个取指令操作时,ICACHE同时读取每个WAY对应的SRAM和TAG_SRAM,判断其是否命中和当前指令所处于哪一块WAY_SRAM中,再根据命中结果选择将已经读取出的WAY_SRAM的数据返回给CPU。
此类ICACHE虽能提高系统的执行效率,但是由于每次取指令操作都将同时读取多个WAY_SRAM,将会使MCU芯片的功耗加大。
发明内容
本申请实施例提供一种基于AHB总线接口的低功耗指令缓存方法及装置,以降低MCU芯片的功耗。
在第一方面,本申请实施例提供了一种基于AHB总线接口的低功耗指令缓存方法,包括:
响应于CPU的取指令访问,对CPU访问地址指令对应的WAY进行预判,并从WAY_SRAM读取对应WAY中的指令数据,其中多个所述WAY存储于同一所述WAY_SRAM中;
基于TAG_SRAM中读取出的TAG_DATA与CPU访问地址确定对WAY的预判是否正确;
若判断正确,直接向CPU返回所述指令数据;
若判断错误,根据TAG_DATA读取对应WAY中的指令数据,并向CPU返回所述指令数据。
进一步的,所述响应于CPU的取指令访问,对CPU访问地址指令对应的WAY进行预判,并从WAY_SRAM读取对应WAY中的指令数据,包括:
响应于CPU的取指令访问,从WAY-REG寄存器中确定上一次访问的WAY信息,所述WAY-REG寄存器记录有上一次CPU取指令访问对应的WAY信息;
基于所述WAY信息,从所述WAY_SRAM中读取对应WAY中的指令数据。
进一步的,所述若判断错误,根据TAG_DATA读取对应WAY中的指令数据,并向CPU返回所述指令数据之后,还包括:
对所述WAY-REG寄存器中记录的WAY信息进行更新。
进一步的,所述对所述WAY-REG寄存器中记录的WAY信息进行更新,包括:
基于WAY_Change_Logic,确定TAG_SRAM中读取出的TAG_DATA所对应的WAY;
基于所述WAY,对所述WAY-REG寄存器中记录的WAY信息进行更新。
进一步的,所述若判断错误,根据TAG_DATA读取对应WAY中的指令数据,并向CPU返回所述指令数据,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广芯微电子(广州)股份有限公司,未经广芯微电子(广州)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010148175.2/2.html,转载请声明来源钻瓜专利网。