CN106227676B - 一种高速缓存以及从高速缓存中读取数据的方法和装置 - Google Patents

一种高速缓存以及从高速缓存中读取数据的方法和装置 Download PDF

Info

Publication number
CN106227676B
CN106227676B CN201610843053.9A CN201610843053A CN106227676B CN 106227676 B CN106227676 B CN 106227676B CN 201610843053 A CN201610843053 A CN 201610843053A CN 106227676 B CN106227676 B CN 106227676B
Authority
CN
China
Prior art keywords
cache
cache line
data
read
storage space
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
CN201610843053.9A
Other languages
English (en)
Other versions
CN106227676A (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.)
Datang Microelectronics Technology Co Ltd
Datang Semiconductor Design Co Ltd
Original Assignee
Datang Microelectronics Technology Co Ltd
Datang Semiconductor Design 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 Datang Microelectronics Technology Co Ltd, Datang Semiconductor Design Co Ltd filed Critical Datang Microelectronics Technology Co Ltd
Priority to CN201610843053.9A priority Critical patent/CN106227676B/zh
Publication of CN106227676A publication Critical patent/CN106227676A/zh
Application granted granted Critical
Publication of CN106227676B publication Critical patent/CN106227676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0877Cache access modes
    • G06F12/0886Variable-length word access

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)

Abstract

本发明公开了高速缓存以及从高速缓存中读取数据的方法和装置,高速缓存包括多个高速缓存行以及位于各个高速缓存行末尾的扩展存储空间,位于上一高速缓存行末尾的扩展存储空间中存储有位于下一高速缓存行开头的预设长度的数据,所述方法包括:根据主存地址中的索引域的取值,确定对应的高速缓存行,读取与确定出的高速缓存行对应的标签信息;当读取到的标签信息与主存地址中的标签域的取值相等时,根据主存地址中的偏移域的取值,从确定出的高速缓存行,或者确定出的高速缓存行以及位于高速缓存行末尾的扩展存储空间中读取数据,并将读取到的数据返回给中央处理器。本发明避免了取指令错误,提高了Cache命中率。

Description

