CN102436422A - 与处理器无关的循环条目高速缓冲存储器 - Google Patents

与处理器无关的循环条目高速缓冲存储器 Download PDF

Info

Publication number
CN102436422A
CN102436422A CN2011102592984A CN201110259298A CN102436422A CN 102436422 A CN102436422 A CN 102436422A CN 2011102592984 A CN2011102592984 A CN 2011102592984A CN 201110259298 A CN201110259298 A CN 201110259298A CN 102436422 A CN102436422 A CN 102436422A
Authority
CN
China
Prior art keywords
memory
word
address
current
storer
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.)
Pending
Application number
CN2011102592984A
Other languages
English (en)
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.)
Microchip Technology Rousset SAS
Original Assignee
Atmel Rousset SAS
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 Atmel Rousset SAS filed Critical Atmel Rousset SAS
Publication of CN102436422A publication Critical patent/CN102436422A/zh
Pending legal-status Critical Current

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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

本发明涉及与处理器无关的循环条目高速缓冲存储器。本发明提供一种存储器控制器,其经配置以从处理器接收读取请求且从存储器返回存储器字。所述存储器控制器包含地址比较器及循环条目高速缓冲存储器。所述地址比较器经配置以确定先前读取请求地址与当前读取请求地址之间的差。所述地址比较器还经配置以确定所述差是否为正且小于某一地址差,且如果如此的话,那么指示有限反向跳转。所述循环条目高速缓冲存储器经配置以在所述地址比较器指示有限反向跳转时存储所述当前读取请求地址的当前存储器字。

Description

