[发明专利]超长指令字处理器指令发射方法有效
申请号: | 201210089913.6 | 申请日: | 2012-03-30 |
公开(公告)号: | CN102662637A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 陈书明;李振涛;李勇;陈吉华;郭阳;刘衡竹;刘祥远;唐涛;付志刚;刘尧;胡春媚;梁斌;刘必慰;刘蓬侠 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 超长 指令 字处理 发射 方法 | ||
技术领域:本发明涉及超长指令字(VLIW:Very Long Instruction Word)处理器中的指令发射方法,特别是采用变长指令包技术的VLIW处理器中的指令发射方法。
背景技术:
VLIW处理器通过编译器发掘指令间的并行性,将可并行执行的指令封装在一个指令包中,构成一个超长指令字。早期的VLIW处理器采用定长指令包技术,如果处理器有n个功能部件,指令包中应有n个固定的指令字段,每个字段放置一条指令,各个字段与功能部件之间是一一对应的关系,指令发射时只需按位置对应关系将指令送至相应的功能部件。如果某个功能部件没有指令需要执行,则要把指令包中的相应字段置为无效。如果程序中指令的并行度不高,指令包中会有大量的无效字段,造成存储空间的浪费。
为了克服定长指令包技术存储空间浪费的缺点,目前许多VLIW处理器采用变长指令包技术,仅在指令包中存储有效指令,从而提高了指令存储效率。变长指令包中指令的条数是变化的,如果指令包最多可容纳n条指令,则指令包中实际的指令条数介于1~n之间。处理器取指总线的宽度是确定的,将处理器一次从存储器中取回的指令称为一个取指包,一个取指包中可能会包含1个或多个指令包,如附图2的取指包由3个指令包组成。为了进一步提高存储效率,指令包还可位于两个相邻的取指包中,称为指令包跨边界技术。附图3对指令包跨边界技术进行了说明,指令包k共有四条指令,前两条指令位于取指包j的末尾,后两条指令位于取指包j+1的开头。
变长指令包技术的优点是指令存储密度高,缺点是增加了设计实现的复杂性。为了实现变长指令包方法,首先需要对指令编码进行修改,在指令编码中增加一个新的字段,用于指定目标功能部件;其次要对处理器的流水线结构进行调整,在取指部件和功能部件之间增加一个专门的指令发射部件,指令发射部件由一个指令缓冲区、一个待发射指令选择逻辑和一个指令发射交叉开关组成,如图4所示。指令发射方法是:
1)取指部件从指令存储器中取回一个取指包,如指令缓冲区有空闲,则将取指包存入指令缓冲区;
2)待发射指令选择逻辑从指令缓冲区中选择出当前时钟节拍能够被发射的指令,并将待发射指令送至指令发射交叉开关;
3)指令发射交叉开关对待发射指令逐条进行分析,根据指令编码中携带的部件信息将指令送至相应的功能部件。
在上述指令发射方法中,从指令存储器取回的取指包未经任何处理便直接存入指令缓冲区,每个指令包在缓冲区中的起始位置是不确定的,而且指令包的长度也是不确定的,导致待发射指令选择逻辑的实现非常复杂。待发射指令选择逻辑要对指令缓冲区中的指令逐条进行检查,如果指令i是当前指令包的首指令,则指令i可被发射;否则,进一步检查其是否满足下面两个条件:1)指令i前一条指令i-1是否能够被发射,2)指令i与指令i-1是否位于同一指令包,若两个条件均满足则指令i可被发射,如有任一条件不满足指令i均不可被发射。上述两个条件的判断使得待发射指令选择逻辑产生了串行相关性,如果要一次发射k条指令,则待发射指令选择逻辑的最大逻辑级数应超过k。待发射指令选择逻辑的逻辑级数多和延时大是当前指令发射方法的主要缺点。
发明内容:
本发明要解决的技术问题是提供一种新的基于指令ID扩展与匹配的指令发射方法,消除VLIW处理器待发射指令选择逻辑中存在的串行相关性,减小待发射指令选择逻辑的逻辑级数,从而减少指令发射的延时。
本发明的技术方案包括以下步骤:
第一步,改进指令发射部件,使得指令发射部件具有指令ID扩展和ID匹配功能,方法是:
1.1增加一个指令ID扩展逻辑。指令ID扩展逻辑位于取指部件和指令缓冲区之间,它接收取指部件送来的取指包,为取指包中的每条指令扩展一个指令ID,并将扩展之后的取指包送至指令缓冲区。指令ID扩展逻辑为每条指令扩展一个ID字段,用于存储各条指令的ID。ID字段的位宽为l,l满足下述条件:2l≥S,其中S为指令缓冲区中能够存储的最大指令条数(令指令缓冲区共有m行,一行可存储k条指令,则S=m×k)。经过ID扩展后,同一指令包内指令的ID均相等,相邻指令包的ID是连续的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210089913.6/2.html,转载请声明来源钻瓜专利网。