当前位置: 首页 > 专利查询>英特尔公司专利>正文

有效提升指令融合的技术制造技术

技术编号:4285584 阅读:152 留言:0更新日期:2012-04-11 18:40
一种用于在计算机系统中实现有效指令融合的技术。在一个实施例中,如果指令队列中的第一指令可与第二指令融合,那么处理器逻辑将对第二指令的处理延迟阈值时间量。

【技术实现步骤摘要】

一般来说,本专利技术的实施例涉及信息处理领域,更具体地说,涉及计算系统和微处 理器中的指令融合领域。
技术介绍
指令融合是指将两个指令组合成单个指令的过程,其导致处理器内的一个操作 (或微操作“uop”)序列。存储在处理器指令队列(IQ)中的指令可在从IQ中读出之后以 及在发送到指令解码器之前或者在通过指令解码器解码之后进行“融合”。通常,在指令解 码前发生的指令融合称为“宏融合”,而在指令解码(例如,成为uop)后发生的指令融合称 为“微融合”。宏融合的一个例子是将比较(“CMP”)指令或测试(“TEST”)指令(“CMP/ TEST”)与条件转移(“JCC”)指令组合在一起。例如,CMP/TEST和JCC指令对可定期地在 循环末端出现在程序中,在其中进行比较,并基于比较的结果,采取或不采取分支。由于宏 融合可有效地增加指令吞吐量,所以希望能够找到尽可能多的机会来融合指令。对于在一些现有技术的处理器微体系结构中找到的指令融合机会,CMP/TEST和 JCC指令需要同时驻存在IQ中,使得当从IQ中读取这些指令时,可以将它们进行融合。然 而,如果在IQ中存在可融合的CMP/TEST指令,并且尚未将进一步的指令写入IQ中(即, CMP/TEST指令是IQ中的最后一个指令),那么即使程序顺序中的下一个指令是JCC指令, 仍会从IQ中读取CMP/TEST指令,并将它发送到解码器而不加以融合。举一个可能会出现 错失融合机会的例子,如果CMP/TEST和JCC碰巧跨越(across)存储边界(例如,16字节边 界),那么就会导致在一个周期内将CMP/TEST写入IQ,而在接下来的周期内写入JCC。在这 种情况下,如果不存在停止(stalling)情形,那么就会在从IQ中读取CMP/TEST的同时或 之后将JCC写入到IQ中,因此将错失融合机会,从而导致多个不必要的IQ读取、降低的指 令吞吐量以及过量功耗。
技术实现思路
一种装置,包括指令队列(IQ);逻辑,用于将对第一可融合指令的处理延迟阈值时间量,使得如果在所述阈值时 间量内将可与所述第一可融合指令融合的第二可融合指令存储在所述IQ中,那么可将所 述第二可融合指令与所述第一可融合指令融合。该装置包括状态机,所述状态机用于在存储在所述IQ中的所述第一可融合指令 和存储在所述IQ中的所述第二可融合指令之间执行中间指令时防止填充缓冲请求队列 (fill buffer request queue)FBRQ锁定对应于所述第一和第二可融合指令的条目。一种系统,包括存储设备,用于分别在第一和第二访问边界(access boundary)内存储第一和第 二可融合指令;4处理器,具有用于将所述第一和第二可融合指令提取到指令队列(IQ)中的提取 逻辑;延迟逻辑,用于将从所述IQ中读取所述第一可融合指令延迟阈值周期数;指令融合逻辑,用于在所述第一可融合指令之后以及在达到所述阈值周期量之前 如果将所述第二可融合指令存储在所述IQ中则融合所述第一和第二可融合指令。附图说明在附图的各图中示例性而非限制性地示出本专利技术的实施例,附图中相似的附图标 记指代相似的元件,其中图1示出可在其中使用本专利技术的至少一个实施例的微处理器的框图;图2示出可在其中使用本专利技术的至少一个实施例的共享总线计算机系统的框图;图3示出可在其中使用本专利技术的至少一个实施例的点对点互连计算机系统的框 图;图4示出可用于实现本专利技术的至少一个实施例的状态机的框图;图5是可用于执行本专利技术的至少一个实施例的操作的流程图;图6是在至少一个实施例中执行的操作的流程图。具体实施例方式本专利技术的实施例可用于提高处理器中的指令吞吐量和/或减少处理器的功耗。在 一个实施例中,找到否则将错失的指令融合机会,并且因此进行指令融合。在一个实施例 中,通过以下方法来找到原本将错失的指令融合机会将从指令队列(IQ)中读取最后一个 指令的时间或者将从IQ中读取的最后一个指令发给解码阶段的时间延迟阈值周期数(a threshold number ofcycles),以使得可以提取任何随后的可融合指令,将它们存储在IQ 中(或者至少加以标识而不一定存储在IQ中),并且随后将它们与最后一个可融合指令进 行融合。在一个实施例中,将对第一可融合指令的读取或发送延迟阈值周期数可以提高处 理器性能,因为这样做可以避免将两个否则可融合的指令分开而不是作为单个指令来解码 和处理。阈值等待周期数的选择取决于其中使用特定实施例的微体系结构。例如,在一个 实施例中,阈值周期数可以是2,而在其他实施例中,阈值周期数可以多于或少于2。在一个 实施例中,阈值等待周期数提供了等待将存储在IQ中的随后可融合指令的最大时间量,同 时保持了相对于将可融合指令作为单独指令来处理在等待随后可融合指令方面的总体等 待时间/性能优势。在例如功率更关键的其他实施例中,阈值等待周期数可以更大,以便确 保不使用额外功率来单独处理这两个可融合指令,即使这些等待周期可能会引起指令吞吐 量的降低(虽然是暂时的)。图1示出可在其中使用本专利技术的至少一个实施例的微处理器。具体来说,图1示 出具有一个或多个处理器核105和110的微处理器100,每个处理器核分别具有与其相关联 的本地高速缓存107和113。图1中还示出共享高速缓冲存储器115,它可存储每个本地高 速缓存107和113中所存储的信息的至少一些信息的版本。在一些实施例中,微处理器100 还可包括未在图1中示出的其他逻辑,例如集成的存储器控制器、集成的图形控制器、以及用于执行计算机系统内的其他功能(例如I/O控制)的其他逻辑。在一个实施例中,多处 理器系统中的每个微处理器或多核处理器中的每个处理器核可包括逻辑119或以其他方 式与逻辑119相关联,以便根据至少一个实施例实现中断通信技术。该逻辑可包括电路、软 件或两者,以便实现比一些现有技术的实现更有效的指令融合。在一个实施例中,逻辑119可包括用于减小错失指令融合机会的可能性的逻辑。 在一个实施例中,当在IQ或其他提取指令存储结构中没有存储随后指令时,逻辑119延迟 从IQ中读取第一指令(例如CMP)。在一个实施例中,逻辑119使第一可融合指令的读取 或发送持续阈值周期数(例如两个周期),然后再读取IQ或将第一可融合指令发给解码器 或其他处理逻辑,使得如果可与第一指令融合的第二可融合指令尚未存储在IQ中(例如, 由于这两个可融合指令存储在存储器或高速缓存的不同存储边界中),那么不会错失融合 这两个可融合指令的机会。在一些实施例中,阈值可以是固定的,而在其他实施例中,阈值 可由用户或者根据独立于用户的算法改变、更改。在一个实施例中,第一可融合指令是CMP 指令,而第二可融合指令是JCC指令。在其他实施例中,第一和/或第二指令可以不是CMP 或JCC指令,而是任何可融合指令。此外,本专利技术的实施例可应用于融合多于两个指令。例如,图2示出可在其中使用本专利技术的一个实施例的前端总线(FSB)计算机系统。 任何处理器201、205、210或215可访问来自位于处理器核223、227、233、237、243、247、253、 257之一内或以其他方式与其相关联的任何本地一级(Li)高速缓冲存储器220、225、230、 本文档来自技高网
...

