《应用于数字信号处理器的指令缓存器.pdf》由会员分享,可在线阅读,更多相关《应用于数字信号处理器的指令缓存器.pdf(8页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101968734A43申请公布日20110209CN101968734ACN101968734A21申请号201010507928022申请日20101012G06F9/3820060171申请人中国电子科技集团公司第三十八研究所地址230088安徽省合肥市蜀山区香樟大道199号72发明人刘小明洪一郭二辉耿锐74专利代理机构合肥金安专利事务所34114代理人金惠贞54发明名称应用于数字信号处理器的指令缓存器57摘要本发明涉及一种应用于数字信号处理器的指令缓存器,属数字信号处理器技术领域。其目的是提供一种在处理器正常运行过程中,能够有效减少清除指令流水带来的性能损失,有效提高。
2、信号处理器处理能力的应用于数字信号处理器的指令缓存器。指令缓冲器为三级缓存结构,三级缓存依次相连,每级缓存包含16个指令槽,每个指令槽存储一个32位指令字,用于支持进入缓存器的一个包含16条32位指令字的指令行;在缓存的第一和第二级允许挤除废弃的气泡行,在缓存的第三级完成指令执行行的提取、拼接和发射。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图3页CN101968734A1/1页21一种应用于数字信号处理器的指令缓存器,其特征在于所述指令缓冲器为三级缓存结构,三级缓存依次相连,每级缓存包含16个指令槽,每个指令槽存储一个32位指令字,用于支持进入缓。
3、存器的一个包含16条32位指令字的指令行;在缓存的第一和第二级允许挤除废弃的气泡行,在缓存的第三级完成指令执行行的提取、拼接和发射。2根据权利要求1所述的应用于数字信号处理器的指令缓存器,其特征在于所述每个指令行至少需要包括一个行结束标志。3根据权利要求1所述的应用于数字信号处理器的指令缓存器,其特征在于所述每条指令行包含若干个执行行,执行行之间利用指令字中携带的行结束标志分割。4根据权利要求1所述的应用于数字信号处理器的指令缓存器,其特征在于所述缓存器的第一和第二级存在无用气泡行时,若其对应的前一级被阻塞,允许挤除气泡行。5根据权利要求1所述的应用于数字信号处理器的指令缓存器,其特征在于所述。
4、缓存器在第三级残存不足一个完整执行行情况下,若第二级为中断服务首指令则允许将第三级残存指令作为废指令清除。6根据权利要求1所述的应用于数字信号处理器的指令缓存器,其特征在于所述缓存器发射出去的为一个完整的执行行,该执行行可以从第三级缓存直接提取,在第三级缓存不含完整执行行的情况下,该执行行由第三级的剩余指令和第二级的第一个执行行拼接获得。权利要求书CN101968734A1/3页3应用于数字信号处理器的指令缓存器技术领域0001本发明涉及一种应用于数字信号处理器的指令缓存器,属数字信号处理器技术领域。背景技术0002目前,数字信号处理器中的指令缓存器是存在于指令存储器和执行单元之间的一个FIF。
5、0,其作用主要在于00031缓存取指单元流水的输入输入到缓存器中的指令,保持取指单元与流水中其他执行单元的独立性,保证取指操作在执行单元停止工作时,在特定情况下仍然能够缓存指令,提高运行效率。00042引入缓存器可以不必要求指令存储器中的指令对齐存储,缓存器可以从不对齐的指令行中自动提取完整的执行行,从而节省存储空间。0005目前市场上大量采用的高端通用数字信号处理器主要有AD公司的TS20X系列和TI公司TMS320C64系列。AD公司的TS20X系列处理器的指令缓存器,包括5级流水,每级流水最多包括4个指令槽。在处理器正常运行过程中,由于某种原因清除流水时,就指令缓存而言,会有5级指令流水。
6、被清除,相对于含较少流水级的指令缓存器性能损失较大。TS20X系列处理器的指令缓存器可以同时发射1到4条32位指令,对于更高的指令总线宽度,该缓存器的结构并不十分适合。0006因此,针对不同处理器的程序控制逻辑,需引入不同结构的指令缓存器,以期最大限度的提高指令的执行效率。发明内容0007本发明所要解决的技术问题是提供一种在处理器正常运行过程中,能够有效减少清除指令流水带来的性能损失,有效提高信号处理器处理能力的应用于数字信号处理器的指令缓存器。0008其技术方案是0009一种应用于数字信号处理器的指令缓存器,其特征在于所述指令缓冲器为三级缓存结构,三级缓存依次相连,每级缓存包含16个指令槽,。
7、每个指令槽存储一个32位指令字;支持进入缓存器的为一个包含16条32位指令字的指令行;在缓存的第一和第二级允许挤除废弃的气泡行,在缓存的第三级完成指令执行行的提取、拼接和发射。0010上述每个指令行至少需要包括一个行结束标志。0011上述每条指令行包含若干个执行行,执行行之间利用指令字中携带的行结束标志分割。0012上述缓存器的第一和第二级存在无用气泡行时,若其对应的前一级被阻塞,允许挤除气泡行。0013上述缓存器在第三级残存不足一个完整执行行情况下,若第二级为中断服务首指说明书CN101968734A2/3页4令则允许将第三级残存指令作为废指令清除。0014上述缓存器发射出去的为一个完整的执。
8、行行,该执行行可以从第三级缓存直接提取,在第三级缓存不含完整执行行的情况下,该执行行由第三级的剩余指令和第二级的第一个执行行拼接获得。0015其技术效果是本发明采用三级流水结构,可以有效减少清除指令流水带来的性能损失。在前一级流水被停顿的情况下,允许挤除第一和第二级缓存中的无用气泡行,同时接受新的指令行进入指令缓存器替换原气泡行的位置,这样可以有效降低处理分支或中断等情况引入气泡行所带来的性能损失。每级指令缓存包含16个指令槽,每个指令槽存储一个32位指令字,通过行结束标志进行执行行分割,可以从第三级直接提取或从第三和第二级拼接执行行发射到下级流水,执行行包含的32位指令数从1至16条不等,有。
9、效提高信号处理器的处理能力。附图说明0016图1是本发明的结构框图;0017图2是指令行结构示意图;0018图3是32位指令字的结构示意图;0019图4指令的发射与拼接图。具体实施方式0020如图1所示,在指令缓存器所处的高性能数字信号处理器共分11级流水线,指令缓存器占其中的三级。三级缓存IAB3、IAB2和IAB1依次相连,指令行从第1级缓冲IAB3进入。0021如图2所示,指令行是数字信号处理器一个取指操作所提取的全部指令,每个指令行包括16条32位指令字,这16条指令分别用INSTRUCTION0至INSTRUCTIONF表示。每个指令行可以包括若干个执行行,执行行之间通过行结束标志分。
10、割。每个指令行至少需要包括一个行结束标志,否则,指令缓存器将无法正常工作。0022本发明一次可以发射一个执行行或者一个无用的气泡行气泡使用全0表示。执行行是数字信号处理器执行单元一次接收的全部指令。一个指令执行行可以包括1至16个有效指令字,指令行中最末一条指令包含一个行结束标志。单条指令的基本结构如图3所示,行结束标志位于指令字的最高位即第31位。如果行结束标志为1,则表示该标志所处的指令为某一执行行的最后一条指令,两个行结束标志位之间的指令构成一个完整执行行。指令缓存器中指令的发射与拼接过程如图4所示。0023指令缓存器具体工作方式如下所述0024步骤一判断IAB1中指令是否为气泡行,如果。
11、是,则下一时钟周期将IAB2和IAB3中的指令分别转移到IAB1和IAB2中,同时允许IAB3接收新指令输入。如果否,则检测IAB1中的行结束标志判断IAB1中是否至少含有一个完整的执行行。如果有,则转步骤二,如果没有,则转步骤三;0025步骤二提取完整的执行行,准备下一时钟周期将其发射到下一级流水。同时判断提取完整的执行行后IAB1中是否还有剩余指令。说明书CN101968734A3/3页50026如果有剩余指令则00271产生IAB1被阻塞标志;00282判断IAB2中缓存的是否为气泡行,如果是气泡行则允许在下一时钟周期将IAB3中的指令转移到IAB2中,用于挤除该气泡行,同时通知IAB3。
12、下一时钟周期接收新的指令输入。如果IAB2中缓存的不是气泡行则产生IAB2级阻塞标志,维持IAB2中的缓存指令不变;00293在IAB2级未被阻塞的情况下,允许IAB3下一周期接收新指令输入。否则判断IAB3中缓存的是否为气泡行,如果是,则允许下一时钟接收新指令输入用以挤除该气泡行,否则IAB3产生阻塞标志;00304下一时钟周期转步骤一。0031如果没有剩余指令,则在下一时钟周期将IAB2和IAB3中的指令分别转移到IAB1和IAB2中,同时允许IAB3接收新指令输入。0032步骤三判断IAB2中的指令是否为中断服务程序首指令,如果是,则在下一时钟周期将IAB2和IAB3中的指令分别转移到IAB1和IAB2中,原IAB1中剩余指令将作为废指令被清除。如果否,则转步骤四;0033步骤四提取IAB1中的剩余指令与IAB2中的第一个执行行,依据图4中CYCLEN和CYCLEN1所示方法拼接执行行,在下时钟周期发射出去。同时将IAB2和IAB3中的指令分别转移到IAB1和IAB2中,再转步骤一。说明书CN101968734A1/3页6图1图2说明书附图CN101968734A2/3页7图3说明书附图CN101968734A3/3页8图4说明书附图。