发明名称 支持SIMD的32位三发射的数字信号处理器
摘要 本发明公开了一种支持SIMD的32位三发射的数字信号处理器。本发明包含3条并行发射的流水线:数据存取流水线、整数运算流水线、向量运算流水线,每条流水线具备独立的译码和执行单元,并支持SIMD操作。本发明主要由程序存储器接口单元、数据存储器接口单元、指令取指单元、流水线控制单元、系统总线、数据存取流水线单元、整数运算流水线单元、向量运算流水线单元、数据寄存器、地址寄存器、向量寄存器、协处理器接口单元、浮点运算单元经电路连接组成。本发明支持3条流水线并行执行,提高了DSP的并行处理能力;支持单周期并行执行4组16位的乘加操作,支持5组数据运算和1组数据存取操作同时执行,提升了DSP的数据处理能力。
申请公布号 CN102750133A 申请公布日期 2012.10.24
申请号 CN201210205812.0 申请日期 2012.06.20
申请人 中国电子科技集团公司第五十八研究所 发明人 屈凌翔;张庆文;黄嵩人;杨晓刚
分类号 G06F9/38(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 无锡市大为专利商标事务所 32104 代理人 殷红梅
主权项 支持SIMD的32位三发射的数字信号处理器,其特征是:包括3条并行发射的流水线:数据存取流水线、整数运算流水线、向量运算流水线,每条流水线具备独立的译码和执行单元,并支持SIMD操作;所述数据存取流水线,包括存取译码单元、存取控制单元、地址运算单元、地址产生单元;存取译码单元和存取控制单元通过控制信号与地址产生单元和地址运算单元相连,控制地址产生单元和地址运算单元的运算,地址产生单元和地址运算单元通过数据总线与地址寄存器和数据寄存器相连,从地址寄存器和数据寄存器中读取数据进行运算,结果写回地址寄存器或者生成访存地址送到数据存储器接口;存取译码单元对指令取指单元发射过来的存取类指令进行译码;存取控制单元根据存取译码结果控制地址运算单元和地址产生单元的操作;地址运算单元对来自地址寄存器、数据寄存器或立即数的地址数据进行计算,得到的结果保存在地址寄存器中;地址产生单元根据寻址模式等生成访存地址;只有数据存取流水线能对外部存储器进行读写操作,其余两条流水线只对寄存器操作;所述整数运算流水线,包括ALU译码单元、算术控制单元、位处理单元、算术逻辑单元、协处理器接口单元;ALU译码单元和算术控制单元通过控制信号与算术逻辑单元和位处理单元相连,控制算术逻辑单元和位处理单元的运算,算术逻辑单元和位处理单元通过数据总线与数据寄存器相连,从数据寄存器中读取数据进行处理,并把结果写回数据寄存器中;位处理单元用于执行位操作,包括位插入、位提取、位替换和移位操作等;协处理器接口单元负责和协处理器进行数据交流;所述向量运算流水线,包括乘加译码单元、乘加控制单元、向量运算单元;乘加译码单元和乘加控制单元通过控制信号与向量运算单元相连,控制向量运算单元的运算,向量运算单元通过数据总线与数据寄存器和向量寄存器相连,从数据寄存器或向量寄存器中读取数据进行处理,并把结果写回数据寄存器或向量寄存器中;向量运算单元中包含操作数提取单元、4个16*32的乘法单元、2个64位累加器,主要用于执行并行的乘、乘加、乘加减操作,支持SIMD;还包括:指令取指单元,为3条流水线共用的取指单元,用于控制该单元中的程序计数器实现程序的顺序执行和跳转,并对数据冲突做出预测;通过程序存储器接口读入程序数据到指令取指单元的指令缓冲器中,并对指令缓冲器中的指令码进行判断,根据判断结果把32位或16位指令码分别发送到相应的流水线中;浮点运算单元,作为协处理器,通过协处理器接口单元连接到整数运算流水线;拥有独立的浮点指令集,通过整数运算流水线执行浮点运算,并把处理结果通过整数运算流水线送回数据寄存器;寄存器文件:包含16个32位地址寄存器、16个32位数据寄存器、16个32位向量寄存器以及特殊功能寄存器;地址寄存器用于地址运算和访存地址生成,数据寄存器用于整数运算和向量运算,向量寄存器用于支持向量运算中的SIMD操作,都支持不同的流水线同时从不同端口并行的读写数据;程序存储器接口通过地址总线和程序总线与指令取指单元相连,接收指令取指单元发送过来的取指地址,并把指令数据通过程序总线发送给指令取指单元;指令取指单元通过指令总线与存取译码单元、ALU译码单元、乘加译码单元相连,并能够并行发送3条指令到这3个译码单元中;所述数据寄存器、向量寄存器、地址寄存器通过数据总线和数据存储器接口单元相连,通过数据存储器接口和外部数据存储器进行数据交换;流水线控制单元通过流水线控制信号和各执行部件相连,控制各执行部件的执行,并接受各执行部件的反馈。
地址 214035 江苏省无锡市滨湖区惠河路5号