逆流式管道处理器的制造方法

文档序号:8269720阅读:395来源:国知局
逆流式管道处理器的制造方法
【技术领域】
[0001]本发明涉及电子信息领域,尤其涉及一种逆流式管道处理器。
[0002]发明背景
处理器目前的趋势是利用指令级并行,以提供最大的速度,既要隐藏内存访问延迟操作,如长,在一次执行多个指令。目前,这样做的主要机制是一个彻头彻尾的序超标量处理器。这种方法通常使用重命名寄存器,保留站,并重新排序缓冲区隐藏延迟,因此,往往依靠多缓慢,区域密集和昂贵的内容寻址存储器。此外,这样的方法需要在整个芯片上的各种结构之间的精确的全局时序和全球通信。这些限制可能会成为问题,因为技术的进步,以更高和更高的时钟速率。事实上,它最终将成为发送信号的电路小片从一个侧面在一个单一的时钟周期的其他物理上是不可能的。
[0003]逆流处理器提供有竞争力的替代超标方法。逆流处理器使用高度本地化的通信解决调度问题和分辨率的数据依赖关系。
[0004]基本逆流处理器包括两个彼此在相反的方向流动的管道。一个流水线从获取或派遣单位的指示进行。其他的管道进行先前执行的指令分派单元向下朝的操作数或结果。作为一个指令和操作数通,他们“考察”对方。指令将检查结果管道中存储的操作数,看是否有需要的任何值。如果是这样,该指令需要的操作数,并进行沿则进入等待执行的指令流水线。同时,结果管道中的操作数检查指令的目的地,如果该指令将更新它们的值。如果发生这种情况,操作数的旧副本的结果,他们自己无效。
[0005]如果指令到达其相应的执行单元发射阶段,其操作数,它将被发送到执行侧面板。但是,如果没有收到这个阶段的操作数,它必须熄火,可能拖延的指令后,它在管道。一旦已发送的指令执行,进行了管道。执行侧面板的时钟以同样的速度作为自己的指示。因此,作为启动指令,指令的值总是在同一个舞台。当达到相关收复阶段的计算结果被加载到指令。唯一的例外是执行单元的情况下,具有可变等待时间,诸如存储器执行单元。在这种情况下,如果结果还没有被计算,则该指令具有失速在恢复阶段,直到结果准备好。
[0006]在任何点的指令后,检索的结果,从执行单元,它可以监控管道的结果为一个开放的槽。一个槽被认为是空的,如果它是由先前的指令无效,那简直是空的,因为它已经没有什么充满了尚未。当发现一个开放的槽,其结果是向下发送的结果管道。一旦结果被放置在管道中,指令将不会再次发送结果。
[0007]本地交换信息和简单的设计逆流管道的设计支持更长的管道和提高处理器的吞吐量。允许指令退休秩序,消除精确中断的可能性。为了解决这个问题雅尼克等。描述了使用结合VRP的一个排序缓冲器(R0B)。在寄存器变量的地方,所有的数据值有一个的ROB标签与已产生或将产生的值,该值指示该指令。每个数据值还包括一个有效位指示的结果是否已经生成。这些标签是存储在寄存器文件中。白俄罗斯共和国也使得从错误预测转移更容易恢复。
[0008]问题的根本与VRP做法是允许指令流水线来搪塞,并能迅速堵塞指令流。此外,VRP的体系结构中,类似上述的CFP处理器架构,被限制只启动每个时钟周期一条指令。所需要的是一种架构,可提供CFP处理器和VRP的好处,但它可防止或减少指令失速。此外,所需要的是一种系统和方法,用于扩展这些逆流体系结构,例如,每个时钟周期可以发射多于一个的指令。

【发明内容】