与处理器无关的循环条目高速缓冲存储器
技术领域
本发明标的物一般来说涉及电子器件,且更特定来说涉及微控制器,包括嵌入式非易失性存储器(NVM)控制器。
背景技术
微控制器通常包括处理器及一个或一个以上类型的存储器,例如易失性及非易失性存储器(NVM)。举例来说,微控制器可具有静态随机存取存储器(SRAM)装置及快闪存储器装置两者。处理器可比快闪存储器更快速地存取SRAM,但由于SRAM昂贵,通常SRAM较小且不能够存储整个软件代码。因此,在一些微控制器中,例如,在不首先将指令从快闪存储器拷贝到SRAM的情况下,处理器可执行直接从快闪存储器读取的指令。
在其中处理器直接从嵌入式NVM取指令的微控制器中,可通过预取指令来改善性能。举例来说,在使用宽存储器数据总线存取NVM的情况下,可使用根据存储器数据总线宽度定大小的一对预取缓冲器来减少等待状态的平均数目。预取尤其在处理器正在执行顺序代码时改善性能。
发明内容
一种存储器控制器经配置以从处理器接收读取请求且从存储器返回存储器字。所述存储器控制器包含地址比较器及循环条目高速缓冲存储器。所述地址比较器经配置以确定先前读取请求地址与当前读取请求地址之间的差。所述地址比较器还经配置以确定所述差是否为正且小于某一地址差,且如果如此的话,那么指示有限反向跳转。所述循环条目高速缓冲存储器经配置以在所述地址比较器指示有限反向跳转时存储所述当前读取请求地址的当前存储器字。
附图说明
图1是具有嵌入式快闪存储器的实例性微控制器的框图,所述嵌入式快闪存储器是经由快闪存储器控制器从微处理器核心被存取。
图2是实例性存储器控制器的示意图。
图3是图解说明实例性微处理器循环主体指令的图表。
图4是用于将存储器字存储于循环条目高速缓冲存储器中的实例性过程的流程图。
具体实施方式
系统总述
图1是具有嵌入式快闪存储器107的实例性微控制器100的框图,嵌入式快闪存储器107是经由快闪存储器控制器105从微处理器核心101被存取。
微控制器100包括经配置以存取芯片上存储器103、107及其它外围装置104、105的微处理器101。微控制器100由一组端子140供电。端子140包括(举例来说)一系列物理接入端子(PAD)以给微控制器100供电,所述系列物理接入端子中的一些用于提供电压源VDD,一些用于提供接地GND。
在一些实施方案中,微控制器的组件使用系统总线120交换数据,系统总线120可包括从外围装置104、105向微处理器101携载数据的读取数据总线、从微处理器101向外围装置104、105携载数据的写入数据总线及携载控制信号以指示系统总线120上的传送方向的地址总线。由于系统总线120的地址总线由外围装置104、105共享,因此可使用地址解码器102来解码所述地址总线上所携载的值以便一次选择一个外围装置。地址解码器102连接到地址总线(系统总线120的部分)且可提供选择信号121、122、123。这些选择信号可由存储器103及外围装置104、105读取以计及系统总线120上所携载的值。
当所述地址总线的地址值匹配为芯片上存储器103分配的地址范围时,可选择芯片上存储器103(例如,信号123为活动的)。当所述地址总线的地址值匹配为嵌入式快闪存储器控制器105分配的地址范围时,可选择嵌入式快闪存储器控制器105(例如,信号121为活动的)。在一些实施方案中,在地址解码器102中硬接线地址范围。响应于经选择,选定存储器103或者外围装置104或105将对应数据提供到系统总线120上,所述对应数据由微处理器101读取且根据应用软件被处理。
在一些实施方案中,微处理器101经由中断信号125检测数据的可用性。当经设定时,中断信号125触发中断控制器104。接着,中断控制器104直接将所述事件用信号通知给微处理器101的专用引脚。当微处理器101由中断信号125触发时,其内部状态机中断对当前任务的处理且借助系统总线120对中断控制器104执行读取存取以获得中断源(外围装置)。
嵌入式快闪存储器107存储(举例来说)应用软件作为用于微处理器101的可执行指令。芯片上存储器103(例如,SRAM)存储在微处理器101执行所述应用软件期间使用的中间变量的值。微处理器101使用系统总线120取所述应用软件。
微处理器101可(1)首先将所述应用软件的指令从快闪存储器107拷贝到芯片上存储器103中且接着从芯片上存储器103取所述指令,或(2)从快闪存储器107取所述指令。在第一种情况下,由于芯片上存储器103的速度,存取时间通常较短。总体系统的性能通常较高。然而,芯片上存储器103经定大小以存储软件加中间变量的值,此可增加微控制器100的成本。
在第二种情况下,芯片上存储器103的大小可较小,因为其存储中间变量的值而不存储应用软件。此可降低微控制器100的成本。一般来说,由于快闪存储器107的速度,第二种情况下的存取时间较长,使得微控制器100的性能较低。
微处理器101经由快闪存储器控制器105存取快闪存储器107。快闪存储器控制器105将来自系统总线120的读取请求翻译成快闪存储器107所使用的协议。
为在直接从快闪存储器107取指令时改善微控制器100的性能,嵌入式快闪存储器读取数据总线106比系统总线120宽。举例来说,在一些实施方案中,系统总线为32位宽且存储器数据总线为128位宽。快闪存储器控制器105执行预取。预取包括提前读取恰好位于上一经存取数据之后的数据,即使此尚未被请求。将提前读取的数据置于高速缓冲存储器(例如,高速存储器,例如寄存器)中。当实际上需要所述指令时,可从所述高速缓冲存储器快速地存取所述指令。
当微处理器101从快闪存储器107取指令时,其发出地址及指示正在执行指令读取的一个或一个以上控制信号。存储器控制器105接着通常从所请求指令的快闪地址开始执行预取。当顺序地取下一指令时,预取改善性能。在一些实施方案中,存储器控制器105识别循环条目指令且高速缓冲存储所述循环条目指令。下文进一步参照图2到图4论述识别及高速缓冲存储循环条目指令。
尽管图1描绘具有快闪存储器107的微控制器100,但其它类型的存储器是可行的。举例来说,可使用其它类型的NVM。一般来说,存储器经配置以使得存储器的读取存取时间大于微处理器取指令循环时间,且使得存储器控制器可比其可将数据发送到处理器更快地存取存储器(例如,使用较宽总线)。在这些配置中,预取可改善微控制器速度。
所揭示的实施方案提供优于常规微控制器的经改善性能。可通过使处理器直接从NVM取指令来降低微控制器成本。尽管通过高速缓冲存储循环条目指令可能产生来自NVM的低响应时间,但仍可改善微控制器性能。
实例性存储器控制器
图2是实例性存储器控制器220的示意图。可使用存储器控制器220(举例来说)作为图1的快闪存储器控制器105。
当存储器控制器220在系统地址总线上从微处理器接收到系统读取请求时,存储器控制器220使用存储器地址总线及所述系统读取请求所给出的地址来从存储器读取字。存储器控制器220接着通过在所述系统读取请求所给出的所述地址之后的下一顺序地址处取下一字来从存储器预取所述字。所述所预取的下一字存储于高速缓冲存储器中。所述高速缓冲存储器包含(举例来说)一对预取缓冲器201。又可使用所述预取缓冲器201,使得一个预取缓冲器201可供用于被写入新字,而一个预取缓冲器201正存储所预期读取请求的字。
当微处理器正顺序地从存储器取指令时,预取缓冲器有助于最小化微处理器的等待状态的数目。在一些情况下,其中存储器带宽充足,根本不等待微处理器,直到间断在指令序列中出现。
地址比较器202检测有限地址范围的反向跳转。此种反向跳转指示循环条目指令。循环条目指令是在微处理器一直重复直到到达结束条件的指令循环的开始处的指令。地址比较器202(举例来说)使用二进制输出信号指示有限范围的反向跳转。
存储器控制器220高速缓冲存储循环条目高速缓冲存储器(例如,一对分支缓冲器203)中的循环条目指令。存储器控制器220尝试仅将循环条目指令高速缓冲存储到所述循环条目高速缓冲存储器中。举例来说,当微处理器正在执行指令时,(举例来说)由于评估条件、函数调用、中断调用或循环迭代,各种序列间断可出现。高速缓冲存储导致那些间断的指令可不改善性能,因此存储器控制器220尝试区分循环条目指令。
存储器控制器220尝试使用地址比较器202来检测循环条目指令;然而,地址比较器202可在一些情况下指示并非为循环条目指令的指令的有限范围内的反向跳转。存储器控制器220可使用额外信息来区分循环条目指令。举例来说,存储器控制器220可从微处理器接收指示读取请求是针对指令还是针对其它数据的请求的系统读取类型信号。如果所述请求是针对其它数据,那么存储器控制器220确定不将所述数据高速缓冲存储于循环条目高速缓冲存储器中,因为其并非为循环条目指令。
实例性循环指令
图3是图解说明实例性微处理器循环主体指令的图表。
在图3中,标记为L0到Ln的框表示微处理器的指令。将指令群组存储为存储器字。展示所述存储器字在垂直虚线之间。以从Mb0到Mp1的存储器地址来标记所述存储器字。
出于说明的目的,图3图解说明其中L0为循环条目指令且Ln为所述循环中的最后指令的实例性情景。在执行所述指令时,微处理器请求存储器字Mb0到Mp1且执行指令L0到Ln。在执行Ln之后,微处理器再次请求Mb0,使得其可开始再次执行L0处的指令。
当存储器控制器检测到从Ln到L0的反向跳转时,所述存储器控制器将存储器字Mb0及Mb1存储于循环条目高速缓冲存储器(例如,图2中所示的所述对分支缓冲器203)中。在将那些存储器字高速缓冲存储于所述循环条目高速缓冲存储器中之后,组合所述存储器控制器中经由循环主体的常规顺序预取机制与对所述循环条目高速缓冲存储器(分支缓冲器203)的快速读取存取,可在微处理器处没有等待状态或等待状态最少的情况下迭代整个循环。
为识别循环条目(例如,L0),由图2的地址减法器204从先前存取存储器地址减去微处理器当前存取存储器地址。在一些实施方案中,如果当前及先前存取两者均被辨识为取指令,那么存储器控制器仅将存储器字存储于循环条目高速缓冲存储器中。举例来说,微处理器可提供读取类型指示符信号以识别其正在请求指令还是其它数据。如果所述减法的结果为正但小于固定地址范围(Max_Backward_Jump),那么存储器控制器确定已采取短反向分支。
在一些实施方案中,循环条目高速缓冲存储器针对多个循环条目存储存储器字(或存储器字对)。举例来说,可针对经确定含有循环条目指令的存储器字阵列创建寄存器堆。
高速缓冲存储存储器字对(图3中的Mb0,即含有循环条目指令的存储器字,及Mb1,即下一顺序存储器字)而非仅高速缓冲存储含有循环条目指令的存储器字(图3中的Mb0)可在重新进入所述循环时减少微处理器所需要的等待状态的数目。所述循环的第一指令L0可位于从目标存储器字Mb0的开始到结束的任何地方。如果由于循环条目指令L0在分支目标存储器字Mb0内部的位置较晚,存储器存取时间比微处理器从循环条目指令(图3中的L0)到位于下一存储器字内部的第一指令(图3中的L2)取指令的时间长,那么微处理器将等待,直到第二存储器字Mb1可用。
确定有限范围内的反向跳转指示循环条目依赖于三个假设:(1)正向跳转(即使是短的正向跳转)并非是到循环条目的跳转,但更可能是由于在测试结果评估或者函数调用或中断调用或者其它之后即刻执行的条件代码所致的跳转;(2)短循环展示高速缓冲存储其条目更有益(如果循环主体指令长度由几百个指令组成,那么通常将不会通过减少读取第一循环指令所需要的等待状态的数目而经历显著改善);(3)长反向跳转更可能不对应于短循环条目,但对应于函数调用或中断调用或者其它序列间断,至少在像C语言或甚至来自平常汇编代码的良好结构化的高级语言中是这样的。
在一些实施方案中,存储器控制器包括多于单对存储器字大小的寄存器,以便高速缓冲存储嵌套循环的其它外循环条目。如果从循环主体内部调用函数,那么这些额外对还可高速缓冲存储函数调用作为侧效果,此可改善性能。
过程总述
图4是用于将存储器字存储于循环条目高速缓冲存储器中的实例性过程400的流程图。所述过程由存储器控制器(例如,图2的存储器控制器220)执行。
存储器控制器从处理器接收读取请求(步骤402)。所述读取请求指定存储器(例如,快闪存储器装置)中所存储的存储器字的存储器地址。存储器控制器确定所请求存储器字是否在循环条目高速缓冲存储器中(步骤420)。一般来说,存储器控制器将所述读取请求的所述存储器地址与所述循环条目高速缓冲存储器中所存储的存储器字的存储器地址进行比较。在一些实施方案中,所述循环条目高速缓冲存储器中所存储的所述存储器字的所述存储器地址也存储于所述循环条目高速缓冲存储器中。如果所请求字在所述循环条目高速缓冲存储器中,那么存储器控制器不从所述存储器读取所请求存储器字(步骤422)。而是,存储器控制器针对所请求存储器字存取所述循环条目高速缓冲存储器。
存储器控制器确定先前从处理器接收的读取请求所指定的地址与当前读取请求(在步骤402中接收的读取请求)所指定的地址之间的差(步骤404)。所述先前接收的读取请求存储于(举例来说)寄存器中。
存储器控制器确定所述差是否为正且小于某一差(步骤406)。如果所述差为负或大于所述某一差,那么存储器控制器不将所请求存储器字存储于循环条目高速缓冲存储器中(步骤410)。如果所述差为正且小于所述某一差,那么可将所请求存储器视为含有循环条目指令。在一些实施方案中,存储器控制器从所述存储器取所请求存储器字,且在确定所述差为正且小于所述某一差之后将所述存储器字存储于循环条目高速缓冲存储器中。
在一些其它实施方案中,存储器控制器从处理器接收读取类型指示符,其指示当前地址对应于数据读取还是指令读取。存储器控制器确定所述读取类型指示符是否对应于数据读取(步骤408),且如果如此的话那么不将所请求存储器字存储于循环条目高速缓冲存储器中(步骤410)。如果存储器控制器确定所述读取类型指示符对应于指令读取,那么存储器控制器取所请求存储器字且将所述存储器字存储于循环条目高速缓冲存储器中(步骤412)。
在一些实施方案中,存储器控制器取顺序地跟在所请求存储器字之后的下一存储器字且将所述下一存储器字存储于所述循环条目高速缓冲存储器中(步骤418)。在一些实施方案中,存储器控制器首先确定是否存储所述下一存储器字(步骤414)。存储器控制器通过确定当前存储器字内的目标指令是否在当前存储器字内的某一位置之后来确定是否存储所述下一存储器字。如果所述目标指令在所述某一位置之后,那么存储器控制器确定存储所述下一存储器字(步骤418)。如果所述目标指令不在所述某一位置之后,那么存储器控制器确定不存储所述下一存储器字(步骤416)。
虽然本文件含有许多具体实施细节,但这些实施细节不应被视为限制可主张的范围,而是视为对特定实施例可能特有的特征的说明。在此说明书中在单独实施例的背景中描述的某些特征也可以组合形式实施于单个实施例中。相反,在单个实施例的背景中描述的各种特征也可分开地或以任何适合子组合形式实施于多个实施例中。此外,尽管上文可将特征描述为以某些组合形式起作用且甚至最初主张如此,但来自所主张组合的一个或一个以上特征在一些情况下可从所述组合去除,且所述所主张组合可针对子组合或子组合的变化形式。

