CN111338984A - 一种Cache RAM与Retention RAM数据高速交换架构及其方法 - Google Patents

一种Cache RAM与Retention RAM数据高速交换架构及其方法 Download PDF

Info

Publication number
CN111338984A
CN111338984A CN202010117748.5A CN202010117748A CN111338984A CN 111338984 A CN111338984 A CN 111338984A CN 202010117748 A CN202010117748 A CN 202010117748A CN 111338984 A CN111338984 A CN 111338984A
Authority
CN
China
Prior art keywords
ram
data
cache
tag
retention
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.)
Granted
Application number
CN202010117748.5A
Other languages
English (en)
Other versions
CN111338984B (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 Semiconductor Technology Co ltd
Original Assignee
Datang Semiconductor 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 Datang Semiconductor Technology Co ltd filed Critical Datang Semiconductor Technology Co ltd
Priority to CN202010117748.5A priority Critical patent/CN111338984B/zh
Publication of CN111338984A publication Critical patent/CN111338984A/zh
Application granted granted Critical
Publication of CN111338984B publication Critical patent/CN111338984B/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种Cache RAM与Retention RAM数据高速交换架构及其方法,该架构包括:Cache模块包括Cache RAM,用于对数据进行缓存;Retention RAM,用于在系统休眠时,进行数据的缓存;数据交换控制器包括第一RAM端口和第二RAM端口;第一RAM端口与Cache RAM相连,用于实现数据交换控制器与CacheRAM之间的数据传输;第二RAM端口与Retention RAM相连,用于实现数据交换控制器与Retention RAM间的数据传输。该方法包括:数据从Cache RAM换出时:数据交换控制器发起对Cache RAM进行读操作,数据依次通过第一RAM端口和第二RAM端口输入Retention RAM中;数据换入Cache RAM时:数据交换控制器发起对Retention RAM进行读操作,数据依次通过第二RAM端口和第一RAM端口输入Cache RAM中。本发明显著提高了数据传输效率,提高了系统性能用户体验。

Description

一种Cache RAM与Retention RAM数据高速交换架构及其方法
技术领域
本发明涉及数据交换技术领域,更具体的说是涉及一种Cache RAM与RetentionRAM数据高速交换架构及其方法。
背景技术
随着物联网和嵌入式系统对低成本,大容量外部存储需求的扩大,通过增加专用的cache控制器对低速外部存储数据进行缓存逐渐成为一种主流的技术方案。根据数据/指令调用的空间局部性和时间局部性原则,通过Cache控制器可减少数据/指令频繁的调入调出,加快访问速度。然而在实际应用中,系统休眠时,Cache RAM中的数据会直接丢失。一种改进方案是,在系统休眠时通过AHB总线和Retention RAM进行换入换出。但是该方案占用了大量的系统带宽,影响了Cache模块与CPU的性能,并且增加了系统的上下电时间,降低了用户体验;
因此,如何提出一种能够提高数据交换的效率以及缩短上下电时间的数据高速交换架构及其方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种Cache RAM与Retention RAM数据高速交换架构及其方法,通过增加少量的硬件资源,提高Cache RAM与RetentionRAM的数据传输效率,缩短系统上下电时间,达到有效提高系统性能并提高用户体验的目的。
为了实现上述目的,本发明采用如下技术方案:
一种Cache RAM与Retention RAM数据高速交换架构,通过AHB总线与CPU或者DMA相连,且所述数据高速交换架构的输出端与外部存储器相连,包括:Cache模块、RetentionRAM和数据交换控制器;
所述Cache模块包括Cache RAM,所述Cache RAM,用于对数据进行缓存;
所述Retention RAM,用于在系统休眠时,进行数据的缓存;
所述数据交换控制器包括第一RAM端口和第二RAM端口;
所述第一RAM端口与所述Cache RAM相连,用于实现所述数据交换控制器与CacheRAM之间的数据传输;
所述第二RAM端口与所述Retention RAM相连,用于实现所述数据交换控制器与所述Retention RAM之间的数据传输。
优选的,所述Cache模块还包括TAG RAM、TAG RAM、Cache控制器存储控制器和第一寄存器文件;
所述Cache RAM与所述TAG RAM相连;
所述Cache控制器分别与所述TAG RAM和所述存储控制器相连,所述存储控制器还与所述外部存储器相连,所述第一寄存器文件与所述Cache控制器相连;
所述TAG RAM,用于作为Cache RAM的地址重映射的存储单元;
所述Cache控制器,用于对Cache RAM的访问控制;
所述存储控制器,用于控制所述外部存储与所述Cache RAM数据的交换;
所述第一寄存器文件,用于定义所述Cache控制器的编程接口。
优选的,所述数据交换控制器包括主控制状态机、数据搬运过滤判断模块、TAG缓存单元、Cache line行缓存单元、存储访问端口控制模块,AHB slave接口模块、第二寄存器文件和中断接口;
所述主控制状态机,用于控制数据搬运;
所述数据搬运过滤判断模块与所述主控制状态机相连,用于判断数据是否开始搬运;
所述TAG缓存单元分别与所述数据搬运过滤判断模块和所述存储访问端口控制模块相连,用于缓存TAG内容;
所述Cache line行缓存单元与所述存储访问端口控制模块相连,用于缓存所搬运的Cacheline数据;
所述存储访问端口控制模块还分别与所述主控制状态机、第一RAM端口和第二RAM端口相连,用于对各个端口进行控制;
所述AHB slave接口模块与所述AHB总线上的AHB Slave端口相连,用于与系统进行数据传输;
所述第二寄存器文件分别与所述主控制状态机和所述数据搬运过滤判断模块相连,用于存储寄存器配置命令;
所述中断接口与所述主控制状态机相连,用于通知所述CPU或DMA数据搬运的结束。
优选的,所述交换架构还包括Cache AHB总线接口模块和Retention RAM AHB总线接口模块;
所述Cache AHB总线接口模块连接所述AHB总线和所述Cache模块;
所述Retention RAM AHB总线接口模块连接所述AHB总线和所述Retention RAM;其中:
所述Cache AHB总线接口模块,用于提供AHB总线接口和RAM接口,实现所述AHB总线与所述Cache RAM之间数据的传输;
所述Retention RAM AHB总线接口模块,用于提供AHB总线接口和RAM接口,实现所述AHB总线与所述Retention RAM之间数据的传输。
一种Cache RAM与Retention RAM数据高速交换方法,其特征在于,包括以下内容:
数据从Cache RAM搬出时:数据交换控制器发起数据读操作,对所述Cache RAM进行读操作,数据通过第一RAM端口进入所述数据交换控制器内,并通过第二RAM端口输入所述Retention RAM中;
数据搬入所述Cache RAM时:所述数据交换控制器发起数据读操作,对所述Retention RAM进行读操作,数据通过所述第二RAM端口进入所述数据交换控制器内,并通过所述第一RAM端口输入所述Cache RAM中。
优选的,在进行数据的搬入和搬出前,对第一寄存器文件和第二寄存器文件进行配置;AHB slave接口模块接收配置命令,对第二寄存器文件进行配置;
其中,对寄存器文件进行配置的内容包括:搬运数据的方向、搬运数据的源起始地址、搬运数据的目标起始地址和搬运数据的范围偏移量。
优选的,数据从Cache RAM搬出时的具体步骤为:
S1.主控制状态机控制第一RAM端口从TAG RAM中读取TAG项,经过存储访问端口控制模块将读取到的TAG项缓存至TAG缓存单元;
S2.主控制状态机调用数据搬运过滤判断模块,根据当前TAG项判断是否开始搬运数据;
S3.通过第一RAM端口从所述Cache RAM中读取DAT标识对应的cacheline数据到Cache line行缓存单元中;
S4.将Cache line行缓存单元中的有效数据,通过第二RAM端口写入对应的Retention RAM中;
S5.当前搬运结束后,根据范围偏移量的设置,决定是否结束:不结束则继续读取下个TAG项,继续搬运数据;结束则回到IDLE状态,并通过中断接口告知系统数据搬运完成。
优选的,数据搬入所述Cache RAM时的具体步骤为:
S1.主控制状态机控制第二RAM端口从Retention RAM中读取TAG项,经过存储访问端口控制模块将读取到的TAG项缓存至TAG缓存单元;
S2.主控制状态机调用数据搬运过滤判断模块,根据当前TAG项判断是否开始搬运数据;
S3.通过第二RAM端口从Retention RAM中读取DAT标识对应的cacheline数据到Cache line行缓存单元中;
S4.将Cache line行缓存单元中的有效数据,通过第一RAM端口写入对应的CacheRAM中;
S5.当前搬运结束后,根据范围偏移量的设置,决定是否结束:不结束则继续读取下个TAG项,继续搬运数据;结束则回到IDLE状态,并通过中断接口告知系统数据搬运完成。
优选的,数据搬运过滤判断模块根据当前TAG项判断是否开始搬运数据的具体内容为:
(1)数据搬运过滤判断模块使用逻辑地址中的INDEX域索引TAG项,若当前TAG项为有效标志V,则进一步将当前TAG项与逻辑地址内的逻辑地址TAG域比较,一致则命中,否则未命中;若当前TAG不为有效标志V,则未命中;
(2)若命中,则将DAT标识所对应的Cache line数据进行搬运;
(3)若未命中,则跳过当前TAG项,进行下一TAG项判断。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种Cache RAM与Retention RAM数据高速交换架构及其方法,通过增加少量的硬件资源即数据交换控制器,显著提高了Cache RAM与Retention RAM的数据传输效率,并能有效缩短系统上下电时间,达到有效提高系统性能和提高用户体验的目的,且进一步降低了Cache模块的设计难度,增强了本发明的实用性;另外,本发明中还通过预设TAG RAM的各个标志位,决定是否对相应的Cache RAM内容进行搬运,如果该项有效(V),则将DATA项对应的Cache line数据进行搬运;如果该项无效,则跳过对应项,直接对下一项进行判断。这一设计减少了搬运次数,加速了数据交换过程,节约了带宽和功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的一种Cache RAM与Retention RAM数据高速交换架构结构示意图;
图2附图为本发明提供的一种Cache RAM与Retention RAM数据高速交换架构中数据交换控制器的结构示意图;
图3附图为本发明提供的一种Cache RAM与Retention RAM数据高速交换方法中数据高速交换控制器主状态机;
图4附图为传统的Cache RAM与Retention RAM数据交换架构。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图1所示,本实施例公开了一种Cache RAM与Retention RAM数据高速交换架构,通过AHB总线与CPU或者DMA相连,且数据高速交换架构的输出端与外部存储器相连,包括:Cache模块、Retention RAM和数据交换控制器;
Cache模块包括Cache RAM,Cache RAM,用于对数据进行缓存;
Retention RAM,用于在系统休眠时,进行数据的缓存;
数据交换控制器包括第一RAM端口和第二RAM端口;
第一RAM端口与Cache RAM相连,用于实现数据交换控制器与CacheRAM之间的数据传输;
第二RAM端口与Retention RAM相连,用于实现数据交换控制器与Retention RAM之间的数据传输。
为了进一步实施上述技术方案,Cache模块还包括TAG RAM、TAG RAM、Cache控制器存储控制器和第一寄存器文件;
Cache RAM与TAG RAM相连;
Cache控制器分别与TAG RAM和存储控制器相连,存储控制器还与外部存储器相连,第一寄存器文件与Cache控制器相连;
TAG RAM,用于作为Cache RAM的地址重映射的存储单元;
Cache控制器,用于对Cache RAM的访问控制;
存储控制器,用于控制外部存储与Cache RAM数据的交换;
第一寄存器文件,用于定义Cache控制器的编程接口。
为了进一步实施上述技术方案,如图2所示,数据交换控制器包括主控制状态机、数据搬运过滤判断模块、TAG缓存单元、Cache line行缓存单元、存储访问端口控制模块,AHB slave接口模块、第二寄存器文件和中断接口;
主控制状态机,用于控制数据搬运;
数据搬运过滤判断模块与主控制状态机相连,用于判断数据是否开始搬运;
TAG缓存单元分别与数据搬运过滤判断模块和存储访问端口控制模块相连,用于缓存TAG内容;
Cache line行缓存单元与存储访问端口控制模块相连,用于缓存所搬运的Cacheline数据;
存储访问端口控制模块还分别与主控制状态机、第一RAM端口和第二RAM端口相连,用于对各个端口进行控制;
AHB slave接口模块与AHB总线上的AHB Slave端口相连,用于与系统进行数据传输;
第二寄存器文件分别与主控制状态机和数据搬运过滤判断模块相连,用于存储寄存器配置命令;
中断接口与主控制状态机相连,用于通知CPU或DMA数据搬运的结束。
为了进一步实施上述技术方案,交换架构还包括Cache AHB总线接口模块和Retention RAM AHB总线接口模块;
Cache AHB总线接口模块连接AHB总线和Cache模块;
Retention RAM AHB总线接口模块连接AHB总线和Retention RAM;其中:
Cache AHB总线接口模块,用于提供AHB总线接口和RAM接口,实现AHB总线与CacheRAM之间数据的传输;
Retention RAM AHB总线接口模块,用于提供AHB总线接口和RAM接口,实现AHB总线与Retention RAM之间数据的传输。
需要说明的是:
第一寄存器文件和第二寄存器文件包括命令寄存器、地址寄存器、状态寄存器和模式寄存器。
实施例二:
在实施例一的基础上,本实施例公开了一种Cache RAM与Retention RAM数据高速交换方法,其特征在于,包括以下内容:
数据从Cache RAM搬出时:数据交换控制器发起数据读操作,对Cache RAM进行读操作,数据通过第一RAM端口进入数据交换控制器内,并通过第二RAM端口输入RetentionRAM中;
数据搬入Cache RAM时:数据交换控制器发起数据读操作,对Retention RAM进行读操作,数据通过第二RAM端口进入数据交换控制器内,并通过第一RAM端口输入Cache RAM中。
为了进一步实施上述技术方案,在进行数据的搬入和搬出前,对第一寄存器文件和第二寄存器文件进行配置;AHB slave接口模块接收配置命令,对第二寄存器文件进行配置;
其中,对寄存器文件进行配置的内容包括:搬运数据的方向、搬运数据的源起始地址、搬运数据的目标起始地址和搬运数据的范围偏移量。
为了进一步实施上述技术方案,如图3所示,数据从Cache RAM搬出时的具体步骤为:
S1.主控制状态机控制第一RAM端口从TAG RAM中读取TAG项,经过存储访问端口控制模块将读取到的TAG项缓存至TAG缓存单元;
S2.主控制状态机调用数据搬运过滤判断模块,根据当前TAG项判断是否开始搬运数据;
S3.通过第一RAM端口从Cache RAM中读取DAT标识对应的cache line数据到Cacheline行缓存单元中;
S4.将Cache line行缓存单元中的有效数据,通过第二RAM端口写入对应的Retention RAM中;
S5.当前搬运结束后,根据范围偏移量的设置,决定是否结束:不结束则继续读取下个TAG项,继续搬运数据;结束则回到IDLE状态,并通过中断接口告知系统数据搬运完成。
为了进一步实施上述技术方案,如图3所示,数据搬入Cache RAM时的具体步骤为:
S1.主控制状态机控制第二RAM端口从Retention RAM中读取TAG项,经过存储访问端口控制模块将读取到的TAG项缓存至TAG缓存单元;
S2.主控制状态机调用数据搬运过滤判断模块,根据当前TAG项判断是否开始搬运数据;
S3.通过第二RAM端口从Retention RAM中读取DAT标识对应的cache line数据到Cache line行缓存单元中;
S4.将Cache line行缓存单元中的有效数据,通过第一RAM端口写入对应的CacheRAM中;
S5.当前搬运结束后,根据范围偏移量的设置,决定是否结束:不结束则继续读取下个TAG项,继续搬运数据;结束则回到IDLE状态,并通过中断接口告知系统数据搬运完成。
为了进一步实施上述技术方案,数据搬运过滤判断模块根据当前TAG项判断是否开始搬运数据的具体内容为:
(1)数据搬运过滤判断模块使用逻辑地址中的INDEX域索引TAG项,若当前TAG项为有效标志V,则进一步将当前TAG项与逻辑地址内的逻辑地址TAG域比较,一致则命中,否则未命中;若当前TAG不为有效标志V,则未命中;
(2)若命中,则将DAT标识所对应的Cache line数据进行搬运;
(3)若未命中,则跳过当前TAG项,进行下一TAG项判断。
需要说明的是:
系统访问存储的逻辑地址被划分为三个部分:逻辑地址TAG域、INDEX域和OFFSET域,分别介绍如下:
逻辑地址TAG域:存储系统的高位地址信息,用作Cache重映射标识比对;
INDEX域:存储TAG RAM的标识索引信息,用来查找对应的TAG数据项;
OFFSET域:存储Cache RAM的cache line内部数据offset偏移,用来获取最终的数据。
Cache的TAG RAM中,存储有效标志V、比较标志TAG和物理地址数据DATA,其中:
有效标志V用来标记当前条目是否有效;
比较标志TAG用来和逻辑地址的TAG进行比对;
物理地址数据DATA用来存储实际存放cache line数据的物理基地址。
本发明的工作原理为:
系统睡眠时,快速将Cache RAM和TAG RAM的数据换出到Retention RAM中;
系统唤醒后,快速将Retention RAM中的数据,换入到Cache RAM和TAG RAM中。
下面将进一步对上述本发明进行说明:
如图4所示,在现有技术中Cache RAM与Retention RAM之间的数据传输的过程一般为:
1.CPU/DMA通过总线接口模块对寄存器文件进行配置命令,设置模式等操作;
2.CPU/DMA通过AHB bridge发起数据读操作,Cache数据读操作送至Cache总线接口模块,转换为Cache RAM接口访问;
3.存储控制器将数据读入Cache RAM进行缓存,Cache RAM接口数据包转换为AHB数据包格式,通过AHB总线写入Retention RAM总线接口;
4.CPU/DMA通过AHB bridge发起数据写操作,Cache数据写操作送至RetentionRAM的总线接口模块,转换为Cache RAM继续写入;
根据上述步骤可以看出,传统的Cache RAM与Retention RAM进行数据交互存在几个较大的问题:
数据交换率低:整个数据交换过程发生了Cache RAM数据包-AHB包-RetentionRAM数据包的多次转换,占用了大量的AHB总线带宽,效率较低。
系统上下电时间长:在系统休眠操作,Cache RAM中的数据丢失,为了解决这一问题在系统休眠时通过AHB总线和Retention RAM进行换入换出。但是该方案占用了大量的系统带宽,影响了Cache与CPU的性能,并且增加了系统的上下电时间,降低了用户体验;
复杂度高:Cache RAM与Retention RAM通过AHB总线进行数据交换,Cache模块的设计较为复杂。
相对于现有技术中的方案来说,本发明产生了以下优势:
数据交换的效率高:因数据交换控制器采用RAM端口与Cache RAM与RetentionRAM相连,整个数据交换过程只发生了Cache RAM数据包-Retention RAM数据包的转换,相比较Cache RAM数据包-AHB包-Retention RAM数据包的多次转换,本发明显著提高了数据交换的效率;
系统上下电时间短:系统进行休眠操作时,Cache RAM中的数据丢失,需将CacheRAM数据与Retention RAM进行交换,通过本发明,可缩短上下电时间,提高用户体验。
复杂度低:通过数据交换控制器,将Cache RAM、Retention RAM分别与其RAM端口相连,有效降低了Cache模块的设计难度。
更进一步地,常规的设计中,Cache RAM数据的换入换出需要对整体的数据全部逐项进行搬运。实际应用中,Cache RAM中存在大量的无效数据项,例如对应的条目未填入有效数据或者对应的数据项已经无效。在此情况下,对这些数据进行换入换出,浪费了带宽和功耗。
本发明通过预读TAG RAM的各个标志位,决定是否对相应的Cache RAM内容进行搬运。如果该项有效(V),则将DATA项对应的Cache line数据进行搬运;如果该项无效,则跳过对应项,直接对下一项进行判断。这一设计减少了搬运次数,加速了数据交换过程,节约了带宽和功耗。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种Cache RAM与Retention RAM数据高速交换架构,通过AHB总线与CPU或者DMA相连,且所述数据高速交换架构的输出端与外部存储器相连,其特征在于,包括:Cache模块、Retention RAM和数据交换控制器;
所述Cache模块包括Cache RAM,所述Cache RAM,用于对数据进行缓存;
所述Retention RAM,用于在系统休眠时,进行数据的缓存;
所述数据交换控制器包括第一RAM端口和第二RAM端口;
所述第一RAM端口与所述Cache RAM相连,用于实现所述数据交换控制器与CacheRAM之间的数据传输;
所述第二RAM端口与所述Retention RAM相连,用于实现所述数据交换控制器与所述Retention RAM之间的数据传输。
2.根据权利要求1所述的一种Cache RAM与Retention RAM数据高速交换架构,其特征在于,所述Cache模块还包括TAG RAM、TAG RAM、Cache控制器存储控制器和第一寄存器文件;
所述Cache RAM与所述TAG RAM相连;
所述Cache控制器分别与所述TAG RAM和所述存储控制器相连,所述存储控制器还与所述外部存储器相连,所述第一寄存器文件与所述Cache控制器相连;
所述TAG RAM,用于作为Cache RAM的地址重映射的存储单元;
所述Cache控制器,用于对Cache RAM的访问控制;
所述存储控制器,用于控制所述外部存储与所述Cache RAM数据的交换;
所述第一寄存器文件,用于定义所述Cache控制器的编程接口。
3.根据权利要求2所述的一种Cache RAM与Retention RAM数据高速交换架构,其特征在于,所述数据交换控制器包括主控制状态机、数据搬运过滤判断模块、TAG缓存单元、Cache line行缓存单元、存储访问端口控制模块,AHB slave接口模块、第二寄存器文件和中断接口;
所述主控制状态机,用于控制数据搬运;
所述数据搬运过滤判断模块与所述主控制状态机相连,用于判断数据是否开始搬运;
所述TAG缓存单元分别与所述数据搬运过滤判断模块和所述存储访问端口控制模块相连,用于缓存TAG内容;
所述Cache line行缓存单元与所述存储访问端口控制模块相连,用于缓存所搬运的Cacheline数据;
所述存储访问端口控制模块还分别与所述主控制状态机、第一RAM端口和第二RAM端口相连,用于对各个端口进行控制;
所述AHB slave接口模块与所述AHB总线上的AHB Slave端口相连,用于与系统进行数据传输;
所述第二寄存器文件分别与所述主控制状态机和所述数据搬运过滤判断模块相连,用于存储寄存器配置命令;
所述中断接口与所述主控制状态机相连,用于通知所述CPU或DMA数据搬运的结束。
4.根据权利要求1所述的一种Cache RAM与Retention RAM数据高速交换架构,其特征在于,还包括Cache AHB总线接口模块和Retention RAM AHB总线接口模块;
所述Cache AHB总线接口模块连接所述AHB总线和所述Cache模块;
所述Retention RAM AHB总线接口模块连接所述AHB总线和所述Retention RAM;其中:
所述Cache AHB总线接口模块,用于提供AHB总线接口和RAM接口,实现所述AHB总线与所述Cache RAM之间数据的传输;
所述Retention RAM AHB总线接口模块,用于提供AHB总线接口和RAM接口,实现所述AHB总线与所述Retention RAM之间数据的传输。
5.一种Cache RAM与Retention RAM数据高速交换方法,其特征在于,包括以下内容:
数据从Cache RAM搬出时:数据交换控制器发起数据读操作,对所述Cache RAM进行读操作,数据通过第一RAM端口进入所述数据交换控制器内,并通过第二RAM端口输入所述Retention RAM中;
数据搬入所述Cache RAM时:所述数据交换控制器发起数据读操作,对所述RetentionRAM进行读操作,数据通过所述第二RAM端口进入所述数据交换控制器内,并通过所述第一RAM端口输入所述Cache RAM中。
6.根据权利要求5所述的一种Cache RAM与Retention RAM数据高速交换方法,其特征在于,在进行数据的搬入和搬出前,对第一寄存器文件和第二寄存器文件进行配置;AHBslave接口模块接收配置命令,对第二寄存器文件进行配置;
其中,对寄存器文件进行配置的内容包括:搬运数据的方向、搬运数据的源起始地址、搬运数据的目标起始地址和搬运数据的范围偏移量。
7.根据权利要求5所述的一种Cache RAM与Retention RAM数据高速交换方法,其特征在于,数据从Cache RAM搬出时的具体步骤为:
S1.主控制状态机控制第一RAM端口从TAG RAM中读取TAG项,经过存储访问端口控制模块将读取到的TAG项缓存至TAG缓存单元;
S2.主控制状态机调用数据搬运过滤判断模块,根据当前TAG项判断是否开始搬运数据;
S3.通过第一RAM端口从所述Cache RAM中读取DAT标识对应的cache line数据到Cacheline行缓存单元中;
S4.将Cache line行缓存单元中的有效数据,通过第二RAM端口写入对应的RetentionRAM中;
S5.当前搬运结束后,根据范围偏移量的设置,决定是否结束:不结束则继续读取下个TAG项,继续搬运数据;结束则回到IDLE状态,并通过中断接口告知系统数据搬运完成。
8.根据权利要求5所述的一种Cache RAM与Retention RAM数据高速交换方法,其特征在于,数据搬入所述Cache RAM时的具体步骤为:
S1.主控制状态机控制第二RAM端口从Retention RAM中读取TAG项,经过存储访问端口控制模块将读取到的TAG项缓存至TAG缓存单元;
S2.主控制状态机调用数据搬运过滤判断模块,根据当前TAG项判断是否开始搬运数据;
S3.通过第二RAM端口从Retention RAM中读取DAT标识对应的cache line数据到Cacheline行缓存单元中;
S4.将Cache line行缓存单元中的有效数据,通过第一RAM端口写入对应的Cache RAM中;
S5.当前搬运结束后,根据范围偏移量的设置,决定是否结束:不结束则继续读取下个TAG项,继续搬运数据;结束则回到IDLE状态,并通过中断接口告知系统数据搬运完成。
9.根据权利要求4或5任意一项所述的一种Cache RAM与Retention RAM数据高速交换方法,其特征在于,数据搬运过滤判断模块根据当前TAG项判断是否开始搬运数据的具体内容为:
(1)数据搬运过滤判断模块使用逻辑地址中的INDEX域索引TAG项,若当前TAG项为有效标志V,则进一步将当前TAG项与逻辑地址内的逻辑地址TAG域比较,一致则命中,否则未命中;若当前TAG不为有效标志V,则未命中;
(2)若命中,则将DAT标识所对应的Cache line数据进行搬运;
(3)若未命中,则跳过当前TAG项,进行下一TAG项判断。
CN202010117748.5A 2020-02-25 2020-02-25 一种Cache RAM与Retention RAM数据高速交换架构及其方法 Active CN111338984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010117748.5A CN111338984B (zh) 2020-02-25 2020-02-25 一种Cache RAM与Retention RAM数据高速交换架构及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010117748.5A CN111338984B (zh) 2020-02-25 2020-02-25 一种Cache RAM与Retention RAM数据高速交换架构及其方法

Publications (2)

Publication Number Publication Date
CN111338984A true CN111338984A (zh) 2020-06-26
CN111338984B CN111338984B (zh) 2022-05-17

Family

ID=71183786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010117748.5A Active CN111338984B (zh) 2020-02-25 2020-02-25 一种Cache RAM与Retention RAM数据高速交换架构及其方法

Country Status (1)

Country Link
CN (1) CN111338984B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527697A (zh) * 2020-05-11 2021-03-19 大唐半导体科技有限公司 Cache RAM与Retention RAM数据交换控制器及实现方法
CN113268384A (zh) * 2021-04-30 2021-08-17 瑞芯微电子股份有限公司 一种标记空间异常检测方法及存储介质
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143710A1 (en) * 2002-12-02 2004-07-22 Walmsley Simon Robert Cache updating method and apparatus
CN1607509A (zh) * 2003-08-16 2005-04-20 三星电子株式会社 用于构成具有协处理器的无线终端的高速缓存存储器的装置和方法
US20060005053A1 (en) * 2004-06-30 2006-01-05 Jones Oscar F Jr Cache and tag power-down function during low-power data retention standby mode technique for cached integrated circuit memory devices
CN102110057A (zh) * 2009-12-25 2011-06-29 澜起半导体(上海)有限公司 存储器模组及存储器模组内的数据交换方法
CN102664902A (zh) * 2012-05-15 2012-09-12 南京华兴数控技术有限公司 Powerlink通讯协议主从站内核的硬件实现方法
CN103136141A (zh) * 2013-02-06 2013-06-05 浪潮电子信息产业股份有限公司 一种多控制器间的高速互联方法
CN103649911A (zh) * 2011-07-29 2014-03-19 马维尔国际贸易有限公司 处理器高速缓存与随机访问存储器之间的切换
US20150310902A1 (en) * 2014-04-23 2015-10-29 Texas Instruments Incorporated Static Power Reduction in Caches Using Deterministic Naps
CN106133700A (zh) * 2014-03-29 2016-11-16 英派尔科技开发有限公司 节能的动态dram缓存调整
US20170115712A1 (en) * 2009-09-24 2017-04-27 Iii Holdings 2, Llc Server on a Chip and Node Cards Comprising One or More of Same
CN108121672A (zh) * 2017-08-08 2018-06-05 鸿秦(北京)科技有限公司 一种基于NandFlash存储器多通道的存储阵列控制方法与装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143710A1 (en) * 2002-12-02 2004-07-22 Walmsley Simon Robert Cache updating method and apparatus
CN1607509A (zh) * 2003-08-16 2005-04-20 三星电子株式会社 用于构成具有协处理器的无线终端的高速缓存存储器的装置和方法
US20060005053A1 (en) * 2004-06-30 2006-01-05 Jones Oscar F Jr Cache and tag power-down function during low-power data retention standby mode technique for cached integrated circuit memory devices
US20170115712A1 (en) * 2009-09-24 2017-04-27 Iii Holdings 2, Llc Server on a Chip and Node Cards Comprising One or More of Same
CN102110057A (zh) * 2009-12-25 2011-06-29 澜起半导体(上海)有限公司 存储器模组及存储器模组内的数据交换方法
CN103649911A (zh) * 2011-07-29 2014-03-19 马维尔国际贸易有限公司 处理器高速缓存与随机访问存储器之间的切换
CN102664902A (zh) * 2012-05-15 2012-09-12 南京华兴数控技术有限公司 Powerlink通讯协议主从站内核的硬件实现方法
CN103136141A (zh) * 2013-02-06 2013-06-05 浪潮电子信息产业股份有限公司 一种多控制器间的高速互联方法
CN106133700A (zh) * 2014-03-29 2016-11-16 英派尔科技开发有限公司 节能的动态dram缓存调整
US20150310902A1 (en) * 2014-04-23 2015-10-29 Texas Instruments Incorporated Static Power Reduction in Caches Using Deterministic Naps
CN108121672A (zh) * 2017-08-08 2018-06-05 鸿秦(北京)科技有限公司 一种基于NandFlash存储器多通道的存储阵列控制方法与装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MIDHUN K DINESH .ETC: "Storage memory/NVM based executable memory interface IP for advanced IoT applications", 《2016 INTERNATIONAL CONFERENCE ON RECENT TRENDS IN INFORMATION TECHNOLOGY (ICRTIT)》 *
赵学梅等: "一种低功耗高性能的滑动Cache方案", 《计算机研究与发展》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527697A (zh) * 2020-05-11 2021-03-19 大唐半导体科技有限公司 Cache RAM与Retention RAM数据交换控制器及实现方法
CN113268384A (zh) * 2021-04-30 2021-08-17 瑞芯微电子股份有限公司 一种标记空间异常检测方法及存储介质
CN113268384B (zh) * 2021-04-30 2022-05-13 瑞芯微电子股份有限公司 一种标记空间异常检测方法及存储介质
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Also Published As

Publication number Publication date
CN111338984B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
CN111338984B (zh) 一种Cache RAM与Retention RAM数据高速交换架构及其方法
EP0755540B1 (en) Efficient addressing of large memories
US20080270707A1 (en) Data processor
EP1011049A2 (en) Cache system and cache processing method
KR100395756B1 (ko) 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
US20090055591A1 (en) Hierarchical cache memory system
EP1693760A1 (en) Organization of dirty bits for a write-back cache
WO2013113206A1 (zh) 智能缓存及智能终端
CN101504632B (zh) 一种dma数据传输方法、系统及一种dma控制器
US11354256B2 (en) Multi-core interconnection bus, inter-core communication method, and multi-core processor
JP4434534B2 (ja) プロセッサ・システム
WO2023216629A1 (zh) 异构计算中多进程管理方法及计算设备
CN112527697A (zh) Cache RAM与Retention RAM数据交换控制器及实现方法
CN100378687C (zh) 一种高速缓存预取模块及其方法
US7555610B2 (en) Cache memory and control method thereof
CN110059024B (zh) 一种内存空间数据缓存方法及装置
US6799247B1 (en) Remote memory processor architecture
CN111694777B (zh) 基于PCIe接口的DMA传输方法
JP2004240616A (ja) メモリコントローラ及びメモリアクセス制御方法
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
US20080243757A1 (en) Direct memory access controller with dynamic data transfer width adjustment, method thereof, and computer accessible storage media
CN116166606B (zh) 基于共享紧耦合存储器的高速缓存控制架构
US7136965B2 (en) Microcomputer
KR101008806B1 (ko) 데이터 처리 시스템 및 그 시스템을 형성하는 용기와, 휴대용 전화 및 액세스 분배 방법
KR100204004B1 (ko) 리드/라이트 데이터 포워딩 경로를 가진 캐쉬 데이터경로 회로

Legal Events

Date Code Title Description
PB01 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