【技术保护点】
一种装置,包括:指令队列(IQ);逻辑,用于将对第一可融合指令的处理延迟阈值时间量,使得如果在所述阈值时间量内将可与所述第一可融合指令融合的第二可融合指令存储在所述IQ中,那么可将所述第二可融合指令与所述第一可融合指令融合。

【技术特征摘要】
US 2008-10-30 12/290395一种装置,包括指令队列(IQ);逻辑,用于将对第一可融合指令的处理延迟阈值时间量,使得如果在所述阈值时间量内将可与所述第一可融合指令融合的第二可融合指令存储在所述IQ中,那么可将所述第二可融合指令与所述第一可融合指令融合。2.根据权利要求1所述的装置,其中在存储在所述IQ之前,所述第一可融合指令和所 述第二可融合指令跨越提取边界存储。3.根据权利要求1所述的装置,其中只有当所述第一可融合指令是存储在所述IQ中的 最后一个指令时,所述逻辑才延迟对所述第一可融合指令的处理。4.根据权利要求1所述的装置,其中所述逻辑包括计数器,所述计数器对于在所述第 一可融合指令存储在所述IQ中并且是所述IQ中的最后一个指令之后的每个周期递增一 次,直到达到对应于所述阈值时间量的阈值周期数。5.根据权利要求1所述的装置,还包括状态机,所述状态机用于在存储在所述IQ中的 所述第一可融合指令和存储在所述IQ中的所述第二可融合指令之间执行中间指令时防止 填充缓冲请求队列(FBRQ)锁定对应于所述第一和第二可融合指令的条目。6.根据权利要求5所述的装置,其中所述中间指令将导致清除所述IQ。7.一种方法,包括确定指令队列(IQ)中当前访问的指令是否可与将存储在所述IQ中的任何随后指令融合;如果当前访问的指令与将存储在所述IQ中的随后指令不可融合,那么从所述IQ访问 下一个指令并将所述延迟计数器复位;如果当前访问的指令是可融合的并且是所述IQ中的最后一个指令,那么将所述延迟 计数器递增。8.根据权利要求7所述的方法,还包括如果所述第一和第二指令是可融合的并且所 述延迟计数器没有达到阈值,那么将当前访问的指令与所述随后指令进行融合。9.根据权利要求8所述的方法,还包括如果所述第一和第二指令是不可融合的,那么 将当前访问的指令与所述随后指令分开来处理。10.根据权利要求8所述的方法,还包括如果所述延迟计数器已经达到所述阈值,那 么将当前访问的指令与所...

【专利技术属性】
技术研发人员:I欧奇尔L拉波波特R瓦伦丁R加波尔P拉古文施
申请(专利权)人:英特尔公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1