Claims (20)

1.一种包含存储器控制器的系统,其中所述存储器控制器经配置以从处理器接收读取请求且从存储器返回存储器字,且其中所述存储器控制器包含:
地址比较器,其经配置以确定先前读取请求地址与当前读取请求地址之间的差,并确定所述差是否为正且小于某一地址差,且如果如此的话,那么指示有限反向跳转;及
循环条目高速缓冲存储器,其经配置以在所述地址比较器指示有限反向跳转时存储所述当前读取请求地址的当前存储器字。
2.根据权利要求1所述的系统,其中所述存储器控制器经配置以从所述处理器接收新读取请求地址,确定所述新读取请求地址匹配所述当前读取请求地址,且从所述循环条目高速缓冲存储器读取所述当前存储器字且将所述当前存储器字返回到所述处理器。
3.根据权利要求1所述的系统,其中所述存储器控制器经配置以从所述处理器接收指示所述当前读取请求地址对应于数据读取还是指令读取的读取类型指示符,且其中所述循环条目高速缓冲存储器经配置以在所述读取类型指示符指示所述当前读取请求地址对应于数据读取的情况下不存储所述当前存储器字。
4.根据权利要求1所述的系统,其中所述循环条目高速缓冲存储器进一步经配置以存储顺序地跟在所述当前读取请求地址之后的下一存储器地址的下一存储器字。
5.根据权利要求1所述的系统,其中所述存储器控制器经配置以确定所述当前存储器字内的目标指令是否在所述当前存储器字内的某一位置之后,且如果所述目标指令在所述某一位置之后,那么将顺序地跟在所述当前请求地址之后的下一存储器地址的下一存储器字存储于所述循环条目高速缓冲存储器中,且如果所述目标指令不在所述某一位置之后,那么不将所述下一存储器字存储于所述循环条目高速缓冲存储器中。
6.根据权利要求1所述的系统,其中所述循环条目高速缓冲存储器经配置以存储多个循环条目存储器字,每一循环条目存储器字对应于所述地址比较器指示有限反向跳转所针对的一不同存储器地址。
7.根据权利要求1所述的系统,其中所述存储器控制器经配置以接收对所述存储器中的数据的请求且在接收到对顺序地位于所述存储器中的所述数据之后的额外数据的特定请求之前读取所述数据及所述额外数据两者,且将所述额外数据存储于预取高速缓冲存储器中。
8.根据权利要求1所述的系统,其中所述存储器为非易失性存储器。
9.根据权利要求1所述的系统,其进一步包含耦合到所述存储器控制及所述处理器的系统数据总线及耦合到所述存储器控制器及所述存储器的存储器数据总线,其中所述存储器数据总线比所述系统数据总线宽。
10.根据权利要求1所述的系统,其进一步包含所述处理器及所述存储器。
11.一种由存储器控制器执行的方法,所述方法包含:
从处理器接收存储器中的存储器字的先前读取请求地址及当前读取请求地址;
确定所述先前读取请求地址与所述当前读取请求地址之间的差;
确定所述差为正且小于某一地址差;及
将所述当前读取请求地址的来自所述存储器的当前存储器字存储于循环条目高速缓冲存储器中。
12.根据权利要求11所述的方法,其进一步包含:
从所述处理器接收新读取请求地址;
确定所述新读取请求地址匹配所述当前读取请求地址;及
从所述循环条目高速缓冲存储器读取所述当前存储器字且将所述当前存储器字返回到所述处理器。
13.根据权利要求11所述的方法,其进一步包含:
从所述处理器接收指示所述当前读取请求地址对应于数据读取还是指令读取的读取类型指示符;及
如果所述读取类型指示符指示指令读取,那么将所述当前存储器字存储于所述循环条目高速缓冲存储器中,且如果所述读取类型指示符指示数据读取,那么不将所述当前存储器字存储于所述循环条目高速缓冲存储器中。
14.根据权利要求11所述的方法,其进一步包含:
存储顺序地跟在所述当前读取请求地址之后的下一存储器地址的下一存储器字。
15.根据权利要求11所述的方法,其进一步包含:
确定所述当前存储器字内的目标指令是否在所述当前存储器字内的某一位置之后,且如果所述目标指令在所述某一位置之后,那么将顺序地跟在所述当前请求地址之后的下一存储器地址的下一存储器字存储于所述循环条目高速缓冲存储器中,且如果所述目标指令不在所述某一位置之后,那么不将所述下一存储器字存储于所述循环条目高速缓冲存储器中。
16.根据权利要求11所述的方法,其进一步包含存储多个循环条目存储器字,每一循环条目存储器字对应于一不同存储器地址。
17.根据权利要求11所述的方法,其进一步包含:
从所述处理器接收对所述存储器中的数据的请求;
在接收到对顺序地位于所述存储器中的所述数据之后的额外数据的特定请求之前读取所述数据及所述额外数据两者;及
将所述额外数据存储于预取高速缓冲存储器中。
18.根据权利要求17所述的方法,其进一步包含接收对所述额外数据的另一请求且在不存取所述存储器的情况下从所述预取高速缓冲存储器返回所述额外数据。
19.根据权利要求11所述的方法,其中所述存储器为非易失性存储器。
20.根据权利要求11所述的方法,其中接收所述当前读取请求地址包含从耦合到所述处理器及所述存储器控制器的系统总线接收所述当前读取请求地址,且其中存储来自所述存储器的所述当前存储器字包含在耦合到所述存储器及所述存储器控制器的存储器总线上存取所述存储器,且其中所述存储器数据总线比所述系统数据总线宽。
CN2011102592984A 2010-09-02 2011-08-31 与处理器无关的循环条目高速缓冲存储器 Pending CN102436422A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/874,934 2010-09-02
US12/874,934 US8484436B2 (en) 2010-09-02 2010-09-02 Processor independent loop entry cache

