在一个实施例中,本发明专利技术系揭露一种包括指令缓冲器(instruction?buffer)(20)以及选取单元(pick?unit)(26)之处理器(10)。该指令缓冲器(20)被连接用来接收从指令缓存(instruction?cache)(14)所提取(fetch)的指令。该选取单元(26)被构造用来从该指令缓冲器(20)中选择多达N个指令以供同时传送至多个时槽(slot)(34A-34D)中的个别时槽,其中N为大于1的整数。此外,该选取单元(26)被构造用来将所选择的指令中的最旧的指令传送至该多个时槽(34A-34D)中的任何一个,即使所选择的指令的数目大于1。该选取单元(26)被构造用来基于该最旧的指令被传送至的时槽而同时将所选择的指令中的其它指令传送至该多个时槽(34A-34D)中的其它时槽。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术系关于处理器的
,且特别是关于在处理器中指令的提取及调度 (dispatch)。
技术介绍
按超纯量处理器(superscalar processor)试图透过平行之方式(i即arallel) 处理多重指令(multiple instructions)来达成高效能。举例而言,超纯量处理器通常系 包含多个平行执行单元,每一个平行执行单元被构造用来独立地执行运算(operation)。为 了提供足够的指令以有效地利用所述平行执行单元,该超纯量处理器试图迅速地提取以及 译码多重指令,并将他们传送至指令排程机制(instruction schedulingmechanism)。 由于指令之间的操作数相依性(operand d印endency)需要被考虑,因此,被提取 及译码的指令的程序顺序必须具有可辨识性(discernable),以使相依性检核(d印endency checking)能被实施。举例而言,实作寄存器更名(register renaming)之处理器经常将该 相依性检核实施成部分的寄存器更名运算。 以不同的时脉循环所传送的指令的程序顺序通常系明显的以较早时脉循环 所传送的指令比以较晚时脉循环所传送的指令要来得旧。在程序顺序中,较旧的指令系 在较新的指令之前。若分支预测(branchprediction)被实作成例如直接提取(direct fetching),则该程序顺序是可推测的。 在被同时(例如,以相同的时脉循环)传送的指令中,该程序顺序较不明显。为了 确保程序顺序可被辨认,很多处理器在多个平行译码器中分配静态程序顺序。所述译码器 以及其它的硬件可被视为数个时槽(slot),指令可被传送至所述时槽。程序顺序中的第一 指令被传送至时槽O,程序顺序中的第二指令被传送至时槽l,等等。据此,所述同时被传送 的指令的程序顺序很明显的是来自所述时槽,所述指令被传送至所述时槽。 图1为这种用于三个时槽(三个同时被传送的指令)的运算的范例,当然任何数 目的时槽皆能被实作。图1也显示范例序列的指令I0至I10,其中,所述指令的推测的程序 顺序系由上流向下(例如根据该推测的程序顺序,10为第一、II为第二,等等)。在很多 情况下,一些时脉循环中所发送(issue)的指令会少于三个(例如所提取的指令不足,实 作_相依性限制(implementation—dependent constraint),等等)。 如图l所示,每一个传送循环内(在图1中被标示为D0至D4)的程序顺序中之第 一指令总是被发送至时槽O,程序顺序中之第二指令(若有的话)总是被发送至时槽l,而 程序顺序中之第三指令(若有的话)则总是被发送至时槽2。因此,所述同时传送的指令的 程序顺序为时槽0、然后时槽1、以及然后时槽2。 图1中的实作指令传送通常包含相当复杂的轮循机制(rotationmechanism),以 将程序顺序中之第一指令对准(align)时槽0。该轮循机制系相依于先前已被传送的指令 的数目以及第一指令于被提取的指令中的位置。此外,相较于其它时槽,时槽O所关联之资 源通常更被高度地利用。若所述时槽就资源而言是对称的,则分配至时槽O的资源会整体性支配该处理器之可达成的平行性(achievable parallelism)。另一方面,若有更多的资 源被分配至时槽0甚于其它时槽(并且更多的资源被分配至时槽1甚于时槽2),实作会因 各个时槽之间的差异而更加复杂。虽然其它已被提出的机制允许第一指令被传送至时槽0 以外的时槽,但是同时传送的指令会被传送至较高编号的时槽,因此,这种实作仍须使用到 复杂的轮循。
技术实现思路
在一个实施例中,一种处理器包括指令缓冲器以及与该指令缓冲器连接之选取 单元。该指令缓冲器被连接用来接收从指令缓存所提取的指令。该选取单元被构造用来从 该指令缓冲器中选择多达(up to)N个指令以供同时传送至多个时槽(slot)中的个别时 槽,其中N为大于1的整数。此外,该选取单元被构造用来将所选择的指令中的最旧的指令 传送至该多个时槽中的任何一个,即使所选择的指令的数目大于1。该选取单元被构造用来 基于该最旧的指令被传送至的时槽而同时将所选择的指令中的其它指令传送至该多个时 槽中的其它时槽。 一些实施例包括一种计算机系统,该计算机系统包含该处理器及通讯装 置,该通讯装置系构造用来与另一计算机系统通讯。 在一实施例中,一种方法包括从处理器中的指令缓冲器选取多达N个指令以供 同时传送至该处理器中之多个时槽中之个别时槽,其中N为大于l的整数;将所选择的指令 中的最旧的指令传送至多个时槽中的任何一个,即使所选择的指令的数目大于1 ;基于该 最旧的指令被传送至的时槽,同时将所选择的指令中的其它指令传送至该多个时槽中的其 它时槽。附图说明 上述的详细说明系参照附随的图式,现在将简单地描述该图式。图1为揭示以一种习知形式进行的指令传送之方块图; 图2为揭示此处所描述之指令传送的一个实施例之方块图; 图3为处理器之一个实施例之方块图; 图4为揭示选取单元之一个实施例之运算的流程图; 图5为揭示选取单元之另一实施例之运算的流程图;以及 图6为计算机系统之一个实施例之方块图。 虽然本专利技术可容易作各种之修饰和替代形式,但是在此系由图式中之范例显示及 详细说明本专利技术之特定实施例。然而,应暸解到此处特定实施例之图式及详细说明并不欲 用来限制本专利技术为所揭示之特定形式,反之,本专利技术将涵盖所有落于如所附申请专利范围 内所界定之本专利技术之精神和范围内之修饰、等效和替代内容。具体实施例方式现在翻至图2,方块图系显示以揭示依据一个实施例之指令传送。系显示推测的指 令序列(speculative instruction sequence),包括指令10至110。所述指令的编号指示 该推测的程序顺序(speculative programorder)(例如,指令10在程序顺序中为第一,指 令I1在程序顺序中为第二,等等)。系显示三个时槽(slot 0、slot 1、及slot 2),以及显示数个指令传送的连续循环(D0至D4)。虽然系简示为三个时槽,但需注意的是任何数目的 时槽可实作于各种实施例中(例如,在图4中之四个时槽)。为了比较之目的,在每一个循 环D0至D4中系选择与图l所显示相同的指令。也存在各种不同的理由以在给定的循环中 选择少于三个指令(例如,已被提取但尚未被传送至时槽之指令的数目;对于同时传送指 令(例如,分支指令的侦测及预测,在给定组之已提取指令字节中之指令的数目,等等)之 实作-特定限制(implementation-specific constraint);等等)。 根据此处所描述的指令选择机制,在程序顺序中最旧的指令可被传送至任何时 槽,不论同时选择用于传送之指令的数目为多少(例如,即使所选取的指令的数目大于1), 其它被选择的指令可基于该最旧的指令被传送至的时槽而被传送。举例而言,所述时槽可 被视为彼此接续,包含从最后一个时槽绕回至时槽O。也就是,在本实施例中,时槽l接续于 时槽0,时槽2接续于时槽1,而时槽0接续于时槽2。若最旧的指令被传送至给定的时槽, 则随后的指令被传送至接续该给定时槽的时槽。在给定传送本文档来自技高网...
【技术保护点】
一种处理器,包括:指令缓冲器(20),连接用来接收从指令缓存(14)所提取的指令;以及选取单元(26),与该指令缓冲器(20)连接,且被构造用来从该指令缓冲器(20)中选择多达N个指令以供同时传送至多个时槽(34A-34D)中的个别时槽,其中,N为大于1的整数,以及其中,该选取单元(26)被构造用来将所述所选择的指令中的最旧的指令传送至该多个时槽(34A-34D)中的任何一个,即使所述所选择的指令的数目大于1,以及其中,该选取单元(20)被构造用来基于该最旧的指令被传送至的该时槽而将所述所选择的指令中的其它指令同时传送至该多个时槽(34A-34D)中的其它时槽。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:GW沈,S利,
申请(专利权)人:先进微装置公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。