一种高速缓存以及从高速缓存中读取数据的方法和装置
技术领域
本发明涉及计算机存储技术,尤指一种高速缓存以及从高速缓存中读取数据的方法和装置。
背景技术
随着嵌入式系统的发展,嵌入式CPU的主频不断提高,经常达到几百MHz。而囿于工艺水平的局限,存储器的读出速度相对较慢。为解决慢速存储器不能匹配高速CPU的问题,许多高性能的嵌入式CPU内部集成了高速缓存(以下简称:Cache),利用程序访问的局部性原理,将程序中正在使用的部分存放在Cache中,使CPU的访存操作大多针对Cache进行,使程序的执行速度大大提高。
Cache中的最小缓存单位为高速缓存行(以下简称:Cache Line),CPU通过程序计数器(Program Counter,以下简称:PC)中的主存地址,从Cache Line中获取将要执行的下一条指令。当CPU执行的指令为定长指令时,PC的跳转是固定的,每条Cache Line中存放有整数个指令,如图1所示,每条指令的长度为32bits,PC的跳转长度为32bits。当CPU执行的指令为非定长指令时,由于指令长度的不确定,PC的跳转长度也就不确定,如图2所示,PC很有可能跳转到Cache Line的末尾,如果Cache Line中位于跳转位置之后的数据长度小于指令长度,会在程序执行过程中出现取指令错误的情况,使系统运行出现异常。
为解决上述问题,现有技术通过补位固定值(0或1)或复制扩展的方式,将所有指令的长度扩展成32bits,以避免出现取指令错误。然而,由于指令扩展,存储了大量无用的数据,会造成Cache存储空间的极大浪费,进而影响Cache效率。例如,某些通用CPU支持16bit/32bit混编指令,将所有16bit指令扩展成32bit后,在多数指令为16bit指令的情况下,会在Cache中存储大量无用扩展位,导致Cache命中率降低。
发明内容
为了解决上述技术问题,本发明提供了一种高速缓存以及从高速缓存中读取数据的方法和装置,能够提高Cache命中率。
为了达到本发明目的,本发明提供了一种从高速缓存中读取数据的方法,所述高速缓存包括多个高速缓存行以及位于各个高速缓存行末尾的扩展存储空间,位于上一高速缓存行末尾的扩展存储空间中存储有位于下一高速缓存行开头的预设长度的数据,所述方法包括:
根据主存地址中的索引域的取值,确定对应的高速缓存行,读取与确定出的高速缓存行对应的标签信息;
当读取到的标签信息与主存地址中的标签域的取值相等时,根据主存地址中的偏移域的取值,从确定出的高速缓存行,或者确定出的高速缓存行以及位于高速缓存行末尾的扩展存储空间中读取数据,并将读取到的数据返回给中央处理器。
本发明还提供了一种从高速缓存中读取数据的装置,包括:
读取模块,用于根据主存地址中的索引域的取值,从高速缓存中确定对应的高速缓存行,读取与确定出的高速缓存行对应的标签信息,所述高速缓存包括多个高速缓存行以及位于各个高速缓存行末尾的扩展存储空间,位于上一高速缓存行末尾的扩展存储空间中存储有位于下一高速缓存行开头的预设长度的数据;
处理模块,用于在读取到的标签信息与主存地址中的标签域的取值相等时,根据主存地址中的偏移域的取值,从确定出的高速缓存行,或者确定出的高速缓存行以及位于高速缓存行末尾的扩展存储空间中读取数据,并将读取到的数据返回给中央处理器。
本发明还提供了一种高速缓存,包括多个高速缓存行以及位于各个高速缓存行末尾的扩展存储空间,位于上一高速缓存行末尾的扩展存储空间中存储有位于下一高速缓存行开头的预设长度的数据。
与现有技术相比,本发明通过位于Cache Line末尾的扩展存储空间保存数据,避免了由于数据缺失而导致取指令错误的情况,在处理非定长指令时确保了系统正常运行,且同时兼容了定长指令和非定长指令,与现有技术中的将所有指令的长度扩展成32bits的方式相比,减少了对Cache空间的浪费,提高了Cache命中率。
进一步地,由于Cache通过标准AHB接口分别与CPU和主存储器连接,提高了Cache的可移植性以及Cache对不同CPU和主存储器的适用性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为现有技术在取定长指令时的PC跳转示意图;
图2为现有技术在取非定长指令时的PC跳转示意图;
图3为本发明实施例中的CacheLine的结构示意图;
图4为本发明实施例中的一种从高速缓存中读取数据的方法流程图;
图5为本发明实施例中的Cache的结构示意图;
图6为本发明实施例中的Cache与CPU和主存储器连接关系示意图;
图7为本发明实施例中的Cache的状态机示意图;
图8为本发明实施例中的命中Cache时的电路时序波形;
图9为本发明实施例中的未命中Cache时的电路时序波形;
图10为本发明实施例中的一种从高速缓存中读取数据的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例中的Cache包括多个Cache Line以及位于各个Cache Line末尾的扩展存储空间,位于上一Cache Line末尾的扩展存储空间中存储有位于下一Cache Line开头的预设长度的数据。
其中,预设长度为CPU支持的最大指令长度减1字节得到的结果,如图3所示,每条Cache Line的长度为128bits(地址:xx_xx00~xx_xx0f),并在每条Cache Line的末尾增加3bytes的扩展存储空间(图3的阴影部分),用于存放下一条Cache Line(地址:xx_xx10~xx_xx1f)的前3bytes数据。如果指令长度是固定的8/16/32bits,每条Cache Line可以存储确定的16/8/4条指令,不会发生边界问题。如果指令长度在8/16/32bits之间变化,虽然每条Cache Line存放的指令是不确定的,但通过Cache Line末尾的扩展存储空间,能够确保取指令的完整性,不会出现指令的缺失。
基于上述Cache的结构,本发明提出一种从高速缓存中读取数据的方法,如图4所示,包括:
步骤401,根据主存地址中的Index域的取值,确定对应的Cache Line,读取与确定出的Cache Line对应的标签信息。
其中,主存地址保存在PC中,可以划分为Tag(标签)域、Index(索引)域和Offset(偏移)域,如图5所示。Tag域位于主存地址的高位,用于判断是否命中Cache,Index域用于确定主存地址所对应的Cache Line,Index域的位数取决于Cache Line的个数及组数,Offset域用于确定在Cache Line内的字节偏移,Offset域的位数取决于Cache Line的大小。与各个Cache Line对应的标签信息均存储在Cache的Tag存储器中,如图5所示。
步骤402,当读取到的标签信息与主存地址中的Tag域的取值相等时,根据主存地址中的Offset域的取值,从确定出的Cache Line,或者确定出的Cache Line以及位于CacheLine末尾的扩展存储空间中读取数据,并将读取到的数据返回给CPU。
具体地,当读取到的标签信息与主存地址中的Tag域的取值相等时,确定命中Cache,并根据主存地址中的Offset域的取值,在命中的Cache Line中确定所要读取的数据的首地址,进而根据该首地址,从命中的Cache Line中读取相应的数据。需要说明的是,当命中的Cache Line中位于上述首地址之后的数据小于所要读取的数据长度时,可以继续从位于该Cache Line末尾的扩展存储空间中读取数据。
可选地,当读取到的标签信息与主存地址中的Tag域的取值不相等时,根据主存地址从主存储器(例如,flash存储器)中读取相应的数据,将读取到的数据存储到步骤402确定出的Cache Line中,更新与确定出的Cache Line对应的标签信息,从与确定出的CacheLine相邻的下一Cache Line中读取位于开头的预设长度的数据,并将读取到的数据写入到位于确定出的Cache Line末尾的扩展存储空间中,进而根据主存地址的中的Offset域的取值,从确定出的Cache Line,或者确定出的Cache Line以及位于确定出的Cache Line末尾的扩展存储空间中读取数据,并将读取到的数据返回给CPU。其中,Cache通过标准高级高性能总线(AHB,Advanced High-performance Bus)接口分别与CPU和主存储器连接,如图6所示。
本实施例中,Cache的状态机可以分为3个状态:初始状态(IDLE态)、未命中状态(MISS态)和未命中结束状态(MISS_ACK态),如图7所示。其中,Cache开始工作时,处于IDLE态;当CPU通过主存地址命中Cache时,CPU从Cache中取出相应的数据指令,Cache的状态机仍然保持在IDLE态;当CPU通过主存地址未命中Cache时,即CPU所需的数据不在Cache中时,Cache的状态机从IDLE态进入MISS态。MISS态包含多个子状态,根据Cache Line的大小以及主存储器位宽的不同,Cache在MISS态加载数据的次数不同,每次加载对应一个子状态。当CPU通过主存地址未命中Cache时,先从主存储器中加载数据到Cache Line,再次从下一Cache Line中读取位于开头的预设长度的数据(例如,24bits)填充到Cache Line末尾的扩展存储空间中,上述填充过程也对应MISS态的一个子状态。
本实施例中,命中Cache和未命中Cache时的电路时序波形,分别如图8和图9所示。CPU向Cache发送主存地址后,如果与主存地址对应的数据保存在Cache中,会在一个时钟周期内将上述数据发送给CPU。Cache包括Tag存储器和数据存储器,Tag存储器用于存储标签信息,数据存储器包括多条用于存储数据的Cache Line。Tag存储器可以是Tag RAM,数据存储器可以是数据存储RAM。相应地,图8所示的电路时序波形包括3个部分:上部为CPU与Cache之间的接口时序,中部为Tag存储器的接口时序,下部为数据存储器的接口时序。An为CPU发送给Cache的主存地址,ACn为主存地址中用于与标签信息进行比较的部分,TAn为Tag存储器的地址,TDn为Tag存储器的输出数据,CAn为数据存储器的地址,CDn为数据存储器的输出数据。
具体地,CPU向Cache发送主存地址A1后,将A1同时送往Tag存储器(TA1)和数据存储器(CA1),并在下一拍得到来自Tag存储器和数据存储器的数据,并根据来自Tag存储器的数据判断是否命中Cache,如果命中Cache,直接将来自数据存储器的数据放到总线,从而满足AHB总线时序要求。如果未命中Cache,则需要从主存储器中读取数据填充到Cache Line中,如图9所示,An为CPU发送给Cache的主存地址,ADn为地址An经过延迟处理后的地址,AFn为送往主存储器的地址,RDM为从主存储器读出的数据,TAn为Tag存储器的地址,TRDn为从Tag存储器读出的数据。例如,CPU向Cache发送主存地址A2后,未命中Cache时,将A2送往主存储器,根据Cache Line的大小从主存储器中取出相应长度的数据存入Cache Line中,从下一Cache Line中读取位于开头的预设长度的数据填充到Cache Line末尾的扩展存储空间中,并更新Tag存储器中对应的标签信息(TRD2→TRD2_NEW)。
本发明实施例通过位于Cache Line末尾的扩展存储空间保存数据,避免了由于数据缺失而导致取指令错误的情况,在处理非定长指令时确保了系统正常运行,且同时兼容定长指令和非定长指令,与现有技术中的将所有指令的长度扩展成32bits的方式相比,减少了对Cache空间的浪费,提高了Cache命中率。
进一步地,由于Cache通过标准AHB接口分别与CPU和主存储器连接,提高了Cache的可移植性以及Cache对不同CPU和主存储器的适用性。
基于上述从高速缓存中读取数据的方法,本发明还提出一种从高速缓存中读取数据的装置,如图10所示,包括:
读取模块910,用于根据主存地址中的索引域的取值,从高速缓存中确定对应的高速缓存行,读取与确定出的高速缓存行对应的标签信息。
其中,高速缓存包括多个高速缓存行以及位于各个高速缓存行末尾的扩展存储空间,位于上一高速缓存行末尾的扩展存储空间中存储有位于下一高速缓存行开头的预设长度的数据。
本实施例中,预设长度为中央处理器支持的最大指令长度减1字节得到的结果,高速缓存通过标准AHB接口分别与中央处理器和主存储器连接。
处理模块920,用于在读取到的标签信息与主存地址中的标签域的取值相等时,根据主存地址中的偏移域的取值,从确定出的高速缓存行,或者确定出的高速缓存行以及位于高速缓存行末尾的扩展存储空间中读取数据,并将读取到的数据返回给中央处理器。
进一步地,上述处理模块920,还用于在读取到的标签信息与主存地址中的标签域的取值不相等时,根据主存地址从主存储器中读取相应的数据,将读取到的数据存储到确定出的高速缓存行中,更新与确定出的高速缓存行对应的标签信息,从与确定出的高速缓存行相邻的下一高速缓存行中读取位于开头的预设长度的数据,并将读取到的数据写入到位于确定出的高速缓存行末尾的扩展存储空间中。
本发明实施例中的处理模块920从位于Cache Line末尾的扩展存储空间中读取数据,避免了由于数据缺失而导致取指令错误的情况,在处理非定长指令时确保了系统正常运行,且同时兼容了定长指令和非定长指令,与现有技术中的将所有指令的长度扩展成32bits的方式相比,减少了对Cache空间的浪费,提高了Cache命中率。
进一步地,由于Cache通过标准AHB接口分别与CPU和主存储器连接,提高了Cache的可移植性以及Cache对不同CPU和主存储器的适用性。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (8)

