CN1312591C - 预取数据控制器及其方法 - Google Patents

预取数据控制器及其方法 Download PDF

Info

Publication number
CN1312591C
CN1312591C CNB2004100751242A CN200410075124A CN1312591C CN 1312591 C CN1312591 C CN 1312591C CN B2004100751242 A CNB2004100751242 A CN B2004100751242A CN 200410075124 A CN200410075124 A CN 200410075124A CN 1312591 C CN1312591 C CN 1312591C
Authority
CN
China
Prior art keywords
prefetch
count value
value
data
threshold
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.)
Active
Application number
CNB2004100751242A
Other languages
English (en)
Other versions
CN1570887A (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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1570887A publication Critical patent/CN1570887A/zh
Application granted granted Critical
Publication of CN1312591C publication Critical patent/CN1312591C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Abstract

本发明为一种预取存储器数据的预取控制器与方法,该方法包含有:初始化一计数值;当预取操作时,提取该存储器的数据并使得计数值减去第一数值;当预取命中时,使得计数值累加第二数值;以及将该计数值与第一阈值相比较,若计数值小于第一阈值,则暂停提取存储器的数据。

Description

预取数据控制器及其方法
技术领域
本发明提供一种提取一存储装置所存储的数据的装置及方法,特别指一种可有效率地预取一存储装置所存储的数据的预取控制器及方法。
背景技术
一般而言,计算机系统会包含有一运算单元(例如一中央处理器)以及一存储单元(例如一动态随机存取存储器),亦即存储单元纪录数据与指令,而运算单元便自存储单元提取所要的数据与指令来完成一预定逻辑运算,此外,运算单元亦会将该预定逻辑运算所产生的输出数据回存至存储单元。如本技术领域所公知,随着制造工艺进步,中央处理器的运算时钟便快速地提升,因此一般而言,中央处理器的运算时钟远高于动态随机存取存储器的工作时钟,亦即中央处理器的数据处理速度快于动态随机存取存储器的数据处理速度。所以,当中央处理器执发出一数据提取指令以提取动态随机存取存储器中一预定数据后,中央处理器必须等待动态随机存取存储器读取该预定数据,并传回该预定数据至中央处理器,因此便会因为动态随机存取存储器的延迟时间而影响中央处理器的运算效能。所以,快取存储器(cache)便用来减轻存储器的延迟时间对中央处理器的影响,相较于公知动态随机存取存储器,快取存储器(例如静态随机存取存储器)具有高速的数据存取速度,但是由于快取存储器的生产成本较高,因此计算机系统所设置的快取存储器(例如中央处理器中的L2快取)的容量远小于动态随机存取存储器的容量。
请参阅图1,图1为公知数据处理系统10的功能方块图。数据处理系统10包含有一快取存储器12,一预取控制器(pre-fetch controller)14,一存储器控制器(memory controller)16,以及一动态随机存取存储器18。如上所述,快取存储器12的数据存取速度快于动态随机存取存储器18的数据存取速度,因此当中央处理器执行一逻辑运算时,若中央处理器可直接自快取存储器12读取到所要的数据,则中央处理器便可进一步地提升其运算效能,所以预取控制器14便先预测中央处理器执行该逻辑运算需自动态随机存取存储器18提取数据DATAa、DATAb、DATAc,然后告知存储器控制器16以驱动存储器控制器16自动态随机存取存储器18读取数据DATAa、DATAb、DATAc,并传送至快取存储器12中存储。因此,当中央处理器执行该逻辑运算的过程中,若数据DATAa、DATAb、DATAc为其所要的数据,亦即中央处理器搜寻快闪存储器会产生公知快取命中(cache hit),因此中央处理器便可直接由快取存储器12提供所需的数据DATAa、DATAb、DATAc来执行该逻辑运算。然而,一般而言,预取控制器14的预测结果与该逻辑运算的数据需求不一定会完全吻合,亦即该逻辑运算需自动态随机存取存储器18读取其存储的数据DATAa、DATAb、DATAd,但是预取控制器14却预测中央处理器执行该逻辑运算需自动态随机存取存储器18提取数据DATAa、DATAb、DATAc,因此,当中央处理器执行该逻辑运算时,中央处理器搜寻快取存储器12中的数据DATAa、DATAb会产生快取命中,因此中央处理器可顺利地自快取存储器12读取数据DATAa、DATAb,然而,当中央处理器于快取存储器12中搜寻数据DATAd时会产生公知快取未命中(cache miss),因此便必须经由存储器控制器16自动态随机存取存储器18提取数据DATAd,最后,数据DATAd会存储于快取存储器12中,并同时会传送给中央处理器,换句话说,中央处理器便必须等待,直到接收到动态随机存取存储器18所输出的数据DATAd后才能继续执行该逻辑运算。
由上可知,数据DATAc并非为所要的数据DATAd,因此预取控制器14预先读取动态随机存取存储器18中的数据DATAc便会耗费存储器控制器16与动态随机存取存储器18之间的频带宽度,所以,当预取控制器14的预测准确率太低时,亦即当中央处理器搜寻快取存储器12时不断地产生快取未命中,因此预先读取数据的操作便会使计算机系统的整体效能大幅地恶化。
发明内容
因此,本发明提供一种可有效率地预取一存储装置所存储的数据的预取控制器及方法,以解决上述问题。
根据本发明,公开一种控制预取存储器的数据的方法。该方法包括有:初始化一计数值;当预取操作时,提取该存储器的数据并使得该计数值减去一第一数值;当预取命中时,使得该计数值累加一第二数值;以及比较将该计数值与一第一阈值,若该计数值小于该第一阈值,则暂停提取该存储器的数据。
由于本发明预取控制器与其操作方法不断地监测预测准确度,并动态地调整一计数值,当预取控制器的预测准确度不佳时,该计数值会达到一阈值,因此本发明预取控制器与其操作方法便会停止预先读取数据的操作,以便缓和过量快取未命中对存储器传输频带宽度所造成的影响。
附图说明
图1为公知数据处理系统的功能方块图。
图2为本发明第一种预取控制器的功能方块示意图。
图3为本发明第一种预取控制的方法流程图
图4为本发明第二种预取控制器的功能方块示意图。
附图符号说明
10         数据处理系统        12      快取存储器
14、20、40 预取控制器          16      存储器控制器
18         动态随机存取存储器  22      控制电路
24         计数寄存器          26、44  减法器
28、42     加法器              30、46  比较模块
32         运算单元            34      检测单元
36         输出单元
具体实施方式
请参阅图2,图2为本发明第一种预取控制器20的功能方块示意图。预取控制器20包含有一控制电路22,一计数寄存器24,一减法器26、一加法器28,以及一比较模块30。控制电路22中则包含有一运算单元32,一检测单元34,以及一输出单元36。此外,计数寄存器24中存储有一计数值CNT。请注意,如本技术领域所公知,减法器26亦可经由加法器与XOR逻辑运算电路来加以实施。预取控制器20的操作方法详述如下,首先,当预取控制器20启动时,计数寄存器24会初始其纪录的计数值CNT,举例来说,计数寄存器24可纪录10个位,亦即计数值CNT的最小值对应”0000000000”,而计数值CNT的最大值对应”1111111111”,因此计数值CNT的初始值需介于其最大值与最小值之间,本实施例中,该初始值为最大值与最小值的中间值,亦即”0000011111”。然后,控制电路22的运算单元32便开始预测中央处理器执行逻辑运算所要读取的预定数据,并产生相对应数据提取指令(request),并经由输出单元36传送该数据提取指令至图1所示的存储器控制器16,以便自动态随机存取存储器18读取所要的预定数据。此外,当输出单元36输出一数据提取指令时,其会触发一控制信号pf_get,且控制信号pf_get会进一步地启动减法器26执行逻辑运算,因此计数值CNT与一第一数值N1便会经由减法器26计算计数值CNT减去第一数值N1的运算结果,然后该运算结果便进一步地更新(update)计数寄存器24所记录的计数值CNT。
此外,控制电路22的检测单元34则会检测中央处理器执行逻辑运算所要的数据与运算单元32产生的数据提取指令所对应的预取数据是否符合,当一数据提取指令所对应的预取数据符合中央处理器所要的数据时,检测单元34会输出一控制信号pf_hit,且控制信号pf_hit会进一步地启动加法器28执行逻辑运算,因此计数值CNT与一第二数值N2便会经由加法器28计算计数值CNT与第二数值N2相加的运算结果,然后该运算结果便进一步地更新计数寄存器24所记录的计数值CNT。
如上所述,控制信号pf_get表示预取控制器20自图1所示的动态随机存取存储器预先读取一数据,而控制信号pf_hit则表示预取控制器20所预先读取的数据符合中央处理器所要的数据,一般而言,预取控制器20的预测结果与该逻辑运算的数据需求不一定完全吻合,因此可能输出单元36已触发产生复数次控制信号pf_get后,检测单元34才会产生一次控制信号pf_hit,亦即控制信号pf_hit与控制信号pf_get之间的比例便代表预取控制器20的预测准确度。换句话说,若预取控制器20的预测准确度越高,则控制信号pf_hit的发生频率便越频繁。本实施例中,假设控制信号pf_hit与控制信号pf_get之间的比例为A∶B时,中央处理器仍可维持良好的运算效能,因此本实施例便设定第一数值N1与第二数值N2之间的比例对应A∶B,举例来说,若控制信号pf_hit与控制信号pf_get之间的比例为1∶4时,预取控制器22的运作视为有效率的,因此便设定第一数值N1与第二数值N2之间的比例对应1∶4,所以,本实施例中,第一数值N1与第二数值N2分别等于1与4。所以,当输出单元36产生一次控制信号pf_get时,计数值CNT会递减1,以及当检测单元34产生一次控制信号pf_hit时,计数值CNT会递增4。
如前所述,计数值CNT的初始值为”0000011111”,因此若输出单元36每产生4控制信号pf_get中,检测单元34有产生一次控制信号pf_hit,则计数值CNT会保持不变,亦即计数值CNT仍纪录该初始值”00011111”。若输出单元36每产生4次以上(例如5次)的控制信号pf_get中,检测单元34才有产生一次控制信号pf_hit,因此计数值CNT会小于该初始值”00011111”,并逐渐地趋近最小值”0000000000”,换句话说,当计数值CNT逐渐地减少时,则表示预取控制器20的预测准确率不佳而造成执行效能不佳。此外,若输出单元36每产生4次以下(例如3次)的控制信号pf_get中,检测单元34便可产生一次控制信号pf_hit,因此计数值CNT会大于该初始值”00011111”,并逐渐地趋近最大值”1111111111”,换句话说,当计数值CNT逐渐地增加时,则表示预取控制器20的预测准确率良好而产生极佳执行效能。
本实施例中,比较模块30会比较计数值CNT以及一阈值TH1,而阈值TH1小于上述初始值”0000011111”。由上可知,当预取控制器20的预测准确率不佳时,表示控制信号pf_hit的发生频率降低,因此计数值CNT会逐渐地趋近最小值”0000000000”,明显地,当预取控制器20的预测准确率太低,则表示中央处理器搜寻图1所示的快取存储器12时会不断地产生快取未命中,因此预取控制器20预先读取数据的操作便会使计算机系统的整体效能大幅地恶化,所以当比较模块30判断计数值CNT小于阈值TH1时,比较模块30会驱动控制电路22以中断输出单元36的功能,亦即输出单元36不再将运算单元32所产生的数据提取指令传送至图1所示的存储器控制器16,因此输出单元36便停止产生控制信号pf_get至减法器26,换句话说,当输出单元36停止输出控制信号pf_get后,计数值CNT便不会再降低。
请注意,运算单元32与检测单元34此时仍会正常地运作,亦即运算单元32仍会不断预测中央处理器执行逻辑运算时所需的数据,并产生相对应数据提取指令,而检测单元34会检测数据提取指令于动态随机存取存储器18所对应的数据与中央处理器执行逻辑运算于动态随机存取存储器18所提取的数据,虽然输出单元36不会输出数据提取指令至存储器控制器16以执行预先读取数据的操作,然而检测单元34仍会继续监测运算单元32的预测结果是否准确,因此当检测单元34检测到运算单元32所预测的数据与中央处理器自动态随机存取存储器18所提取的数据相同时,则检测单元34会产生控制信号pf_hit,因此加法器28便会启动来提升计数值CNT,如上所述,当输出单元36停止输出控制信号pf_get后,计数值CNT便不会再降低,亦即计数值CNT便会因为检测单元34陆陆续续地输出控制信号pf_hit而逐渐地增加。
本实施例中,比较模块30会比较计数值CNT与一阈值TH2来决定是否驱动控制电路22重新启动输出单元36,阈值TH2大于阈值TH1,且大于上述初始值”0000011111”,因此若阈值TH2等于阈值TH1,则预取控制器20便可能于启动输出单元36的操作与关断输出单元36的操作之间不停地切换,所以本发明预取控制器20便使用不同的阈值TH1、TH2来避免上述情况。当计数值CNT超过阈值TH2后,输出单元36会重新启动,若此时预取控制器20的预测准确率仍未改善,亦即控制信号pf_hit的发生频率过低,因此计数值CNT会快速地减少,当计数值CNT又小于阈值TH1时,则比较模块30会告知控制电路22以暂停输出单元36的功能,因此可减轻存储器控制器16与动态随机存取存储器18之间的数据传输负荷。
图3为本发明第一实施例的流程图,当预取操作时,计数值CNT会减去一第一数值N1,当预取命中时,计数值CNT会增加一第二数值N2,如果计数值CNT小于阈值TH1,则表示预测的准确率太差,因此会停止存取存储器的数据。此时还是有预取操作,只是计数值CNT不再减少,但若是预取命中时,则计数值CNT会增加第二数值N2,直到计数值CNT大于阈值TH2时,才会重新在启动存储器控制器到存储器中存取数据。
综上所述,当计数值CNT小于阈值TH1时,运作中的输出单元36会被关断,而当计数值CNT大于阈值TH2时,关断中的输出单元36会开始运作。然而,本发明预取控制器20亦可于计数值CNT高于一阈值时,关断目前运作中的输出单元36,以及于计数值CNT小于另一阈值时,重新启动目前关断中的输出单元36,请参阅图2与图3,图3为本发明第二种预取控制器40的功能方块示意图。请注意,图3所示的预取控制器40与图2所示的预取控制器20中,大部分的同名元件具有相同的功能,因此不再重复赘述。主要的不同的处在于加法器42、减法器44以及比较模块46的操作,本实施例中,当输出单元36输出一控制信号pf_get时,控制信号pf_get会启动加法器42而非减法器44,此时,加法器42会将计数值CNT与一数值N3相加,并以运算结果更新计数值CNT。另外,当检测单元34输出一控制信号pf_hit时,控制信号pf_hit会启动减法器44而非加法器42,此时,减法器44会将计数值CNT减去一数值N4,并以运算结果更新计数值CNT。数值N3、N4的设定规则与上述数值N1、N2的设定规则相同,因此数值N3、N4之间的比例即对应预取控制器40的预定预测准确率。
图2所示的实施例中,当检测单元34输出一控制信号pf_hit时,加法器28会启动以使用数值N2来提升计数值CNT,以及当输出单元36输出一控制信号pf_get时,减法器26会启动以使用数值N1来降低计数值CNT。然而,本发明预取控制器20于检测单元34输出一控制信号pf_hit时,启动加法器28以使用数值N3来提升计数值CNT,以及于输出单元36输出一控制信号pf_get时,启动减法器26以使用数值N4来降低计数值CNT。如前所述,计数值CNT的初始值为”0000011111”,因此若输出单元36每产生4次控制信号pf_get中,检测单元34产生一次控制信号pf_hit,则计数值CNT会保持不变,亦即计数值CNT仍纪录该初始值”00011111”。若输出单元36每产生4次以上(例如5次)的控制信号pf_get中,检测单元34才有产生一次控制信号pf_hit,因此计数值CNT会大于该初始值”00011111”,并逐渐地趋近最大值”1111111111”,换句话说,当计数值CNT逐渐地增加时,则表示预取控制器40的预测准确率不佳而造成执行效能不彰。此外,若输出单元36每产生4次以下(例如3次)的控制信号pf_get中,检测单元34便可产生一次控制信号pf_hit,因此计数值CNT会小于该初始值”00011111”,并逐渐地趋近最小值”0000000000”,换句话说,当计数值CNT逐渐地减少时,则表示预取控制器40的预测准确率良好而可产生极佳执行效能。
比较模块46会比较计数值CNT以及一阈值TH3,而阈值TH3大于上述初始值”0000011111”。当比较模块46判断计数值CNT大于阈值TH3时,比较模块46会驱动控制电路22以中断输出单元36的功能,亦即输出单元36不再将运算单元32所产生的数据提取指令传送至图1所示的存储器控制器16,因此输出单元36便停止产生控制信号pf_get至加法器42,换句话说,当输出单元36停止输出控制信号pf_get后,计数值CNT便不会再增加。如前所述,检测单元34仍会继续监测运算单元32的预测结果是否准确,因此当检测单元34检测到运算单元32所预测的数据与中央处理器自动态随机存取存储器18所提取的数据相同时,则检测单元34会产生控制信号pf_hit,因此减法器44便会启动来降低计数值CNT,所以计数值CNT便会因为检测单元34陆陆续续地输出控制信号pf_hit而逐渐地降低。
然后,比较模块46会比较计数值CNT与一阈值TH4来决定是否驱动控制电路22重新启动输出单元36,阈值TH4小于阈值TH3,且低于上述初始值”0000011111”,因此,当计数值CNT小于阈值TH4后,输出单元36会重新启动,若此时预取控制器40的预测准确率仍未改善,亦即控制信号pf_hit的出现频率仍过低,因此计数值CNT便会快速地增加,当计数值CNT又超过阈值TH3时,则比较模块30会告知控制电路22以暂停输出单元36的功能,因此便可减轻存储器控制器16与动态随机存取存储器18之间的数据传输负荷。
本发明预取控制器与其操作方法不断地监测预测准确度,并动态地调整一计数值,当预取控制器的预测准确度不佳时,该计数值会达到一阈值,因此本发明预取控制器与其操作方法便会停止预先读取数据的操作,以便缓和过量快取未命中对存储器传输频带宽度所造成的影响。此外,上述数值N1、N2、N3、N4与阈值TH1、TH2、TH3、TH4为可编程(programmable),所以,本发明预取控制器与其操作方法可弹性地设定上述数值N1、N2、N3、N4与阈值TH1、TH2、TH3、TH4来进一步地微调(tune)预取控制器的效能。再者,本发明预取控制器应用简单的电路结构来计算计数值以控制预先读取数据的操作,因此不但生产成本低且实作容易。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。

Claims (20)

1.一种控制预取存储器的数据的方法,包括有:
初始化一计数值;
当预取操作时,提取该存储器的数据并使得该计数值减去一第一数值;
当预取命中时,使得该计数值累加一第二数值;以及
将该计数值与一第一阈值相比较,若该计数值小于该第一阈值,则暂停提取该存储器的数据。
2.如权利要求1所述的控制预取存储器数据的方法,其中当暂停提取该存储器数据时,不使得该计数值减去该第一数值,但其中当预取命中时,使得该计数值累加该第二数值。
3.如权利要求2所述的控制预取存储器数据的方法,其中当该计数值大于一第二阈值时,重新启动提取该存储器的数据,且其中该第二阈值大于该第一阈值。
4.如权利要求1所述的控制预取存储器数据的方法,其中该第二数值为第一数值的整数倍。
5.一种控制预取存储器的数据的方法,包括有:
初始化一计数值;
当预取操作时,提取该存储器的数据并使得该计数累加一第一数值;
当预取命中时,使得该计数值减去一第二数值;以及
比较将该计数值与一第一阈值,若该计数值大于该第一阈值,则暂停提取该存储器的数据。
6.如权利要求5所述的控制预取存储器数据的方法,其中当暂停提取该存储器数据时,暂停使得该计数值累加该第一数值,但其中当预取命中时,使得该计数值减去该第二数值。
7.如权利要求6所述的控制预取存储器数据的方法,其中当该计数值小于一第二阈值时,重新启动提取该存储器的数据,且其中该第二阈值小于该第一阈值。
8.如权利要求5所述的控制预取存储器数据的方法,其中该第二数值为第一数值的整数倍。
9.一种预取控制器,用以预取一存储器的数据以提供一逻辑运算单元的使用,该预取控制器包含有:
一计数寄存器,寄存有一计数值;以及
一控制电路,连接到该计数寄存器,用以当预取操作及预取命中时,使得该计数值改变。
10.如权利要求9所述的预取控制器,其中该控制电路还包含有一运算单元,用以当预取操作时,预测该逻辑运算单元执行所需的数据,并至该存储器中提取该数据。
11.如权利要求9所述的预取控制器,其中该控制电路还包含有一输出单元,用以当预取操作时,使得该计数值减去一第一数值。
12.如权利要求11所述的预取控制器,其中该控制电路还包含有一检测单元,用以当预取命中时,使得该计数值累加一第二数值。
13.如权利要求11所述的预取控制器,其中还包含有一比较模块,连接在该计数寄存器与该控制电路间,用以当该计数值小于一第一阈值时,停止提取该存储器的数据,以及当停止提取后,若该计数值大于一第二阈值时,则重新启动预取该存储器的数据。
14.如权利要求13所述的预取控制器,其中当停止预取该存储器数据时,使得该计数值不减去该第一数值,但若预取命中时,使得该计数值累加该第二数值。
15.如权利要求13所述的预取控制器,其中该第二阈值大于该第一阈值。
16.如权利要求9所述的预取控制器,其中该控制电路还包含有一输出单元,用以当预取操作时,使得该计数值累加一第三数值。
17.如权利要求16所述的预取控制器,其中该控制电路还包含有一检测单元,用以当预取命中时,使得该计数值减去一第四数值。
18.如权利要求17所述的预取控制器,其中还包含有一比较模块,连接在该计数寄存器与该控制电路间,用以当该计数值大于一第三阈值时,停止提取该存储器的数据,且以及当停止提取后,该计数值小于一第四阈值时,重新启动预取该存储器的数据。
19.如权利要求18所述的预取控制器,其中当停止提取该存储器数据后时,使得该计数值不累加该第三数值,以及若预取命中时,使得该计数值减去该第四数值,且其中该第四阈值小于该第三阈值。
20.如权利要求9所述的预取控制器,其中还包含有一减法器,连接到该计数寄存器,使得该计数值改变,以及一加法器,连接到该计数寄存器,使得该计数值改变。
CNB2004100751242A 2003-10-07 2004-08-31 预取数据控制器及其方法 Active CN1312591C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48147503P 2003-10-07 2003-10-07
US60/481,475 2003-10-07

Publications (2)

Publication Number Publication Date
CN1570887A CN1570887A (zh) 2005-01-26
CN1312591C true CN1312591C (zh) 2007-04-25

Family

ID=34519961

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100751242A Active CN1312591C (zh) 2003-10-07 2004-08-31 预取数据控制器及其方法

Country Status (3)

Country Link
US (2) US7313655B2 (zh)
CN (1) CN1312591C (zh)
TW (1) TWI258078B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7895382B2 (en) 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US7415705B2 (en) 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
US7526616B2 (en) * 2004-03-22 2009-04-28 International Business Machines Corporation Method and apparatus for prefetching data from a data structure
US7246203B2 (en) * 2004-11-19 2007-07-17 Motorola, Inc. Queuing cache for vectors with elements in predictable order
DE102005030657B3 (de) * 2005-06-30 2006-11-16 Siemens Ag Codierverfahren und Codiereinrichtung zum Sichern eines Zählerstands eines Zählwerks vor einer nachträglichen Manipulation, sowie Prüfverfahren und Prüfeinrichtung zum Prüfen einer Authentizität eines Zählerstands eines Zählwerks
US7917702B2 (en) * 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
US9274965B2 (en) * 2008-12-15 2016-03-01 International Business Machines Corporation Prefetching data
US8195888B2 (en) * 2009-03-20 2012-06-05 Empire Technology Development Llc Multiprocessor cache prefetch with off-chip bandwidth allocation
US8615633B2 (en) * 2009-04-23 2013-12-24 Empire Technology Development Llc Multi-core processor cache coherence for reduced off-chip traffic
US8244986B2 (en) * 2009-12-30 2012-08-14 Empire Technology Development, Llc Data storage and access in multi-core processor architectures
US9390018B2 (en) 2012-08-17 2016-07-12 Advanced Micro Devices, Inc. Data cache prefetch hints
US9348753B2 (en) * 2012-10-10 2016-05-24 Advanced Micro Devices, Inc. Controlling prefetch aggressiveness based on thrash events
CN104133691B (zh) * 2014-05-05 2016-08-31 腾讯科技(深圳)有限公司 加速启动的方法及装置
US9665491B2 (en) * 2014-07-17 2017-05-30 Samsung Electronics Co., Ltd. Adaptive mechanism to tune the degree of pre-fetches streams
US10007616B1 (en) 2016-03-07 2018-06-26 Apple Inc. Methods for core recovery after a cold start
US10474578B2 (en) * 2017-08-30 2019-11-12 Oracle International Corporation Utilization-based throttling of hardware prefetchers
CN110661862A (zh) * 2019-09-20 2020-01-07 网宿科技股份有限公司 一种预热资源文件的方法和中心管理系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990000841A1 (en) * 1988-07-15 1990-01-25 Luminis Pty. Ltd. Access protection and priority control in distributed queueing
JPH06175887A (ja) * 1992-12-02 1994-06-24 Hitachi Ltd 障害監視/通知方式
JPH113130A (ja) * 1997-06-11 1999-01-06 Hitachi Ltd パスワード制御方式
US5867480A (en) * 1996-09-12 1999-02-02 Cabletron Systems, Inc. Method and apparatus for controlling congestion in a network node
CN1329407A (zh) * 2000-06-14 2002-01-02 索尼公司 信息处理设备和方法、信息管理系统及程序储存介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038278A (en) * 1988-04-01 1991-08-06 Digital Equipment Corporation Cache with at least two fill rates
US5719800A (en) * 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US6792524B1 (en) * 1998-08-20 2004-09-14 International Business Machines Corporation System and method cancelling a speculative branch
JP3867427B2 (ja) * 1999-01-11 2007-01-10 ソニー株式会社 プロセッサ装置および集積回路
JP4067887B2 (ja) * 2002-06-28 2008-03-26 富士通株式会社 プリフェッチを行う演算処理装置、情報処理装置及びそれらの制御方法
US20040117556A1 (en) * 2002-12-13 2004-06-17 Zafer Kadi Dynamic pipelining and prefetching memory data
KR100532417B1 (ko) * 2003-01-21 2005-11-30 삼성전자주식회사 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
US7165144B2 (en) * 2004-03-19 2007-01-16 Intel Corporation Managing input/output (I/O) requests in a cache memory system
US8001363B2 (en) * 2005-04-04 2011-08-16 Globalfoundries Inc. System for speculative branch prediction optimization and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990000841A1 (en) * 1988-07-15 1990-01-25 Luminis Pty. Ltd. Access protection and priority control in distributed queueing
JPH06175887A (ja) * 1992-12-02 1994-06-24 Hitachi Ltd 障害監視/通知方式
US5867480A (en) * 1996-09-12 1999-02-02 Cabletron Systems, Inc. Method and apparatus for controlling congestion in a network node
JPH113130A (ja) * 1997-06-11 1999-01-06 Hitachi Ltd パスワード制御方式
CN1329407A (zh) * 2000-06-14 2002-01-02 索尼公司 信息处理设备和方法、信息管理系统及程序储存介质

Also Published As

Publication number Publication date
TWI258078B (en) 2006-07-11
US20050076181A1 (en) 2005-04-07
US20080046659A1 (en) 2008-02-21
CN1570887A (zh) 2005-01-26
TW200513846A (en) 2005-04-16
US8108615B2 (en) 2012-01-31
US7313655B2 (en) 2007-12-25

Similar Documents

Publication Publication Date Title
CN1312591C (zh) 预取数据控制器及其方法
CN102112966B (zh) 用于推测式中断向量预取的设备及方法
US5694568A (en) Prefetch system applicable to complex memory access schemes
US9280474B2 (en) Adaptive data prefetching
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US10417130B2 (en) System and method for spatial memory streaming training
CN100383740C (zh) 挂起线程执行直到发生指定的存储器访问的方法和设备
CN101495962B (zh) 用于预取不连续指令地址的方法和设备
US9886385B1 (en) Content-directed prefetch circuit with quality filtering
CN114667508B (zh) 为加速器取回数据的方法和系统
CN102495756A (zh) 操作系统在不同的中央处理器之间切换的方法及系统
WO2011143256A1 (en) Method and apparatus for cache control
CN100416529C (zh) 用于确定动态随机存取存储器页面管理实现的方法和装置
CN101859259A (zh) 具有片外带宽分配的多处理器高速缓存预取
CN101539802A (zh) 信息处理装置中的功率控制装置
EP2097809B1 (en) Methods and apparatus for low-complexity instruction prefetch system
CN109313604B (zh) 用于压缩虚拟存储器的动态配置的计算系统、装置和方法
JPH10301794A (ja) 情報処理システムおよびキャッシュ・メモリのロード方法
WO2004049169A2 (en) Using a cache miss pattern to address a stride prediction table
CN1253801C (zh) 具有流水线的计算电路的存储器系统以及提供数据的方法
US10565122B2 (en) Serial tag lookup with way-prediction
US6321299B1 (en) Computer circuits, systems, and methods using partial cache cleaning
CN114616553A (zh) 为加速器取回数据的方法和系统
JP2001195302A (ja) 命令ループ・バッファ
US9043507B2 (en) Information processing system

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