当前位置: 首页 > 专利查询>清华大学专利>正文

一种指令分配和预处理指令译码的装置制造方法及图纸

技术编号:4058806 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种指令分配和预处理指令译码的装置,包括:指令分配模块,用于生成指令分配使能信号和下一个周期的指令分配信号;指令判断及选择模块,用于根据来自指令分配模块的指令分配使能信号,生成各个功能单元的指令选择信号,选择并输出相应的功能单元指令;和指令预处理模块,用于对来自指令判断及选择模块的各个功能单元的指令进行预处理译码,输出各个相应功能单元的指令预处理信号。本发明专利技术的装置占用的硬件面积小、速度快,实现了高效的性能和较小的面积功耗的平衡。

【技术实现步骤摘要】

本专利技术涉及数字信号处理领域,特别涉及一种指令分配和预处理指令译码的装置
技术介绍
DSP(Digital Signal Processor,数字信号处理器)是一种独特的微处理器,其工作原理是接收模拟信号,转换为数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。DSP的强大数据处理能力和高运行速度,是最值得称道的两大特点。由于DSP能够实时快速地实现各种数字信号处理算法实时处理等特点,数字信号处理器被广泛应用于语音处理、图形图像处理、通信设备、多媒体设备、仪器仪表、自动控制、医疗仪器、家用电器、汽车工业和军事武器装备等领域。当前科学技术迅速发展,各种应用对DSP处理器的要求越来越高,需要快速的处理大量数据和信息。应对这种性能上的需求,现代数字信号处理器硬件部分均采用了高性能的超长指令字(VLIW,Very Long Instruction Words)的体系结构。VLIW结构是由耶鲁大学的J.A Fisher于1983年首次提出的一种计算机体系结构。该结构通过编译器来发现指令间的并行性,通过调度将能够并行执行的指令合并在一起组成一个超长的指令,由执行部件的多个功能单元同时执行。VLIW把许多条指令连在一起,增加了运算的速度。超长指令字是处理器设计领域中的一种越来越流行的技术。在VLIW体系下,DSP每次取回的指令由多个功能单元执行,所以必须使指令能够正确的分配到目标功能单元。指令分配单元同步功能单元同时执行的各种操作,并把长指令中的各个字段分配给对应的功能单元,然后在功能单元内进行译码,产生控制信号控制功能单元实现指令规定的功能。指令分配单元的设计是基于该体系结构的微处理器设计的一个重要环节。高速正确地实现指令分配,可以避免指令分配阶段成为整个处理器设计的瓶颈。在目前的VLIW体系结构下,指令分配单元主要存在如下问题需要解决:1、正确的指令分配。DSP每次取指取回8条32位的指令,这个指令包称为一个取指包。这8条指令可以全部并行执行,也可以全部串行执行,也可以分为任意组,其中每组中的指令并行执行,每组之间串行执行。并行执行的一组指令称为一个执行包,一个取指包可以分割为1到8个执行包。2、在确定分配几条指令之后,判断出执行包的这几条指令分别需要由哪个功能单元执行,将它们分配到相应的功能单元中。另外,如果执行包中包含多周期停顿指令,还要输出多周期停顿指令的停顿周期数。3、由于一个取指包中可能包含1到8个执行包,将这些执行包分配完需要多个周-->期。在每个周期,如果取指包中有还没分配的执行包,那么在接下来的周期中要停止前面的几级流水线,而分配部分对取指包中还没分配的执行包继续进行分配,直到所有的执行包都分配完,前面的流水线再继续前进。对流水线的暂停通过控制器进行控制。这是流水线正常运转所必需的要求,否则程序执行的正确性无从保证。4、分支指令进入取指阶段后,会冲掉正在分配阶段的指令,而分配单元需要从分支指令所指示的位置开始分配。所以在这种情况下将会打断正常指令分配的过程,而是直接开始新的指令分配。5指令分配阶段结束以后,指令将被译码执行。据统计DSP的性能分析表明,指令译码和准备操作数阶段是导致DSP时钟频率不能进一步提升的瓶颈。所以在DSP的实际设计考虑里面,为了尽量使系统具备提升性能的可能,需要在指令分配阶段对指令译码做一些预操作处理。综上所述,分配指令阶段事件的复杂性使得分配逻辑的设计非常复杂,与此相对应的电路面积和功耗成为VLIW架构下的严重缺点。
技术实现思路
本专利技术的目的旨在至少解决上述技术缺陷之一,特别针对适用于超长指令字架构下的数字信号处理器,具有高效的性能和较小的面积功耗的平衡,提出了一种指令分配和预处理指令译码的装置。为实现上述目的,本专利技术实施例提出了一种指令分配和预处理指令译码的装置,包括:指令分配模块,用于生成指令分配使能信号和下一个周期的指令分配信号;指令判断及选择模块,用于根据来自所述指令分配模块的指令分配使能信号,生成各个功能单元的指令选择信号,选择并输出相应的功能单元指令;和指令预处理模块,用于对来自所述指令判断及选择模块的各个功能单元的指令进行预处理译码,输出各个相应功能单元的指令预处理信号。本专利技术实施例提供的指令分配和预处理指令译码的装置根据输入的指令产生指令分配使能信号和分配标志信号,生成目的单元选择信号,并根据上述目的单元选择信号选择与各功能单元匹配的指令,进一步将指令送给指令预处理单元,最后将选择出的功能单元指令和指令预处理结果信号作为输出给下一级电路。本专利技术的装置相对于现有的VLIW体系结构下的指令分配单元,查找表占用的硬件面积小、速度快,实现了高效的性能和较小的面积功耗的平衡。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本专利技术实施例的指令分配和预处理指令译码的装置的结构示意图;图2为图1中指令分配和预处理指令译码的装置的整体结构框图;-->图3为一个取指包的8条指令的存储格式示意图;图4为一条指令的存储格式示意图;图5为指令的目的单元信号格式示意图;图6为功能单元的指令选择信号格式示意图;图7为图1中指令分配和预处理指令译码的装置的工作示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本专利技术主要在于,根据目的单元选择信号,选择与各功能单元匹配的指令,进一步将指令送给指令预处理单元,最后将选择出的功能单元指令和指令预处理结果信号作为输出给下一级电路。为实现上述目的,本专利技术的目的是提供一种指令分配和预处理指令译码的装置,该装置适用于超长指令字架构下的数字信号处理器,具有高效的性能和较小的面积功耗的平衡。图1示出了该装置的结构示意图。如图1所示,该装置包括指令分配模块110、指令判断及选择模块120和指令预处理模块130。具体的说,指令分配模块110进一步包括分配标志处理单元、指令分配使能单元和分配标志寄存单元。结合图2所示,分配标志处理单元将上一个周期的指令分配信号,即分配指令的记录信息pre_flag(n),其中n=1,2,3...8,即pre_flag1至pre_flag8、指示新的取指包指令进入分配单元的信号NEW_FP,以及指示从取指包的8条指令那一条开始分配的指示信号PC_v3作为输入信号输入,通过逻辑处理,生成用于指示本周期的指令分配信号fix_flag(n),其中,n=1,2,3...8。其中,pre_flag指示前面周期的指令分配情况,pre_flag(n)=1(n=1,2...8)表示第n条指令已经被分配过,pre_flag(n)=0表示第n条指令还没有被分配。每次新指令进入分配单元会指示分配单元从新的取本文档来自技高网
...
一种指令分配和预处理指令译码的装置

