程序管理/数据处理分离式体系结构的数字信号处理器的制作方法

文档序号:6422691阅读:263来源:国知局
专利名称:程序管理/数据处理分离式体系结构的数字信号处理器的制作方法
技术领域
本发明属数字信号处理器与一般微处理器结构,特别是指一种程序管理/数据处理分离式体系结构的数字信号处理器。
一般数字信号处理器(DSP)的程序储存器管理与数据处理全部集成到一个芯片中形成中央处理单元(CPU)。这样的结构存在如下缺点高性能DSP的程序只读储存器(ROM)一般比较大,如采用系统集成(SOC)方案将ROM、CPU和数据储存器(RAM)全部集成到一个芯片中,则存在如下缺点(1)芯片面积过大,生产中成品率严重降低。
(2)由于目前程序储存器一般采用闪存只读储存器FLASH ROM结构,在生产工艺上与普通CMOS工艺有所不同,给芯片的生产带来困难,使生产成本增加。
如采用ROM与CPU分离的方案,则(1)由于为了适用于广泛的需要,CPU需要具有很大的程序存储器的寻址能力,因此CPU需要有很多地址信号线,这样,一方面在寻址时会耗费很大的能源,另一方面由于芯片上引线会占用很大的芯片面积,使芯片成本增加。
(2)由于CPU寻址时,ROM完全是被动的响应CPU的读操作,这使CPU的寻址时间增加,影响CPU的工作速度。
本发明的目的在于提供一种程序管理/数据处理分离式体系结构的数字信号处理器,克服了目前DSP的上述缺点,其具有成品率高和成本低的优点。
本发明的另一目的在于提供一种程序管理/数据处理分离式体系结构的数字信号处理器,其具有速度快的优点。
本发明一种程序管理/数据处理分离式体系结构的数字信号处理器,其特征在于其中至少包含有两个芯片单元,一个程序管理单元,另一个数据处理单元;与程序寻址有关的操作由程序管理单元完成,数据处理单元不处理与程序寻址直接有关的操作;两个单元之间通过一条程序总线和一些握手信号相连接,在大部分情况下,系统处理的指令是程序的管理芯片通过程序总线单向地送入数据处理芯片。
其中程序管理单元包括一程序只读存储器,该程序只读存储器通过程序缓存与程序总线相连接,并连接到指令预处理单元10,该指令预处理、中断控制信号经过运算返回到程序只读存储器。
其中指令预处理单元包括指令预处理器,用于对程序只读存储器的信号进行预处理;选择器和中断管理器,该中断管理器用于中断控制。
其中数据处理单元包括程序缓存器,该程序缓存器与程序总线相连接,并经寄存器测试与数据处理译码器相连接,并经运算单元与数据总线相连接,该数据总线分别接至输入输出接口和数据缓存器及数据存储器。
为进一步说明本发明的结构和所能达成的功效,以下结合附图对本发明作一详细的描述,其中

