[发明专利]融合了顺序和VLIW的处理器体系结构及指令执行方法有效
申请号: | 201210279663.2 | 申请日: | 2012-08-07 |
公开(公告)号: | CN102799418A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 郭德源;杨旭;何虎 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 西安智大知识产权代理事务所 61215 | 代理人: | 贾玉健 |
地址: | 100084 北京市海淀区1*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 融合 顺序 vliw 处理器 体系结构 指令 执行 方法 | ||
技术领域
本发明属于处理器体系结构领域,涉及一种融合了顺序和VLIW的处理器体系结构及指令执行方法。
背景技术
采用冯·诺伊曼或哈佛结构的处理器在执行程序的过程中,都是从外部存储器中不断的加载可执行的指令,在处理器内部执行。这些可执行的指令由软件生成,存放在二进制的可执行文件中。在这些可执行的指令之间,存在着大量的数据依赖关系,比如一些计算需要用到另一些计算的结果等。相邻指令之间的数据依赖关系和并行性的确定方式有多种,有的是由硬件来决定,有的是由软件来决定,这些方式也直接影响到了汇编程序的开发,是软硬件接口的一部分。
当指令间的数据依赖关系仅仅由指令的先后顺序决定,从软件开发的视角看,排在后面的指令一定能够正确得到前面指令的结果,这种执行方式就是顺序指令执行方式。在采用流水线技术、超标量技术的现代处理器中,常常需要加入大量的硬件单元来处理数据依赖关系,用乱序执行、投机执行、分支预测、微代码等策略来提高指令执行效率。但是,无论处理器采用何种体系结构上的优化策略,执行结果与“执行完一条指令,得到结果后,再执行下一条指令”是一致的。处理器对软件开发者隐藏了处理器具体的硬件细节,隐藏了指令的周期数等信息,采用顺序指令执行方式书写的汇编程序代码具有直观、友好、简洁、体积小等优点,并具有更好的兼容性。目前绝大部分面向通用的处理器体系结构,都是采用顺序指令执行方式,如X86、MIPS、ARM等。
同时,在另一些处理器体系结构中,如超长指令字体系结构,指令间的数据依赖关系不仅仅或并不取决于指令的先后关系,而是取决于一些特殊的指令并行规则。直观来看,处理器体系结构对于软件开发者是透明的。尤其是汇编程序、编译器开发者,需要考虑指令的周期数、数据依赖关系、硬件资源占用等等具体细节,显式地安排每一条指令在处理器流水线中的执行情况。这一类处理器的硬件结构比较简化,相当多的工作被交给编译器和汇编程序开发者,提高了开发难度,但同时也为软件开发者提供了完全挖掘硬件性能的潜力。采用这种体系结构的处理器常被用于对计算性能要求高的场合,如音视频处理、通信等数字信号处理应用,TI的C6x系列数字信号处理器、Intel的Itanium处理器等都是采用这一类不同于顺序执行执行方式的架构。
顺序指令执行方式和超长指令字执行方式,最根本的差别在于,顺序指令执行方式中指令的并行性由硬件决定,而超长指令字执行方式中指令的并行性由软件决定。
在现有的处理器中,通常只使用单一的一种架构。使用顺序指令执行方式的处理器,主要面向通用处理领域,在计算性能上往往能力不足。而使用超长指令字执行方式的处理器,主要面向数字信号处理领域,在兼容性、通用处理上能力较弱。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种融合了顺序和VLIW的处理器体系结构及指令执行方法,在同一款处理器内部实现两种指令分发单元,实现指令间数据依赖和硬件资源限制的硬件判断,增加了指令执行方式切换功能,并对跳转指令进行了特殊处理,使得该处理器能够同时支持顺序指令执行方式和超长指令字执行方式,并且可以针对不同的应用需求自由地在两种执行方式之间进行切换。
为了实现上述目的,本发明采用的技术方案是:
一种融合了顺序和VLIW的处理器体系结构,在处理器取指令单元与译码单元之间增设有超长指令字分发单元和顺序执行分发单元,通过一个由执行方式切换指令控制的执行方式选择开关来决定当前所取指令流向其中一个分发单元。
所述超长指令字分发单元根据指令的编码中预先设置好的并行信息,将并行的指令逐组依次分发。
所述顺序执行分发单元首先从顺序的指令流中,根据指令的先后顺序来判断指令间的数据依赖关系,维护正在执行指令的寄存器依赖表,保证排在后面的指令一定能得到前面指令的结果,在此前提下,尽可能地并行分发多条指令,以提高指令执行的并行度;同时由于每条指令都要占用特定的执行单元以及访问内存端口,如果硬件资源不够则指令也不能并行分发,所以由处理器来对指令之间的物理资源占用情况进行判断,最终决定哪些指令可以分发,哪些指令需要等待前面的计算完成后才能分发。
所述处理器体系结构的指令执行方法,包括如下步骤:
在汇编程序中写入包含两种不同的执行方式的汇编代码以及执行方式切换指令,生成统一的二进制程序代码文件;
取指令单元从指令内存中调取上述二进制程序代码,根据执行方式切换指令控制执行方式选择开关决定当前所取指令流向超长指令字分发单元或顺序执行分发单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210279663.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于各向异性滤波的图像增强与抽象化方法
- 下一篇:氧阻隔封装的表面安装器件