1.一种从高速缓存中读取数据的方法,其特征在于,所述高速缓存包括多个高速缓存行以及位于各个高速缓存行末尾的扩展存储空间,位于上一高速缓存行末尾的扩展存储空间中存储有位于下一高速缓存行开头的预设长度的数据,所述方法包括:
根据主存地址中的索引域的取值,确定对应的高速缓存行,读取与确定出的高速缓存行对应的标签信息;
当读取到的标签信息与主存地址中的标签域的取值相等时,根据主存地址中的偏移域的取值,从确定出的高速缓存行,或者确定出的高速缓存行以及位于高速缓存行末尾的扩展存储空间中读取数据,并将读取到的数据返回给中央处理器;
其中,所述预设长度为中央处理器支持的最大指令长度减1字节得到的结果。
2.根据权利要求1所述的方法,其特征在于,所述读取与确定出的高速缓存行对应的标签信息之后,还包括:
当读取到的标签信息与主存地址中的标签域的取值不相等时,根据主存地址从主存储器中读取相应的数据,将读取到的数据存储到所述确定出的高速缓存行中,更新与所述确定出的高速缓存行对应的标签信息,从与所述确定出的高速缓存行相邻的下一高速缓存行中读取位于开头的预设长度的数据,并将读取到的数据写入到位于确定出的高速缓存行末尾的扩展存储空间中。
3.根据权利要求1或2所述的方法,其特征在于,所述高速缓存通过标准高级高性能总线AHB接口分别与中央处理器和主存储器连接。
4.一种从高速缓存中读取数据的装置,其特征在于,包括:
读取模块,用于根据主存地址中的索引域的取值,从高速缓存中确定对应的高速缓存行,读取与确定出的高速缓存行对应的标签信息,所述高速缓存包括多个高速缓存行以及位于各个高速缓存行末尾的扩展存储空间,位于上一高速缓存行末尾的扩展存储空间中存储有位于下一高速缓存行开头的预设长度的数据;
处理模块,用于在读取到的标签信息与主存地址中的标签域的取值相等时,根据主存地址中的偏移域的取值,从确定出的高速缓存行,或者确定出的高速缓存行以及位于高速缓存行末尾的扩展存储空间中读取数据,并将读取到的数据返回给中央处理器;
其中,所述预设长度为中央处理器支持的最大指令长度减1字节得到的结果。
5.根据权利要求4所述的装置,其特征在于,
所述处理模块,还用于在读取到的标签信息与主存地址中的标签域的取值不相等时,根据主存地址从主存储器中读取相应的数据,将读取到的数据存储到所述确定出的高速缓存行中,更新与所述确定出的高速缓存行对应的标签信息,从与所述确定出的高速缓存行相邻的下一高速缓存行中读取位于开头的预设长度的数据,并将读取到的数据写入到位于确定出的高速缓存行末尾的扩展存储空间中。
6.根据权利要求4或5所述的装置,其特征在于,所述高速缓存通过标准AHB接口分别与中央处理器和主存储器连接。
7.一种高速缓存,其特征在于,包括多个高速缓存行以及位于各个高速缓存行末尾的扩展存储空间,位于上一高速缓存行末尾的扩展存储空间中存储有位于下一高速缓存行开头的预设长度的数据;
其中,所述预设长度为中央处理器支持的最大指令长度减1字节得到的结果。
8.根据权利要求7所述的高速缓存,其特征在于,所述高速缓存通过标准AHB接口分别与中央处理器和主存储器连接。
CN201610843053.9A 2016-09-22 2016-09-22 一种高速缓存以及从高速缓存中读取数据的方法和装置 Active CN106227676B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610843053.9A CN106227676B (zh) 2016-09-22 2016-09-22 一种高速缓存以及从高速缓存中读取数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610843053.9A CN106227676B (zh) 2016-09-22 2016-09-22 一种高速缓存以及从高速缓存中读取数据的方法和装置

