CN1297888C - 32位媒体数字信号处理器 - Google Patents
32位媒体数字信号处理器 Download PDFInfo
- Publication number
- CN1297888C CN1297888C CNB2004100167538A CN200410016753A CN1297888C CN 1297888 C CN1297888 C CN 1297888C CN B2004100167538 A CNB2004100167538 A CN B2004100167538A CN 200410016753 A CN200410016753 A CN 200410016753A CN 1297888 C CN1297888 C CN 1297888C
- Authority
- CN
- China
- Prior art keywords
- instruction
- data
- processor
- unit
- register file
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 238000013461 design Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000005755 formation reaction Methods 0.000 claims description 4
- 230000008520 organization Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims description 2
- 238000013517 stratification Methods 0.000 claims description 2
- 238000005728 strengthening Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 102000006822 Agouti Signaling Protein Human genes 0.000 description 1
- 108010072151 Agouti Signaling Protein Proteins 0.000 description 1
- 235000007926 Craterellus fallax Nutrition 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 240000007175 Datura inoxia Species 0.000 description 1
- 101100058681 Drosophila melanogaster Btk29A gene Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000011079 streamline operation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种微处理器及计算机系统,旨在提供一种32位媒体数字信号处理器。该处理器包括整型处理器核、流水控制单元、取指单元、指令、取操作数、数据、指令高速缓存、数据高速缓存、片上存储器、通用寄存器文件、媒体寄存器文件、总线接口单元、系统总线、整数执行单元、信号执行单元、媒体执行单元、算术逻辑单元、桶形移位器、整数乘加器,经电路连接组成,以及旁路单元和系统控制协处理器。本发明的媒体数字信号处理器的指令结构分为面向寄存器操作的寄存器—寄存器类指令,和面向存储器操作的寄存器—存储器类指令。既善于执行系统程序,又善于执行数字信号处理程序,兼有RISC处理器和DSP处理器结构特点,是RISC和DSP体系结构的有机融合体。
Description
技术领域
本发明涉及微处理器及计算机系统,更具体地说,本发明涉及一种32位媒体数字信号处理器,它支持面向寄存器的RISC指令、面向存储器的DSP指令以及SIMD类分裂模式操作的媒体指令,构成了媒体数字信号处理器丰富的寻址模式和指令操作的结构体系。
背景技术
传统的精简指令集处理器RISC(Reduced Instruction Set Computer)指令和数字信号处理器DSP(Digital Signal Processor)指令分别是寄存器—寄存器和寄存器—存储器类指令的典型代表。RISC始终秉承了“精简”的根本原则,采用面向寄存器的寻址方式,指令等长,格式简单。RISC指令在一个时钟周期内只能执行一个操作,并且一条指令最多只能访问一次存储单元。RISC指令最主要的特点是只允许Load/Store指令访问存储单元,而其它指令只能对寄存器中取出的数据进行处理。这样做的好处主要是指令格式和寻址模式单一,相应的硬件微结构也较为简单,软件开发工具的设计相对容易。但是,在需要进行大量数据计算的多媒体、通讯等应用领域中,这种单一的指令寻址方式和指令操作,以及寄存器—寄存器的指令特性往往成为制约RISC数据处理性能的瓶颈。所以,RISC处理器比较适合于执行数据吞吐量较少的操作系统、文字处理等应用程序。
DSP指令针对数据处理领域而设计,将着重点放在了提高数据处理能力方面,综合了丰富的指令寻址模式和指令操作,善于进行大量的、实时的数据算术运算,所以在执行数据处理程序时功能强大且灵活。DSP处理器除了Load/Store指令外,其它指令也可以直接访问存储单元,并且一条指令可以同时访问多个存储单元,加快了数据的访问速度。除了面向存储器寻址,DSP指令所支持的寻址模式和地址产生方式也是灵活多样(如窗口寻址、比特反转),指令操作较为丰富(如乘累加、零开销循环等),一条指令可以在一个时钟周期内执行多项操作。但是,寻址模式和指令操作的多样性也使得指令格式较为复杂,DSP处理器微结构实现较RISC复杂,同时也对软件工具的设计提出了较高的要求。
在传统的系统芯片设计中,指令集处理部件一般选择RISC或DSP。RISC一般用于系统通用控制和承担计算复杂度不高的处理任务。DSP专用于承担计算复杂度较高的数字信号处理任务,广泛应用于各种领域:从频谱低端的语音、音频等信号处理,到频谱高端的图象、视频等信号处理。对于不同的信息处理任务,最优的ISP体系结构是不同的,没有一个确定的ISP能满足所有应用的各种需求,包括速度、功耗、面积等。显然,RISC和DSP相融合的体系结构,可以为高性价比ASIP部件的定制开发提供更灵活更合理的基本架构。在RISC和DSP的融合上,比较突出的研究工作如OMAP系统和E1-32系统。OMAP系统主要由一个ARM核和一个DSP核组成。ARM核主要负责控制处理,而DSP核则侧重于执行一些数字算法程序,如FFT、FIR等。但是,复杂的数据交换使得整个系统非常复杂。而且,整个系统只是两个核简单的拼凑,这样就需要双倍的资源,所以存在着资源的浪费。编程方面也存在很大的不便。E1-32结构把通用处理器(GPP)和DSP进行了融合,在GPP的基础上加上了DSP单元。基本的ALU负责RISC指令的操作,而DSP单元负责数字信号处理,而且两者可以并行执行。E1-32结构在一定程度上把RISC和DSP进行了有机的融合,避免了由于两个核简单合并而引起的诸多缺点。
随着目前嵌入式系统的蓬勃发展,其涵盖的应用领域越来越广泛,涉及到多媒体处理,数据通信,消费电子等领域。嵌入式系统不再是以往的单一应用系统,而是将执行多种功能和任务的能力整合在一起。所以,嵌入式应用不断的对处理器结构、微结构设计、性价比、数据处理能力、任务调控能力、软件开发工具等诸多功能要素提出更高的要求。而RISC和DSP的指令结构各有所长,各自偏重于不同的系统执行功能和应用领域。如果能将它们加以融合,从中提炼出一种更加符合既有大量数据处理、又有实时控制、既功能强大、又符合对性价比要求敏感的嵌入式系统要求的结构体系,那么无疑会更好地适应市场的需要。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种面向多媒体等应用领域的媒体数字信号处理器。
为了解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提出一种32位的媒体数字信号处理器,由流水控制单元、取指单元、指令、取操作数、数据、指令高速缓存、数据高速缓存、片上存储器、通用寄存器文件、媒体寄存器文件、总线接口单元、系统总线、整数执行单元、信号执行单元、媒体执行单元、算术逻辑单元、桶形移位器、整数乘加器经电路连接组成。其中指令高速缓存、数据高速缓存、数据存储器同总线接口单元连接,通用寄存器文件和媒体寄存器文件同整数执行单元、信号执行单元、媒体执行单元连接。协处理器为系统控制协处理器,异常控制寄存器组用于协助处理器核控制设置、状态管理和异常处理;存储管理寄存器组主要用于协助内存管理;媒体信号处理器支持虚拟存储系统,协处理器中集成完整的存储管理单元,指令转换查找缓冲根据配置寄存器中相应控制位的设定进行指令地址和数据地址的虚实静态转换或动态转换。媒体数字信号处理器采用层次化的存储器组织方式提高处理器性能,最靠近整型处理器核的一级为内部寄存器,包括32个32位寄存器构成的通用寄存器文件和8个64位寄存器构成的媒体寄存器堆;第二级为片上高速缓存和片上数据存储器,高速缓存采用指令高速缓存和数据高速缓存分离的哈佛结构,为增强数字信号处理性能特设置片上数据存储器,适用于存放诸如系数之类频繁访问的数据;第三级为片外存储器,可接不同类型、不同速度等级和容量的存储器。总线接口单元提供处理器核与系统总线的接口,系统总线上挂接外存和片上外设。
本发明中,整型处理器核采用六级流水线结构,分别是取指(IF)、译码(ID)、生成地址(DA)、访存(DM)、执行(EX)、回写(WB)六个流水级。取指主要是访问指令存储器,译码级执行指令页面比较、通用寄存器文件的数据相关的转发单元、指令译码和用户扩展模块,生成地址级执行地址生成1和地址生成2、媒体寄存器文件的数据相关性判别和转发单元2,跳转单元进行条件判别跳转、程序计数器PC的控制选择;访存级访问数据存储器;执行级包括数据页面比较、数据对齐、算术逻辑单元、乘累加单元和用户扩展;回写主要是回写通用寄存器文件和媒体寄存器文件。
本发明中包括了基本指令、信号处理指令和媒体指令。取指级同时执行指令高速缓存的读访问和指令虚地址的转换查找表转换,译码级同时执行指令译码、指令页面比较和通用寄存器源操作数读取,这两级对所有的指令都是一样的。控制转移类指令在地址计算级计算转移地址,决策程序转移的方向。需要访问数据存储器的指令都在地址级计算存储器地址,在访存级访问存储器(包括高速缓存系统和片上数据存储器),在执行级执行数据页面比较和部分字对准操作。所有的运算类指令在执行级执行运算操作,包括算术、逻辑、移位、转换运算和乘法、乘加运算。在回写级,结果写回到寄存器文件,包括通用寄存器文件和媒体寄存器文件。
本发明中采用了指令构成模型的概念,按照指令构成表达式正交性原则,设计了包括具有RISC特点的面向寄存器的MDF指令,具有DSP特点的面向存储器的MDD指令,以及SIMD类分裂模式操作的MDS指令。
本发明中采用了旁路逻辑每个流水级分别将相应的旁路控制和数据信号给出到旁路单元统一进行判别和处理,它根据指令执行的先后次序与相应的控制信号,检测出前后指令之间的数据相关性,从若干数据源中选择出正确的数据。检测结果同时送到流水控制单元进行流水线状态控制。旁路逻辑就是要解决当指令需要前面指令的执行结果,而前面指令还没有将结果写回寄存器文件的数据冲突矛盾,或者针对前后指令存在的数据矛盾产生一定的控制信号帮助流水线的停顿状态处理。旁路能够使当前指令绕过等待寄存器文件数据读取的环节,直接从流水线中得到所需操作数进入下一流水节拍,所以可以帮助提高处理器执行效率。
本发明中允许不同运算指令在执行级走不等长的流水节拍数。复杂运算操作的完全流水化,不仅使得流水线的时钟频率不再受制于运算时间,而且使得连续相同的复杂运算指令序列以流水线扩展的方式实现了单周期运算吞吐量指标。允许不同指令在执行级走不等长的流水节拍数,提高了处理器性能。
本发明中,通用寄存器文件采用32×32的寄存器组织形式,媒体寄存器文件为64×8的寄存器组织形式。执行基本指令时,通用寄存器文件为通用的两读一写的通用寄存器组;在执行信号处理指令时为4读2写的寄存器组;在执行媒体指令时,可以同媒体寄存器文件进行数据交换。
本发明中根据处理流水线竞争和处理器异常的基础上,提出并实现了一种基于有限状态机(FSM)的流水线集中控制方案。为加快流水控制单元的响应速度,对当前输入的状态信号不加时钟锁存,即刻决定流水线下一拍的动作,避免和减少流水线过运行,从而提高了运行效率。
本发明中将媒体寄存器源操作数的读取放在地址生成级,通用寄存器源操作数的读取放在译码级,是由于在随后的地址生成级就可能用到,而媒体寄存器源操作数不会用于控制或地址计算,因此可以滞后到地址生成级再读取。这样,可以减少指令间因媒体寄存器操作数相关性而引发的流水线竞争,从而可以提高流水级动作优化。
与现有技术相比,本发明的有益效果是:
本发明的媒体数字信号处理器的指令结构分为面向寄存器操作的寄存器—寄存器类指令,和面向存储器操作的寄存器—存储器类指令。这两类指令分别对应于处理器中的MDF(MD32 Fundament)和MDD(MD32 DSP)类指令。处理器还设计了单指令多数据SIMD(Single Instruction Multi-Data)的MDS类指令,它既包含了寄存器—寄存器,又包含了寄存器—存储器指令类型,能够对数据执行分裂模式操作。媒体数字信号处理器将RISC与DSP的指令操作、寻址模式等要素充分融合,形成了具有自身特点的一类新的指令系统。它决定了处理器指令结构既善于执行系统程序,又善于执行数字信号处理程序,兼有RISC处理器和DSP处理器结构特点,是RISC和DSP体系结构的有机融合体。
附图说明
图1为本发明的系统结构图。
图2为本发明的流水线结构图。
图3为本发明的典型指令流水线上的执行过程。
图4为本发明的执行级的超流水线扩展结构。
图5为本发明的算术逻辑单元的结构。
图6为本发明的运行状态控制图。
具体实施方式
本发明具体实施例的系统结构图如图1所示。包括整数执行单元(MDF)、信号执行单元(MDD)、媒体执行单元(MDS)三套指令体系。
指令的流水线见图2,包括取指、译码、地址、访存、执行、回写六级流水。
取指:从指令存储单元取得指令数据,查找TLB和Tag表项,将指令虚拟地址转换为物理地址
译码:对指令进行译码,给出译码控制信号和数据信号,BPU和PCU利用其进行部分状态控制;访问寄存器文件;给出指令高速缓存命中与否的信息。
地址:利用两个可以并行工作的地址计算单元计算操作数地址,支持多种指令寻址模式。
访存:访问数据存储单元,查找TLB和Tag表项(访问数据高速缓存),将数据虚拟地址转换为物理地址。
执行:进行加、减、移位、逻辑、乘法等指令算术运算,并产生数据缓存命中与否的信息。
回写:将地址计算级得到的地址计算辅助寄存器更新值以及执行级产生的计算结果写回寄存器文件。
一些典型指令在处理器流水线上的执行过程安排见图3。处理器将转换查找表转换和高速缓存访问安排在同一个流水级并行进行,以精简优化流水线。相应地,处理器中的高速缓存结构是基于虚地址索引的。取指级同时执行指令高速缓存的读访问和指令虚地址的转换查找表转换,译码级同时执行指令译码、指令页面比较和通用寄存器源操作数读取,这两级对所有的指令都是一样的。将数据的运算操作调整到数据存储器访问之后,以支持直接面向存储器的操作指令。处理器指令集结构支持直接面向存储器的操作指令,并支持丰富的存储器寻址方式。地址产生级设置两个地址产生单元1和地址产生单元2,支持对两个存储器操作数的多种寻址模式。访存级相应地可读取两个存储器操作数,一个来自高速缓存系统,另一个来自片上数据存储器。数据存储器访问为单相时钟的一个流水级后,为控制流水级时延,数据页面比较和数据读对准操作分离出来,放到后续的执行级。控制转移类指令在地址产生级计算转移地址,决策程序转移的方向。需要访问数据存储器的指令都在地址产生级计算存储器地址,在访存级访问存储器(包括高速缓存系统和片上数据存储器),在执行级执行数据页面比较和部分字对准操作。所有的运算类指令在执行级执行运算操作,包括算术、逻辑、移位、转换运算和乘法、乘加运算。在回写级,结果写回到寄存器文件,包括通用寄存器文件和媒体寄存器文件。
执行级的运算功能部件主要是算术逻辑单元(ALU)和乘累加(MAC)。乘法、乘加运算由MAC承担,其余的运算都由ALU承担,包括所有MDF、MDD和MDS指令的算术运算、逻辑运算和移位运算,以及MDS指令特有的数据转换(打包、解包、换位等)处理。如图5为设计的媒体ALU结构框图,将运算功能分成4类——算术运算、逻辑运算、移位运算和数据转换。媒体运算指令的主要特点就是支持单指令多数据的亚字并行操作、运算结果特殊处理和媒体专用指令。媒体ALU的设计中将PSADBD指令的实现分成2拍完全流水,如图5所示,第1拍执行8路单指令多数据并行的8比特无符号数减法并取绝对值,第2拍将8路8比特无符号数相加成最后结果。如图4所示,操作和普通算术逻辑单元运算只需要1个时钟节拍;绝对误差和结果为2拍流水;媒体指令中的4分裂式并行16比特乘法(累加)运算为2拍流水,16比特乘加指令为3拍流水;而32比特乘法(加)运算需要4拍流水。比如在DSP应用中,256个采样值与常系数的卷积,其核心运算为256条连续的乘累加指令,即使采用32比特字长运算,也可在初始的3拍延迟等待后,每个时钟节拍完成一次乘累加运算。在处理器的MDF基本指令集和MDD信号指令集中,乘法(累加)指令对32比特宽度的整数执行乘法;而在MDS媒体指令集中,乘法(乘加)指令PMULLSD(PMACLSD)、PMULHSD(PMACHSD)、PMULLUD(PMACLUD)和PMULHUD(PMACHUD)是对16比特宽度的整数执行4路单指令多数据并行乘法(乘加)。同时,MAC支持亚字并行运算和可分裂的数据通道。
MDS媒体指令集共有41条指令,参照MDF基本指令的R-type编码格式,占用一个空的特殊主操作码(Instr[31:26]=111111)表示整个MDS指令集,而用6比特的功能码区分各MDS指令,并根据操作数寻址方式设计了4种机器码编码格式,如表5所示。
有限状态机(FSM)将系统的运行状态分为:滑行(Slip)、停顿(Stall)、运行(Run)、重启(Restart)、复位(Reset)。停顿是指在后面流水级执行的指令照常执行,而前面流水级的指令暂停执行的一种状态。停止是指整个流水线都停止运行,等待重新启动控制信号将其转入其它运行状态。FSM根据流水线各级的不同请求信号将处理器转入相应的运行状态。各运行状态之间关系如图6所示:
当执行的前后指令间存在数据相关性关系,并且旁路逻辑无法解决这种相关关系时,系统产生滑行(slip)状态,直到系统解决了该数据相关性,处理器才能转入其它运行状态。
当处理器访问指令或数据存储空间不命中时,系统进入停顿状态(stall),直到FSM重新启动流水线操作。由于处理器需要去访问片外存储空间,所以停止状态耗费的时钟周期数较大。当FSM给出重启信号(restart)后,处理器跳出系统的停止状态,根据当前指令的执行情况,转入停顿或者运行状态。
当系统给出复位信号(reset)后,整个处理器状态都恢复到默认值,经过一定时间后,进入运行状态。正常情况下,系统处于运行状态(run),除非有进入滑行状态(slip)或停顿状态(stall)的系统请求。
FSM通过对来自于转发单元以及处理器各个部分的请求信号、状态信号以及对运行状态的综合判断后,依照运行状态转换之间的关系,产生一定的控制信号,送回到相应模块中去,从而控制整个处理器的运行状态,使得媒体信号处理器系统协调工作。
表1 RD-type中RD_A类指令构成模型、
表2 RD-type中RD_B~RD_G类指令构成模型
表3 ID-type指令构成模型
表4 P-type指令构成模型
表5 S-type类指令构成模型
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Opcode=000000 | 01 | ARm | Rt | Rd | Disp | SRA/SRL/SLL | |||||||||||||||||||||||||
10 | Modm | ||||||||||||||||||||||||||||||
11 | Direct1 | Direct1 |
表1 RD-type中RD_A类指令构成模型
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Opcode=000000 | Disp1 | ARm | Disp1 | ARn | E1=00 | Dst | Disp2 | 1 | Function | ||||||||||||||||||||||
E2=00 | ARm | Rt | E1=01 | Modm | |||||||||||||||||||||||||||
E2=01 | Immediate | Disp | |||||||||||||||||||||||||||||
Rs | E2=00 | ARn | E1=10 | Modn | |||||||||||||||||||||||||||
E2=01 | Disp | ||||||||||||||||||||||||||||||
Modm | ARm | Modm | ARn | E1=11 | Modn |
表2 RD-type中RD_B~RD_G类指令构成模型
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Load/Store | 11111 | Rt | Modm | ARm | Disp | ||||||||||||||||||||||||||
ALU I-type | 00 | Dst | |||||||||||||||||||||||||||||
01 | Immediate |
表3 ID-type指令构成模型
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Opcode | Modm | Src1 | Modm | Src2 | B1 | B2 | Dst1 | B3 | Modn | ARm | ARn | ||||||||||||||||||||
A | P | D | 0 |
表4 P-type指令构成模型
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Opcode=111111 | 00 | MRs | 00000 | Gg | MRd | Sa | Function | ||||||||||||||||||||||||
01 | 00 | MRt | 00000 | ||||||||||||||||||||||||||||
10 | 000 | Rt | |||||||||||||||||||||||||||||
11 | MRs | Disp | ARn | Modn |
表5 S-type类指令构成模型
最后,还需要注意的是,以上列举的仅是本发明的具体实施例子。显然,本发明不限于以上实施例子,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (10)
1、一种32位媒体数字信号处理器,其特征在于,包括整型处理器核、流水控制单元、取指单元、指令高速缓存、数据高速缓存、片上数据存储器、通用寄存器文件、媒体寄存器文件、总线接口单元、系统总线;
整型处理器核通过电路分别与流水控制单元、通用寄存器文件和媒体寄存器文件连接;总线接口单元通过电路分别与指令高速缓存、数据高速缓存、片上数据存储器和系统总线连接;流水控制单元与指令高速缓存通过取指单元实现指令读取;流水控制单元与数据高速缓存、片上数据存储器通过取操作数实现数据读取;
所述整型处理器核包括整数执行单元、信号执行单元、媒体执行单元,其中整数执行单元依次与算术逻辑单元、桶形移位器、整数乘加器构成单元的组合,信号执行单元依次与算术逻辑单元、桶形移位器、整数乘加器构成单元的组合,媒体执行单元依次与算术逻辑单元、桶形移位器、整数乘加器构成单元的组合;
该32位的媒体数字信号处理器还包括旁路单元和
一个系统控制协处理器,系统控制协处理器由异常控制寄存器组、存储管理寄存器组和指令转换查找缓冲组成;异常控制寄存器组用于协助处理器核控制设置、状态管理和异常处理;存储管理寄存器组用于协助内存管理;媒体数字信号处理器支持虚拟存储系统,系统控制协处理器集成完整的存储管理单元,指令转换查找缓存根据配置寄存器中相应控制位的设定进行指令地址和数据地址的虚实静态转换或动态转换。
2、如权利要求1所述的处理器,其特征在于采用层次化的存储器组织方式,最靠近整型处理器核的一级为内部寄存器,包括32个32位寄存器构成的通用寄存器文件和8个64位寄存器构成的媒体寄存器文件;第二级为片上高速缓存和片上数据存储器,高速缓存采用指令高速缓存和数据高速缓存分离的哈佛结构,为增强数字信号处理性能特设置片上数据存储器,用于存放诸如系数之类频繁访问的数据;第三级为片外存储器,可接不同类型、不同速度等级和容量的存储器;总线接口单元提供处理器核与系统总线的接口,系统总线上挂接外存和片上外设。
3、如权利要求1所述的处理器,其特征在于所述的整型处理器核采用六级流水线结构,分别是取指IF、译码ID、生成地址DA、访存DM、执行EX、回写WB六个流水级;取指主要是访问指令存储器;译码级执行指令页面比较、通用寄存器堆的数据相关的转发单元、指令译码、和用户扩展模块;生成地址级执行地址生成1和地址生成2、媒体寄存器文件的数据相关性判别和转发单元2,跳转单元进行条件判别跳转、程序计数器PC的控制选择;访存级访问数据存储器;执行级包括数据页面比较、数据对齐、算术逻辑单元、乘累加单元和用户扩展;回写主要是回写通用寄存器文件和媒体寄存器文件。
4、如权利要求3所述的处理器,其特征在于每个流水级分别将相应的旁路控制和数据信号给出到旁路单元统一进行判别和处理,根据指令执行的先后次序与相应的控制信号,检测出前后指令之间的数据相关性,从若干数据源中选择出正确的数据;检测结果同时发送到流水控制单元进行流水线状态控制,使当前指令绕过等待寄存器文件数据读取的环节,直接从流水线中得到所需操作数进入下一流水节拍。
5、如权利要求3所述的处理器,其特征在于不同运算指令在执行级走不等长的流水节拍数,允许不同指令在执行级走不等长的流水节拍数。
6、如权利要求3所述的处理器,其特征在于根据处理流水线竞争和处理器异常的基础,实现基于有限状态机FSM的流水线集中控制方案,对当前输入的状态信号不加时钟锁存,即刻决定流水线下一拍的动作。
7、如权利要求3所述的处理器,其特征在于处理器的指令包括基本指令、信号处理指令和媒体指令,取指级同时执行指令高速缓存的读访问和指令虚地址的转换查找表转换;译码级同时执行指令译码、指令页面比较和通用寄存器源操作数读取,这两级对所有的指令都是一样的;控制转移类指令在地址计算级计算转移地址,决策程序转移的方向;需要访问数据存储器的指令都在地址级计算存储器地址,在访存级访问存储器、高速缓存系统和片上数据存储器,在执行级执行数据页面比较和部分字对准操作;所有运算类指令在执行级执行运算操作,包括算术、逻辑、移位、转换运算和乘法、乘加运算;在回写级,结果写回到寄存器堆,包括通用寄存器文件和媒体寄存器文件。
8、如权利要求7所述的处理器,其特征在于所述指令按照指令构成表达式正交性原则设计,包括具有RISC特点面向寄存器的MDF指令、具有DSP特点面向存储器的MDD指令、以及具有SIMD类分裂模式操作的MDS指令。
9、如权利要求7所述的处理器,其特征在于所述的通用寄存器文件采用32×32的寄存器组织形式,媒体寄存器文件为64×8的寄存器组织形式;执行基本指令时,通用寄存器文件为通用的两读一写的通用寄存器组;在执行信号处理指令时为4读2写的寄存器组;在执行媒体指令时,可以同媒体寄存器文件进行数据交换。
10、如权利要求7所述的处理器,其特征在于将媒体寄存器源操作数的读取放在地址生成级,通用寄存器源操作数的读取放在译码级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100167538A CN1297888C (zh) | 2004-03-03 | 2004-03-03 | 32位媒体数字信号处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100167538A CN1297888C (zh) | 2004-03-03 | 2004-03-03 | 32位媒体数字信号处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1560731A CN1560731A (zh) | 2005-01-05 |
CN1297888C true CN1297888C (zh) | 2007-01-31 |
Family
ID=34440633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100167538A Expired - Fee Related CN1297888C (zh) | 2004-03-03 | 2004-03-03 | 32位媒体数字信号处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1297888C (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069547B2 (en) | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
US8838663B2 (en) * | 2007-03-30 | 2014-09-16 | Intel Corporation | Method and apparatus for performing multiplicative functions |
CN101739235A (zh) * | 2008-11-26 | 2010-06-16 | 中国科学院微电子研究所 | 将32位dsp与通用risc cpu无缝混链的处理器装置 |
CN102033737A (zh) * | 2010-06-13 | 2011-04-27 | 苏州和迈微电子技术有限公司 | 面向嵌入式系统的多级流水数字信号处理器体系结构 |
CN101957743B (zh) * | 2010-10-12 | 2012-08-29 | 中国电子科技集团公司第三十八研究所 | 并行数字信号处理器 |
CN103257884A (zh) * | 2013-05-20 | 2013-08-21 | 深圳市京华科讯科技有限公司 | 设备虚拟化处理方法 |
CN103257885A (zh) * | 2013-05-20 | 2013-08-21 | 深圳市京华科讯科技有限公司 | 媒体虚拟化处理方法 |
CN103309725A (zh) * | 2013-05-20 | 2013-09-18 | 深圳市京华科讯科技有限公司 | 网络虚拟化处理方法 |
US20150100759A1 (en) * | 2013-10-07 | 2015-04-09 | Texas Instruments Deutschland Gmbh | Pipelined finite state machine |
US11061672B2 (en) * | 2015-10-02 | 2021-07-13 | Via Alliance Semiconductor Co., Ltd. | Chained split execution of fused compound arithmetic operations |
CN105824696B (zh) * | 2016-03-18 | 2019-07-05 | 同济大学 | 一种具有定时中断功能的处理器装置 |
CN108229668B (zh) * | 2017-09-29 | 2020-07-07 | 北京市商汤科技开发有限公司 | 基于深度学习的运算实现方法、装置和电子设备 |
CN108845829B (zh) * | 2018-07-03 | 2021-06-25 | 中国人民解放军国防科技大学 | 一种系统寄存器访问指令的执行方法 |
CN110245096B (zh) * | 2019-06-24 | 2023-07-25 | 苏州暴雪电子科技有限公司 | 一种实现处理器直接连接扩展计算模块的方法 |
CN111026445A (zh) * | 2019-12-17 | 2020-04-17 | 湖南长城银河科技有限公司 | 一种智能识别方法及芯片 |
CN112463723A (zh) * | 2020-12-17 | 2021-03-09 | 王志平 | 一种微内核阵列的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1278932A (zh) * | 1997-09-17 | 2001-01-03 | 索尼电子有限公司 | 具有可变宽度指令的数字信号处理器 |
US20030196072A1 (en) * | 2002-04-11 | 2003-10-16 | Chinnakonda Murali S. | Digital signal processor architecture for high computation speed |
US6678765B1 (en) * | 2000-02-07 | 2004-01-13 | Motorola, Inc. | Embedded modem |
-
2004
- 2004-03-03 CN CNB2004100167538A patent/CN1297888C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1278932A (zh) * | 1997-09-17 | 2001-01-03 | 索尼电子有限公司 | 具有可变宽度指令的数字信号处理器 |
US6678765B1 (en) * | 2000-02-07 | 2004-01-13 | Motorola, Inc. | Embedded modem |
US20030196072A1 (en) * | 2002-04-11 | 2003-10-16 | Chinnakonda Murali S. | Digital signal processor architecture for high computation speed |
Also Published As
Publication number | Publication date |
---|---|
CN1560731A (zh) | 2005-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1297888C (zh) | 32位媒体数字信号处理器 | |
EP3726389B1 (en) | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator | |
US10445250B2 (en) | Apparatus, methods, and systems with a configurable spatial accelerator | |
CN103150146B (zh) | 基于可扩展处理器架构的专用指令集处理器及其实现方法 | |
US10417175B2 (en) | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator | |
US10891240B2 (en) | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator | |
US11029958B1 (en) | Apparatuses, methods, and systems for configurable operand size operations in an operation configurable spatial accelerator | |
Cho et al. | Decoupling local variable accesses in a wide-issue superscalar processor | |
EP3776228A1 (en) | Apparatuses, methods, and systems for unstructured data flow in a configurable spatial accelerator | |
US20220100680A1 (en) | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits | |
EP3757809A1 (en) | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator | |
CN1142484C (zh) | 微处理器向量处理方法 | |
EP3757814A1 (en) | Apparatuses, methods, and systems for time-multiplexing in a configurable spatial accelerator | |
WO2020005449A1 (en) | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator | |
US11907713B2 (en) | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator | |
US6341300B1 (en) | Parallel fixed point square root and reciprocal square root computation unit in a processor | |
CN108415728B (zh) | 一种用于处理器的扩展浮点运算指令执行方法及装置 | |
CN112559037B (zh) | 一种指令执行方法、单元、装置及系统 | |
CN102682232B (zh) | 一种高性能超标量椭圆曲线密码处理器芯片 | |
CN100451951C (zh) | Risc cpu中的5+3级流水线设计方法 | |
US20020056034A1 (en) | Mechanism and method for pipeline control in a processor | |
CN102436781B (zh) | 基于隐式相关性和隐式旁路的微处理器指令拆分装置 | |
CN101615113A (zh) | 一条指令完成一次蝶形运算的微处理器实现方法 | |
Li et al. | VLSI implementation of a High-performance 32-bit RISC Microprocessor | |
Sangireddy | Reducing rename logic complexity for high-speed and low-power front-end architectures |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070131 Termination date: 20130303 |