[发明专利]一种基于Cache的流水线的执行方法及装置有效
申请号: | 202111336298.X | 申请日: | 2021-11-12 |
公开(公告)号: | CN113778526B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 郇丹丹;赵继业;李祖松 | 申请(专利权)人: | 北京微核芯科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京北汇律师事务所 11711 | 代理人: | 毕艳红 |
地址: | 100190 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cache 流水线 执行 方法 装置 | ||
本发明提供一种基于Cache的流水线的执行方法及装置,涉及微电子领域,Cache的Data SRAM阵列内部设置有数据选择器,该方法包括:执行第一流水级,接收访存指令,进行访问地址的计算;执行第二流水级,根据访问地址确定hit信号,将hit信号进行锁存;执行第三流水级,基于锁存的hit信号,通过数据选择器从Data SRAM阵列内部选出Data Block,并将命中路的Data Block送出Data SRAM阵列;执行第四流水级,基于Data Block对应的Block Offset,获取所需数据写回。采用本发明,可以实现减少大位宽长走线通道数量、减小面积、降低访问延时的技术效果。
技术领域
本发明涉及微电子领域,尤其涉及一种基于Cache的流水线的执行方法及装置。
背景技术
在数据存储领域常用到Cache,Cache为高速缓冲存储器,位于处理器和主存储器DRAM之间,通常由SRAM组成。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复从内存中存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache主要由两部分组成,Tag部分和Data部分。Data部分用于保存一片连续地址的数据,Tag部分用于存储这片连续数据的公共地址。一个Tag和它对应的所有数据组成一行称为一个Cache Line,而Cache Line中的数据部分称为数据块(Data Block)。如果一个数据可以存储在Cache中的多个地方,这些被同一个地址找到的多个Cache Line称为Cache Set。Cache的结构如下图1所示。
Cache的组成方式分为直接映射、组相连和全相连,直接相连和和全相连可以分别看作路数为1以及路数为Cache行数的特殊的组相连组成方式。组相连的Cache如图2所示。
处理器访问存储器的地址会被分为三部分,Tag、Index和Block Offset。其中,使用Index来从Cache中找到一组Cache Line,也即是一个Cache Set;使用Tag部分来和访问地址中的Tag进行比较,只有它们是相等的,才表明这个Cache Line就是想要的那个;在一个Cache Line中有很多个数据,通过存储器地址中的Block Offset部分可以找到真正想要的数据,它可以定位到每个字节。在Cache Line中还有一个有效位(valid),用来标记CacheLine是否保存着有效的数据,只有在之前被访问过的存储器地址,它的数据才会存在对应的Cache Line中,相应的有效位也会被置为1。
在进行数据处理时,流水线是现代处理器获得高性能的重要法宝,通过流水线可以降低处理器的周期时间,从而获得更快的执行效率。计算机流水线(Pipeline)技术是目前广泛应用于微处理芯片(CPU)中的一项关键技术。流水线是将CPU的一个任务,或者说指令,分为很多个步骤完成。这样从CPU整体来看,CPU在执行上条指令的同时,又在并行地取下条指令。从具体实现上,流水线实际上是增加了寄存器用来缓存数据的输出级。
目前,参考图3a,Cache流水线的工作流程通常是:
步骤1:执行第一个流水级,接收访存指令,进行指令访问地址的计算。
步骤2:执行第二个流水级,用访问地址的Index索引读出各路的Tag SRAM,并进行Tag比较,将Tag比较后得到的hit(命中)信号锁存下来。同时用访问地址的Index索引读取Data SRAM的内容(通常为多个Data Block大小,取决于Cache的组织形式,几路组相连),并将读取的多路Data SRAM的数据也锁存下来,输出到下一流水级。
步骤3:执行第三个流水级,用存储的hit信号,选择其中一个命中路hit_way的Data Block。
步骤4:执行第四个流水级,基于Block Offset在命中的那个Data Block中选择出最终需要的数据并写回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京微核芯科技有限公司,未经北京微核芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111336298.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:工业产品外观缺陷检测方法和装置
- 下一篇:节点退出方法和区块链系统