Publications (2)

Publication Number Publication Date
CN106227676A CN106227676A (zh) 2016-12-14
CN106227676B true CN106227676B (zh) 2019-04-19

Family

ID=58077233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610843053.9A Active CN106227676B (zh) 2016-09-22 2016-09-22 一种高速缓存以及从高速缓存中读取数据的方法和装置

Country Status (1)

Country Link
CN (1) CN106227676B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111602377B (zh) * 2017-12-27 2021-12-24 华为技术有限公司 高速缓存中资源调整方法、数据访问方法及装置
CN111124955B (zh) * 2018-10-31 2023-09-08 珠海格力电器股份有限公司 一种高速缓存控制方法及设备和计算机存储介质
CN110941570A (zh) * 2019-11-06 2020-03-31 天津大学 基于存储空间分离处理技术的提高高速缓存存储密度方法
CN113268384B (zh) * 2021-04-30 2022-05-13 瑞芯微电子股份有限公司 一种标记空间异常检测方法及存储介质
CN115794675B (zh) * 2023-01-19 2023-05-16 北京象帝先计算技术有限公司 写数据方法、装置、图形处理系统、电子组件及电子设备
CN116166606B (zh) * 2023-04-21 2023-07-14 无锡国芯微高新技术有限公司 基于共享紧耦合存储器的高速缓存控制架构

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542625A (zh) * 2003-01-14 2004-11-03 智权第一公司 有效更新分支目标地址快取的装置与方法
US7130966B2 (en) * 2001-06-28 2006-10-31 Intel Corporation Power reduction for processor front-end by caching decoded instructions
CN101930408A (zh) * 2009-06-23 2010-12-29 联发科技股份有限公司 高速缓存控制器、控制高速缓存控制器的方法以及计算机系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337272B2 (en) * 2006-05-01 2008-02-26 Qualcomm Incorporated Method and apparatus for caching variable length instructions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130966B2 (en) * 2001-06-28 2006-10-31 Intel Corporation Power reduction for processor front-end by caching decoded instructions
CN1542625A (zh) * 2003-01-14 2004-11-03 智权第一公司 有效更新分支目标地址快取的装置与方法
CN101930408A (zh) * 2009-06-23 2010-12-29 联发科技股份有限公司 高速缓存控制器、控制高速缓存控制器的方法以及计算机系统

