CN102087634B - 用于提高缓存命中率的装置及方法 - Google Patents

用于提高缓存命中率的装置及方法 Download PDF

Info

Publication number
CN102087634B
CN102087634B CN201110032573A CN201110032573A CN102087634B CN 102087634 B CN102087634 B CN 102087634B CN 201110032573 A CN201110032573 A CN 201110032573A CN 201110032573 A CN201110032573 A CN 201110032573A CN 102087634 B CN102087634 B CN 102087634B
Authority
CN
China
Prior art keywords
unit
address
icache
director data
btb
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
Application number
CN201110032573A
Other languages
English (en)
Other versions
CN102087634A (zh
Inventor
陈立勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING SUNPLUS-EHUE TECHNOLOGY CO., LTD.
Original Assignee
BEIJING BEIYANG ELECTRONIC TECHNOLOGY Co Ltd
Sunplus Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING BEIYANG ELECTRONIC TECHNOLOGY Co Ltd, Sunplus Technology Co Ltd filed Critical BEIJING BEIYANG ELECTRONIC TECHNOLOGY Co Ltd
Priority to CN201110032573A priority Critical patent/CN102087634B/zh
Publication of CN102087634A publication Critical patent/CN102087634A/zh
Application granted granted Critical
Publication of CN102087634B publication Critical patent/CN102087634B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种用于提高缓存命中率的装置及方法。本发明能够利用BTB单元提前推测出跳转指令的目标地址、并提供给Icache单元,因此,在取指单元需要读取目标地址处的指令数据之前,就可以由Icache单元提前从内存中预取目标地址处的指令数据。从而,等到取指单元需要读取目标地址处的指令数据时,无需再从内存读取、而是可以直接从Icache缓存中读取,进而能够针对跳转指令的目标地址处的指令数据提高对Icache缓存取指的命中率、减少CPU等待取指的时间、提高CPU的运行效率。

Description

用于提高缓存命中率的装置及方法
技术领域
本发明涉及CPU的取指技术,特别涉及一种用于提高缓存命中率的装置、以及一种用于提高缓存命中率的方法,本文所述的缓存主要是指CPU内部的指令缓存(Icache)。
背景技术
如图1所示,在CPU中,当取指单元需要读取一条指令数据时,首先将该指令数据的PC地址发送给Icache单元;Icache单元具有其对应的Icache控制逻辑和Icache缓存,当Icache单元接收到来自取指单元的PC地址后,Icache控制逻辑从Icache缓存中查找是否存在具有该PC地址的指令数据。
如果Icache控制逻辑从Icache缓存中找到具有该PC地址的指令数据,则Icache控制逻辑就用相对快的速度立即从Icache缓存中读取具有该PC地址的指令数据、并返回给取指单元。
但如果Icache控制逻辑从Icache缓存中没有找到具有该PC地址的指令数据,则Icache控制逻辑就用相对慢的速度从CPU外部的内存中读取具有该PC地址的指令数据、并返回给取指单元,同时,Icache控制逻辑还将具有该PC地址的指令数据所在的一线(Icache line)指令数据块调入至Icache缓存中,以使得后续可以直接从Icache缓存中读取该指令数据块中的其他指令数据、而不必再调用CPU外部的内存。其中,一个Icache line的指令数据块通常为4~32个字节、包含4-8条指令数据。
总的来说,读取指令的优先顺序是先Icache缓存、后内存。
由于程序执行的局域性行为,当前正在执行的指令数据所在的指令数据块中,通常会包含有后续可能需要的若干条其他指令数据,因此,基于上述指令数据读取机制,能够使CPU内部利用Icache单元读取指令数据的命中率非常高、通常可达90%左右,也就是说,CPU内部的取指单元下一次所要读取的指令数据90%都在Icache缓存中,而只有大约10%的指令数据需要从CPU外部的内存读取。
从而,上述指令数据读取机制能够在很大程度上免去CPU直接读取内存的时间,也使指令数据的读取基本无需等待。
然而,对于跳转指令来说,上述指令数据读取机制就无法保证对Icache缓存的高命中率。具体说,跳转指令可能发生跳转的目标地址并不一定属于当前指令所在的指令数据块,因此,即便能够将一Icache line的指令数据块调入至Icache缓存中,也很难保证目标地址处的指令数据能够位于Icache缓存中,从而,当执行跳转指令后,取指单元需要读取目标地址处的指令数据时,就会出现在Icache缓存中无法命中的情况。而一旦出现无法命中的情况,就需要花费多个指令周期从CPU外部的内存中读取目标地址处的指令数据,势必会增加CPU的等待时间。
而且,跳转指令一般会占到所有的指令数据的20%左右,因此,由跳转指令所引起的Icache缓存命中率低的问题,对CPU的运行效率也是有较大影响的。
发明内容
有鉴于此,本发明提供了一种用于提高缓存命中率的装置、以及一种用于提高缓存命中率的方法。
本发明提供的一种用于提高缓存命中率的装置,包括:
取指单元,将当前需要读取的第一指令数据的第一地址提供给BTB单元;
BTB单元,根据所述第一地址在其内部缓存中查找将在所述第一指令数据之后执行的跳转指令,若未找到则不动作,若找到则将作为所述跳转指令的跳转目标的第二地址提供给Icache单元;
Icache单元,查找其内部缓存中是否存在具有所述第二地址的第二指令数据,若存在则不动作,若不存在则从内存中读取所述第二地址处的所述第二指令数据至其内部缓存中保存。
优选地,BTB单元以所述第一地址为起始地址查找所述跳转指令。或者,BTB单元计算所述第一地址按照一线大小的下对齐地址,并以所述下对齐地址为起始地址、在一线的范围内查找所述跳转指令。
优选地,Icache单元进一步从内存中读取所述第二指令数据所属的指令数据块至其内部缓存中保存。
优选地,在将所述第一地址提供给BTB单元的同时,取指单元将所述第一地址提供给Icache单元;相应地,在BTB单元查找所述跳转指令的同时,Icache单元在其内部缓存中查找是否存在具有所述第一地址的所述第一指令数据,当存在时从其内部缓存中读取具有所述第一地址的所述第一指令数据返回给取指单元,否则从内存中读取所述第一地址处的所述第一指令数据至其内部缓存中、并返回给取指单元。
本发明提供的一种用于提高缓存命中率的方法,包括:
a、将取指单元当前需要读取的第一指令数据的第一地址提供给BTB单元;
b、根据所述第一地址在BTB单元中查找将于所述第一指令数据之后被执行的跳转指令,若未找到则不动作,若找到则将作为所述跳转指令的跳转目标的第二地址提供给Icache单元;
c、在Icache单元中查找是否存在具有所述第二地址的第二指令数据,若存在则不动作,若不存在则从内存中读取所述第二地址处的所述第二指令数据至Icache单元中保存。
优选地,在步骤b中,以所述第一地址为起始地址在BTB单元查找所述跳转指令。
优选地,在步骤b中,计算所述第一地址按照一线大小的下对齐地址,并以所述下对齐地址为起始地址、在一线的范围内查找BTB单元中的所述跳转指令。
优选地,在步骤c中:进一步从内存中读取所述第二指令数据所属的指令数据块至Icache单元中保存。
优选地,在步骤a中进一步包括:将所述第一地址提供给Icache单元;相应地,在步骤b中进一步包括:在Icache单元中查找是否存在具有所述第一地址的所述第一指令数据,当存在时从其内部缓存中读取并返回具有所述第一地址的所述第一指令数据,否则从内存中读取所述第一地址处的所述第一指令数据至Icache单元中保存、并返回所述第一指令数据。
由上述技术方案可见,本发明能够利用BTB单元提前推测出跳转指令的目标地址(即第二地址)、并提供给Icache单元,因此,在取指单元需要读取目标地址处的指令数据之前,就可以由Icache单元提前从内存中预取目标地址处的指令数据。从而,等到取指单元需要读取目标地址处的指令数据时,无需再从内存读取、而是可以直接从Icache缓存中读取,进而能够针对跳转指令的目标地址处的指令数据提高对Icache缓存取指的命中率、减少CPU等待取指的时间、提高CPU的运行效率。
更优地,本发明可以在取指单元向Icache单元发起取操作的过程中,以取指单元当前需要的指令数据的地址为参照来推测后续跳转指令的目标地址,从而能够更好地将推测跳转指令的目标地址的过程与正常的取指过程相结合,使正常的取指过程能够进一步附带有推测跳转指令的目标地址的效果。
附图说明
图1为现有技术中CPU取指阶段的原理示意图;
图2为本发明实施例中用于提高缓存命中率的装置的逻辑结构示意图;
图3a至图3d为如图2所示装置实现取指过程的一实例示意图;
图4为本发明实施例中用于提高缓存命中率的方法的示例性流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
在现代体系结构的CPU(x86、arm)内部,通常会包含一种分支目标缓存(BTB)单元,BTB单元能够预测跳转指令的目标地址,且预测的准确率一般高达95%以上。因此,本实施例将BTB单元的预测功能与Icache单元相结合,用以提高Icache单元针对目标地址的指令数据的命中率。
下面,结合如图2中所示出的逻辑结构,详细介绍本实施例中如何将BTB单元的预测功能与Icache单元相结合。
首先,取指单元在需要读取一条指令数据时,会将该指令数据的PC地址发送给Icache单元的Icache控制逻辑;与此同时,取指单元还将该PC地址发送至BTB单元的BTB控制逻辑。
在接收到取指单元提供的PC地址之后,Icache单元的Icache控制逻辑从Icache缓存中查找是否存在具有该PC地址的指令数据。
如找到具有该PC地址的指令数据,则用相对快的速度立即从Icache缓存中读取具有该PC地址的指令数据、并返回给取指单元;
如没有找到具有该PC地址的指令数据,则利用相对慢的速度从CPU外部的内存中读取该PC地址处的指令数据、并返回给取指单元,还将读取的该PC地址处的指令数据所在的一个Icache line指令数据块调入至Icache缓存中,以使得后续可以直接从Icache缓存中读取该指令数据块中的其他指令数据、而不必再调用CPU外部的内存。
而且,在Icache单元的Icache控制逻辑执行查找操作的同时,BTB单元的BTB控制逻辑会在BTB缓存中查找将于取指单元需要读取的指令数据之后执行的跳转指令(如何预测出跳转指令可以按照现有方式来实现),该跳转指令的地址大于该PC地址、且相比于其他跳转指令距离该PC地址最近;然后,将预测出的作为跳转目标的另一PC地址提供给Icache单元的Icache控制逻辑,该另一PC地址可称之为目标地址。
更具体地,BTB控制逻辑可以采用如下的查找方式:
方式1,BTB控制逻辑以取指单元所提供的PC地址为查找的起始地址,并按照地址递增的方式在PC~PC+L的范围内进行顺序查找,L为预先设定的任意值;
方式2,BTB控制逻辑以[PC]为查找的起始地址,其中,[PC]为取指单元所提供的PC地址按照一Icache line的大小(Icache_line_size)的下对齐地址、[PC]=PC&(Icache_line_size-1),然后,按照地址递增的方式在[PC]~[PC]+Icache_line_size-1的范围内进行顺序查找,这样,就相当于先确定取指单元所提供的PC地址所属Icache_line的头地址,然后从头地址开始在该PC地址所属Icache_line内查找。
实际应用中,对于所有指令数据中的跳转指令比例较高、或较为集中的情况,采用方式1可以在取指单元每次取指时均由BTB单元进行查找,这样能够较好地避免有跳转指令被遗漏;而对于跳转指令较少、且较为分散的情况(例如每一Icache line最多只有一条跳转指令),则可以选择方式2,并只有在PC地址等于[PC]时、即PC=PC&(Icache_line_size-1)时再由BTB单元进行查找,这就相当于,只有当前要读取的指令数据的PC地址是一个Icache line的头地址时才进行查找,从而就使得针对每一Icache line只进行一次查找,进而也就能够尽可能地减少CPU的负担。当然,BTB控制逻辑也可以采用其他本领域技术人员能够想到的方式进行查找,本文不再一一列举。
但无论按照何种方式进行查找,只要存在将于取指单元所要读取的指令数据之后执行的跳转指令,BTB单元均会将该跳转指令的目标地址提供给Icache单元。但如果BTB单元在一定范围内未能查找到跳转指令,则无需动作。
也就是说,Icache单元的Icache控制逻辑不仅要响应取指单元的取指要求,还要对BTB控制单元传过来可能跳转的跳转指令的目标地址进行相应的操作,具体来说:
Icache单元的Icache控制逻辑在将指令数据返回给取指单元之后,还需要从Icache缓存中查找是否存在具有BTB单元所提供的目标地址的指令数据;
如找到具有该目标地址的指令数据,则表示该目标地址处的指令数据已经在Icache缓存中,取指单元在执行跳转指令后又需要目标地址处的指令数据时,可直接从Icache缓存中读取,因而Icache控制逻辑不需要作任何操作、只需等待取指单元针对该目标地址的取指要求即可;
否则,表示该目标地址处的指令数据未在Icache缓存中,因此,为了避免取指单元下次需要该目标地址处的指令数据时不得不从CPU外部的内存读取,Icache控制逻辑先从CPU外部的内存中将该目标地址处的指令数据预取到Icache缓存中,然后即可等待取指单元针对该目标地址的取指要求。当然,Icache单元中的Icache控制逻辑也可以从内存中将该目标地址处的指令数据所属的指令数据块都读取至其Icache缓存中保存,而不是仅仅读取该目标地址处的一条指令数据。
如上可见,本实施例利用BTB单元提前推测出跳转指令的目标地址、并提供给Icache单元,因此,在取指单元需要读取目标地址处的指令数据之前,就可以由Icache单元提前从内存中预取目标地址处的指令数据。从而,等到取指单元需要读取目标地址处的指令数据时,无需再从内存读取、而是可以直接从Icache缓存中读取,进而能够针对跳转指令的目标地址处的指令数据提高对Icache缓存取指的命中率、减少CPU等待取指的时间、提高CPU的运行效率。
以下再结合具体实例,对本实施例中的方案进行更进一步的说明。
参见图3a,取指单元在取指阶段希望读取PC地址=0x10000000处的指令数据1,并将该PC地址发送给Icache单元和BTB单元。
参见图3b,Icache单元在其缓存中查找到其Icache缓存有PC地址=0x10000000的指令数据1;且在此过程中,BTB单元在其内部对照表中表示跳转指令地址的branch_addr列中,查找到取值大于0x10000000、离0x10000000最近的branch_addr=0x10000010,即0x10000010处的指令数据为跳转指令,并在对照表中表示目标地址的target_addr列中,查找到与该branch_addr=0x10000010相对应的target_addr=0x20000000;虽然Icache缓存中存在PC地址=0x10000000的指令数据1,但并不一定存在0x20000000处的指令数据2,因此,BTB单元需要将target_addr=0x20000000提供给Icache单元。
参见图3c,Icache单元首先要完成对取指单元的响应,将Icache缓存中的该指令数据1返回给取指单元,然后才开始处理BTB单元提供的target_addr=0x20000000。
参见图3d,Icache单元在Icache缓存查找是否存在PC地址与target_addr=0x20000000相同的指令数据2,但没有查找到,因此,Icache单元向CPU外部的内存发出对0x20000000地址处的指令数据2的读取请求,并预先提取0x20000000地址处的指令数据2所属的一个Icache line的指令数据块到Icache缓存中。
如上可见,在本实例中,当CPU执行到0x10000000的指令数据时,能够预测出该指令数据之后还将有0x10000010处的跳转指令需要执行、且跳转目标为0x20000000,并且还能够将0x20000000处的指令数据预取至Icache单元中,从而,CPU通过执行0x10000010处的跳转指令而跳转至0x20000000之后,可直接从Icache单元中读取0x20000000处的指令数据,显然,也就提高CPU在取指阶段的命中率,加速程序的运行效率。
除了如上所述的包括取指单元、BTB单元、以及Icache单元的装置之外,本实施例还提供了一种对应的方法。
如图4所示,该方法主要包括:
S401,在取指单元需要读取一条指令数据时,将该指令数据的PC地址发送给Icache单元和BTB单元,然后同时开始执行S402和S405。
S402,从Icache单元内部的Icache缓存中查找是否存在具有该PC地址的指令数据,如找到具有该PC地址的指令数据,则执行S403;如没有找到具有该PC地址的指令数据。则执行S404。
S403,用相对快的速度立即从Icache单元内部的Icache缓存中读取具有该PC地址的指令数据、并返回给取指单元,然后等待执行S407。
S404,用相对慢的速度从CPU外部的内存中读取该PC地址处的指令数据、并返回给取指单元,还将读取的该PC地址处的指令数据所在的一个Icache line指令数据块调入至Icache单元内部的Icache缓存中,以使得后续可以直接从Icache缓存中读取该指令数据块中的其他指令数据、而不必再调用CPU外部的内存,然后等待执行S408。
S405,在BTB单元的BTB缓存中查找将于取指单元需要读取的指令数据之后执行的跳转指令,该跳转指令的地址大于该PC地址、且相比于其他跳转指令距离该PC地址最近,然后执行S406。
如果本步骤中的查找仅限于一定的范围,则有可能在一定范围内未能查找到跳转指令,如果没有查找到则无需动作、并可以直接在S403或S404执行完毕后即结束本流程。
而且,本步骤中可以采用如前文所述的方式1、或方式2、或其他由本领域技术人员能够想到的方式进行查找。
S406,BTB单元将跳转指令的目标地址提供给Icache单元,然后等待执行S407。
S407,已向取指单元返回需要读取的指令数据、且Icache单元已接收到BTB单元提供的目标地址后,在Icache单元内部的Icache缓存中查找是否存在具有BTB单元所提供的目标地址的指令数据,如果查找到具有该目标地址的指令数据,则表示该目标地址处的指令数据已经在Icache缓存中,取指单元在执行跳转指令后又需要目标地址处的指令数据时,可直接从Icache缓存中读取,因而Icache单元不需要作任何操作,只需结束本流程、并等待取指单元针对该目标地址的指令数据开始新的流程即可;但如果没有查找到具有该目标地址的指令数据,则表示该目标地址处的指令数据未在Icache缓存中,因此,为了避免取指单元下次需要该目标地址处的指令数据时不得不从CPU外部的内存读取,执行S408。
S408,先从CPU外部的内存中将该目标地址处的指令数据预取到Icache单元内部的Icache缓存中、或者将该目标地址处的指令数据所在的一cacheline的指令数据块预取到Icache单元内部的Icache缓存中,然后即可结束本流程,并等待取指单元针对该目标地址的指令数据开始新的流程。
至此,针对一条指令数据的取指过程、以及在该过程中预取后续跳转目标处的指令数据的流程结束。
本实施例的上述装置和方法,都是在取指单元向Icache单元发起取操作的过程中,以取指单元当前需要的指令数据的地址为参照来推测后续跳转指令的目标地址,这样,主要是为了能够更好地将推测跳转指令的目标地址的过程与正常的取指过程相结合,从而使正常的取指过程能够进一步附带有推测跳转指令的目标地址的效果。
当然,在实际应用中,取指单元也可以单独发起推测跳转指令的目标地址的过程。具体来说,在任意时刻,取指单元均可将一PC地址(该PC地址并不一定就是取指单元当前需要读取的指令数据的PC地址)仅发送给BTB单元,令BTB单元预测符合条件的跳转指令的目标地址,如果预测出符合条件的跳转指令的目标地址再提供给Icache单元进行后续处理。
也就是说,推测跳转指令的目标地址的过程与正常的取指过程也可以是相互独立的,此时,由于Icache单元仍能够依据推测出的跳转指令的目标地址从内存预取目标地址处的指令数据,因而仍能够在一定程度上避免由跳转指令所引起的Icache缓存命中率低的问题、并提高CPU的运行效率。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于提高缓存命中率的装置,其特征在于,包括:
取指单元,将当前需要读取的第一指令数据的第一地址提供给BTB单元;
BTB单元,根据所述第一地址在其内部缓存中查找将在所述第一指令数据之后执行的跳转指令,若未找到则不动作,若找到则将作为所述跳转指令的跳转目标的第二地址提供给Icache单元;
Icache单元,查找其内部缓存中是否存在具有所述第二地址的第二指令数据,若存在则不动作,若不存在则从内存中读取所述第二地址处的所述第二指令数据至其内部缓存中保存。
2.如权利要求1所述的装置,其特征在于,BTB单元以所述第一地址为起始地址查找所述跳转指令。
3.如权利要求1所述的装置,其特征在于,BTB单元计算所述第一地址按照一线大小的下对齐地址,并以所述下对齐地址为起始地址、在一线的范围内查找所述跳转指令。
4.如权利要求1至3中任一项所述的装置,其特征在于,Icache单元进一步从内存中读取所述第二指令数据所属的指令数据块至其内部缓存中保存。
5.如权利要求1至3中任一项所述的装置,其特征在于,
在将所述第一地址提供给BTB单元的同时,取指单元将所述第一地址提供给Icache单元;
在BTB单元查找所述跳转指令的同时,Icache单元在其内部缓存中查找是否存在具有所述第一地址的所述第一指令数据,当存在时从其内部缓存中读取具有所述第一地址的所述第一指令数据返回给取指单元,否则从内存中读取所述第一地址处的所述第一指令数据至其内部缓存中、并返回给取指单元。
6.一种用于提高缓存命中率的方法,其特征在于,包括:
a、将取指单元当前需要读取的第一指令数据的第一地址提供给BTB单元;
b、根据所述第一地址在BTB单元中查找将于所述第一指令数据之后被执行的跳转指令,若未找到则不动作,若找到则将作为所述跳转指令的跳转目标的第二地址提供给Icache单元;
c、在Icache单元中查找是否存在具有所述第二地址的第二指令数据,若存在则不动作,若不存在则从内存中读取所述第二地址处的所述第二指令数据至Icache单元中保存。
7.如权利要求6所述的方法,其特征在于,在步骤b中,以所述第一地址为起始地址在BTB单元查找所述跳转指令。
8.如权利要求6所述的方法,其特征在于,在步骤b中,计算所述第一地址按照一线大小的下对齐地址,并以所述下对齐地址为起始地址、在一线的范围内查找BTB单元中的所述跳转指令。
9.如权利要求6至8中任一项所述的方法,其特征在于,在步骤c中:进一步从内存中读取所述第二指令数据所属的指令数据块至Icache单元中保存。
10.如权利要求6至8中任一项所述的方法,其特征在于,
在步骤a中进一步包括:将所述第一地址提供给Icache单元;
在步骤b中进一步包括:在Icache单元中查找是否存在具有所述第一地址的所述第一指令数据,当存在时从其内部缓存中读取并返回具有所述第一地址的所述第一指令数据,否则从内存中读取所述第一地址处的所述第一指令数据至Icache单元中保存、并返回所述第一指令数据。
CN201110032573A 2011-01-27 2011-01-27 用于提高缓存命中率的装置及方法 Expired - Fee Related CN102087634B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110032573A CN102087634B (zh) 2011-01-27 2011-01-27 用于提高缓存命中率的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110032573A CN102087634B (zh) 2011-01-27 2011-01-27 用于提高缓存命中率的装置及方法

Publications (2)

Publication Number Publication Date
CN102087634A CN102087634A (zh) 2011-06-08
CN102087634B true CN102087634B (zh) 2012-10-03

Family

ID=44099448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110032573A Expired - Fee Related CN102087634B (zh) 2011-01-27 2011-01-27 用于提高缓存命中率的装置及方法

Country Status (1)

Country Link
CN (1) CN102087634B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593304B (zh) * 2012-08-14 2016-08-03 吉林师范大学 基于并行设备模型的高效使用缓存的量化方法
CN104541243A (zh) * 2013-07-30 2015-04-22 华为技术有限公司 指令的跳转处理方法和装置
US9658963B2 (en) * 2014-12-23 2017-05-23 Intel Corporation Speculative reads in buffered memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1659527A (zh) * 2002-04-29 2005-08-24 英特尔公司 从存储装置中检索信息的方法和系统
CN101236564A (zh) * 2008-03-03 2008-08-06 浪潮通信信息系统有限公司 一种海量数据高性能读取显示方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171225B2 (en) * 2007-06-28 2012-05-01 Intel Corporation Cache for a multi thread and multi core system and methods thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1659527A (zh) * 2002-04-29 2005-08-24 英特尔公司 从存储装置中检索信息的方法和系统
CN101236564A (zh) * 2008-03-03 2008-08-06 浪潮通信信息系统有限公司 一种海量数据高性能读取显示方法

Also Published As

Publication number Publication date
CN102087634A (zh) 2011-06-08

Similar Documents

Publication Publication Date Title
EP2517100B1 (en) High-performance cache system and method
JP3549079B2 (ja) キャッシュ制御の命令プリフェッチ方法
US9396117B2 (en) Instruction cache power reduction
US8341382B2 (en) Memory accelerator buffer replacement method and system
US10732978B2 (en) Data processing systems
US9552032B2 (en) Branch prediction power reduction
US10558578B2 (en) Servicing CPU demand requests with inflight prefetches
US9547358B2 (en) Branch prediction power reduction
US20210109866A1 (en) Translation lookaside buffer prewarming
KR100234647B1 (ko) 인스트럭션 프리페치 방법 및 데이터 처리 시스템
US20170109165A1 (en) Apparatus and method for accessing data in a data store
US9569219B2 (en) Low-miss-rate and low-miss-penalty cache system and method
CN101558391A (zh) 用于微处理器的可配置高速缓冲存储器
CN102087634B (zh) 用于提高缓存命中率的装置及方法
US9003123B2 (en) Data processing apparatus and method for reducing storage requirements for temporary storage of data
JP5159258B2 (ja) 演算処理装置
US10241796B2 (en) Compiler-assisted lookahead (CAL) memory system apparatus for microprocessors
US20060179225A1 (en) Reducing cache trashing of certain pieces
CN112148366A (zh) 一种芯片降低功耗提升性能的flash加速方法
US9507600B2 (en) Processor loop buffer
US20140372730A1 (en) Software controlled data prefetch buffering
JP4413663B2 (ja) 命令キャッシュシステム
US20140019722A1 (en) Processor and instruction processing method of processor
CN115617402B (zh) 一种适用于通用处理器的解耦合分支预测方法及装置
CN104657298A (zh) 读控制装置和方法

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
ASS Succession or assignment of patent right

Owner name: BEIJING SUNPLUS EHUI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING BEIYANG ELECTRONIC TECHNOLOGY CO., LTD.

Effective date: 20140227

TR01 Transfer of patent right

Effective date of registration: 20140227

Address after: Science and Industry Park, Taiwan, Hsinchu, China, No. 19-1

Patentee after: Lingyang Science and Technology Co., Ltd.

Patentee after: BEIJING SUNPLUS-EHUE TECHNOLOGY CO., LTD.

Address before: Science and Industry Park, Taiwan, Hsinchu, China, No. 19-1

Patentee before: Lingyang Science and Technology Co., Ltd.

Patentee before: Beijing Beiyang Electronic Technology Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121003

Termination date: 20190127

CF01 Termination of patent right due to non-payment of annual fee