CN116010310A - 一种sdr-sdram控制器及其控制方法 - Google Patents
一种sdr-sdram控制器及其控制方法 Download PDFInfo
- Publication number
- CN116010310A CN116010310A CN202310275967.XA CN202310275967A CN116010310A CN 116010310 A CN116010310 A CN 116010310A CN 202310275967 A CN202310275967 A CN 202310275967A CN 116010310 A CN116010310 A CN 116010310A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- length
- register
- module
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及一种SDR‑SDRAM控制器及其控制方法。该方法通过增设长度可配置数据缓存,用户能够根据需求配置缓存数据块的大小与一次SDRAM突发请求的数据块大小相同,从而根据用户需求精确的控制一次SDRAM突发请求的数据块大小,隐藏后续读写数据的命令开销,提高数据的读写效率。再者,通过优先返回模块能够在一次SDRAM突发请求数据返回时,无需等待整个突发请求全部完成,在请求的数据返回后,马上返回给总线接口模块,从而显著减少了总线接口模块的等待时间。再者,用户通过预取控制寄存器对数据预取请求的起始地址跨度进行配置,提高了数据预取请求的灵活性,从而让用户能最大程度的利用程序和数据的局部性原理,减少程序和数据的读取延迟。
Description
技术领域
本申请涉及SDRAM控制领域,特别是涉及一种SDR-SDRAM控制器及其控制方法。
背景技术
未来一段相当长的时间内,随着工业控制、家电等领域自动化、智能化程度的提升,给越来越多的设备装上了显示控制屏,而作为屏显中重要的一环,存储屏显数据的SDR-SDRAM存储器,对其存储控制器SDRC(SDR-SDRAM Controller)的存储带宽指标提出了很高的要求。
SDRC是MCU的重要外设,主要用于控制CPU、DMA等主动设备经AHB总线发送过来的读写请求,转换为对片外SDR-SDRAM颗粒的读写请求,将读出数据返回给CPU、图片编解码模块等使用。SDRC的设计影响着CPU的执行速度和屏幕显示的流畅度。现有的SDRC设计速度慢、效率低,已经不能满足屏幕显示数据的大带宽、低延迟需求。
发明内容
基于此,有必要针对上述现有的SDRAM控制器速度慢、效率低以及不能满足屏幕显示数据的大带宽、低延迟需求的问题,提供一种SDR-SDRAM控制器及其控制方法。
第一方面,本申请提供一种SDR-SDRAM控制器,包括:
总线接口模块,所述总线接口模块用于接收数据读写请求信息并进行判断确定数据读写主体;
配置寄存器模块,所述配置寄存器模块与所述总线接口模块连接,所述配置寄存器模块接收所述数据读写请求信息并对所述SDR-SDRAM控制器的工作参数进行设定;
数据缓存处理模块,所述数据缓存处理模块与所述总线接口模块和所述配置寄存器模块连接,所述数据缓存处理模块包括长度可配置数据缓存、自适应预取缓存、优先返回模块和命中判断模块;
命令转换与控制模块,所述数据缓存处理模块与所述数据缓存处理模块连接,所述命令转换与控制模块用于将缺失或预取突发请求转换为标准的SDRAM颗粒命令。
在其中一个实施例中,所述优先返回模块分别与所述长度可配置数据缓存和所述自适应预取缓存连接;所述命中判断模块分别与所述长度可配置数据缓存和所述自适应预取缓存连接。
在其中一个实施例中,所述数据缓存处理模块还包括预取控制模块,所述预取控制模块与所述自适应预取缓存模块连接。
在其中一个实施例中,所述长度可配置数据缓存与所述自适应预取缓存容量大小相同。
在其中一个实施例中,所述配置寄存器模块包括控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器和预取控制寄存器;
所述控制寄存器包括自我刷新配置、掉电配置、掉电是否执行刷新配置、突发长度配置、读数据延迟配置、SDRAM颗粒Bank数配置、SDRAM页大小配置;
所述刷新速率寄存器用于定义连接的SDRAM设备的刷新速率;
所述时序寄存器用于定义各个命令间的时序参数;
所述缓存长度配置寄存器用于定义数据缓存的长度;
所述预取控制寄存器用于根据所述缓存长度配置寄存器定义的缓存长度,自适应的改变预取缓存的长度,所述预取控制寄存器还包括预取地址跨度配置。
第二方面,一种SDR-SDRAM控制器的控制方法,包括以下步骤:
S1、控制器初始化;
S2、总线接口模块根据从用户侧接收的数据读写请求信息的高位地址确定数据读写主体;所述数据读写主体包括配置寄存器模块和数据缓存处理模块;
S3、总线接口模块对从用户侧接收的数据读写请求信息进行转换得到第一数据读写请求,并发送至数据读写主体;所述第一数据读写请求至少包括请求地址;
S4、数据读写主体的各个模块与第一数据读写请求中的请求地址进行命中判断确定命中对象;
若数据读写主体为配置寄存器模块,数据读写命中对象包括控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器或预取控制寄存器;
若数据读写主体为数据缓存处理模块,数据读写命中对象包括长度可配置数据缓存、自适应预取缓存或SDRAM颗粒;
S5、对读写命中对象进行读写操作
若数据读写主体为数据缓存处理模块且长度可配置数据缓存或自适应预取缓存命中时,则根据预取控制模块的设定配置执行数据读写操作或执行数据读写和数据预取操作;
若数据读写主体为数据缓存处理模块且长度可配置数据缓存和自适应预取缓存均不命中时,第一数据读写请求发送至SDRAM颗粒,并按照优先级顺序执行数据读操作并返回数据;
若数据读写主体为配置寄存器模块且控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器或预取控制寄存器命中时,调整命中对象的工作参数设定。
在其中一个实施例中,所述控制器初始化的具体步骤包括:
控制寄存器工作参数设定;所述控制寄存器工作参数包括自我刷新配置、掉电配置、掉电是否执行刷新配置、突发长度配置、读数据延迟配置、SDRAM颗粒Bank数配置、SDRAM页大小配置;
刷新速率寄存器工作参数设定;所述刷新速率寄存器工作参数包括SDRAM设备的刷新速率;
时序寄存器工作参数设定;所述刷新速率寄存器工作参数包括各个命令间的时序;
缓存长度配置寄存器工作参数设定;所述缓存长度配置寄存器工作参数包括数据缓存的长度;
预取控制寄存器工作参数设定;所述预取控制寄存器工作参数包括预取地址跨度配置。
在其中一个实施例中,所述数据读写主体为数据缓存处理模块且长度可配置数据缓存或自适应预取缓存命中时,则根据预取控制模块的设定配置执行数据读写操作或执行数据读写和数据预取操作的具体步骤包括:
若长度可配置数据缓存为命中对象且预取控制模块被触发,长度可配置数据缓存直接返回数据至总线接口模块,同时进行预取数据操作;
若长度可配置数据缓存为命中对象且预取控制模块未被触发,长度可配置数据缓存直接返回数据至总线接口模块;
若自适应预取缓存为命中对象且预取控制模块被触发,将自适应预取缓存的数据去替换长度可配置数据缓存的数据并从长度可配置数据缓存直接返回至总线接口模块,同时触发预取数据操作;
若自适应预取缓存为命中对象且预取控制模块未被触发,将自适应预取缓存的数据去替换长度可配置数据缓存的数据并从长度可配置数据缓存直接返回至总线接口模块。
在其中一个实施例中,所述数据读写主体为数据缓存处理模块且长度可配置数据缓存和自适应预取缓存均不命中时,第一数据读写请求发送至SDRAM颗粒,并按照优先级顺序执行数据读操作并返回数据的具体步骤包括:
SDRAM颗粒接收第一数据读写请求,根据缓存长度配置寄存器设定的数据缓存长度,取出与设定数据缓存长度等长的数据并存入长度可配置缓存中;在从SDRAM颗粒读取数据的过程时,通过优先返回控制模块控制总线接口模块请求的数据优先存入长度可配置数据缓存并返回至总线接口模块。
在其中一个实施例中,所述预取数据操作的具体步骤包括:
预取控制模块发出与缓存长度配置寄存器设定的数据缓存长度等长的预取请求至SDRAM颗粒;
SDRAM颗粒取出与缓存长度配置寄存器设定的数据缓存长度等长的数据存入自适应预取缓存中。
根据上述实施例的SDR-SDRAM控制器和SDR-SDRAM控制器的控制方法能够通过总线接口模块接收用户的数据读写请求信息并进行数据读写主体判断,同时对数据读写请求信息进行转换得到第一数据读写请求并发送至数据读写主体与各个模块进行命中比较;若数据读写主体为配置寄存器模块,则对配置寄存器模块中的各个寄存器的工作参数进行设定,例如;设定突出长度配置、数据缓存长度、预取地址跨度配置等;若数据读写主体为数据缓存处理模块,利用命中判断模块确定数据读写命中对象,若数据读写命中对象为长度可配置数据缓存,直接返回数据;若数据读写命中对象为自适应预取缓存,将自适应预取缓存中的数据替换至长度可配置数据缓存并返回数据;同时,若预取控制模块被触发,无论数据读写命中对象是长度可配置数据缓存或自适应预取缓存均触发数据预取操作,均从SDRAM颗粒中取出与缓存长度配置寄存器设定的数据缓存长度等长的数据并存入自适应预取缓存;若数据读写主体是数据缓存处理模块且长度可配置数据缓存和自适应预取缓存均不命中,SDRAM颗粒为数据读写命中对象,从SDRAM颗粒取出与缓存长度配置寄存器设定的数据缓存长度等长的数据并存入长度可配置数据缓存,在从SDRAM颗粒取出数据时,通过优先返回模块控制总线接口模块请求的数据优先存入长度可配置数据缓存并返回至总线接口模块。
相对于传统技术方案相对,本发明通过增设长度可配置数据缓存,用户能够根据需求配置缓存数据块的大小与一次SDRAM突发请求的数据块大小相同,从而根据用户需求精确的控制一次SDRAM突发请求的数据块大小,隐藏后续读写数据的命令开销,提高数据的读写效率。再者,通过优先返回模块能够在一次SDRAM突发请求数据返回时,无需等待整个突发请求全部完成,在请求的数据返回后,马上返回给总线接口模块,从而显著减少了总线接口模块的等待时间。再者,用户通过预取控制寄存器对数据预取请求的起始地址跨度进行配置,提高了数据预取请求的灵活性,从而让用户能最大程度的利用程序和数据的局部性原理,减少程序和数据的读取延迟。
附图说明
图1为本申请实施例中一种SDR-SDRAM控制器的组成框图。
图2为本申请实施例中一种SDR-SDRAM控制器的控制方法的流程示意图。
实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例
如图1所示,本实施例提供的一种SDR-SDRAM控制器,其特征在于,包括:
总线接口模块1,总线接口模块1用于接收数据读写请求信息并进行判断确定数据读写主体;
配置寄存器模块2,配置寄存器模块2与总线接口模块1连接,配置寄存器模块2接收数据读写请求信息并对SDR-SDRAM控制器的工作参数进行设定;
数据缓存处理模块3,数据缓存处理模块与总线接口模块1和配置寄存器模块2连接,数据缓存处理模块3包括长度可配置数据缓存31、自适应预取缓存32、优先返回模块33和命中判断模块34;
命令转换与控制模块4,命令转换与控制模块4与数据缓存处理模块3连接,命令转换与控制模块4用于将缺失或预取突发请求转换为标准的SDRAM颗粒命令。
除上述实施例的特征以外,本实施例进一步限定了:优先返回模块33分别与长度可配置数据缓存31和自适应预取缓存32连接;命中判断模块34分别与长度可配置数据缓存31和自适应预取缓存32连接。
其中,优先返回模块33提供一种数据优先返回策略,当数据读取命中对象为SDRAM颗粒,从SDRAM颗粒取出与缓存长度配置寄存器设定的数据缓存长度等长的数据时,无需等待非第一数据读写请求对应的其它数据全部存入长度可配置数据缓存31,优先把第一数据读写请求对应的数据存入长度可配置数据缓存31并返回总线接口模块1;显著减少了总线接口模块的等待时间,提高数据读写效率。
除上述实施例的特征以外,本实施例进一步限定了:数据缓存处理模块3还包括预取控制模块35,预取控制模块35与自适应预取缓存32连接。
其中,预取控制模块35的触发条件为:程序员根据程序的行为来配置是否需要触发预取控制模块35。例如根据程序块的大小,程序块中跳转指令的步长等指标。
除上述实施例的特征以外,本实施例进一步限定了:长度可配置数据缓存31与自适应预取缓存32容量大小相同。
优选地,针对存储显示控制屏数据的SDR-SDRAM存储器,本申请中的长度可配置数据缓存31与自适应预取缓存32容量大小均为16个字节。
除上述实施例的特征以外,本实施例进一步限定了:配置寄存器模块2包括控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器和预取控制寄存器;
控制寄存器包括自我刷新配置、掉电配置、掉电是否执行刷新配置、突发长度配置、读数据延迟配置、SDRAM颗粒Bank数配置、SDRAM页大小配置;
刷新速率寄存器用于定义连接的SDRAM设备的刷新速率;
时序寄存器用于定义各个命令间的时序参数;
缓存长度配置寄存器用于定义数据缓存的长度;
预取控制寄存器用于根据缓存长度配置寄存器定义的缓存长度,自适应的改变预取缓存的长度,预取控制寄存器还用于预取地址跨度配置。
实施例
如图2所示,本实施例还提供了一种SDR-SDRAM控制器的控制方法,包括以下步骤:
S1、控制器初始化;
S2、总线接口模块1根据从用户侧接收的数据读写请求信息的高位地址确定数据读写主体;数据读写主体包括配置寄存器模块2和数据缓存处理模块3;
S3、总线接口模块1对从用户侧接收的数据读写请求信息进行转换得到第一数据读写请求,并发送至数据读写主体;第一数据读写请求至少包括请求地址;
S4、数据读写主体的各个模块与第一数据读写请求中的请求地址进行命中判断确定命中对象;
具体地,数据读写主体各个模块中地址高位与第一数据读写请求中请求地址的地址高位进行命中比较。
若数据读写主体为配置寄存器模块2,数据读写命中对象包括控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器或预取控制寄存器;
若数据读写主体为数据缓存处理模块3,数据读写命中对象包括长度可配置数据缓存31、自适应预取缓存32或SDRAM颗粒;
S5、对读写命中对象进行读写操作;
若数据读写主体为数据缓存处理模块3且长度可配置数据缓存31或自适应预取缓存32命中时,则根据预取控制模块35的设定配置执行数据读写操作或执行数据读写和数据预取操作;
若数据读写主体为数据缓存处理模块3且长度可配置数据缓存31和自适应预取缓存32均不命中时,第一数据读写请求发送至SDRAM颗粒,并按照优先级顺序执行数据读操作并返回数据;
若数据读写主体为配置寄存器模块2且控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器或预取控制寄存器命中时,调整命中对象的工作参数设定。
除上述实施例的特征以外,本实施例进一步限定了:控制器初始化具体步骤包括:
控制寄存器工作参数设定;控制寄存器工作参数包括自我刷新配置、掉电配置、掉电是否执行刷新配置、突发长度配置、读数据延迟配置、SDRAM颗粒Bank数配置、SDRAM页大小配置;
刷新速率寄存器工作参数设定;刷新速率寄存器22工作参数包括SDRAM设备的刷新速率;
时序寄存器工作参数设定;刷新速率寄存器23工作参数包括各个命令间的时序;
缓存长度配置寄存器工作参数设定;缓存长度配置寄存器工作参数包括数据缓存的长度;
预取控制寄存器工作参数设定;预取控制寄存器工作参数包括预取地址跨度配置。
除上述实施例的特征以外,本实施例进一步限定了:数据读写主体为数据缓存处理模块3且长度可配置数据缓存31或自适应预取缓存32命中时,则根据预取控制模块35的设定配置执行数据读写操作或执行数据读写和数据预取操作的具体步骤包括:
若长度可配置数据缓存31为命中对象且预取控制模块35被触发,长度可配置数据缓存31直接返回数据至总线接口模块1,同时进行预取数据操作;
若长度可配置数据缓存31为命中对象且预取控制模块35未被触发,长度可配置数据缓存31直接返回数据至总线接口模块1;
若自适应预取缓存32为命中对象且预取控制模块35被触发,将自适应预取缓存32的数据去替换长度可配置数据缓存31的数据并从长度可配置数据缓存31直接返回数据至总线接口模块1,同时触发预取数据操作;
若自适应预取缓存32为命中对象且预取控制模块35未被触发,将自适应预取缓存32的数据去替换长度可配置数据缓存31的数据并从长度可配置数据缓存31直接返回至总线接口模块1。
除上述实施例的特征以外,本实施例进一步限定了:数据读写主体为数据缓存处理模块3且长度可配置数据缓存31和自适应预取缓存32均不命中时,第一数据读写请求发送至SDRAM颗粒,并按照优先级顺序执行数据读操作并返回数据的具体步骤包括:
SDRAM颗粒接收第一数据读写请求,根据缓存长度配置寄存器设定的数据缓存长度,取出与设定数据缓存长度等长的数据并存入长度可配置缓存中;在从SDRAM颗粒读取数据的过程时,通过优先返回控制模块33控制总线接口模块1请求的数据优先存入长度可配置数据缓存31并返回至总线接口模块1。
除上述实施例的特征以外,本实施例进一步限定了:预取数据操作的具体步骤包括:
预取控制模块35发出与缓存长度配置寄存器设定的数据缓存长度等长的预取请求至SDRAM颗粒;
SDRAM颗粒取出与缓存长度配置寄存器设定的数据缓存长度等长的数据存入自适应预取缓存32中。
根据上述实施例的SDR-SDRAM控制器和SDR-SDRAM控制器的控制方法能够通过总线接口模块1接收用户的数据读写请求信息并进行数据读写主体判断,同时对数据读写请求信息进行转换得到第一数据读写请求并发送至数据读写主体与各个模块进行命中比较;若数据读写主体为配置寄存器模块2,则对配置寄存器模块2中的各个寄存器的工作参数进行设定,例如;设定突出长度配置、数据缓存长度、预取地址跨度配置等;若数据读写主体为数据缓存处理模块3,利用命中判断模块34确定数据读写命中对象,若数据读写命中对象为长度可配置数据缓存31,直接返回数据;若数据读写命中对象为自适应预取缓存32,将自适应预取缓存32中的数据替换至长度可配置数据缓31存并返回数据;同时,若预取控制模块35被触发,无论数据读写命中对象是长度可配置数据缓存31或自适应预取缓存32均触发数据预取操作,均从SDRAM颗粒中取出与缓存长度配置寄存器设定的数据缓存长度等长的数据并存入自适应预取缓存32;若数据读写主体是数据缓存处理模块3且长度可配置数据缓存31和自适应预取缓存32均不命中,SDRAM颗粒为数据读写命中对象,从SDRAM颗粒取出与缓存长度配置寄存器设定的数据缓存长度等长的数据并存入长度可配置数据缓存31,在从SDRAM颗粒取出数据时,通过优先返回模块33控制总线接口模块1请求的数据优先存入长度可配置数据缓存31并返回至总线接口模块1。
相对于传统技术方案相对,本发明通过增设长度可配置数据缓存,用户能够根据需求配置缓存数据块的大小与一次SDRAM突发请求的数据块大小相同,从而能够根据用户需求精确控制一次SDRAM突发请求的数据块大小,从而隐藏后续读写数据的命令开销,提高数据的读写效率。再者,通过优先返回模块33能够在一次SDRAM突发请求数据返回时,无需等待整个突发请求全部完成,在请求的数据返回后,马上返回给总线接口模块1,从而显著减少了总线接口模块1的等待时间。再者,用户可以通过预取控制寄存器对数据预取请求的起始地址跨度进行配置,从而提高了数据预取请求的灵活性,让用户能最大程度的利用程序和数据的局部性原理,减少程序和数据的读取延迟。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的每个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种SDR-SDRAM控制器,其特征在于,包括:
总线接口模块(1),所述总线接口模块(1)用于接收数据读写请求信息并进行判断确定数据读写主体;
配置寄存器模块(2),所述配置寄存器模块(2)与所述总线接口模块(1)连接,所述配置寄存器模块(2)接收所述数据读写请求信息并对所述SDR-SDRAM控制器的工作参数进行设定;
数据缓存处理模块(3),所述数据缓存处理模块(3)与所述总线接口模块(1)和所述配置寄存器模块(2)连接,所述数据缓存处理模块(3)包括长度可配置数据缓存(31)、自适应预取缓存(32)、优先返回模块(33)和命中判断模块(34);
所述数据读写主体包括所述配置寄存器模块(2)、所述数据缓存处理模块(3);
命令转换与控制模块(4),所述命令转换与控制模块(4)与所述数据缓存处理模块(3)连接,所述命令转换与控制模块(4)用于将缺失或预取突发请求转换为标准的SDRAM颗粒命令。
2.根据权利要求1所述的SDR-SDRAM控制器,其特征在于,所述优先返回模块(33)分别与所述长度可配置数据缓存(31)和所述自适应预取缓存(32)连接;所述命中判断模块(34)分别与所述长度可配置数据缓存(31)和所述自适应预取缓存(32)连接。
3.根据权利要求2所述的SDR-SDRAM控制器,其特征在于,所述数据缓存处理模块(3)还包括预取控制模块(35),所述预取控制模块(35)与所述自适应预取缓存(32)连接。
4.根据权利要求1所述的SDR-SDRAM控制器,其特征在于,所述长度可配置数据缓存(31)与所述自适应预取缓存(32)容量大小相同。
5.根据权利要求1所述的SDR-SDRAM控制器,其特征在于,所述配置寄存器模块(2)包括控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器和预取控制寄存器;
所述控制寄存器包括自我刷新配置、掉电配置、掉电是否执行刷新配置、突发长度配置、读数据延迟配置、SDRAM颗粒Bank数配置、SDRAM页大小配置;
所述刷新速率寄存器用于定义连接的SDRAM设备的刷新速率;
所述时序寄存器用于定义各个命令间的时序参数;
所述缓存长度配置寄存器用于定义数据缓存的长度;
所述预取控制寄存器用于根据所述缓存长度配置寄存器定义的缓存长度,自适应的改变预取缓存的长度,所述预取控制寄存器还包括预取地址跨度配置。
6.一种SDR-SDRAM控制器控制方法,应用于权利要求1-5任一所述的SDR-SDRAM控制器,其特征在于,包括如下步骤:
S1、控制器初始化;
S2、总线接口模块(1)根据从用户侧接收的数据读写请求信息的高位地址确定数据读写主体;所述数据读写主体包括配置寄存器模块(2)、数据缓存处理模块(3);
S3、总线接口模块(1)对从用户侧接收的数据读写请求信息进行转换得到第一数据读写请求,并发送至数据读写主体;所述第一数据读写请求至少包括请求地址;
S4、数据读写主体的各个模块与第一数据读写请求中的请求地址进行命中判断确定命中对象;
若数据读写主体为配置寄存器模块(2),数据读写命中对象为控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器、预取控制寄存器中的一个;
若数据读写主体为数据缓存处理模块(3),数据读写命中对象为长度可配置数据缓存(31)、自适应预取缓存(32)、SDRAM颗粒中的一个;
S5、对读写命中对象进行读写操作
若数据读写主体为数据缓存处理模块(3)且长度可配置数据缓存(31)或自适应预取缓存(32)命中时,则根据预取控制模块(35)的设定配置执行数据读写操作或执行数据读写和数据预取操作;
若数据读写主体为数据缓存处理模块(3)且长度可配置数据缓存(31)和自适应预取缓存(32)均不命中时,第一数据读写请求发送至SDRAM颗粒,并按照优先级顺序执行数据读操作并返回数据;
若数据读写主体为配置寄存器模块(2)且数据读写命中对象为控制寄存器、刷新速率寄存器、时序寄存器、缓存长度配置寄存器、预取控制寄存器中的一个时,调整命中对象的工作参数设定。
7.根据权利要求6所述的SDR-SDRAM控制器控制方法,其特征在于,所述控制器初始化的具体步骤如下:
控制寄存器工作参数设定;所述控制寄存器工作参数包括自我刷新配置、掉电配置、掉电是否执行刷新配置、突发长度配置、读数据延迟配置、SDRAM颗粒Bank数配置、SDRAM页大小配置;
刷新速率寄存器工作参数设定;所述刷新速率寄存器(22)工作参数包括SDRAM设备的刷新速率;
时序寄存器工作参数设定;所述刷新速率寄存器(23)工作参数包括各个命令间的时序;
缓存长度配置寄存器工作参数设定;所述缓存长度配置寄存器工作参数包括数据缓存的长度;
预取控制寄存器工作参数设定;所述预取控制寄存器工作参数包括预取地址跨度配置。
8.根据权利要求6所述的SDR-SDRAM控制器控制方法,其特征在于,所述数据读写主体为数据缓存处理模块(3)且长度可配置数据缓存(31)或自适应预取缓存(32)命中时,则根据预取控制模块(35)的设定配置执行数据读写操作或执行数据读写和数据预取操作的具体步骤包括:
若长度可配置数据缓存(31)为命中对象且预取控制模块(35)被触发,长度可配置数据缓存(31)直接返回数据至总线接口模块(1),同时进行预取数据操作;
若长度可配置数据缓存(31)为命中对象且预取控制模块(35)未被触发,长度可配置数据缓存(31)直接返回数据至总线接口模块(1);
若自适应预取缓存(32)为命中对象且预取控制模块(35)被触发,将自适应预取缓存(32)的数据替换长度可配置数据缓存(31)的数据并直接返回至总线接口模块(1),同时触发预取数据操作;
若自适应预取缓存(32)为命中对象且预取控制模块(35)未被触发,将自适应预取缓存(32)的数据替换长度可配置数据缓存(31)的数据并直接返回至总线接口模块(1)。
9.根据权利要求6所述的SDR-SDRAM控制器控制方法,其特征在于,所述数据读写主体为数据缓存处理模块(3)且长度可配置数据缓存(31)和自适应预取缓存(32)均不命中时,第一数据读写请求发送至SDRAM颗粒,并按照优先级顺序执行数据读操作并返回数据的具体步骤包括:
SDRAM颗粒接收第一数据读写请求,根据缓存长度配置寄存器设定的数据缓存长度,取出与设定数据缓存长度等长的数据并存入长度可配置缓存中;在从SDRAM颗粒读取数据的过程时,通过优先返回控制模块(33)控制总线接口模块(1)请求的数据优先存入长度可配置数据缓存(31)并返回至总线接口模块(1)。
10.根据权利要求8所述的SDR-SDRAM控制器控制方法,其特征在于,所述预取数据操作的具体步骤包括:
预取控制模块(35)发出与缓存长度配置寄存器设定的数据缓存长度等长的预取请求至SDRAM颗粒;
SDRAM颗粒取出与缓存长度配置寄存器设定的数据缓存长度等长的数据存入自适应预取缓存(32)中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310275967.XA CN116010310B (zh) | 2023-03-21 | 2023-03-21 | 一种sdr-sdram控制器及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310275967.XA CN116010310B (zh) | 2023-03-21 | 2023-03-21 | 一种sdr-sdram控制器及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116010310A true CN116010310A (zh) | 2023-04-25 |
CN116010310B CN116010310B (zh) | 2023-07-04 |
Family
ID=86033880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310275967.XA Active CN116010310B (zh) | 2023-03-21 | 2023-03-21 | 一种sdr-sdram控制器及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010310B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370611B1 (en) * | 2000-04-04 | 2002-04-09 | Compaq Computer Corporation | Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data |
US20050223175A1 (en) * | 2004-04-06 | 2005-10-06 | International Business Machines Corporation | Memory prefetch method and system |
CN1809817A (zh) * | 2003-06-20 | 2006-07-26 | 飞思卡尔半导体公司 | 用于动态预取缓冲器配置和替换的方法及设备 |
KR100737741B1 (ko) * | 2006-01-05 | 2007-07-10 | 주식회사 텔레칩스 | 다차원 데이터 선인출 캐쉬를 이용한 메모리 장치 및 그제어 방법 |
JP2012118772A (ja) * | 2010-12-01 | 2012-06-21 | Nec Corp | バス接続装置、バス接続方法及びバス接続プログラム |
CN106547483A (zh) * | 2016-10-18 | 2017-03-29 | 广东高云半导体科技股份有限公司 | 一种通用高效的sdr sdram控制器及其工作方法 |
US20180165214A1 (en) * | 2016-12-13 | 2018-06-14 | Advanced Micro Devices, Inc. | Dynamic cache bypassing |
US20180239710A1 (en) * | 2010-09-21 | 2018-08-23 | Texas Instruments Incorporated | Slot/sub-slot prefetch architecture for multiple memory requestors |
CN114625674A (zh) * | 2022-03-24 | 2022-06-14 | 广东华芯微特集成电路有限公司 | 预驱指令架构与预驱指令架构的预取方法 |
-
2023
- 2023-03-21 CN CN202310275967.XA patent/CN116010310B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370611B1 (en) * | 2000-04-04 | 2002-04-09 | Compaq Computer Corporation | Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data |
CN1809817A (zh) * | 2003-06-20 | 2006-07-26 | 飞思卡尔半导体公司 | 用于动态预取缓冲器配置和替换的方法及设备 |
US20050223175A1 (en) * | 2004-04-06 | 2005-10-06 | International Business Machines Corporation | Memory prefetch method and system |
KR100737741B1 (ko) * | 2006-01-05 | 2007-07-10 | 주식회사 텔레칩스 | 다차원 데이터 선인출 캐쉬를 이용한 메모리 장치 및 그제어 방법 |
US20180239710A1 (en) * | 2010-09-21 | 2018-08-23 | Texas Instruments Incorporated | Slot/sub-slot prefetch architecture for multiple memory requestors |
JP2012118772A (ja) * | 2010-12-01 | 2012-06-21 | Nec Corp | バス接続装置、バス接続方法及びバス接続プログラム |
CN106547483A (zh) * | 2016-10-18 | 2017-03-29 | 广东高云半导体科技股份有限公司 | 一种通用高效的sdr sdram控制器及其工作方法 |
US20180165214A1 (en) * | 2016-12-13 | 2018-06-14 | Advanced Micro Devices, Inc. | Dynamic cache bypassing |
CN114625674A (zh) * | 2022-03-24 | 2022-06-14 | 广东华芯微特集成电路有限公司 | 预驱指令架构与预驱指令架构的预取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116010310B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102381449B1 (ko) | 바이트 접근성을 갖는 플래시 기반 메모리 모듈 | |
US9280474B2 (en) | Adaptive data prefetching | |
TWI457753B (zh) | 記憶體控制器及用於管理記憶體存取之方法 | |
KR101456860B1 (ko) | 메모리 디바이스의 전력 소비를 감소시키기 위한 방법 및 시스템 | |
JP4813485B2 (ja) | バーストリードライト動作による処理装置 | |
US9146867B2 (en) | Methods and apparatus to access memory using runtime characteristics | |
US20130326113A1 (en) | Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory | |
US8347020B2 (en) | Memory access controller, systems, and methods for optimizing memory access times | |
US10621097B2 (en) | Application and processor guided memory prefetching | |
US8356143B1 (en) | Prefetch mechanism for bus master memory access | |
US7020762B2 (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
US11188256B2 (en) | Enhanced read-ahead capability for storage devices | |
US20050060533A1 (en) | Method, device, software and apparatus for adjusting a system parameter value, such as a page closing time | |
WO2016043885A1 (en) | Support for improved throughput in a memory device | |
KR20220037333A (ko) | 구역 네임스페이스 디바이스들에서의 판독 처리 | |
US5729713A (en) | Data processing with first level cache bypassing after a data transfer becomes excessively long | |
CN115357377A (zh) | 内存控制调度方法、装置、计算机设备及存储介质 | |
CN113467704B (zh) | 通过智能阈值检测的命令优化 | |
EP2590082B1 (en) | Cache memory apparatus, cache control method, and microprocessor system | |
US10176124B2 (en) | Scoreboard approach to managing idle page close timeout duration in memory | |
US20020042861A1 (en) | Apparatus and method for implementing a variable block size cache | |
CN116010310B (zh) | 一种sdr-sdram控制器及其控制方法 | |
CN111158753A (zh) | 具有数据预取功能的Flash控制器结构及其实现方法 | |
CN116149554B (zh) | 一种基于risc-v及其扩展指令的数据存储处理系统及其方法 | |
US8127100B1 (en) | Unlimited sub-segment support in a buffer manager |
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 |