[发明专利]片内缓存方法及装置有效
申请号: | 201210201491.7 | 申请日: | 2012-06-18 |
公开(公告)号: | CN103513961B | 公开(公告)日: | 2017-07-11 |
发明(设计)人: | 殷俊杰 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 余刚,梁丽超 |
地址: | 518057 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 方法 装置 | ||
技术领域
本发明涉及通信领域,具体而言,涉及一种片内缓存方法及装置。
背景技术
在数字电路的算法设计中,经常会遇到大规模的迭代计算,为了节约硬件资源,迭代变量经常会存放在具有较大固定延迟的片外存储器件(例如,QDR存储器件)中,但是,这个时候会遇到这样的问题:对于同一组靠得比较近的两次迭代运算,当前迭代计算需要运用上次迭代变量的计算结果作为当前迭代计算的输入,而上次迭代变量的计算结果还来不及从片外存储器中读出或者还来不及写入到片外存储器中,此时,如果当前迭代计算采用读取片外存储器的方式来获取上次迭代变量的计算结果,则会导致迭代计算的错误。
对于单组迭代计算的情况,目前技术人员常用的做法是将上次迭代变量的计算结果用片内缓存装置存储起来,后续的迭代计算可以直接读取此片内缓存装置中的值作为当前迭代计算的输入,而不用从片外存储器件中读取上次迭代变量的计算结果。
但是,在实际电路设计中,一般遇到的情况是多组迭代计算交叉进行,同时,为了对迭代计算进行加速,技术人员往往采用流水线的设计,这个时候,需要对片内缓存装置做许多特定的标识,设计起来往往很繁琐,既容易出错也需要大量的硬件资源开销。
针对相关技术中至少之一的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种片内缓存方法及装置,以至少解决相关技术中片内缓存容易出错、硬件资源开销大的问题。
根据本发明的一个方面,提供了一种片内缓存方法,其包括:迭代计算的流水线在预设时隙启动;按照预设周期将迭代计算的各级流水线的迭代变量结果移位寄存到片内缓存中,其中,预设时隙的间隔周期为预设周期的整数倍。
优选地,按照预设周期将迭代计算的各级流水线的迭代变量结果移位寄存到片内缓存中,同时,将迭代计算的各级流水线的迭代变量结果写入到主存储器件中。
优选地,方法还包括:迭代计算的流水线在预设时隙启动后,获取与当前流水线相对应的索引值,其中,索引值用于指示是否需要从片内缓存中获取当前迭代变量的输入值;根据索引值的指示获取当前迭代变量的输入值进行迭代计算。
优选地,获取与当前流水线相对应的索引值包括:将当前流水线变量寄存器的组号依次与其他级处于计算状态的流水线变量寄存器的组号进行比对,获取与当前流水线变量寄存器的组号相同的流水线变量寄存器;根据当前流水线变量寄存器的级数与获取的流水线变量寄存器的级数之间的级数差生成索引值。
优选地,根据索引值的指示获取当前迭代变量的输入值进行迭代计算包括:在索引值为零时,从主存储器件中获取当前迭代变量的输入值进行迭代计算;或者在索引值不为零时,从片内缓存装置中获取当前迭代变量的输入值进行迭代计算。
优选地,从片内缓存装置中获取当前迭代变量的输入值进行迭代计算包括:根据当前流水线变量寄存器的级数和索引值获取当前迭代变量的输入值在片内缓存装置中的存储地址;根据存储地址获取当前迭代变量的输入值进行迭代计算。
优选地,预设周期为迭代计算的流水线周期。
根据本发明的另一方面,提供了一种片内缓存装置,包其括:启动模块,用于在预设时隙启动迭代计算的流水线;存储模块,用于按照预设周期将迭代计算的各级流水线的迭代变量结果移位寄存到片内缓存中,其中,预设时隙的间隔周期为预设周期的整数倍。
优选地,上述片内缓存装置还包括:获取模块,用于在迭代计算的流水线在预设时隙启动后,获取与当前流水线相对应的索引值,其中,索引值用于指示是否需要从片内缓存中获取当前迭代变量的输入值;计算模块,用于根据索引值的指示获取当前迭代变量的输入值进行迭代计算。
优选地,获取模块包括:获取单元,用于将当前流水线变量寄存器的组号依次与其他级处于计算状态的流水线变量寄存器的组号进行比对,获取与当前流水线变量寄存器的组号相同的流水线变量寄存器;生成单元,用于根据当前流水线变量寄存器的级数与获取的流水线变量寄存器的级数之间的级数差生成索引值。
优选地,计算模块包括:第一计算单元,用于在索引值为零时,从主存储器件中获取当前迭代变量的输入值进行迭代计算;或者第二计算单元,用于在索引值不为零时,从片内缓存装置中获取当前迭代变量的输入值进行迭代计算。
优选地,第二计算单元包括:获取子单元,用于根据当前流水线变量寄存器的级数和索引值获取当前迭代变量的输入值在片内缓存装置中的存储地址;计算子单元,用于根据存储地址获取当前迭代变量的输入值进行迭代计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210201491.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:浅沟槽隔离结构制备方法
- 下一篇:用于操作媒体接口以提供双向通信的方法和装置