[0009]根据本发明的一个方面,所描述的是内的逆流管线处理器执行指令的系统和方法。逆流流水线处理器包括一个指令流水线中的数据管道,排序缓冲器和多个执行单元。到指令流水线以及判定的指令和一个或多个操作数的问题是由在执行单元的一个指令是否是做好执行准备的。如果是这样的话,操作数被加载到执行单元,该指令的执行。执行单元监测结果,当结果到达时,它被存储到结果管道。如果指令进入的管道的端部,不执行它绕和向下发送指令流水线。
[0010]根据本发明的另一个方面,所描述的是一个处理器和一个计算机系统使用的处理器。该处理器包括一个指令流水线,具有多级的,具有多个阶段的结果管道,连接到一个执行单元的指令流水线,结果管道和一个排序缓冲器。排序缓冲器提供指令和操作数的指令流水线,并接收从管道的结果。指令流水线,结果管道环绕创建计数器旋转队列重新排序缓冲区。执行单元包含一个操作数的输入和结果输出,其特征在于,所述操作数的输入端接收一个操作数是指令流水线。执行单元发送结果到结果输出为一个函数的操作数由操作数输入接收。
[0011]根据本发明的又一个方面,所描述的是一个处理器具有一个指令流水线,因管道,第一和第二执行单元,第一和第二重新排序缓冲器。第一和第二执行单元,连接到第一和第二阶段,分别为,指令流水线,结果管道。第一个重新排序缓冲器提供指令和操作数是指令流水线的第一个阶段,从第一阶段的结果管线中接收的结果。所述第二排序缓冲器提供指令和操作数到第二阶段的指令流水线,并从第二级的结果管道接收结果。
[0012]根据又另一个方面,本发明中,所描述的是一个计算机系统,具有存储器和处理器,其中所述处理器能够执行的多个指令,包括一个第一指令。该处理器包括多个指令流水线,结果的多个管道和多个的重新排序缓冲器。每次重新排序缓冲区接收到第二个指令流水线的指令从一个指令流水线和问题说明。此外,每一个重新排序缓冲器中接收数据,从一个结果管道和问题的数据,第二个结果管道。每个排序缓冲器包括具有多个寄存器的寄存器堆,每个寄存器有一个数据输入和一个标记字段,和一个寄存器别名具有多个寄存器别名表项的表,其中每个寄存器别名表项包括管道字段和一个注册场,其中管线现场显示指令流水线的第一条指令被分派到其中寄存器秀场到的第一条指令将其结果写入寄存器。
[0013]根据本发明的又一个方面,所描述的是一种方法,在一个时间执行一个以上的线程。中所提供的第一和第二重排序缓冲区。首先说明和相关的第一个操作数的第一个线程从第一重排序缓冲区读出并执行,与第一排序缓冲器中存储的结果,其特征在于,存储的结果,包括标记标签的结果与第一个线程相关联的结果。第二个指令和第二操作数与第二个线程从第二重排序缓冲区读出并执行,其结果存储在所述第二重排序缓冲区,其特征在于,存储的结果,包括标记标签的结果与第二线程相关联的结果。
[0014]根据又另一个方面,本发明中,所描述的方法的不正确的猜测,在逆流流水线处理的系统,它具有一个指令流水线和一个数据管道,这两个进料回一个排序缓冲器中恢复。错误预测转移的第一条指令的检测和预测失误的分支后发生的所有指令重新排序缓冲区无效。如果第一条指令是指令流水线中,并可以执行,该指令被执行,并与该指令相关联的结果是无效的,当它们到达排序缓冲器。如果指令进入指令流水线的结束,则将其删除。
[0015]根据本发明的又一个方面,所描述的是控制数据推测的方法。提供一个指令,并获得与该指令相关联的一个操作数。进行检查,为操作数是否有效,以及是否操作对象是一个投机价值和操作数则相应标记。然后执行该指令,以便产生的结果作为操作数的函数,如果操作数是一个投机价值,检查的操作数的操作数的一个非猜测值,打击投机性值比较非猜测值,如果投机价值是正确的,保存结果。
【具体实施方式】
[0016]在对优选实施例的以下详细描述中,也可以实施本发明的具体的实施例所示。但是应当理解的是可以利用其它实施例中,可以在不脱离本发明的范围和结构的变化。
[0017]在本说明书中参考“一个实施例”或“实施例”是指结合该实施例中所描述的特定特征,结构或特性被包括在本发明的至少一个实施例的。的短语“在一个实施例中”在本说明书中在各个地方的出现不一定都指相同的实施例。在同一时间,术语“功能”是用来表示数学或逻辑的对应的操作数和结果之间存在。例如,一个矩形的面积相等的长度乘以(A =小时*升)的矩形的高度。在这个例子中,区域可以说是一个函数的高度,长度,或两者的高度和长度。
[0018]具有存储器和流量数据(⑶F)的流水线处理器的一种计算机系统。在一个实施例中,存储器中被实现为具有各种存取速度的存储器设备的存储器层次结构形成。
[0019]处理器包括一个指令流水线,因管道,重排缓冲器,调度单元和一个或多个执行单元。在一个实施例中,调度单元包括预取队列,一个指令高速缓冲存储器和一个分支预测电路。
[0020]在VRP的方法相比,在本实施,管道的反向旋转的队列。正如在前面的两个架构,指令流水线向上移动而导致管道向下移动。在系统中,如果一条指令到达管道的端部,并没有执行时,它简单地绕到管线的开始,并继续在管道。
[0021]结果管道的类似作用,唯一的原因略有不同。结果,到达管道的底部时并不一定需要环绕。他们可能只是写他们的价值观进入ROB,退出管道。结果被强制绕性能的原因。在大多数情况下,一条指令所产生的结果,也可以使用由指示紧随其后。如果发生这种情况,下面的指令必须走一路管道周围,只是为了阅读从ROB值。这既增加了延迟执行指令以及提出额外的读端口上的R0B。通过迫使该结果,以管道周围的一个额外的行程,最坏情况下的延迟,等待结果,将管道的长度的一半(因为该指令后,结果管道是在相反的方向移动)。由于管道都不需要来搪塞,结果使一个额外的行程管道周围,这是保证所有的指令将结果传递,会读,如果他们需要的价值。
[0022]在一个实施例中,本发明的指令流水线被反馈到它自己本身通过指令译码单元。这大大简化了个人管阶段。说明永远不需要来搪塞,因为总有一个能够执行他们进一步下降管道的侧面板。此外,同时推出的指令之间的依赖关系需要检查被淘汰,因为是没有'最后侧面板'摆摊僵局管道。由此引起的管的行为几乎相同的VRP但有三个关键的差异。首先,如前面提到的,有一个上侧面板所以没有拖延在指令管没有概念。只是重新发行的指示进入管道的底部,如果他们达到不被执行的指令管道的顶部。其次,指令后,射入一个侧面板,不需要保持在管道中。这是重要的,因为需要的插槽插入到管道中的新的指令。最后,结果回收到的结果管,而不是在指令管,所以将侧面板管道,和可变长度的执行等待时间是不必要的,不再是一个问题。
[0023]如果处理器的设计不允许多个指令被发出每个时钟周期,每个周期(IPC)的指示绝不能成为大于一。这是一个重大的限制,所有以前的逆流设计。需要旧的设计,无论是复杂的硬
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1