Publications (1)

Publication Number Publication Date
CN102436422A true CN102436422A (zh) 2012-05-02

Family

ID=45595577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102592984A Pending CN102436422A (zh) 2010-09-02 2011-08-31 与处理器无关的循环条目高速缓冲存储器

Country Status (4)

Country Link
US (1) US8484436B2 (zh)
CN (1) CN102436422A (zh)
DE (1) DE102011082056A1 (zh)
TW (1) TW201216060A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108027766A (zh) * 2015-09-19 2018-05-11 微软技术许可有限责任公司 预取指令块
CN109997109A (zh) * 2016-12-20 2019-07-09 德州仪器公司 具有提取提前滞后的流引擎
CN113826083A (zh) * 2019-05-16 2021-12-21 美光科技公司 处理器侧事务上下文存储器接口系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819079A (en) * 1995-09-11 1998-10-06 Intel Corporation Instruction fetch on demand for uncacheable memory which avoids memory mapped I/O side effects in a processor with speculative instruction fetch
US7159103B2 (en) * 2003-03-24 2007-01-02 Infineon Technologies Ag Zero-overhead loop operation in microprocessor having instruction buffer
US6950919B2 (en) * 2003-03-26 2005-09-27 Hewlett-Packard Development Company, L.P. Computer system with operating system to dynamically adjust the main memory
US7130963B2 (en) * 2003-07-16 2006-10-31 International Business Machines Corp. System and method for instruction memory storage and processing based on backwards branch control information
US7571305B2 (en) * 2007-01-11 2009-08-04 Arm Limited Reusing a buffer memory as a microcache for program instructions of a detected program loop
US7702857B2 (en) * 2007-08-22 2010-04-20 International Business Machines Corporation Adjusting parameters used to prefetch data from storage into cache

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108027766A (zh) * 2015-09-19 2018-05-11 微软技术许可有限责任公司 预取指令块
CN108027766B (zh) * 2015-09-19 2022-04-29 微软技术许可有限责任公司 预取指令块
CN109997109A (zh) * 2016-12-20 2019-07-09 德州仪器公司 具有提取提前滞后的流引擎
CN109997109B (zh) * 2016-12-20 2023-07-21 德州仪器公司 具有提取提前滞后的流引擎
CN113826083A (zh) * 2019-05-16 2021-12-21 美光科技公司 处理器侧事务上下文存储器接口系统和方法

