[发明专利]非完全锁步的VLIW处理器流水线控制方法有效
申请号: | 200910044747.6 | 申请日: | 2009-11-12 |
公开(公告)号: | CN101702118A | 公开(公告)日: | 2010-05-05 |
发明(设计)人: | 李勇;李振涛;陈书明;陈吉华;郭阳;万江华;孙书为;刘蓬侠;刘宗林;鲁建壮;余再祥;罗恒;吴虎成 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 完全 vliw 处理器 流水线 控制 方法 | ||
技术领域
本发明涉及一种微处理器设计中流水线的控制方法,尤其是一种超长指令字VLIW(Very Long Instruction Word)处理器流水线的控制方法。
技术背景
现代微处理器通常采用流水线结构来提高性能,无论是指令的获取还是指令的译码执行,都采用充分流水的部件来提升处理器性能。当深度流水的处理器发生分支指令转移时,流水线中未完成的指令序列可能会作废,使得分支转移的代价非常大。分支延迟槽方法是减少分支转移代价的常用方法之一,尤其在VLIW处理器中应用非常普遍。
VLIW处理器要求指令间时序完全同步,即要维系指令序列的执行顺序和相对时间间隔不变。VLIW处理器采用分支延时槽方法时,分支指令后面填充M条不相关的VLIW指令,M为分支延时槽数,其数值等于取指流水线长度。不管分支是否发生转移,分支延迟槽中的M条VLIW指令都要执行。如果发生转移,分支指令之后的M条VLIW指令执行之后,正好分支目标地址指向的新的指令序列流到执行流水线,不需要作废流水线中的指令。VLIW同步语义要求分支延迟槽中的指令必须全部执行,并且要维持分支延时槽内的指令序列和执行节拍不能改变,随后根据分支是否转移而执行正确的指令序列,这是VLIW的同步语义的要求。
传统的VLIW处理器采用分支延迟槽方法时通常采用完全锁步的方式来保证同步语义。锁步方式的问题在于一个部件的暂停会导致所有部件的暂 停,严重地影响了处理器的执行效率。当前处理器内核的执行速度远快于存储器访问速度,且两者之间的差距还有越来越大的趋势,从而存储器阻塞对流水线性能的影响也在加大。完全锁步控制使存储器阻塞代价非常大。
图1是采用完全锁步方式控制的VLIW处理器结构,取指流水线访问指令Cache取得超长指令字(每个时钟周期取得的VLIW指令包称为一个取指包),经过指令派发部件将VLIW指令中各个指令派发到执行流水线中的执行部件(每个时钟周期同时派发的VLIW指令称为一个执行包)。执行流水线在执行数据访存指令时会访问数据Cache,对数据Cache进行读或写操作。无论数据Cache访问缺失还是指令Cache访问缺失,其阻塞信号都会送往流水线控制器,流水线控制器发出暂停信号,暂停取指流水线和执行流水线,即用停顿整条流水线的方法来保持同步语义,这种完全锁步控制的方式这使得处理器的执行效率大大降低。
采用非完全锁步方式的VLIW流水线可以有效提升处理器的执行效率,但必须解决维持指令同步语义的问题,至今还没有公开技术资料涉及这方面的内容。
发明内容
本发明要解决的技术问题是提供一种非完全锁步的VLIW处理器流水线控制方法,采用本发明的VLIW处理器可以在非完全锁步控制方式下保持指令同步语义,减少流水线暂停次数,提高处理器执行效率。
本发明的技术方案是:
第一步,在传统的VLIW处理器基础上增加一个先进先出FIFO(Fist InFirst Out)结构的指令缓冲器,并将流水线控制器改为非锁步流水线控制器。增加指令缓冲器的方法是:将指令缓冲器与取指流水线、指令派发部件、非锁步流水线控制器相连。指令缓冲器的容量和VLIW处理器结构相关,要求大于2N,N为VLIW处理器中VLIW指令包长度。取指流水线从指令Cache中取出VLIW指令包,将VLIW指令包送到指令缓冲器。指令派发部件从指令缓冲器取出VLIW指令包,并将指令包中的指令以执行包为单位发送到执行流水线。指令缓冲器中没有指令包时向非锁步流水线控制器发Empty信号;指令缓冲器被指令包填满没有空闲存储空间时向非锁步流水线控制器发Full信号。
采用FIFO结构的指令缓冲器时,顺序执行的指令容易保持同步语义,只要不间断地按顺序派发指令即可。但遇到分支指令时,分支转移发生后如果取指流水线和执行流水线速度不匹配以及指令缓冲器中有分支延迟槽之后多余的指令,就会破坏VLIW同步语义,必须有相应的控制机制来保持同步语义。本发明的非锁步流水线控制器可以保持VLIW同步语义。
非锁步流水线控制器的设计方法是:非锁步流水线控制器由常规控制器和分支控制器组成,常规控制器和分支控制器的设计方法是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910044747.6/2.html,转载请声明来源钻瓜专利网。