CN101968734A - 应用于数字信号处理器的指令缓存器 - Google Patents

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

Info

Publication number
CN101968734A
CN101968734A CN 201010507928 CN201010507928A CN101968734A CN 101968734 A CN101968734 A CN 101968734A CN 201010507928 CN201010507928 CN 201010507928 CN 201010507928 A CN201010507928 A CN 201010507928A CN 101968734 A CN101968734 A CN 101968734A
Authority
CN
China
Prior art keywords
instruction
buffer
signal processor
digital signal
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201010507928
Other languages
English (en)
Other versions
CN101968734B (zh
Inventor
刘小明
洪一
郭二辉
耿锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui core Century Technology Co., Ltd.
Original Assignee
CETC 38 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 38 Research Institute filed Critical CETC 38 Research Institute
Priority to CN2010105079280A priority Critical patent/CN101968734B/zh
Publication of CN101968734A publication Critical patent/CN101968734A/zh
Application granted granted Critical
Publication of CN101968734B publication Critical patent/CN101968734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

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

Description

应用于数字信号处理器的指令缓存器
技术领域
本发明涉及一种应用于数字信号处理器的指令缓存器,属数字信号处理器技术领域。
背景技术
目前,数字信号处理器中的指令缓存器是存在于指令存储器和执行单元之间的一个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中,再转步骤一。

Claims (6)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105079280A CN101968734B (zh) 2010-10-12 2010-10-12 应用于数字信号处理器的指令缓存器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105079280A CN101968734B (zh) 2010-10-12 2010-10-12 应用于数字信号处理器的指令缓存器

Publications (2)

Publication Number Publication Date
CN101968734A true CN101968734A (zh) 2011-02-09
CN101968734B CN101968734B (zh) 2012-07-18

Family

ID=43547895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105079280A Active CN101968734B (zh) 2010-10-12 2010-10-12 应用于数字信号处理器的指令缓存器

Country Status (1)

Country Link
CN (1) CN101968734B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996037831A1 (en) * 1995-05-26 1996-11-28 National Semiconductor Corporation Two tier prefetch buffer structure and method with bypass
US20030070062A1 (en) * 1999-10-01 2003-04-10 Sivaram Krishnan System and method for reducing computing system latencies associated with branch instructions
CN1629799A (zh) * 2003-12-17 2005-06-22 英特尔公司 用于超前执行下的结果推测的方法和装置
CN101008891A (zh) * 2006-01-26 2007-08-01 深圳艾科创新微电子有限公司 Risc cpu中的5+3级流水线结构及方法
US7558939B2 (en) * 2005-03-08 2009-07-07 Mips Technologies, Inc. Three-tiered translation lookaside buffer hierarchy in a multithreading microprocessor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996037831A1 (en) * 1995-05-26 1996-11-28 National Semiconductor Corporation Two tier prefetch buffer structure and method with bypass
US20030070062A1 (en) * 1999-10-01 2003-04-10 Sivaram Krishnan System and method for reducing computing system latencies associated with branch instructions
CN1629799A (zh) * 2003-12-17 2005-06-22 英特尔公司 用于超前执行下的结果推测的方法和装置
US7558939B2 (en) * 2005-03-08 2009-07-07 Mips Technologies, Inc. Three-tiered translation lookaside buffer hierarchy in a multithreading microprocessor
CN101008891A (zh) * 2006-01-26 2007-08-01 深圳艾科创新微电子有限公司 Risc cpu中的5+3级流水线结构及方法

Also Published As

Publication number Publication date
CN101968734B (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN101419278B (zh) 多通道高速遥感数据采集处理设备
CN1426553B (zh) 用于暂停处理器中执行过程的方法和装置
WO2005013084A3 (en) Method and system for performing operations on data and transferring data
CN202443357U (zh) 一种具有对等通信功能的多pcie信号接口主板
CN102402415B (zh) 一种动态可重构阵列内数据缓存的装置及方法
CN103559017A (zh) 基于gpu异构计算平台的字符串匹配方法及系统
CN101968734B (zh) 应用于数字信号处理器的指令缓存器
CN102339386B (zh) 一种嵌入式指纹特征提取加速方法
EP1884874A4 (en) INFORMATION PROCESSING UNIT, SYSTEM AND METHOD AND PROCESSOR
JP4372068B2 (ja) プログラマブルゲートアレイ装置及び回路切替方法
CN100479435C (zh) 一种报文处理方法及系统
CN204762213U (zh) 一种收割稳定的小型甘蔗联合收割机
CN103095595A (zh) 一种基于单向并行多链表的网络数据管理方法及系统
CN102043750B (zh) 一种微处理器总线结构及微处理器
EP1220091A3 (en) Circuit and method for instruction compression and dispersal in VLIW processors
CN103246496A (zh) 非阻塞协处理器接口方法和系统
CN105263023B (zh) 基于高速解码平台的网络码流实时接收方法
CN111782563B (zh) 一种用于risc-v微控制器的dvp控制器系统
CN106776394B (zh) 一种数据转换的硬件系统和存储器
CN202548823U (zh) 非阻塞协处理器接口系统
CN202332303U (zh) 一种多通道实时直读存储器结构
CN101918982A (zh) 图形流水线的有效状态管理
CN205283577U (zh) 一种通过高速总线扩展多通道rs422/485接口的装置
CN203276274U (zh) 基于寄存器窗口互相重叠的多核间数据交换装置
CN100359471C (zh) 二进制翻译中的库函数调用处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191120

Address after: 5 / F, airborne center, 38 new area, No. 199, Xiangzhang Avenue, hi tech Zone, Hefei City, Anhui Province

Patentee after: Anhui core Century Technology Co., Ltd.

Address before: 230088, 199 camphor Road, Shushan District, Anhui, Hefei

Patentee before: No.38 Inst., China Electronic Sci. & Tech. Group Co.

TR01 Transfer of patent right