[发明专利]应用于数字信号处理器的指令缓存器有效
申请号: | 201010507928.0 | 申请日: | 2010-10-12 |
公开(公告)号: | CN101968734A | 公开(公告)日: | 2011-02-09 |
发明(设计)人: | 刘小明;洪一;郭二辉;耿锐 | 申请(专利权)人: | 中国电子科技集团公司第三十八研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 合肥金安专利事务所 34114 | 代理人: | 金惠贞 |
地址: | 230088 安徽*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用于 数字信号 处理器 指令 缓存 | ||
技术领域
本发明涉及一种应用于数字信号处理器的指令缓存器,属数字信号处理器技术领域。
背景技术
目前,数字信号处理器中的指令缓存器是存在于指令存储器和执行单元之间的一个FIF0,其作用主要在于:
1.缓存取指单元流水的输入(输入到缓存器中的指令),保持取指单元与流水中其他执行单元的独立性,保证取指操作在执行单元停止工作时,在特定情况下仍然能够缓存指令,提高运行效率。
2.引入缓存器可以不必要求指令存储器中的指令对齐存储,缓存器可以从不对齐的指令行中自动提取完整的执行行,从而节省存储空间。
目前市场上大量采用的高端通用数字信号处理器主要有AD公司的TS20X系列和TI公司TMS320C64系列。AD公司的TS20X系列处理器的指令缓存器,包括5级流水,每级流水最多包括4个指令槽。在处理器正常运行过程中,由于某种原因清除流水时,就指令缓存而言,会有5级指令流水被清除,相对于含较少流水级的指令缓存器性能损失较大。TS20X系列处理器的指令缓存器可以同时发射1到4条32位指令,对于更高的指令总线宽度,该缓存器的结构并不十分适合。
因此,针对不同处理器的程序控制逻辑,需引入不同结构的指令缓存器,以期最大限度的提高指令的执行效率。
发明内容
本发明所要解决的技术问题是:提供一种在处理器正常运行过程中,能够有效减少清除指令流水带来的性能损失,有效提高信号处理器处理能力的应用于数字信号处理器的指令缓存器。
其技术方案是:
一种应用于数字信号处理器的指令缓存器,其特征在于:所述指令缓冲器为三级缓存结构,三级缓存依次相连,每级缓存包含16个指令槽,每个指令槽存储一个32位指令字;支持进入缓存器的为一个包含16条32位指令字的指令行;在缓存的第一和第二级允许挤除废弃的气泡行,在缓存的第三级完成指令执行行的提取、拼接和发射。
上述每个指令行至少需要包括一个行结束标志。
上述每条指令行包含若干个执行行,执行行之间利用指令字中携带的行结束标志分割。
上述缓存器的第一和第二级存在无用气泡行时,若其对应的前一级被阻塞,允许挤除气泡行。
上述缓存器在第三级残存不足一个完整执行行情况下,若第二级为中断服务首指令则允许将第三级残存指令作为废指令清除。
上述缓存器发射出去的为一个完整的执行行,该执行行可以从第三级缓存直接提取,在第三级缓存不含完整执行行的情况下,该执行行由第三级的剩余指令和第二级的第一个执行行拼接获得。
其技术效果是:本发明采用三级流水结构,可以有效减少清除指令流水带来的性能损失。在前一级流水被停顿的情况下,允许挤除第一和第二级缓存中的无用气泡行,同时接受新的指令行进入指令缓存器替换原气泡行的位置,这样可以有效降低处理分支或中断等情况引入气泡行所带来的性能损失。每级指令缓存包含16个指令槽,每个指令槽存储一个32位指令字,通过行结束标志进行执行行分割,可以从第三级直接提取或从第三和第二级拼接执行行发射到下级流水,执行行包含的32位指令数从1至16条不等,有效提高信号处理器的处理能力。
附图说明
图1是本发明的结构框图;
图2是指令行结构示意图;
图3是32位指令字的结构示意图;
图4指令的发射与拼接图。
具体实施方式
如图1所示,在指令缓存器所处的高性能数字信号处理器共分11级流水线,指令缓存器占其中的三级。三级缓存IAB3、IAB2和IAB1依次相连,指令行从第1级缓冲IAB3进入。
如图2所示,指令行是数字信号处理器一个取指操作所提取的全部指令,每个指令行包括16条32位指令字,这16条指令分别用instruction0至instructionf表示。每个指令行可以包括若干个执行行,执行行之间通过行结束标志分割。每个指令行至少需要包括一个行结束标志,否则,指令缓存器将无法正常工作。
本发明一次可以发射一个执行行或者一个无用的气泡行(气泡使用全0表示)。执行行是数字信号处理器执行单元一次接收的全部指令。一个指令执行行可以包括1至16个有效指令字,指令行中最末一条指令包含一个行结束标志。单条指令的基本结构如图3所示,行结束标志位于指令字的最高位即第31位。如果行结束标志为1,则表示该标志所处的指令为某一执行行的最后一条指令,两个行结束标志位之间的指令构成一个完整执行行。指令缓存器中指令的发射与拼接过程如图4所示。
指令缓存器具体工作方式如下所述:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十八研究所,未经中国电子科技集团公司第三十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010507928.0/2.html,转载请声明来源钻瓜专利网。