应用于数字信号处理器的指令缓存器.pdf

上传人:1** 文档编号:1282564 上传时间:2018-04-12 格式:PDF 页数:8 大小:399.67KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010507928.0

申请日:

2010.10.12

公开号:

CN101968734A

公开日:

2011.02.09

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/38申请日:20101012|||公开

IPC分类号:

G06F9/38

主分类号:

G06F9/38

申请人:

中国电子科技集团公司第三十八研究所

发明人:

刘小明; 洪一; 郭二辉; 耿锐

地址:

230088 安徽省合肥市蜀山区香樟大道199号

优先权:

专利代理机构:

合肥金安专利事务所 34114

代理人:

金惠贞

PDF下载: PDF下载
内容摘要

本发明涉及一种应用于数字信号处理器的指令缓存器,属数字信号处理器技术领域。其目的是提供一种在处理器正常运行过程中,能够有效减少清除指令流水带来的性能损失,有效提高信号处理器处理能力的应用于数字信号处理器的指令缓存器。指令缓冲器为三级缓存结构,三级缓存依次相连,每级缓存包含16个指令槽,每个指令槽存储一个32位指令字,用于支持进入缓存器的一个包含16条32位指令字的指令行;在缓存的第一和第二级允许挤除废弃的气泡行,在缓存的第三级完成指令执行行的提取、拼接和发射。

权利要求书

1: 一种应用于数字信号处理器的指令缓存器, 其特征在于 : 所述指令缓冲器为三级缓 存结构, 三级缓存依次相连, 每级缓存包含 16 个指令槽, 每个指令槽存储一个 32 位指令字, 用于支持进入缓存器的一个包含 16 条 32 位指令字的指令行 ; 在缓存的第一和第二级允许 挤除废弃的气泡行, 在缓存的第三级完成指令执行行的提取、 拼接和发射。
2: 根据权利要求 1 所述的应用于数字信号处理器的指令缓存器, 其特征在于 : 所述每 个指令行至少需要包括一个行结束标志。
3: 根据权利要求 1 所述的应用于数字信号处理器的指令缓存器, 其特征在于 : 所述每 条指令行包含若干个执行行, 执行行之间利用指令字中携带的行结束标志分割。
4: 根据权利要求 1 所述的应用于数字信号处理器的指令缓存器, 其特征在于 : 所述缓 存器的第一和第二级存在无用气泡行时, 若其对应的前一级被阻塞, 允许挤除气泡行。
5: 根据权利要求 1 所述的应用于数字信号处理器的指令缓存器, 其特征在于 : 所述缓 存器在第三级残存不足一个完整执行行情况下, 若第二级为中断服务首指令则允许将第三 级残存指令作为废指令清除。
6: 根据权利要求 1 所述的应用于数字信号处理器的指令缓存器, 其特征在于 : 所述缓 存器发射出去的为一个完整的执行行, 该执行行可以从第三级缓存直接提取, 在第三级缓 存不含完整执行行的情况下, 该执行行由第三级的剩余指令和第二级的第一个执行行拼接 获得。

说明书


应用于数字信号处理器的指令缓存器

    【技术领域】
     本发明涉及一种应用于数字信号处理器的指令缓存器, 属数字信号处理器技术领域。 背景技术 目前, 数字信号处理器中的指令缓存器是存在于指令存储器和执行单元之间的一 个 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 所示。
     指令缓存器具体工作方式如下所述 :
     步骤一 : 判断 IAB1 中指令是否为气泡行, 如果是, 则下一时钟周期将 IAB2 和 IAB3 中的指令分别转移到 IAB1 和 IAB2 中, 同时允许 IAB3 接收新指令输入。 如果否, 则检测 IAB1 中的行结束标志判断 IAB1 中是否至少含有一个完整的执行行。如果有, 则转步骤二, 如果 没有, 则转步骤三 ;
     步骤二 : 提取完整的执行行, 准备下一时钟周期将其发射到下一级流水。 同时判断 提取完整的执行行后 IAB1 中是否还有剩余指令。如果有剩余指令则 :
     1. 产生 IAB1 被阻塞标志 ;
     2. 判断 IAB2 中缓存的是否为气泡行, 如果是气泡行则允许在下一时钟周期将 IAB3 中的指令转移到 IAB2 中, 用于挤除该气泡行, 同时通知 IAB3 下一时钟周期接收新的指 令输入。如果 IAB2 中缓存的不是气泡行则产生 IAB2 级阻塞标志, 维持 IAB2 中的缓存指令 不变 ;
     3. 在 IAB2 级未被阻塞的情况下, 允许 IAB3 下一周期接收新指令输入。否则判断 IAB3 中缓存的是否为气泡行, 如果是, 则允许下一时钟接收新指令输入用以挤除该气泡行, 否则 IAB3 产生阻塞标志 ;
     4. 下一时钟周期转步骤一。
     如果没有剩余指令, 则在下一时钟周期将 IAB2 和 IAB3 中的指令分别转移到 IAB1 和 IAB2 中, 同时允许 IAB3 接收新指令输入。
     步骤三 : 判断 IAB2 中的指令是否为中断服务程序首指令, 如果是, 则在下一时钟 周期将 IAB2 和 IAB3 中的指令分别转移到 IAB1 和 IAB2 中, 原 IAB1 中剩余指令将作为废指 令被清除。如果否, 则转步骤四 ;
     步骤四 : 提取 IAB1 中的剩余指令与 IAB2 中的第一个执行行, 依据图 4 中 cycle N 和 cycle N+1 所示方法拼接执行行, 在下时钟周期发射出去。同时将 IAB2 和 IAB3 中的指 令分别转移到 IAB1 和 IAB2 中, 再转步骤一。

应用于数字信号处理器的指令缓存器.pdf_第1页
第1页 / 共8页
应用于数字信号处理器的指令缓存器.pdf_第2页
第2页 / 共8页
应用于数字信号处理器的指令缓存器.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《应用于数字信号处理器的指令缓存器.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说明书附图。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1