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指令操作,并将执行的操作结果送到写回模块中。在执行模块中采用寄存器旁路的特点,寄存器旁路用于处理指令或者数据之间的相互冲突问题。