CN101826002B - 记录式分支预测器的硬件实现方法 - Google Patents
记录式分支预测器的硬件实现方法 Download PDFInfo
- Publication number
- CN101826002B CN101826002B CN 201010148503 CN201010148503A CN101826002B CN 101826002 B CN101826002 B CN 101826002B CN 201010148503 CN201010148503 CN 201010148503 CN 201010148503 A CN201010148503 A CN 201010148503A CN 101826002 B CN101826002 B CN 101826002B
- Authority
- CN
- China
- Prior art keywords
- branch
- history register
- global history
- ghr
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种记录式分支预测器的硬件实现方法。记录式分支预测器是一个记录式结构在两级模式分支预测器上的运用,该记录式结构记录分支预测的一些信息,并且在将来的预测过程中,这些信息按一定的规则被使用,使记录式分支预测器能够比原来预测器取得更好的性能。记录式分支预测器的理论依据是同一分支访问相同的PHT项能够比访问其他分支修改过的PHT项取得更好的预测准确率,记录式分支预测器的更新原则和原来预测器的更新原则相同。记录式结构是对分支预测过程中对GHR进行维护和使用的一个硬件结构,能够被运用在两级模式分支预测器和其他使用GHR的分支预测器中。本发明能够有效消除原来预测器中分支历史噪音和多路存取的问题。
Description
技术领域
本发明涉及分支预测技术,尤其涉及一种记录式分支预测器的硬件实现方法。
背景技术
分支指令是程序中频繁出现的指令,C语言中平均每9条指令就会出现一条分支指令,分支指令带来了程序行为的多样性,在单发射顺序执行处理器中,分支指令不影响程序性能。但是在具有流水的处理器中,分支指令导致流水级中需要插入气泡(Bubble),影响处理器性能。因此分支预测应运而生,分支预测指的是在计算出分支跳转结果之前,预测分支的跳转方向,提前执行预测结果处的指令,如果分支结果和预测结果相同,那么提前执行的指令为有效指令,否则回滚提前执行的指令。
随着处理器技术的发展,分支预测技术对处理器性能具有非常大的影响,准确的分支预测和高效的错误预测结果回滚能够使处理器性能更加强劲。Intel奔腾4处理器为了能够达到更高的频率,采用了非常深的流水结构,使得流水级的每一步能够在更短的时间内完成。但是这样设计使分支预测付出了更大的代价,由于深度的流水,当预测器错误预测分支结果时,处理器需要回滚更多周期的错误结果,导致处理器性能低下,被人诟病。下面几个部分将详细叙述分支预测技术的发展、先进的分支预测器以及多核时代下分支预测面临的挑战。
在指令级流水处理器发展的初始阶段,分支点之后的指令需要等到计算出分支条件以后才能够进入流水,刚进入分支指令到计算出分支结果的时间间隔内,指令流水级中插入气泡(Bubble),这样的方式造成了处理器资源的浪费。于是提出了一种最简单的分支预测方法,就是当处理器在执行过程中遇到分支指令,则总认为分支指令是跳转的(Taken)或者不跳转的(Not Taken)。这样分支点之后的指令就可以提前进入流水,等到计算出分支的结果以后判断预测是否正确。这种方式对没有固定跳转模式的程序,预测的准确率相对较高。
静态分支预测在程序运行阶段缺乏灵活性,使得预测性能底下,于是人们就提出了动态预测的方法。首先是一位计数器动态预测器,它记录分支指令的执行结果,以0和1分别表示分支的不跳转和跳转,当下次再次执行到这些分支指令的时候,就可以根据预测位来预测分支。如果是0则预测不跳转,如果是1则预测跳转。每次分支在得到实际跳转结果以后更新预测位。
和一位预测器原理相同,后来又提出了多位计数器预测器,用来记录该分支以前的跳转情况。如果当前预测位的值大于等于预测位最大值的一半,那么预测该分支跳转,否则就预测该分支不跳转。如果实际结果是分支跳转,那么预测位的值更新为原来的值加1,否则减1。多位预测器能够比一位预测器取得更好的性能,因为多位预测器能够容忍分支跳转的波动。但实验结果表名,二位计数器的预测器最适合动态分支预测,它存储空间较小而且状态转换更快。在二位预测器中,0、1表示分支不跳转,2、3表示分支跳转。
在程序的执行过程中,当前分支的跳转与否又与该分支之前的分支跳转结果有关,所以又通过一个全局历史寄存器(GHR,Global History Register)记录了当前分支之前的k条分支跳转结果,然后用GHR去索引和更新模式历史表(PHT,Pattern History Table),PHT是由二位计数器组成的一个表。这种结构也是以后Gshare、Gselect等预测器的基础结构。
而后发现由于只有一个独立的PHT,不同地址的分支共同读取和更新PHT,导致了严重的相互干扰,于是为了取得更高的预测效率,预测器又为不同的地址设立了不同的PHT,一方面由PC的地址去决定索引哪个PHT,另外一方面又由GHR去索引PHT里面的内容。这样的预测器被叫做全局分支预测器,因为不同地址的分支虽然分离的PHT,但还是共同使用一个GHR。
所以继而又提出了局部分支预测器,也就是说不同地址的分支分别维护各自的GHR。预测过程中,首先由PC索引决定使用哪个PHT和GHR,然后再由该GHR去索引PHT的内容作为预测。更新的过程中则只更新相应的PHT和GHR。
根据GHR和PHT进行分支预测的分支预测器被称为两级模式分支预测器,这类预测器存在三个方面的性能缺陷。首先是分支别名,分支别名指的是在分支预测的过程中,存在PHT表项的冲突问题。即不同的分支访问相同的表项,这使得PHT的某些表项经常未被使用,而某些表项被不同地址的分支同时使用。其次是分支历史信息干扰,它是由历史分支与当前分支的无关性引起的,具有干扰作用的分支历史信息也被称作“噪音”,即那些分支的结果对当前分支的结果不相关。最后是多路存取,即相同分支在预测时使用了不同的GHR值,这导致同一分支需要访问和修改PHT中的多各项,有些时候访问多各项是必要的,而很多时候访问多个项是由于“噪音”引起的,这将降低分支预测的效率。
发明内容
为了能够减少分支噪音带来的多路存取对分支预测的性能影响,避免在分支预测过程中通过访问其他分支修改的PHT进行预测的冒险行为,提高分支预测效率,进而改进处理器性能,本发明的目的在于提供一种记录式分支预测器的硬件实现方法。
本发明解决技术问题所采用的技术方案是:
1)记录式分支预测器的工作过程:
记录式分支预测器是记录式结构在分支预测器上的运用,记录式结构具有GHR、GHR组、PC记录、多路选择器和两个比较器;在预测时,分支的PC值和PC记录中的PC值比较,把相关的GHR存入GHR组中,再比较当前GHR较低几位与GHR组中的值,最后决定用于预测的GHR值,然后使用该GHR索引PHT,预测分支结果,记录式分支预测器对PHT的更新保持原来分支预测器的更新方法;
2)PC记录和GHR维护:
记录式分支预测器中GHR较长,其维护过程如下:当得到分支结果时GHR左移,新得到的分支结果存入GHR的最低位,PC记录是修改GHR对应位的PC值的记录,GHR左移,那么PC记录也会左移,PC记录中的项始终与GHR中的位相对应;
3)GHR组和多路选择决定由于预测的GHR:
GHR组用于存放临时的GHR值,通过第一比较器,将当前PC与PC记录比较以后,可能得到多个相等的值,那么GHR组中就有多个项来存放当前PC和PC记录比较后得到的相等的值,而这些相等的值的最终使用由第二比较器控制多路选择器进行选择;
4)保持原来分支预测器的更新方法:
记录式分支预测器在预测过程中具有和原来分支预测器不同的GHR使用方法,但是在对PHT的更新过程中,和原来分支预测器使用相同的GHR值,这个GHR值是记录式结构中较长GHR值的较低几位。
所述的预测时的三条原则:
1)如果某分支将要使用一个从来没有对该分支预测过的GHR值进行预测,那么采用该分支上一次使用的GHR值进行预测,即使用上一次修改的PHT项进行预测;
2)如果某分支将要使用的GHR值在该分支之前的预测中被使用过,那么使用该GHR进行分支预测;
3)如果一个分支从来没有被预测过,那么使用默认GHR进行预测。
本发明具有的有益效果是:
记录式分支预测器能够有效消除原来预测器中分支历史噪音和多路存取的问题。
附图说明
图1是记录式分支预测器在Gshare上的运用实例。
图2是一个改进预测器预测准确率的例子。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
1)记录式分支预测器的工作过程:
记录式分支预测器是记录式结构在分支预测器上的运用,如图1所示,记录式结构具有GHR、GHR组、PC记录、多路选择器和两个比较器;在预测时,分支的PC值和PC记录中的PC值比较,把相关的GHR存入GHR组中,再比较当前GHR较低几位与GHR组中的值,最后决定用于预测的GHR值,然后使用该GHR索引PHT,预测分支结果,记录式分支预测器对PHT的更新保持原来分支预测器的更新方法;
2)PC记录和GHR维护:
记录式分支预测器中GHR较长,其维护过程如下:当得到分支结果时GHR左移,新得到的分支结果存入GHR的最低位,PC记录是修改GHR对应位的PC值的记录,GHR左移,那么PC记录也会左移,PC记录中的项始终与GHR中的位相对应;
3)GHR组和多路选择决定由于预测的GHR:
GHR组用于存放临时的GHR值,通过第一比较器1,将当前PC与PC记录比较以后,可能得到多个相等的值,那么GHR组中就有多个项来存放当前PC和PC记录比较后得到的相等的值,而这些相等的值的最终使用由第二比较器2控制多路选择器进行选择;
4)保持原来分支预测器的更新方法:
记录式分支预测器在预测过程中具有和原来分支预测器不同的GHR使用方法,但是在对PHT的更新过程中,和原来分支预测器使用相同的GHR值,这个GHR值是记录式结构中较长GHR值的较低几位。
所述的预测时的三条原则:
1)如果某分支将要使用一个从来没有对该分支预测过的GHR值进行预测,那么采用该分支上一次使用的GHR值进行预测,即使用上一次修改的PHT项进行预测;
2)如果某分支将要使用的GHR值在该分支之前的预测中被使用过,那么使用该GHR进行分支预测;
3)如果一个分支从来没有被预测过,那么使用默认GHR进行预测。
记录式分支预测器是记录式结构在两级模式分支预测器上的运用实施例,为了便于表述,在下面的说明中使用记录式结构在Gshare分支预测器上的运用实例。
通过记录式Gshare分支预测器来说明记录式结构。Gshare是一个两级模式分支预测器,它使用全局GHR,对PHT的索引函数为GHR和PC的异或值。记录式Gshare是便于说明记录式分支预测器的一个实例,并不代表记录式结构器只能够运用在Gshare预测器上,记录式结构是一个维护是使用GHR值的结构,用于改善运用它的分支预测器的预测性能,能够被利用在任何两级模式分支预测器和其他使用GHR的分支预测器上。记录式分支预测器的理论依据是同一分支访问相同的PHT项能够比访问其他分支修改过的PHT项取得更好的预测准确率。
首先通过例子说明改进分支预测器预测准确率的方法,假如a、b两个分支(a分支在b分支之前)与分支c的结果关联,那么a、b两个分支的分支结果有4种组合00、01、10、11,现假设a、b分支的00、01、11结果使得c分支跳转,10结果使得c分支不跳转。现又假设GHR的长度为4位,而a、b的结果体现在GHR中的某两个位,如图2中为第2、第0位,另外两个位为与分支c结果无关的噪音。这两位噪音也可以产生4种组合,而这两位噪音使得a、b分支的某一结果(如a、b都不跳转,结果为00)有4个对应的GHR值,也就使得预测器有可能索引PHT的4个项。相比本来只应该有1个PHT项,4个项需要更多的预热时间,访问4各项产生的预测错误概率也越大。
现在假设第一次预测分支c时GHR的值为1000,其中第2位和第0位代表分支a、b的结果,第3和第1位为分支噪音。而第二次预测分支c的GHR变成了0000,分支a、b还是为00,而噪音位产生变化了,那么如果能够根据GHR为1000的项预测分支c,预测结果可能会更加准确,因为GHR为0000的PHT项从来没有被分支c存取过。这样做没有区分GHR中具体的噪音位在哪里,但是本质上相当于设置了GHR中的两个噪音位为1和0。
然而当第三次预测时,GHR为0011,此时GHR中的有效位也发生了变化,但是当有效位第一次变为01时,预测器中没有任何线索判断分支a、b为01时分支c将会跳转或者不跳转,此时仍然使用GHR为0000时的结果进行分支预测。原因在于分支预测器如果使用0011,那么分支c就会使用一个其他分支修改的PHT作为预测,这是一种冒险。虽然在这里,有效位发生了变化,访问以前GHR修改的PHT项也是冒险,但是这种情况里包含了可能只是噪音位变化的情况。
当第四次预测分支c时,GHR为1000,这个GHR值以前被预测过,所以此时应当使用GHR为1000的PHT项对分支c进行预测。采用这些策略的目的在于避免当分支产生多路时,通过访问其他分支修改的PHT项进行预测的冒险。
所以记录式结构遵循如下原则:
1.如果某分支将要使用一个从来没有对该分支预测过的GHR值进行预测,那么采用该分支上一次使用的GHR值进行预测,即使用上一次修改的PHT项进行预测;
2.如果某分支将要使用的GHR值在该分支之前的预测中被使用过,那么使用该GHR进行分支预测;
3.如果一个分支从来没有被预测过,那么使用默认GHR进行预测。
上面三条对应的是分支的预测过程,即读PHT的策略,因此相应的还有写PHT的策略,而不同的写策略直接影响将来PHT读取的内容,记录式结构测试了不同的写PHT策略,结果表名遵循原来预测器的写策略能够使得预测更加准确,所以在记录式结构中,遵循的第4条原则是:
4.使用原来预测器的更新策略更新PHT。
记录式分支预测结构如图1所示,总共由7个部分组成,它们分别是PC记录、GHR、GHR组、比较器1、比较器2、多路选择器、预测与更新。在这7个部分中,PC记录和比较器1与栈式结构中的PC记录和比较器结构和功能类似,下面首先描述记录式预测结构的工作过程,然后详细描述各个部分。
记录式结构的工作过程即是以上4条原则的实现过程。记录式结构的GHR的更新过程和原来分支预测器的更新过程相同,当得到新的分支结果以后,GHR左移,新的结果存入GHR的最低位。PC记录用于记录更新GHR对应位的PC值,因此当GHR左移以后,PC记录也将左移,而且得到结果的分支PC值将被存入PC记录的最右边项。
在预测过程中,第一步,PC值会与PC记录中的所有记录值进行比较,比较的结果决定GHR组的内容。例如:如果比较发现PC记录中第5、9两项与PC值相同,那么GHR的第5~12位、第9~16位将被映射到GHR组的第1、2两个单元中(假设用于计算索引值的GHR长度为8);第二步,比较GHR组中是否有与GHR低8位(第0到7位)相等的值,如果有相等的,那么就用相等的那个值(即GHR的低8位)与PC值运算,索引PHT进行预测(对应第2条原则),如果没有一个值相等,那么就用GHR组中的第一个值与PC值运算,索引PHT进行预测(对应第1条原则);如果PC值和PC记录中的值没有一个相等,说明该分支从来没有被预测过,那么就使用GHR的低8位进行索引计算(对应第3条原则);在预测器的更新时,采用GHR的低8位与PC值运算,把分支的实际结果更新到运算结果对应的PHT项中(对应第4条原则)。
记录式结构中,GHR较长,而预测和更新过程中使用的GHR则较短,如图1中GHR长23位,而参与索引计算的GHR长度为8位。这样设计的目的在于记录相同分支以前被使用过的GHR值,它与PC记录配合使用,如果预测器中参与PHT索引计算的GHR长度为n位,而PC记录中第m项与当前需要预测分支的PC值相等,那么就说明超长GHR中第m到(m+n-1)位为该分支以前使用过的GHR值。超长GHR的长度比PC记录的长度总是长n-1个单元,这是因为最左边的n-1个单元不能完整的保存一个n位的GHR。
GHR组的作用在于临时存储分支以前访问过的GHR值,当前PC值和PC记录中的值比较以后,有可能使用GHR中间的某一段值作为计算预测索引的GHR值,所以需要将那段值进行临时的存储。而与当前分支PC值相等的PC记录项有可能不止一项,所以需要有不止一个的GHR临时记录,这样就构成了一个GHR组。GHR转存到GHR组中的原则是先存储较低位的GHR,例如PC记录中有两项与PC值相等,这两项分别是第5、9项,那么转存到GHR组中时,第5项PC记录对应的GHR被存储在GHR组的第0项,第9项PC记录对应的GHR被存储在GHR组的第1项。多路选择的原因在于既然GHR组中有可能不止一项,那么就需要有一个选择的逻辑结构判断到底使用GHR组中的哪一项作为预测索引的GHR。
在记录式结构中,有两个比较器,比较器1的作用是比较PC值与PC记录中的项是否相等,如果PC记录中存在和PC值相等的项,那么这些项对应的GHR中的位需要被存放到GHR组中。如果GHR组中的所有项没有被填满,那么通过标记位标记该项未被填写,这些标记将被比较器2使用。比较器2的作用是比较GHR组中是否存在与GHR中低n位(假设参与索引计算的GHR长度为n位,用阴影表示的那几位)相同的项,如果存在相同的项,说明那项GHR以前被当前预测的分支使用过,在多路选择器选择的时候,就选择那个相同的项;如果不存在相同的项,那么就使用GHR组中的第一项;如果GHR组中一项也没有,也就是说这个分支以前没有被预测过,那么就使GHR中的低n位。比较器2的输出是多路选择器的选择信号,决定多路选择器使用哪个GHR用于预测。
在记录式分支预测结构中,预测器对PHT读取和对PHT更新采用了不同的索引计算方法,使得PHT的读取和更新可能为PHT的不同项。在进行预测的时候,遵循记录式分支预测的第1、2、3三条原则,所以在预测的时候,预测器根据前3条原则选取一个合适的GHR用来计算预测的索引值。在进行PHT更新的时候,不同的更新策略使预测器产生不同的预测行为,本发明保持原来分支预测器的更新策略。
Claims (1)
1.一种记录式分支预测器的硬件实现方法,其特征在于:
1)记录式分支预测器的工作过程:
记录式分支预测器是记录式结构在分支预测器上的运用,记录式结构具有全局历史寄存器、全局历史寄存器组、PC记录、多路选择器和两个比较器;在预测时,分支的PC值和PC记录中的PC值比较,把相关的全局历史寄存器存入全局历史寄存器组中,再比较当前全局历史寄存器较低几位与全局历史寄存器组中的值,最后决定用于预测的全局历史寄存器值,然后使用该全局历史寄存器索引模式历史表,预测分支结果,记录式分支预测器对模式历史表的更新保持原来分支预测器的更新方法;
2)PC记录和全局历史寄存器维护:
记录式分支预测器中全局历史寄存器较长,其维护过程如下:当得到分支结果时全局历史寄存器左移,新得到的分支结果存入全局历史寄存器的最低位,PC记录是修改全局历史寄存器对应位的PC值的记录,全局历史寄存器左移,那么PC记录也会左移,PC记录中的项始终与全局历史寄存器中的位相对应;
3)全局历史寄存器组和多路选择决定用于预测的全局历史寄存器:
全局历史寄存器组用于存放临时的全局历史寄存器值,通过第一比较器(1),将当前PC与PC记录比较以后,可能得到多个相等的值,那么全局历史寄存器组中就有多个项来存放当前PC和PC记录比较后得到的相等的值,而这些相等的值的最终使用由第二比较器(2)控制多路选择器进行选择;
4)保持原来分支预测器的更新方法:
记录式分支预测器在预测过程中具有和原来分支预测器不同的全局历史寄存器使用方法,但是在对模式历史表的更新过程中,和原来分支预测器使用相同的全局历史寄存器值,这个全局历史寄存器值是记录式结构中较长全局历史寄存器值的较低几位;
所述的预测时的三条原则:
1.1)如果某分支将要使用一个从来没有对该分支预测过的全局历史寄存器值进行预测,那么采用该分支上一次使用的全局历史寄存器值进行预测,即使用上一次修改的模式历史表项进行预测;
1.2)如果某分支将要使用的全局历史寄存器值在该分支之前的预测中被使用过,那么使用该全局历史寄存器进行分支预测;
1.3)如果一个分支从来没有被预测过,那么使用默认全局历史寄存器进行预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010148503 CN101826002B (zh) | 2010-04-16 | 2010-04-16 | 记录式分支预测器的硬件实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010148503 CN101826002B (zh) | 2010-04-16 | 2010-04-16 | 记录式分支预测器的硬件实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101826002A CN101826002A (zh) | 2010-09-08 |
CN101826002B true CN101826002B (zh) | 2012-12-26 |
Family
ID=42689934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010148503 Expired - Fee Related CN101826002B (zh) | 2010-04-16 | 2010-04-16 | 记录式分支预测器的硬件实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101826002B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698691B2 (en) * | 2016-08-30 | 2020-06-30 | Advanced Micro Devices, Inc. | Method and device for determining branch prediction history for branch prediction by partially combining shifted branch prediction history with branch signature |
CN106528049B (zh) * | 2016-11-17 | 2019-06-11 | 上海兆芯集成电路有限公司 | 在多存储体条件分支预测器中用于更新事件的随机数产生 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447229A (zh) * | 2002-03-22 | 2003-10-08 | 中国科学院计算技术研究所 | 适用于上下文切换的分支预测方法 |
CN1447231A (zh) * | 2002-03-22 | 2003-10-08 | 中国科学院计算技术研究所 | 分支转移预测方法 |
CN101477455A (zh) * | 2009-01-22 | 2009-07-08 | 浙江大学 | 无预测延时的分支预测控制方法 |
CN101604235A (zh) * | 2009-07-10 | 2009-12-16 | 杭州电子科技大学 | 一种嵌入式处理器分支预测的方法 |
-
2010
- 2010-04-16 CN CN 201010148503 patent/CN101826002B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447229A (zh) * | 2002-03-22 | 2003-10-08 | 中国科学院计算技术研究所 | 适用于上下文切换的分支预测方法 |
CN1447231A (zh) * | 2002-03-22 | 2003-10-08 | 中国科学院计算技术研究所 | 分支转移预测方法 |
CN101477455A (zh) * | 2009-01-22 | 2009-07-08 | 浙江大学 | 无预测延时的分支预测控制方法 |
CN101604235A (zh) * | 2009-07-10 | 2009-12-16 | 杭州电子科技大学 | 一种嵌入式处理器分支预测的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101826002A (zh) | 2010-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874694B (zh) | 空间存储器串流预取引擎的设备和方法、制造和测试方法 | |
Thakur et al. | Efficient algorithms for array redistribution | |
CN105051680B (zh) | 用于在处理器内部的硬件并行执行道上处理指令的处理器及方法 | |
CN102306094B (zh) | 实现现代处理器间接转移预测的装置及方法 | |
CN101957773B (zh) | 用于多轮次动态概要分析的方法及其系统 | |
CN104412233B (zh) | 流水线调度中混叠寄存器的分配 | |
CN104484158B (zh) | 微处理器以及微处理器操作方法 | |
KR20110034653A (ko) | 실행시간 추정방법, 실행시간 추정 프로그램 및 실행시간 추정장치 | |
CN102934082A (zh) | 用于高效动态二进制翻译的寄存器映射技术 | |
MX2009001911A (es) | Metodo y aparato para emular el comportamiento de pronostico de ramificacion de una llamada de subrutina explicita. | |
CN104731719A (zh) | 一种缓存系统和方法 | |
CN103329132A (zh) | 架构优化器 | |
CN102510273B (zh) | 一种有限脉冲响应滤波器 | |
CN101211256A (zh) | 一种专用双流水线risc指令系统及其操作方法 | |
CN1512325B (zh) | 一种计算机及一种产生并使用计算历史的方法 | |
CN102804142B (zh) | 使用双字节序编译器优化代码 | |
CN104424128A (zh) | 变长指令字处理器系统和方法 | |
CN105740200B (zh) | 用于k最近邻搜索的系统、装置和方法 | |
CN101826002B (zh) | 记录式分支预测器的硬件实现方法 | |
CN109783143A (zh) | 用于流水线指令流的控制方法和控制设备 | |
CN107977577A (zh) | 访存指令访问检测方法及装置 | |
CN1159648C (zh) | 有限游程转移预测方法 | |
CN103984525B (zh) | 指令处理系统及方法 | |
CN102497174A (zh) | 一种待滤波数据提供装置 | |
US20210042099A1 (en) | Automatic generation of efficient vector code with low overhead in a time-efficient manner independent of vector width |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121226 Termination date: 20130416 |