Also Published As

Publication number Publication date
US8484436B2 (en) 2013-07-09
US20120059975A1 (en) 2012-03-08
TW201216060A (en) 2012-04-16
DE102011082056A1 (de) 2012-03-08

Similar Documents

Publication Publication Date Title
EP0795820B1 (en) Combined prefetch buffer and instructions cache memory system and method for providing instructions to a central processing unit utilizing said system.
US5210842A (en) Data processor having instruction varied set associative cache boundary accessing
US10509589B2 (en) Support for improved throughput in a memory device
WO2019046268A1 (en) CACHE LINE DATA
US10199108B2 (en) Methods for read retries and apparatuses using the same
US20060168418A1 (en) Simultaneous pipelined read with dual level cache for improved system performance using flash technology
US20120173818A1 (en) Detecting address conflicts in a cache memory system
EP0448205B1 (en) Re-configurable block length cache and method therefor
US10776042B2 (en) Methods for garbage collection and apparatuses using the same
US10503438B1 (en) Memory sub-system supporting non-deterministic commands
EP3876103B1 (en) Data processing sytem having a shared cache
US11385836B2 (en) Read look ahead data size determination
CN102436422A (zh) 与处理器无关的循环条目高速缓冲存储器
CN111142941A (zh) 一种非阻塞高速缓存缺失处理方法及装置
US7404026B2 (en) Multi media card with high storage capacity
CN112585570A (zh) 存储器系统中用于提高命令总线利用率的控制器命令调度
US20030079115A1 (en) Tagged address stack and microprocessor using same
US11126379B2 (en) Memory system
US6871246B2 (en) Prefetch control in a data processing system
JP2006099770A (ja) シングルポートメモリを使用した命令キャッシュ
CN111158753A (zh) 具有数据预取功能的Flash控制器结构及其实现方法
CN114116533A (zh) 利用共享存储器存储数据的方法
US20050268021A1 (en) Method and system for operating a cache memory
JP2006285727A (ja) キャッシュメモリ装置
CN113094302B (zh) 内存管理方法及存储控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120502