一种数字信号处理器中数据旁路技术的制作方法

文档序号:6389476阅读:571来源:国知局
专利名称:一种数字信号处理器中数据旁路技术的制作方法
技术领域
本发明涉及微处理器及计算机系统,更具体地说,本发明涉及一种面向内存的数字信号处理器(DSP)结构,尤其涉及到数字信号处理器中数据旁路技术。
背景技术
随着现代微电子工艺的发展和实际应用中需求的增加,面向内存操作的数字信号器越来越流行,其中最大特点是在一个时钟内能从片上数据存储器中同时取出两个数据进行逻辑、计算等操作。由于电子设备的个人化和客户化趋势,数字信号处理器必须追求更高更快的运算速度,在一定的工艺条件限制下,采用多级的流水线结构成了解决时钟瓶颈的一种手段。现以6阶段流水结构为例来说明数字信号处理器中数据旁路电路(BPU)的工作原理。
参考图1来说明数字信号处理器结构流水线中数据旁路电路的工作原理。
第一阶段,取指令阶段(IF阶段)程序计数器101提供一个虚拟地址S1给片上指令存储器102。片上指令存储器102根据相应的地址输出一条32比特的指令S2。该指令根据情况不同可以是面向寄存器的指令(基本指令)、面向内存的DSP指令(DSP指令)。基本指令向量包括通用寄存器地址(rs、rt)、目标地址(rd)及操作控制码(op)。DSP指令向量中包括目的寄存器(rd)、两个地址辅助寄存器(ARm、ARn)、两个索引寄存器(IR0、IR1)的地址、地址寻找模式码(mode)及操作控制码(op)。
第二阶段,指令译码阶段(ID阶段)指令向量S2经过界面寄存器103延时一个时钟周期后通过该寄存器103的输出端103a传送给指令译码器105。该译码器105将输入的指令向量译码后输出控制码S3到控制单元,输出寄存器访问地址S5到寄存器文件,输出当前读寄存器地址S6到数据旁路电路以及以后各阶段用到的控制、数据信号S4到界面寄存器108。寄存器文件根据访问寄存器地址S5输出相应的数据S7到数据旁路电路107,信号S7包括了6个32位的数据,分别为rs、rt、ARm、ARn、IR0、IR1。数据旁路电路根据相关关系及优先级关系从S22、S23、S27、S31、S33、S7信号集中选出相应的6个值S8..S13,并送到界面寄存器108进行锁存。
第三阶段,地址计算阶段(DA阶段)两个地址逻辑单元(DALU)109、110根据操作控制码S20、S21对操作数S10a、S12a,S11a、S13a进行相应的操作运算,并用结果S22、S23访问两个片上数据存储器111、112,同时他们的值也送到界面寄存器113进行锁存,并且还反馈到数据旁路电路107当作旁路的数据源。地址寄存器根据地址寻址模式码进行更新,其更新值S35、S36也锁存到113。
第四阶段,内存访问阶段(DM阶段)根据地址S22、S23,片上数据寄存器经过一定的访问时间后输出相应的两个数据S25、S26,它们在时钟的作用下锁存到界面寄存器114。控制信号S24也锁存入114。
第五阶段,执行运算访问阶段(EX阶段)数据逻辑单元(ALU)115根据操作控制代码S15对操作数S17、S18进行相应的运算操作,并将运算结果S16输入到界面寄存器116。
第六阶段,写结果阶段(WB阶段)将存在界面寄存器116中的数据逻辑运算结果和两个地址寄存器、两个索引寄存器、从双端口片上数据寄存器读出的其中一个内存数的值的集合信号S33写入到寄存器文件106中。
上述6阶段流水线结构的操作可用下表1来观察。
表1