Also Published As

Publication number Publication date
CN106227676A (zh) 2016-12-14

Similar Documents

Publication Publication Date Title
CN106227676B (zh) 一种高速缓存以及从高速缓存中读取数据的方法和装置
US7620748B1 (en) Hardware assisted non-volatile memory-to-input/output direct memory access (DMA) transfer
US9003164B2 (en) Providing hardware support for shared virtual memory between local and remote physical memory
US9286221B1 (en) Heterogeneous memory system
CN102841857B (zh) 缓存预测执行的处理器与装置及方法
JP7279889B2 (ja) メモリブロックリクレーム方法およびメモリブロックリクレーム装置
CN102236541A (zh) 预加载指令控制
US20210318961A1 (en) Mitigating pooled memory cache miss latency with cache miss faults and transaction aborts
US7222217B2 (en) Cache residency test instruction
US8832414B2 (en) Dynamically determining the profitability of direct fetching in a multicore architecture
CN109977037A (zh) 一种dma数据传输方法及系统
CN104615386B (zh) 一种核外高速缓存装置
CN104679681A (zh) Ahb总线访问片上sram的高速桥装置及其工作方法
US8966212B2 (en) Memory management method, computer system and computer readable medium
US9262325B1 (en) Heterogeneous memory system
JP2005524170A (ja) 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法
CN101944011B (zh) 运行程序的装置、芯片和方法
US20180107619A1 (en) Method for shared distributed memory management in multi-core solid state drive
CN104932876A (zh) 半导体装置及读取指令的控制方法
US8688944B2 (en) Memory sharing between embedded controller and central processing unit chipset
TW201426306A (zh) 具有相黏移除引擎之系統快取記憶體
CN103870204B (zh) 一种cache中数据写入和读取方法、cache控制器
CN106569961B (zh) 一种基于访存地址连续性的cache模块及其访存方法
CN103377141A (zh) 高速存储区的访问方法以及访问装置
US20140108741A1 (en) List-based prefetching

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200803

Address after: 2505 COFCO Plaza, No.2, nanmenwai street, Nankai District, Tianjin

Patentee after: Xin Xin finance leasing (Tianjin) Co.,Ltd.

Address before: 100094 No. 6 Yongjia North Road, Beijing, Haidian District

Co-patentee before: DATANG SEMICONDUCTOR DESIGN Co.,Ltd.

Patentee before: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211026

Address after: 100094 No. 6 Yongjia North Road, Beijing, Haidian District

Patentee after: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Patentee after: DATANG SEMICONDUCTOR DESIGN Co.,Ltd.

Address before: 300110 2505 COFCO Plaza, No. 2, nanmenwai street, Nankai District, Tianjin

Patentee before: Xin Xin finance leasing (Tianjin) Co.,Ltd.