[发明专利]超长指令字VLIW的处理器和处理方法有效
申请号: | 201210343250.6 | 申请日: | 2012-09-14 |
公开(公告)号: | CN102855120A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 石晶林;朱子元;于亚轩 | 申请(专利权)人: | 北京中科晶上科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京中伟智信专利商标代理事务所 11325 | 代理人: | 张岱 |
地址: | 100190 北京市海淀区中*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 超长 指令 vliw 处理器 处理 方法 | ||
技术领域
本发明涉及一种超长指令字VLIW的处理器和处理方法。
背景技术
VLIW:(Very Long Instruction Word,超长指令字)一种非常长的指令组合,它把许多条指令连在一起,同时执行,增加了运算的速度,提高并行度。在VLIW结构中有并行指令条数固定的结构,即每次并行执行的指令条数是固定的;也有并行指令条数可变的结构,即每次并行执行的指令条数是灵活可变的。
专利:03818755.8中介绍了一种超长指令字VLIW的架构。这种架构中指令的存储是按照指令条数不变的VLIW来存储的,每个存储单元都存储了可并行指令条数的最大值,需要用NOP(空操作)指令来填充程序存储器的空间,其程序存储器消耗和并行指令条数固定的VLIW结构是相同的。在取指令时,通过特殊的程序存储器组织方式和指令首部来判断是否需要读取相应的程序,根据指令首部判断当前的指令是否为NOP,如果为NOP则不进行取指令操作,反之则取指令并指令。这样做需要增加不必要的程序存储器,并且增加了取指令时的判断逻辑。
专利:US 5,774,737公开了一种并行指令条数可变VLIW的处理器,添加了一个指令字长寄存器用来指示当前并行的指令的条数,通过当前指令中VLIW指令字长重写指令来更新这个寄存器。这样的架构增加了写指令字长寄存器的过程,增加了取指令时的复杂度。
论文:Architecture Design of Variable lengths Instructions Expansion for VLIW中提出了一种并行指令条数固定的VLIW架构,每次并行的指令条数是固定的,但其单条指令的长度是可变的16bits或32bits,这样的架构需要在指令发射时添加必要的逻辑来判断出当前单条指令的比特数,增加了指令发射的复杂性。
发明内容
针对上述问题,本发明提供一种每次并行运行的指令条数是可变的取指令和发射指令方便,运行周期短,硬件结构简单超长指令字VLIW的处理器和处理方法。
为达到上述目的,本发明超长指令字VLIW的处理器,包括电连接的程序存储器、取指发射装置、指令寄存器装置和执行装置,其中,
所述程序存储器,用于存放指令,包括多个并行排列的存储单元,所述指令连续存放在所述程序存储器内;其中,所述的各指令中包含有用于区分本指令是否为本次并行运行的最后一条指令的条数标志位和用于确定本指令所属指令组的组别标志位;
所述取指发射装置,用于从程序存储器中提取指令,依据指令的条数标志位确定本次需要并行运行的指令,依据指令的组别标志位将本次需要并行运行的指令输入指令寄存器装置的不同指令寄存器中分别存放,没有指令输入的指令寄存器置空;
所述指令寄存器装置,包括与指令组别相同数量的指令寄存器,每个指令寄存器对应一组指令组,且每个指令寄存器用于存放与其对应的指令组中的指令;
所述执行装置,包括与所述指令寄存器一一对应的指令处理通路,所述指令处理通路用于执行相对应指令寄存器中的指令。
进一步地,所述取指发射装置,包括电连接的指令顺序拼接模块、并行指令条数判断模块、指令选择模块以及指令缓存模块,其中:
所述指令顺序拼接模块,用于提取程序存储器中的指令,将提取的指令和指令缓存模块中的指令按所述的指令在程序存储器中的存储顺序进行排序,并依据本次并行运行的指令条数输出本次并行指令至指令选择模块;
所述并行指令条数判断模块,用于读取经所述指令顺序拼接模块排序后的每个并行指令中的条数标志位,判断该指令是否为本次并行指令中的最后一条,并将本次并行运行指令条数输出至指令顺序拼接模块和指令选择模块;
指令选择模块,用于接收指令顺序拼接单元发送来本次并行运行的指令、以及并行条数判断模块发送的并行指令条数,读取本次并行运行指令的组别标志位判断出每条指令应该放到哪个指令寄存器,并将各指令输入相对应的各指令寄存器中存放,并且置空没有指令输入的指令寄存器;
指令缓存模块,用于存储在指令的一个运行周期内没有发射的指令。
进一步地,所述取指发射装置还包括指令跳转模块,用于在指令顺序拼接模块提取指令前,输出指示指令跳转位置的指示指令,令存放在指令缓存模块中指令无效,并且所述指令顺序拼接模块依据所述指示指令提取指令跳转位置以后的指令。
特别地,所述程序存储器的每个存储单元分配有存储与所述指令组别数量相等条数的指令。
进一步地,所述指令寄存器装置包括的指令寄存器的数量根据处理器的应用删减或者增加。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科晶上科技有限公司,未经北京中科晶上科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210343250.6/2.html,转载请声明来源钻瓜专利网。