在周期0,指令1在取指令阶段,此时指令1已从片上指令存储器中取出102。在周期1,指令1移到译码阶段,根据指令1中规定的寄存器地址,读取寄存器值。此时,指令2进入取指令阶段。在周期2,指令1进入地址计算阶段,将地址寄存器、索引寄存器的值提供给地址逻辑单元109、110并根据控制码执行相应的操作。指令2移入译码阶段,指令3进入取指令阶段。在周期3,指令1进入内存读取阶段,把读取结果S25、S26锁存入界面寄存器114等待下一个操作,而随后的指令也都移动一阶段,新指令4进入读指令阶段。在周期4,指令1进入执行阶段,根据控制码S15对两个数据S17、S18进行各种操作,随后的指令也都向前移动一阶段,新指令5进入读指令阶段。最后,在周期5,指令1进入写结果阶段,把数据逻辑单元115结果、地址寄存器、索引寄存器、从双端口片上数据寄存器读出的其中一个内存数写入寄存器文件。随后的指令也都向前移动一阶段,新指令6进入读指令阶段。
从表1流水线图表中,可以看到,指令2、3、4、5中的操作数正在或已被读取时,指令1的结果才被写入到寄存器文件106中。如果指令2、3、4、5在读操作数或执行指令的阶段需要用到指令1的结果,那么指令1的结果就必须被提前旁路到ID阶段的旁路电路107中,否则会发生不必要的数据冲突(DATAHAZARD)而导致流水线停顿等待。例如,若指令2要用到指令1的数据逻辑单元结果,那么流水线必须停顿等待到周期5,指令1在写运算结果的同时旁路结果到模块107。
考虑下列程序片段ADD ARm,B,C #B+C,结果存入地址寄存器ARmSUB E,[ARm],D #[ARm]-D,结果存入寄存器E。[ARm]表示根据ARm#的值访问片上数据寄存器111。
指令N1
指令N2上述程序片段的执行次序可用下表2的流水线图来表示。
从表2中可以看出,B+C的结果要写入地址寄存器ARm。可在ARm却需要去访问片上数据寄存器111。因此,流水线必须停顿等待,等到写ARm值时,同时它的值被旁路到ID阶段,否则就得不到预期的结果。
在精简指令的处理器中,由于流水线的结构与数字信号处理器流水线的结构有很大的区别,精简指令处理器的执行级通常在访问存储器之前,一般通用的结构为取指、译码、执行、访问内存、回写。而且精简指令处理器采用面向寄存器操作,它的两个操作数只能是两个寄存器,因此它的数据旁路电路要比数字信号处理器中的要简单的多。数字信号处理器中有地址寄存器、索引寄存器、基本寄存器等,同时可能用到4个寄存器值,而且流水线深度增加,以便提高工作时钟,因此,数据旁路电路的设计还要考虑满足时延的要求。为了体现实时处理的特点,要尽量减少流水线的停顿。综上,数字信号处理器中的数据旁路电路设计起到了关键的因素。
目前,在通常的数字信号处理器流水线结构的数据旁路中用到了串行数据地址冲突检测和数据选择。
表2


发明内容本发明的目的在于克服现有技术中的不足,提供一种面向内存的数字信号处理器结构(DSP),尤其是数字信号处理器中数据旁路技术。
为了解决上述技术问题,本发明是通过以下技术方案实现的本发明提出了一种新的数据旁路技术,在该电路中,实现了6路的数据转发,其中4路对11个数据源进行有优先级的并行数据选择,2路对3个数据源进行有优先级的并行数据选择。
本发明中数字信号处理器流水线采用六阶段流水,分别为取指令阶段、译码阶段,地址计算阶段、内存访问阶段、执行阶段和写结果阶段。
本发明中的数据旁路技术是由两部分组成,一部分是并行数据地址冲突检测,包括10个5位地址比较器;另一部分是优先数据选择,根据并行数据地址冲突检测结果对11个数据源进行优先数据选择。
本发明中的数据旁路技术4路11个数据源中有10个数据源实现共用,分别为来自地址计算阶段没有经过锁存的地址寄存器更新值、来自内存访问阶段的地址寄存器锁存值、来自执行阶段的地址寄存器锁存值、来自写结果阶段的地址寄存器锁存值、锁存后的数据逻辑结果、从双端口片上数据寄存器读出的其中一个内存数;不共用的数据为各自读自寄存器文件的寄存器值,写在前面的数据具有较高的优先级,地址计算阶段的地址寄存器更新值具有最高的优先级;所述的2路中的3个数据源中有2个数据共用,分别为来自写结果阶段的锁存后的数据逻辑结果、从双端口片上数据寄存器读出的其中一个内存数;不共用的是各自读自寄存器文件的寄存器值,写在前面的数据具有较高的优先级。
本发明中数据旁路技术共有8个地址寄存器,在32个32位寄存器文件中为其中的第8到第15个,并且可以当作通用寄存器使用,即可以复用;索引寄存器地址固定为32个中的第24、25个,也与通用寄存器复用。
本发明中并行数据地址冲突检测电路包括第一到第十四比较器(CMP1,CMP2,CMP3,CMP4,CMP5,CMP6,CMP7,CMP8,CMP9,CMP10,CMP11,CMP12,CMP13,CMP14),优先数据选择电路包括第一到第五反门(NO1,NO2,NO3,NO4,NO5),第一到第十八与门(AND1,AND2,……,AND18),第一到第八与非门(NOR1,NOR2,……,NOR8),第一到第八或门(OR1,OR2,……,OR8),一个数据选择器(MUX1)。
与现有技术相比,本发明的有益效果是减少流水线中的冲突停顿,减少时延,提高处理器的时钟,从而提高实时处理能力。本发明设计的6级流水线结构的数字信号处理器中的数据旁路技术对关键的4路都采用了并行处理技术,而一般的做法是每一路需要用10个数据选择器进行串行数据选择。


