当前位置: 首页 > 专利查询>龚伟峰专利>正文

重命名预处理方法技术

技术编号:10651950 阅读:99 留言:0更新日期:2014-11-19 14:42
一重命名预处理方法,包括以下步骤:首先,确定一分支点中的一另一可能正确程序。然后,解码该另一可能正确的程序,并设置一临时缓存供存储解码该另一可能正确程序所获得的一组指令。接着,对该组指令进行重命操作,则设置一预取指令缓存供存储重命操作后的该指令。接着,设置一组单元缓存,各单元缓存分别对应各执行单元,以供存储所述执行单元所执行的对应指令,其中,分发已重命名的指令至与已重命名的所述指令的对应的执行单元所对应的单元缓存存储。

【技术实现步骤摘要】
【专利摘要】一,包括以下步骤:首先,确定一分支点中的一另一可能正确程序。然后,解码该另一可能正确的程序,并设置一临时缓存供存储解码该另一可能正确程序所获得的一组指令。接着,对该组指令进行重命操作,则设置一预取指令缓存供存储重命操作后的该指令。接着,设置一组单元缓存,各单元缓存分别对应各执行单元,以供存储所述执行单元所执行的对应指令,其中,分发已重命名的指令至与已重命名的所述指令的对应的执行单元所对应的单元缓存存储。【专利说明】
本专利技术涉及分支预测方法,特别涉及一种,通过采用该重命名 预处理方法,预先将另一个可能正确的程序存入缓存,以降低指令流水线级数,从而提高处 理器性能。
技术介绍
在现有技术中,处理器都设有缓存(Cache)。设置缓存的目的是为了让数据存取 的速度适应处理器的处理速度。缓存的容量远小于内存,但速度却可以接近处理器的频率。 当处理器发出内存访问请求时,先查看缓存内是否有请求数据。如果缓存中存在请求数据 (命中),则直接从缓存获取数据;如果缓存中不存在请求数据(失败),则要先把内存中的 相应数据载入缓存,再将其返回处理器。 寄存器重命名也是提高处理器性能的一种技术,其目的在于避免了机器指令或者 微操作不必要的顺序化执行,从而提高了处理器处理能力。处理器采用寄存器来保存指令 的操作数与结果。不同的指令可以有不同的执行时间。例如,一条读内存的指令的执行时 间,足够执行几百条其它指令。因此,在允许多条指令并行执行的情况下,那些指令地址顺 序靠后的指令,比读取内存指令更早完成,这就形成了指令执行顺序不同于其在程序中的 顺序。这种乱序执行是高性能处理器提高运算速度的关键办法之一。但是,处理器可以使 用的寄存器名字的数量是有限的。然而很多高性能处理器具有很多物理寄存器,可以在处 理器指令流水线执行时把这些寄存器映射为不同的物理寄存器,从而在硬件级提供了额外 的并行能力。 但是,如果多条指令使用了同一个存储位置,这些指令如果不按程序地址顺序执 行可能会导致3种数据冒险(data hazard):先写后读(Read-after-write,RAW):从寄存 器或者内存中读取的数据,必然是之前存入此处的。这种情况是真正的数据依赖或者说指 令流依赖。必须按照程序顺序依次执行。先写后写(Write-after-write,WAW):连续写入 特定的寄存器或内存,那么该存储位置最终只包含第二次写的数据。这可以取消或者废除 第一次写入操作。WAW相关也被说成是"输出相关"(output dependencies)。先读后写 (Write-after-read,WAR):读操作获得的数据是此前写入的,而不是此后写操作的结果。因 此这是一种伪相关(false dependency),可以通过重命名来解决。不必等待所有读操作完 成后再执行写操作,可以保持这个存储位置的两份副本:老值与新值。读老值的操作可以继 续进行,无需考虑那些写新值甚至写新值之后的读新值的操作。这种伪相关被去除,产生了 额外的乱序执行机会。当所有读老值操作被满足后,老值所使用的寄存器既可以释放。这 是寄存器重命名的实质。 分支预测器也是提高处理器性能的一项技术。使用分支预测器的目的在于在分支 指令执行结束之前猜测哪一路分支将会被执行,以改善指令管线化的流程,从而提高处理 器的性能。 条件分支指令通常具有两路后续执行分支。即不采取(not taken)跳转,继续顺序 执行;以及采取(taken)跳转到另一块程序内存去执行那里的指令。是否条件跳转,只有在 该分支指令在指令流水线中通过了执行阶段(execution stage)才能确定下来。如果没有 分支预测器,处理器将会等待分支指令通过了指令流水线的执行阶段,才把下一条指令送 入流水线的第一个阶段-取指令阶段(fetch stage)。这种技术叫做流水线停顿(stream stalled)。这是早期处理器采用的应对分支指令的流水线执行的办法。 分支预测器猜测两路分支中哪一路最可能发生,然后投机执行这一路的指令,来 避免流水线停顿造成的时间浪费。如果后来发现分支预测错误,那么流水线中投机执行的 那些中间结果全部放弃,重新取得正确的分支路线上的指令开始执行,从而招致了程序执 行的延迟。在分支预测失败时浪费的时间是从取指令到执行完指令(但还没有写回结果) 的流水线的级数。现代处理器趋向采用非常长的流水线,因此分支预测失败可能付出很大 的代价,若其中。越长的流水线就需要越好的分支预测。分支预测技术主要有静态预测技术 和动态预测技术两大类。不管静态预测技术或动态预测技术都是投机执行一路指令,而对 另一路指令需要确认正在执行的该路指令错误后才执行。然而执行另一路指令可能会涉及 从内存中取数据的操作。一旦出现需要从内存中取数据。若将另一路指令预先装入缓存, 则当正在执行的指令确认错误后,执行另一路指令。但是,现有分支预测技术中并不存在这 样的技术。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种。 根据本专利技术提供的一种,包括以下步骤: (A)确定一分支点中的一另一个可能正确的程序; (B)解码所述另一个可能正确的程序,并设置一临时缓存供存储解码所述另一个 可能正确的程序所获得的一组指令; (C)进行寄存器重命名操作,设置一预取指令缓存供存储重命操作后的所述指令。 进一步地,其中,在步骤(C)之后进一步包括步骤(D):设置一组执行单元缓存,各 执行单元缓存分别对应各执行单元,以供存储所述执行单元所执行的对应指令,其中,分发 已重命名的指令至与已重命名的所述指令的对应的执行单元所对应的执行单元缓存存储。 进一步地,所述步骤(D)之后进一步包括步骤(E):对经重命名的所述指令进行取 指令。 进一步地,所述步骤(C)进一步包括以下步骤: (C. 1):选定一源操作数地址码中操作寄存器位确认位; (C. 2):判断该分支点到选定指令之间不包括选定指令的程序中是否存在所选定 的操作寄存器位相关目的操作数地址码; 若在该分支点到选定指令之间不包括选定指令的程序中存在所选定的操作寄存 器位相关目的操作数地址码,则在该分支点到选定指令之间不包括选定指令的程序中存在 的各个所选定的操作寄存器位相关目的操作数地址码中排最后的那个所选定的操作寄存 器位相关目的操作数地址码就称为操作寄存器位确认目的操作数地址码,进入步骤(C. 3), 若在该分支点到选定指令之间不包括选定指令的程序中不存在所选定的操作寄 存器位相关目的操作数地址码,进入步骤(C. 4); (C. 3):对所述操作寄存器位确认目的操作数地址码进行重命名,即目的寄存器重 命名; (C. 4):判断该分支点前的程序中是否存在所选定的操作寄存器位相关目的操作 数地址码, 若在该分支点前的程序中存在所选定的操作寄存器位相关目的操作数地址码,则 在该分支点前的程序中存在的各个所选定的操作寄存器位相关目的操作数地址码中排最 后的那个所选定的操作寄存器位相关目的操作数地址码就称为目的地址码称为操作寄存 器位确认目的操作数地址码,进入步骤(C. 5), 本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201410419560.html" title="重命名预处理方法原文来自X技术">重命名预处理方法</a>

【技术保护点】
一种重命名预处理方法,其特征在于,包括以下步骤:(A)确定一分支点中的一另一个可能正确程序;(B)解码所述另一个可能正确的程序,并设置一临时缓存供存储解码所述另一个可能正确程序所获得的一组指令;(C)进行寄存器重命名操作,设置一预取指令缓存供存储重命操作后的所述指令。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:龚伟峰
申请(专利权)人:龚伟峰
类型:发明
国别省市:广东;44

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

1