图1是本发明的结构示意图。
请参阅图1所示,本发明一种程序管理/数据处理分离式体系结构的数字信号处理器,其中至少包含有两个芯片单元,一个程序管理单元(PMU),另一个数据处理单元(DPU);与程序寻址有关的操作由程序管理单元完成,数据处理单元不处理与程序寻址直接有关的操作;两个单元之间通过一条程序总线和一些握手信号相连接,在大部分情况下,系统处理的指令是程序的管理芯片通过程序总线单向地送入数据处理芯片。
其中程序管理单元包括一程序只读存储器,该程序只读存储器通过程序缓存与程序总线相连接,并连接到指令预处理单元10,该指令预处理、中断控制信号经过运算返回到程序只读存储器。
其中指令预处理单元10包括指令预处理器,用于对程序只读存储器的信号进行预处理;选择器和中断管理器,该中断管理器用于中断控制。
其中数据处理单元包括程序缓存器,该程序缓存器与程序总线相连接,并经寄存器测试与数据处理译码器相连接,并经运算单元20与数据总线相连接,该数据总线分别接至输入输出接口和数据缓存器及数据存储器。
PMU包括以下几部分程序存储器是一个只读存储器。它存储系统的程序和参数。
程序缓存器一个先进先出寄存器(FIFO)。
程序计数器(PC)是一个可预置加计数器,它的宽度(如24位)决定了系统的寻址能力(16M)。在系统启动复位时,PC的被清零。PC的预置数据来自于a.程序存储器,b.PC Stack或c.中断向量存储器。PC的输出到程序存储器地址多路选择器。PC的功能是产生被读出(从而被PMU或DPU处理)程序的地址序列。
程序计数器堆栈(PC Stack)是由一个加法器一个和后进先出(LIFO)寄存器构成,它们的宽度与PC相同。加法器只进行加1运算,它的输入连接到PC的输出,它的输出连接到LIFO的输入而LIFO的输出连接到PC的预置输入b。PC Stack的用途是在发生子程序调用或是系统响应中断时,将PC+1(下一条指令的地址)保存在PC Stack;子程序返回或中断服务程序结束时,将保存在PC Stack的地址装入PC。
数据表指针(DTP)是一个可预置加计数器,它的宽度等于或小于PC的宽度。它的预置输入来自于a.程序存储器b.DTP Stack或c.由DPU返回的参数,它的输出到程序存储器地址多路选择器。当DTP的宽度小于PC的宽度时,DTP连接到存储器地址多路选择器的低段,其高段补为一个常数,此时数据表被该常数限定在程序存储器的一个固定的区域。DTP是专门为查找数据表而设计,它由专门的指令进行赋值;在数据表读取时,通过程序存储器地址多路选择器将DTP送给存储器的地址;数据读出后,DTP自动加1。
数据表指针堆栈(DTP Stack)是一个宽度与DTP相同的后进先出(LIFO)寄存器。系统响应中断时将DTP保存在DTP Stack;中断服务程序结束时,将从DTP Stack中恢复DTP。
中断管理单元(IMU)中包括中断查询逻辑、中断响应逻辑、中断响应队列、中断优先级别管理器和中断向量表。中断优先级别管理器中的个中断的优先级别和中断向量表的中断向量可以通过指令设定。当中断查询逻辑查询到中断申请时,中断优先级别管理器根据中断响应队列中目前正在响应的中断级别和该中断申请的级别判断是否响应该中断申请。中断响应后,中断响应逻辑发出中断响应信号,中断向量表将该中断的中断向量送给PC(同时PC和DTP入堆栈),中断响应队列建立0该中断标识;系统开始进入中断服务程序。当从控制电路中接受到中断响应完毕信号时,清除中断响应队列中该中断标识。
程序存储器地址多路选择器选择程序存储器地址输入。在数据表读取指令的执行(读数据)周期程序存储器地址输入为DTP,其他情况下为PC。
指令预译码器(Pre-Decoder)的输入为程序存储器输出的代码段。它仅对a.直接程序分支、b.子程序调用、c子程序返回、d.DTP的直接赋值、e.DPU内部寄存器到DTPD的赋值、f.数据表读取、g.中断管理管理参数设定h.中断返回和i.条件程序分支等类指令进行译码。译码的结果送给控制电路和条件分支预测电路。对于数据表读指令之后的数据表读周期,指令预译码器不予译码。
条件分支与DTP间接赋值处理电路(Conditional Branch and DTPWrite Back Processing)对指令预译码器的d和g类指令的译码结果进行检测;当检测到有e和i类指令时,向控制电路发出e指令测试等待或i指令测试等待信号;同时检测程序缓存器中是否有与该类指令相关的DPU内部寄存器修改的指令,如果没有,则通过程序总线向DPU发送类指令相关的DPU内部寄存器测试指令。当DPU响应该指令,并把测试的寄存器内容返回后,解除指令测试等待信号。
控制电路(Contro1)根据指令预译码器的译码结果和条件分支与DTP间接赋值预测电路发出的e指令测试等待或i指令测试等待信号对指令控制PMU中的上述构件全部或部分执行。
1、如不是a-i类指令,将程序存储器输出送入程序缓存器,PC加1;2、a指令,程序存储器输出中表示跳转到的程序地址段装载到PC,;
3、b指令,PC压入PC Stack,DTP压入DTP Stack,程序存储器输出中表示子程序地址段装载到PC,PC加1;4、c指令,从PC Stack弹出PC,从DTP Stack弹出DTP,PC加1;5、d指令,从程序存储器输出向DTP赋值,PC加1;6、e指令,PC加1(跳过);待e指令测试等待信号被清除,将测试的寄存器内容装载到DTP;7、f指令,如果e指令测试等待信号没有被清除,则等待(PC不变)。如果e指令测试等待信号已被清除,将程序存储器输出该条指令中的表示数据表数据要写入存储器的代码部分和表示立即数到DPU内部寄存器的数据传送指令的代码写入程序缓存器的高位,将DTP通过程序存储器地址多路选择器送给程序存储器,待下一个时钟读出DTP指向的程序存储器的内容,并将其写入程序缓存器的低位;PC加1;8、g指令,从程序存储器输出向中断管理管理参数寄存器赋值。PC加1;9、h指令,从PC Stack弹出PC,从DTP Stack弹出DTP,PC加1,向IMU发出中断响应完毕信号;10、i指令,等待从DPU返回的分支条件(i指令测试等待信号被清除)。如分支条件成立,则将程序存储器输出中表示跳转到的程序地址段装载到PC;如分支条件不成立,则PC加1。
DPU中集成了数据处理指令译码器,寄存器测试电路,数学计算与逻辑处理单元,数据存储器,输入/输出接口等。其中除寄存器测试电路外,其他部分与普通HARVARD结构的DSP基本相同,下面只对本发明结构与普通HARVARD结构的DSP不同的部分加以说明。
数据处理指令译码器完成除前面所述的PMU处理的a-i类指令外的一切指令的译码。在a-i类指令中,f类指令由PMU处理转变为立即数到DPU内部寄存器的赋值指令。
数学计算与逻辑处理单元中的某些寄存器(具体那些寄存器由指令系统而定)可以直接由寄存器测试电路直接读取。
寄存器测试电路完成PMU的条件分支与DTP间接赋值处理电路发出的DPU内部寄存器测试信号(简称寄存器测试信号)的响应。寄存器测试电路检测到寄存器测试信号后,检测程序缓冲器中是否有修改被测试寄存器的指令,如没有,则向PMU发出测试响应信号。PMU应答该信号后,将欲测试的寄存器内容放到程序总线上,PMU的测试响应信号无效后,让出程序总线,完成寄存器测试。
本发明与现有技术相比具有成品率高和成本低以及速度快的优点。
权利要求
1.一种程序管理/数据处理分离式体系结构的数字信号处理器,其特征在于其中至少包含有两个芯片单元,一个程序管理单元,另一个数据处理单元;与程序寻址有关的操作由程序管理单元完成,数据处理单元不处理与程序寻址直接有关的操作;两个单元之间通过一条程序总线和一些握手信号相连接,在大部分情况下,系统处理的指令是程序的管理芯片通过程序总线单向地送入数据处理芯片。
2.根据权利要求1所述的一种程序管理/数据处理分离式体系结构的数字信号处理器,其特征在于其中程序管理单元包括一程序只读存储器,该程序只读存储器通过程序缓存与程序总线相连接,并连接到指令预处理单元10,该指令预处理、中断控制信号经过运算返回到程序只读存储器。
3.根据权利要求2所述的一种程序管理/数据处理分离式体系结构的数字信号处理器,其特征在于其中指令预处理单元10包括指令预处理器,用于对程序只读存储器的信号进行预处理;选择器和中断管理器,该中断管理器用于中断控制。
4.根据权利要求1所述的一种程序管理/数据处理分离式体系结构的数字信号处理器,其特征在于其中数据处理单元包括程序缓存器,该程序缓存器与程序总线相连接,并经寄存器测试与数据处理译码器相连接,并经运算单元20与数据总线相连接,该数据总线分别接至输入输出接口和数据缓存器及数据存储器。
全文摘要
一种程序管理/数据处理分离式体系结构的数字信号处理器,其中至少包含有两个芯片单元,一个程序管理单元,另一个数据处理单元;与程序寻址有关的操作由程序管理单元完成,数据处理单元不处理与程序寻址直接有关的操作;两个单元之间通过一条程序总线和一些握手信号相连接,在大部分情况下,系统处理的指令是程序的管理芯片通过程序总线单向地送入数据处理芯片。
文档编号G06F13/38GK1354426SQ0013273
公开日2002年6月19日 申请日期2000年11月16日 优先权日2000年11月16日
发明者吕铁良, 田泽, 仇玉林 申请人:中国科学院微电子中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1