图1为本发明的6级流水线结构的工作原理图。
图2为本发明的一个实施例的数字信号处理器流水线中的数据旁路电路工作原理图。
图3为本发明的数据旁路技术中对11个数据源进行有优先次序的数据选择电路工作原理图。
具体实施例方式
下面结合具体实施例对本发明技术方案做详细说明本发明提出了一种新的应用于数字信号处理器流水线中的数据旁路技术。该数据旁路技术实现6路数据转发,其中4路对11个数据源进行有优先级的并行数据旁路,2路对3个数据源进行有优先级的并行数据旁路。其中的4路分别实现rs、rt、ARm、ARn寄存器数据值的转发。2路实现对IR0、IR1寄存器数据的转发。
本发明所涉及到的数据旁路技术中具有优先次序的并行数据旁路电路由两部分组成,一部分是并行数据地址冲突检测、一部分是优先数据选择。并行数据地址冲突检测包括10个5位地址比较器,前4个组成一堆对前4对地址进行并行比较。后4个比较器组成另一堆,对后4对地址进行并行比较。最后两个比较器对剩下的2对地址进行并行比较。优先数据选择根据并行数据地址冲突检测结果对11个数据源进行优先选择。
本发明所涉及到的数据旁路电路中其中4路11个数据源中有10个数据源实现共用,它们分别为来自DA阶段的ARm、ARn的更新值(没有经过锁存),来自DM阶段的ARm、ARn锁存值、来自EX阶段的ARm、ARn锁存值、来自WB阶段的ARm、ARn锁存值、锁存后的数据逻辑结果、从双端口片上数据寄存器读出的其中一个内存数。不共用的数据为各自读自寄存器文件的寄存器值。写在前面的数据具有较高的优先级,即DA阶段的ARm、ARn更新值具有最高的优先级。其中2路中的3个数据源中有2个数据共用,它们分别为来自WB阶段的锁存后的数据逻辑结果、从双端口片上数据寄存器读出的其中一个内存数。不共用的是各自读自寄存器文件的寄存器值。写在前面的数据具有较高的优先级。
本发明所涉及的地址寄存器共8个,在32个32位寄存器文件中为其中的第8到第15个,并且可以当作通用寄存器(rs,rt),即可以复用。索引寄存器地址固定为32个中的第24、25个,它们也与rs,rt复用。
例如,当前指令经过译码后发现要读取位于32个寄存器的寄存器文件中的第14个位置的地址寄存器,而此时假设并行数据地址冲突检测电路检测出它与11个数据源中的第1、5个数据相关,即第1个比较器、第5个比较器输出为32位全“1”,其他为全“0”。那么优先数据选择电路会选择第1个数据源,因为它的优先级大于第5个值,而第5个值将被忽略了。
本发明的技术方案可以用图2和图3来说明,图2为总体图,图3为图2中的关于部件Prl_sel的细化。首先参考图2,数据旁路电路的各路输入信号分别为处于ID阶段的经过译码后的4个5比特寄存器地址,分别为m1(或ID_Reg_Addr1[4:0])、m3(或ID_Reg_Addr2[4:0])、m5(或ID_Reg_ARm[4:0])、m7(或ID_Reg_ARn[4:0])和6个读自寄存器文件的32比特寄存器值,它们分别为m2(或RF_Rd_Data1[31:0])、m4(或RF_Rd_Data2[31:0])、m6(或RF_Rd_ARm[31:0])、m8(或RF_Rd_ARn[31:0])、m9(或RF_Rd_IR0[31:0])、m10(或RF_Rd_IR1[31:0])。而其他信号则来自其他各个阶段,它们分别是来自于DA阶段ARm、ARn的地址、写使能信号及更新过的数据,即m35(或DA_ARm[4:0])、m36(或DA_ARm_wr)、m37(或DA_ARm_din[31:0]),m38(或DA_ARn[4:0])、m39(或DA_ARn_wr)、m40(或DA_ARn_din[31:0])。写使能信号的意义在于如果它有效,则表明这个寄存器在本指令中是目的寄存器。
来自于DM阶段ARm、ARn的地址、写使能信号及锁存的数据,即m11(或DA_DM_ARm[4:0])、m12(或DA_DM_ARm_wr)、m13(或DA_DM_ARm_din[31:0]),m14(或DA_DM_ARn[4:0])、m15(或DA_DM_ARn_wr)、m16(或DA_DM_ARn_din[31:0])。
来自于EX阶段ARm、ARn的地址、写使能信号及锁存的数据,即m17(或DM_EX_ARm[4:0])、m18(DM_EX_ARm_wr)、m19(或DM_EX_ARm_din[31:0]),m20(或DM_EX_ARn[4:0])、m21(或DM_EX_ARn_wr)、m22(或DM_EX_ARn_din[31:0])。
来自于WB阶段的数据逻辑锁存结果、寄存器地址、写使能信号,即m25(或EX_WB_Dest1_din[31:0])、m23(或EX_WB_Dest1[4:0])、m24(或EX_WB_Dest1_wr)。从双端口片上数据寄存器读出的其中一个内存数、内存数要写的寄存器地址、写使能信号,即m28(或EX_WB_Dest2_din[31:0])、m26(或EX_WB_Dest2[4:0])、m27(或EX_WB_Dest2_wr)。ARm、ARn的地址、写使能信号及锁存的数据,即m29(或EX_WB_ARm[4:0])、m30(或EX_WB_ARm_wr)、m31(或EX_WB_ARm_din[31:0]),m32(或EX_WB_ARn[4:0])、m33(或EX_WB_ARn_wr)、m22(或EX_WB_ARn_din[31:0])。
再参考图3,它是图2中模块201、202、203、204的细化,其功能是并行数据冲突检测、优先数据选择。其输入信号分别有被比较地址n1,10个比较地址n2,n5,n8,n11,n14,n17,n20,n23,n26,n29。10个比较器使能信号n3,n6,n9,n12,n15,n18,n21,n24,n27,n30。11个被选择数据源n4,n7,n10,n13,n16,n19,n22,n25,n28,n31,n32。
根据以上信号定义并结合图2、图3,可以知道,rs、rt、ARm、ARn数据旁路调用了模块Prl_sel(见图3),由于它们的结构非常相似,不同的只是被比较的地址不同,因此,我们就以rs的旁路原理来重点说明。
rs寄存器的地址m1由译码电路105输出,被当作n1信号输入到Prl_sel模块。rs寄存器的值由寄存器文件106根据它的地址而得到,并当作信号n32输入到Prl_sel模块。其他n2到n31信号则是m11到m40的对应,它们分别是来自于各个阶段的数据、地址、写使能信号。参考图3,被比较地址n1被送入到10个比较器中。而各个比较器中的另一个比较数为各阶段的反馈地址。用写使能信号来控制比较器使能。如果使能信号为“0”,则,比较器正常工作,如果为“1”,则比较器不工作,始终输出“0”。如果比较器做出相等的判别,那么会输出32位的全“1”信号,否则输出32位的全“0”。因此,10个比较器会并行的输出10个比较结果cc1到cc10。把10个比较结果分成3堆,cc1,cc2,cc3,cc4为第1堆,cc5,cc6,cc7,cc8为第2堆,cc9,cc10为第3堆。首先看第一堆的工作情况。在本堆中结果cc1的优先级最高,cc4最低。因此cc1和本比较器相对应的输入数据n4进行与操作输出sc1。假设n1,n2地址相等,则cc1为“32’HFFFFFFFF”,它和n4与操作的结果还是n4,因此sc1=n4。同时它通过或门NO1、或非门NOR1、NOR2的操作,使与门AND2、AND3、AND4的输出sc2、sc3、sc4为全“0”,从而忽略了比较器CMP2、CMP3、CMP4的比较结果。再通过或门OR1输出tc1为n4的值。实现了有优先级的4选1。同理,如果发现n5与n6地址相等,则cc2为“32’HFFFFFFFF”,此时必须是cc1为“32’H00000000”,否则cc1的优先级高,会忽略掉cc2的结果。cc1通过与门AND1使得输出sc1的结果为全“0”。而cc2通过或非门NOR1、NOR2也使得输出sc3、sc4为全“0”。与门AND2的二个输入信号cc1的反和cc2都为全“1”,因此sc2输出其实为n7的值,并且通过或门OR1输出本堆的选择结果tc1等于n7的值,也实现了数据选择。对应其它比较结果,也有同样的逻辑关系。
对于第2堆的工作原理,与第1堆的情况类似。而且它们是同等关系的,不存在优先级关系。它们的优先级关系是由数据选择器MUX1实现的,如果cc1、cc2、cc3、cc4中有一个条件成立,那么它们或的结果g1就为全“1”,从而Dout1选择第1堆的结果tc1。而如果g1为“0”,则不管g2的条件如何,Dout1都会选择第2堆的结果tc2。从而实现了第1堆优于第2堆的功能。第1、第2堆共同的成立条件cfr为g1与g2的或,如果cc1到cc8有一个条件成立,cfr就成立。
对于第3堆电路。只有两个比较器CMP9、CMP10。得到两个结果cc9、cc 10。根据前面叙述,这两个条件优先级是最高的,但它们来自于地址逻辑单元109、110的更新值,所有它的到达时延比较大。因此Dout1结果运算的同时,结果sc9、sc10也在进行,而且往往先有Dout1的结果,才有sc9、sc10。因此,可以把Dout1当作第3堆的第3个数据输入,把cfr当作第3个比较结果。有了这样的假设,第3堆工作原理也和前两堆类似,如果cc1到cc10没有一个条件成立,则表示本指令这个寄存器没有数据可以旁路,从而选择从寄存器读出的值n32,最后输出结果out。
IR0、IR1的旁路电路比rs、rt、ARm、ARn的要简单,原因之一是它的选择数据源比较少,只有3个,因此,不管怎么样,这两个寄存器的转发不会成为电路的关键路径。以IR0为例,由于只有3个数据源,因此只要2个比较器CMP11、CMP12。工作原理与Prl_sel模块类似,只是它更简单。
如上所述,本发明于背景技术相比所具有的有益效果在于下列优点电路时延减少,因而有更高的效率,采用本发明的数字信号处理器的工作时钟将相应的提高,DSP特性也更好的体现。
以下是本发明的两个应用实例。
例1,考虑下列2条指令ADD A,B,CSUB D,A,E第一条指令执行B+C的操作,并把结果存于寄存器A中。第二指令执行A-E操作,把结果存入寄存器D中。由于第二条指令的源寄存器A用到了第一条指令的计算结果,所以这两个指令之间存在着数据相关性。于是,当第二条指令处于译码阶段时,控制单元会判断出数据冲突控制信息S35,使得流水线IF、ID停顿,而其他阶段继续执行。直到当第一条指令执行到WB阶段时,数据旁路电路中的并行数据冲突检测比较地址值,比较器CMP5会发现读地址与写地址相同,都是A寄存器,比较器CMP5输出cc5会变成全“1”,从而优先数据选择电路输出A寄存器的值。即数据旁路电路中的输出s8为A寄存器的值。实现了这一路的数据旁路工作,这之后流水线进行执行。
例2,考虑下列3条指令ADD ARm,B,CSUB D,*ARm++(IR0),*ARn++(IR1)ADD E,*ARm+(4),F第一条指令为加法指令,实现B+C,结果存入地址寄存器ARm。第二条指令比较复杂,实现的是减法运算,两个操作数来自于以结果ARm+IR0、ARn+IR1为地址的内存数。同时ARm寄存器的值会更新成ARm+IR0值,ARn寄存器的值会更新成ARn+IR1值。减法的结果存入寄存器D。第三条指令还是为加法指令,两个操作数分别来自内存数,内存地址为ARm+4的结果,另一个操作数来自于寄存器F。在此实例中,第一条指令和第二指令的ARm存在着数据相关,第二条指令的操作数为第一条指令的运算结果。第二条指令和第三条指令也存在着数据相关,因为第二条指令的地址寄存器ARm进行了更新,它需要改变寄存器文件106的相应值,所有这里的ARm不仅是源操作数,还是目的操作数。而第三条指令要把ARm当作地址寄存器进行内存寻址,是源操作数,所以第二条指令和第三条指令也存在数据相关。
当流水线执行到第二条指令到达译码电路,控制电路检测到数据冲突,使得流水线IF、ID阶段停顿,其他阶段继续执行,直到第一条指令到达写结果阶段。此时数据旁路电路中的第3路旁路分支模块203中的比较器CMP5检测到n1(或ID_Reg_ARm[4:0])和n14(或EX_WB_Dest1[4:0])两个地址相等,其他全为不等,因此模块203选择输出n16值,即第一条指令中的目的寄存器ARm的值,从而实现了数据旁路效果。这之后流水线继续执行,第二条指令执行到DA阶段,第三条指令进入ID阶段。此时数据旁路电路中的第3路旁路分支模块203中的比较器CMP10检测到n1(或ID_Reg_ARm[4:0])和n14(或DA_ARm[4:0])的地址相等,都为ARm,其他全为不等,因此模块203选择输出n28值,即第二条指令中的更新过的地址寄存器ARm的值,从而实现了数据旁路功能,而且避免了DSP处理中不必要的流水线停顿。
最后,还需要注意的是,以上列举的仅是本发明的具体实施例子。显然,本发明不限于以上实施例子,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
权利要求
1.一种应用于数字信号处理器流水线中的数据旁路技术,其特征在于实现6路数据转发,其中4路对11个数据源进行有优先级的并行数据旁路,2路对3个数据源进行有优先级的并行数据旁路。
2.如权利要求1所述的数据旁路技术,其特征在于数字信号处理器流水线采用六阶段流水,分别为取指令阶段、译码阶段,地址计算阶段、内存访问阶段、执行阶段和写结果阶段。
3.如权利要求1所述的数据旁路技术,其特征在于是由两部分组成,一部分是并行数据地址冲突检测,包括10个5位地址比较器;另一部分是优先数据选择,根据并行数据地址冲突检测结果对11个数据源进行优先数据选择。
4.如权利要求1所述的数据旁路技术,其特征在于所述的4路11个数据源中有10个数据源实现共用,分别为来自地址计算阶段没有经过锁存的地址寄存器更新值、来自内存访问阶段的地址寄存器锁存值、来自执行阶段的地址寄存器锁存值、来自写结果阶段的地址寄存器锁存值、锁存后的数据逻辑结果、从双端口片上数据寄存器读出的其中一个内存数;不共用的数据为各自读自寄存器文件的寄存器值,写在前面的数据具有较高的优先级,地址计算阶段的地址寄存器更新值具有最高的优先级;所述的2路中的3个数据源中有2个数据共用,分别为来自写结果阶段的锁存后的数据逻辑结果、从双端口片上数据寄存器读出的其中一个内存数;不共用的是各自读自寄存器文件的寄存器值,写在前面的数据具有较高的优先级。
5.如权利要求4所述的数据旁路技术,其特征在于共有8个地址寄存器,在32个32位寄存器文件中为其中的第8到第15个,并且可以当作通用寄存器使用,即可以复用;索引寄存器地址固定为32个中的第24、25个,也与通用寄存器复用。
6.如权利要求3所述的数据旁路技术,其特征在于所述并行数据地址冲突检测电路包括第一到第十四比较器(CMP1,CMP2,CMP3,CMP4,CMP5,CMP6,CMP7,CMP8,CMP9,CMP10,CMP11,CMP12,CMP13,CMP14),优先数据选择电路包括第一到第五反门(N01,N02,N03,N04,N05),第一到第十八与门(AND1,AND2,……,AND18),第一到第八与非门(NOR1,NOR2,……,NOR8),第一到第八或门(OR1,OR2,……,OR8),一个数据选择器(MUX1)。
全文摘要
本发明公开了一种微处理器及计算机系统,旨在提供一种面向内存的数字信号处理器(DSP)结构,尤其涉及到数字信号处理器中数据旁路技术。本发明提出了一种新的数据旁路技术,在该电路中,实现了6路的数据转发,其中4路对11个数据源进行有优先级的并行数据选择,2路对3个数据源进行有优先级的并行数据选择。本发明的有益效果是减少流水线中的冲突停顿,减少时延,提高处理器的时钟,从而提高实时处理能力。本发明设计的6级流水线结构的数字信号处理器中的数据旁路技术对关键的4路都采用了并行处理技术,而一般的做法是每一路需要用10个数据选择器进行串行数据选择。
文档编号G06F9/38GK1664775SQ20041001675
公开日2005年9月7日 申请日期2004年3月3日 优先权日2004年3月3日
发明者陈晓毅, 刘鹏, 姚庆栋, 李东晓, 俞国军 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1