超长指令字VLIW微处理器架构选用了先进的明晰并行指令规划。VLIW微处理器的最大长处是简化了处理器的结构,删除了处理器内部许多杂乱的操控电路,它能从应用程序中提取高度并行的指令数据,并把这些机器指令均匀地分配给芯片中的很多履行单元。本规划是针对VLIW微处理器的根本功用规划完成的,是针对64位指令字和192位数据进行操作处理,首要功用是将指令和数据别离区分到3个并行操作单元中,在履行单元中依据3个并行指令操控,对3个并行操作单元的数据进行并行处理,一起对操作处理数据进行存储处理办理。
1 VLIW微处理器
1.1 VLIW微处理的根本结构
VLIW微处理器的根本架构如图1所示,选用4级流水线的办法进行架构安排,别离是取指令、译码、履行、写回。VLIW微处理器从外部储存器中,取出指令和数据,指令经过译码操作,要求处理器进行履行动作,处理寄存器中的数据或许是取指令单元传输来的数据,并经过写回单元,将处理的数据存储到寄存器中。取指令单元是从存储器中取出相对应的指令和数据,并将相应的信息传输给译码单元和寄存器堆单元;译码单元的作用是将取指令单元的指令信息翻译为履行单元可以辨认的操作,将相应的信息传输到履行单元中;履行单元是履行对应的指令信息和处理相关的数据,一起也对寄存器堆送来的数据和指令进行相应的操作;写回单元是将履行单元的数据存储到寄存器堆中;寄存器堆是暂时寄存取指令单元和写回单元的数据或是指令。
1.2 VLIW微处理器操作办法
VLIW处理器指令操作办法是实施3种并行的操作,指令格局设置为:最高4位作为保存位,其他各20位顺次划给操作1、操作2、操作3,在每个20位中又别离留有4位的保存位,终究对16位的指令进行区分为操作码、源1地址、源2地址、方针地址。3种操作办法是并行履行,彼此独立,互不搅扰,而且操作履行都是64位的数据;每一种操作办法都可以完成16种操作运算:空操作、加、减、乘、装载、移动、读、比较、或、与非、或非、取反、左移、右移、循环左移、循环右移等操作。任何一种操作都可以对16个寄存器中的数据进行操作处理,且寄存器中所存储的数据是64位。整个操作过程是将源1与源2寄存器中的数据进行某种操作运算,将其操作处理成果存入方针寄存器中,其操作处理办法是选用寄存器寻址办法。
2 VLIW微处理器的规划与完成
依据VLIW微处理器体系架构和根本原理,将整个VLIW微处理区分为5个首要部分,并对如图2所示的5个部分进行功用规划与完成。详细原理:取指令模块把外部存储器的数据和指令传送给译码模块,并将部分指令信息传送给寄存器堆,完成取指令的功用;译码模块将取指模块的数据和指令进行相对应的译码,完成某一种详细的操作,并将译码成果传送到履行模块中;履行模块将译码模块或许寄存器堆模块的数据和指令完成其操作的详细功用,并将操作成果传送到写回模块中;写回模块将履行模块的信息写入寄存器中,并输出相关操作处理的数据。
2.1 取指令模块的规划
取指令模块的功用是从外部指令/数据的Catch获得VLIW指令和数据,将获得的信息传输给译码模块,让指令进行译码,一起也将获得的信息传输给寄存器堆模块,让履行模块履行操作进入内部寄存器而从寄存器堆取回数据。取指令模块规划完成如图3所示。将指令和数据经过挑选器分配到3个操作并行单元中,然后细分操作履行的办法。详细区分为顶层模块和3种并行操作模块。顶层模块首要完成对指令和数据进行分流,分红操作码和操作地址的办法。由于都是并行操作,只需要写出操作1的功用,其他的操作功用共同,仅仅输入的操作指令和操作地址不相同。
2.2 译码操作模块的规划
译码操作模块的功用是将取指令模块传输来的信息进行译码操作,将所进行译码操作传输给履行模块。由于在进行译码操作时,操作1、操作2、操作3的指令与数据没有彼此抵触,而且每一种操作的功用都是对16种操作进行相对应的译码,不同在于输入的各个操作的数据或指令的不相同,因而,在完成译码模块时,只需要完成一个操作译码的功用就可以。在改动输入的情况下就完成操作2、操作3的2种操作译码的功用,然后可完成译码模块的整个功用。译码模块其区分原理如图4所示。
2.3 履行模块的规划
履行模块是在VLIW微处理器一切模块中最杂乱的模块,其首要功用是履行VLIW指令操作,并将履行的操作成果送到写回模块中。在履行模块中选用寄存器旁路的特色,寄存器旁路用于处理指令或许数据之间的彼此抵触问题。
将履行模块区分为:顶层模块、操作1模块、操作2模块、操作3模块、功用履行模块、反常处理模块。顶层模块完成3种操作的数据与指令分流和中心变量的处理;操作1模块完成寄存器旁路的功用和数据的处理;操作2模块和操作3模块完成的功用与操作1模块相同,不同点在于中心数据抵触处理不相同;功用履行模块完成16种操作的详细功用;反常处理模块完成数据或指令的反常处理的详细功用。将各个模块衔接就完成履行单元的整个功用。
2.4 寄存器堆的完成
寄存器堆的结构如图5所示。输入端的数据、指令是来自2个单元,一个是取指令单元数据和指令,另一个是写回单元的数据;输出的指令、数据要传输到履行单元中进行履行操作。由于3种操作是并行履行的,每一种操作功用都是相同,因而在某个输入信号下,经由某种操作单元时,在挑选器MUX下,挑选某种详细操作运算。在功用单元FU中,对取出的存储器数据进行相应的操作运算处理,并将操作处理的成果输出送到履行单元中。图中虚线表明将写回单元输送来的操作数据直接存储到存储器中。完成时,要注意处理数据的相关问题。
2.5 写回单元的规划
写回单元是VLIW微处理器的终究一个单元,它的功用是将履行单元的操作成果写回到寄存器堆中,并在读有用的情况下,输出相应的操作处理数据。该模块规划相比照较简单,要完成写回寄存器堆的数据和该数据的方针寄存器地址,以及读出处理单元的操作处理数据。
2.6 归纳仿真与测验
将上述所规划的模块,运用原理图的规划办法,按图2 VLIW微处理模块区分结构进行相应的衔接,并挑选相应的器材进行编译测验,其仿真测验功用波形如图6所示。图中的波形图增加了中心变量寄存器的波形图,以便可以更好地比照输出波形,剖析处理器功用。VLIW微处理器首要即将处理的数据装入寄存器中,使用寄存器寻址的办法,对数据进行相应的16种功用操作运算,然后使用读的功用读出操作处理的数据成果。
在图6中,增加的中心变量是寄存器地址,根本的输入有时钟信号、复位信号、指令、数据。复位信号为低电平时,电路处于有用的作业状况,输出相关的操作数据。运用装载指令对寄存器顺次装入数据,鄙人一个时钟脉冲时,对寄存器的数据进行读出操作,输出数据有用信号输出高电平。
依据FPGA完成微处理器的规划是一个热门,在干流规划中首要模块的区分一般大致相同,首要差异在于首要模块下的小模块区分是彻底不相同的,而且完成与规划办法也不相同。在VLIW处理器规划中,细分各个小模块,运用硬件描绘言语完成各个根本模块的功用,然后终究完成整个微处理器的逻辑功用,并在开发板进行相应的逻辑剖析与功耗剖析,为实践DSP并行处理器架构供给必定的参阅根底。