[发明专利]在一个超长指令字中执行的子流水线和流水线有效
申请号: | 01122080.5 | 申请日: | 2001-06-14 |
公开(公告)号: | CN1365047A | 公开(公告)日: | 2002-08-21 |
发明(设计)人: | D·E·施泰斯;小L·R·西马 | 申请(专利权)人: | 德克萨斯仪器股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 上海专利商标事务所 | 代理人: | 钱慰民 |
地址: | 美国得*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一个 超长 指令 执行 流水线 | ||
本发明一般涉及指令系统结构,并尤其涉及在一个VLIW(超长指令字)中执行的子流水线和流水线指令。
传统的,对于超长指令字,VLIW处理器已经被下列特征所定义。能够指定多种处理,在每个指令中独立操作。(一个多操作指令。)VLIW体系结构是水平机器,带有每个宽指令字或多操作(MultiOp),由几个操作或Ops组成。一个MultiOp中的所有Ops被发布在相同的执行进度中。对假设用于操作的特定非单元等待时间编程并且实际上,仅在那些假定是真实的时,编程是正确的。针对静态的需求,编译时间的操作调度要考虑到操作等待时间和资源的利用。因此,对于功能操作单元的数量和操作等待时间,需要硬件精确地符合假定建成的程序。尽管是多操作,缺少了任何互锁硬件,流水线操作每个周期被发布。
这种类型体系结构的最初的吸引力在于,它能够使用相对简单和不昂贵的控制硬件开发利用大量的指令字并行(ILP)。尽管许多VLIW产品已经建立了每个周期[4,5,3]能够发布六个或更多的操作,但并不能证明用ILP[18,2,14,8,7,6]这样的等级建立超标量产品的可行性。而且,完全暴露现有硬件资源的编译程序和确切的操作等待时间允许最佳的调度。
此外,这些非常相同的特性已经让我们感觉到,VLIW处理器作为产品它的利益是有限的。固定假设建立的程序把硬件看作成具有排除处理器之间目标代码兼容性,它们用不同的技术建立于不同的时期并因此具有不同的等待时间。即使在一个单一处理器的语境中,也需要编译器调度一个等待时间,这就是说固定的编译时间对于操作时存在问题的,比如负载,基于是否一个高速缓存命中或出现错误,它们的等待时间能具有很高的可变性。由于后者的问题,无论什么VLIW产品很少附着于理想的非互锁硬件。换句话说,对于一个VLIW体系结构的实现,当一个负载花费了多于预期的时间时,处理器的互锁和失速是常见的。
进行动态调度的传统智慧不适用于VLIW处理器。应该明白,在VLIW处理器上如何完成动态调度的第一步是要认识到传统VLIW处理器和一个VLIW体系结构概念之间的区别。一个VLIW处理器通过一组具体的资源(功能操作单元,总线,等等)和各种被执行操作的具体的执行等待时间而被定义。假设如果用于一个VLIW处理器被编译和被调度的程序恰好符合哪些资源和等待时间,它能在那个处理器上以一种指令级并行方式被执行而不需要任何特殊的控制逻辑。相反,不具有特殊控制逻辑的VLIW处理器只能执行那些正确的编译了假设的资源和等待时间的程序。VLIW处理器已经被传统的构造成没有特殊控制逻辑,这导致的后果是VLIW处理器必须按这样的方式进行设计。
VLIW作为一个体系结构,一个不同的观点就是,在为体系结构写入的程序类别和实现那个体系结构的处理器的组之间使用一个契约接口。通常的观点是这个契约关心指令的格式和构成一个指令的比特的翻译。但是该契约更进一步的方面是这个专利最重要的。第一,经过它的MultiOp能力,一个VLIW体系结构指定一组保证相互独立的操作(并因此可以同时发布而不用通过发布硬件进行任何检验。
第二,经过断定操作等待时间,如果正确地了解了操作之间的相关性,一个体系结构规定如何翻译一个程序。在序列体系结构的情况下,通过程序编制器假设最大等待时间是一个单一周期。所以,被所有发布的操作(而且,在多数情况下,已经完成)所确定的用于一个操作的操作数在所述操作之前必须出现在程序编制器。这是实际的,因为有许多序列体系结构,例如SPARC,它的一些指令(带有延迟时隙的分支)具有非单元等待时间。
对于VLIW体系结构的程序,在使用具有非单元等待时间的操作的情况下,用于一个操作的输入操作数在所述操作之前没有被所有发布的操作所确定。无论怎样操作,假设在所述操作的发布之前已经完成操作。操作较早地被发布,但不能推测已经被完成,不能根据所述操作强加一个流程。
一个程序具有单元的假定等待时间(UAL),如果通过假设全部操作以一个指令在下一个指令被发布之前完成而正确理解了程序的语义。如果至少一个操作具有一个非单元假定等待时间L,它大于1,一个程序具有非单元假定等待时间(NUAL),也就是说,如果恰好下一个L-1指令被理解并在这个操作完成之前已经被发布,则该程序的语义被正确理解。如果被假定执行的程序的类别是UAL(NUAL)的话,则一个体系结构是UAL(NUAL)。我们应该交替使用术语NUAL程序和认知等待时间的程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于德克萨斯仪器股份有限公司,未经德克萨斯仪器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/01122080.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:吹胀薄膜
- 下一篇:对无缝拼接、可变编码率、压缩数字视频信号的帧比特长度分配