【技术保护点】
一种指令分配和预处理指令译码的装置,其特征在于,包括:指令分配模块,用于生成指令分配使能信号和下一个周期的指令分配信号;指令判断及选择模块,用于根据来自所述指令分配模块的指令分配使能信号,生成各个功能单元的指令选择信号,选择并输出相应的功能单元指令;和指令预处理模块,用于对来自所述指令判断及选择模块的各个功能单元的指令进行预处理译码,输出各个相应功能单元的指令预处理信号。

【技术特征摘要】
1.一种指令分配和预处理指令译码的装置,其特征在于,包括:指令分配模块,用于生成指令分配使能信号和下一个周期的指令分配信号;指令判断及选择模块,用于根据来自所述指令分配模块的指令分配使能信号,生成各个功能单元的指令选择信号,选择并输出相应的功能单元指令;和指令预处理模块,用于对来自所述指令判断及选择模块的各个功能单元的指令进行预处理译码,输出各个相应功能单元的指令预处理信号。2.如权利要求1所述的装置,其特征在于,所述指令分配模块进一步包括:分配标志处理单元、指令分配使能单元和分配标志寄存单元,所述分配标志处理单元,用于将输入的上一个周期指令分配信号pre_flag(n)(n=1,2,3...8)、指示新的取指包指令进入分配单元的信号NEW_FP以及分配指示信号PC_v3进行逻辑处理,生成指示本周期的指令分配信号fix_flag(n)(n=1,2,3...8);所述指令分配使能单元,用于根据根据输入的各个功能单元的指令的p位和来自所述分配标志处理单元的的本周期指令分配信号,判断本周期需要分配的执行包,生成指令分配使能信号inst(n)_dispatch、下一个周期的指令分配信号next_flag(n)以及流水线停顿指示信号;所述分配标志寄存单元,用于记录本周期分配指令的标志信息。3.如权利要求2所述的装置,其特征在于,所述分配标志单元生成指示本次分配指令的标志信号fix_flag(n)的逻辑处理进一步包括:fix_flag(n)=NEW_FP?(PC_v3>=n):pre_flag(n),当NEW_FP为真时,则判断PC_v3是否大于等于n,当PC_v3>=n时,则fix_flag(n)为1;当PC_v3小于1时,则fix_flag(n)为0;当NEW_FP为假时,则fix_flag(n)=pre_flag(n),其中n=1,2,3...8。4.如权利要求2所述的装置,其特征在于,所述指令分配使能单元生成指令分配使能信号inst(n)_dispatch进一步包括:inst(n)_dispatch=next_flag(n)&(~fix_flag(n)),当第n条指令在上一个周期没有分配过,而在本周期的分配标志为完成分配,则第n条指令在本周期分配,其中,“&”表示逻辑与,“~”表示逻辑取反。5.如权利要求2所述的装置,其特征在于,所述指令分配使能单元生成下一个周期的指令分配信号next_flag(n)进一步包括:next_flag(n)=(next_flag(n-1)&p(n-1))|fix_flag(n-1),当第n-1条指令在上一个周期分配过,或者n-1条指令本周期分配并...

【专利技术属性】
技术研发人员:李兆麟郑庆伟陈佳佳叶剑飞魏炽频李圣龙王芳
申请(专利权)人:清华大学
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1