CN109522252A - 一种用于高速总线通讯控制器的存储器访问方法 - Google Patents
一种用于高速总线通讯控制器的存储器访问方法 Download PDFInfo
- Publication number
- CN109522252A CN109522252A CN201811357475.0A CN201811357475A CN109522252A CN 109522252 A CN109522252 A CN 109522252A CN 201811357475 A CN201811357475 A CN 201811357475A CN 109522252 A CN109522252 A CN 109522252A
- Authority
- CN
- China
- Prior art keywords
- memory
- mark
- fifo
- interface module
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
Abstract
本发明属于高速总线通讯技术领域,具体涉及一种用于高速总线通讯控制器的存储器访问方法。存储器访问方法使用存储器接口控制模块,采用循环优先级方式对处理器接口模块和所述总线通讯控制器接口模块的读存储器或写存储器操作请求进行响应。利用本发明的存储器访问方法,没有固定时隙要求,可以充分利用存储器访问带宽,可以实时响应高速总线的通讯请求,降低通讯延迟;一次操作最大支持16M数据的读写,提高了存储器访问效率。
Description
技术领域
本发明属于高速总线通讯技术领域,具体涉及一种用于高速总线通讯控制器的存储器访问方法。
背景技术
随着高速总线通讯协议越来越多的得到应用,高速总线通讯控制器采用大容量存储器缓存通讯数据成为必然。大容量数据存储器一般采用DDR SDRAM实现。总线通讯控制器读取DDR中待发送的数据,按照通讯协议发送到总线上,总线通讯控制器从总线上接收的数据按照通讯协议解析后写入DDR中。处理器读取DDR中接收的数据、将要发送的数据写入DDR中。在高速总线通讯过程中,处理器与总线通讯控制器经常需要同时访问DDR,因而产生存储器访问竞争。
现在普遍流行的做法是采用内部总线的分时复用技术,处理器和总线通讯控制器按照固定时隙访问DDR。这种存储器访问方式,存在访问效率低和通讯延迟大的缺点。
发明内容
(一)要解决的技术问题
本发明提出一种用于高速总线通讯控制器的存储器访问方法,以解决高速通讯控制器与处理器同时访问存储器时面临的访问效率低、和通讯延迟大的技术问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种用于高速总线通讯控制器的存储器访问方法,该存储器访问方法使用的系统由处理器接口模块、总线通讯控制器接口模块、FIFO和存储器接口控制模块组成;其中,处理接口模块和总线通讯控制器接口模块根据需要向存储器接口控制模块发送读存储器或写存储器请求,存储器接口控制模块根据请求操作的类型,进行读存储器或写存储器的操作;该存储器访问方法包括如下步骤:
S1、处理器接口模块需要访问存储器时,向存储器接口控制模块发送信息描述字和描述字有效标志;
如果为写存储器操作,首先检测FIFO的半满标志,如果半满标志无效则写一包数据到FIFO,如果半满标志有效则等待,依此方式循环写入信息描述字规定长度的数据为止;
如果为读存储器操作,首先检测FIFO的半空标志,如果半空标志无效则从FIFO读取一包数据,如果半空标志有效则等待,依此方式循环读取信息描述字规定长度的数据,当剩余数据长度小于1包数据的长度时,检测读完成信号,如果读完成标志有效,读到FIFO空为止,如果读完成标志无效,则等待;
总线通讯控制器接口模块需要访问存储器时,与处理器接口模块操作方式相同;
S2、存储器接口控制模块采用循环优先级方式对处理器接口模块和总线通讯控制器接口模块的操作请求进行响应;
当检测到处理器接口模块或总线通讯控制器接口模块的信息描述字有效时,首先解析信息描述字,判断操作类型;
如果为写存储器操作,首先检测FIFO的半空标志,如果半空标志无效则从FIFO读取一包数据,并写入到存储器中;如果半空标志有效则等待,依此方式循环读取信息描述字规定长度的数据,并写入存储器中;在此操作过程中,如果信息描述字无效,存储器接口控制模块读空FIFO,并将数据写入存储器;
如果为读存储器操作,首先检测FIFO的半满标志,如果半满标志无效则从存储器中读取一包数据,并写入到FIFO中,如果半满标志有效则等待,依此方式循环写入信息描述字规定长度的数据为止;当写入FIFO数据个数达到信息描述字规定的长度后,表示所有请求数据都已经写入FIFO中;在此操作过程中,如果信息描述字无效,使能读完成标志有效。
(三)有益效果
本发明提出的用于高速总线通讯控制器的存储器访问方法,使用存储器接口控制模块,采用循环优先级方式对处理器接口模块和所述总线通讯控制器接口模块的读存储器或写存储器操作请求进行响应。利用本发明的存储器访问方法,没有固定时隙要求,可以充分利用存储器访问带宽,可以实时响应高速总线的通讯请求,降低通讯延迟;一次操作最大支持16M数据的读写,提高了存储器访问效率。
附图说明
图1为本发明实施例存储器访问方法原理示意图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本实施例提出一种用于高速总线通讯控制器的存储器访问方法,其原理如图1所示。该方法所使用的系统主要由处理器接口模块、总线通讯控制器接口模块、FIFO和存储器接口控制模块组成。其中,处理接口模块和总线通讯控制器接口模块根据需要向存储器接口控制模块发送读存储器或写存储器请求。存储器接口控制模块根据请求操作的类型,进行读存储器或写存储器的操作。
本实施例的用于高速总线通讯控制器的存储器访问方法,具体包括如下步骤:
在处理器接口模块需要访问存储器时,向存储器接口控制模块发送信息描述字和描述字有效标志,如表1所示。
如果为写存储器操作,首先检测FIFO的半满标志,如果半满标志无效则写一包数据到FIFO,如果半满标志有效则等待,依此方式循环写入信息描述字规定长度的数据为止。
表1信息描述字参数
操作59-56 | 长度55-32 | 地址31-0 |
4bit | 24bit | 32bit |
RSVx3*RW |
如果为读存储器操作,首先检测FIFO的半空标志,如果半空标志无效则从FIFO读取一包数据,如果半空标志有效则等待,依此方式循环读取信息描述字规定长度的数据,当剩余数据长度小于1包数据的长度时,检测读完成信号,如果读完成标志有效,读到FIFO空为止,如果读完成标志无效,则等待。
总线通讯控制器接口模块需要访问存储器时,与处理器接口模块操作方式相同。
存储器接口控制模块采用循环优先级方式对处理器接口模块和总线通讯控制器接口模块的操作请求进行响应。
当检测到处理器接口模块或总线通讯控制器接口模块的信息描述字有效时,首先解析信息描述字,判断操作类型。
如果为写存储器操作,首先检测FIFO的半空标志,如果半空标志无效则从FIFO读取一包数据,并写入到存储器中。如果半空标志有效则等待,依此方式循环读取信息描述字规定长度的数据,并写入存储器中。在此操作过程中,如果信息描述字无效,说明处理器接口模块或总线通讯控制器接口模块要提前结束操作,存储器接口控制模块读空FIFO,并将数据写入存储器。
如果为读存储器操作,首先检测FIFO的半满标志,如果半满标志无效则从存储器中读取一包数据,并写入到FIFO中,如果半满标志有效则等待,依此方式循环写入信息描述字规定长度的数据为止。当写入FIFO数据个数达到信息描述字规定的长度后,表示所有请求数据都已经写入FIFO中。在此操作过程中,如果信息描述字无效,说明处理器接口模块或总线通讯控制器接口模块要提前结束操作,使能读完成标志有效。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (1)
1.一种用于高速总线通讯控制器的存储器访问方法,所述存储器访问方法使用的系统由处理器接口模块、总线通讯控制器接口模块、FIFO和存储器接口控制模块组成;其中,所述处理接口模块和总线通讯控制器接口模块根据需要向所述存储器接口控制模块发送读存储器或写存储器请求,所述存储器接口控制模块根据请求操作的类型,进行读存储器或写存储器的操作;其特征在于,所述存储器访问方法包括如下步骤:
S1、所述处理器接口模块需要访问存储器时,向所述存储器接口控制模块发送信息描述字和描述字有效标志;
如果为写存储器操作,首先检测FIFO的半满标志,如果半满标志无效则写一包数据到FIFO,如果半满标志有效则等待,依此方式循环写入信息描述字规定长度的数据为止;
如果为读存储器操作,首先检测FIFO的半空标志,如果半空标志无效则从FIFO读取一包数据,如果半空标志有效则等待,依此方式循环读取信息描述字规定长度的数据,当剩余数据长度小于1包数据的长度时,检测读完成信号,如果读完成标志有效,读到FIFO空为止,如果读完成标志无效,则等待;
所述总线通讯控制器接口模块需要访问存储器时,与所述处理器接口模块操作方式相同;
S2、所述存储器接口控制模块采用循环优先级方式对所述处理器接口模块和所述总线通讯控制器接口模块的操作请求进行响应;
当检测到所述处理器接口模块或总线通讯控制器接口模块的信息描述字有效时,首先解析信息描述字,判断操作类型;
如果为写存储器操作,首先检测FIFO的半空标志,如果半空标志无效则从FIFO读取一包数据,并写入到存储器中;如果半空标志有效则等待,依此方式循环读取信息描述字规定长度的数据,并写入存储器中;在此操作过程中,如果信息描述字无效,所述存储器接口控制模块读空FIFO,并将数据写入存储器;
如果为读存储器操作,首先检测FIFO的半满标志,如果半满标志无效则从存储器中读取一包数据,并写入到FIFO中,如果半满标志有效则等待,依此方式循环写入信息描述字规定长度的数据为止;当写入FIFO数据个数达到信息描述字规定的长度后,表示所有请求数据都已经写入FIFO中;在此操作过程中,如果信息描述字无效,使能读完成标志有效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811357475.0A CN109522252B (zh) | 2018-11-15 | 2018-11-15 | 一种用于高速总线通讯控制器的存储器访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811357475.0A CN109522252B (zh) | 2018-11-15 | 2018-11-15 | 一种用于高速总线通讯控制器的存储器访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522252A true CN109522252A (zh) | 2019-03-26 |
CN109522252B CN109522252B (zh) | 2021-12-07 |
Family
ID=65777699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811357475.0A Active CN109522252B (zh) | 2018-11-15 | 2018-11-15 | 一种用于高速总线通讯控制器的存储器访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522252B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328311A (zh) * | 2021-12-15 | 2022-04-12 | 珠海一微半导体股份有限公司 | 一种存储控制器架构、数据处理电路及数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1345422A (zh) * | 1999-03-17 | 2002-04-17 | 罗斯蒙德公司 | 现场总线消息排队方法和设备 |
CN101986613A (zh) * | 2010-08-26 | 2011-03-16 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种通用异步串行通信控制器 |
CN105224488A (zh) * | 2015-10-20 | 2016-01-06 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种pci总线控制器及其控制方法 |
CN106444425A (zh) * | 2016-10-24 | 2017-02-22 | 南京航空航天大学 | 面向航空发动机分布式控制的ttp/c总线控制器设计方法 |
CN107291629A (zh) * | 2016-04-12 | 2017-10-24 | 华为技术有限公司 | 一种用于访问内存的方法和装置 |
-
2018
- 2018-11-15 CN CN201811357475.0A patent/CN109522252B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1345422A (zh) * | 1999-03-17 | 2002-04-17 | 罗斯蒙德公司 | 现场总线消息排队方法和设备 |
CN101986613A (zh) * | 2010-08-26 | 2011-03-16 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种通用异步串行通信控制器 |
CN105224488A (zh) * | 2015-10-20 | 2016-01-06 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种pci总线控制器及其控制方法 |
CN107291629A (zh) * | 2016-04-12 | 2017-10-24 | 华为技术有限公司 | 一种用于访问内存的方法和装置 |
CN106444425A (zh) * | 2016-10-24 | 2017-02-22 | 南京航空航天大学 | 面向航空发动机分布式控制的ttp/c总线控制器设计方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328311A (zh) * | 2021-12-15 | 2022-04-12 | 珠海一微半导体股份有限公司 | 一种存储控制器架构、数据处理电路及数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109522252B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7529896B2 (en) | Memory modules having a memory hub containing a posted write buffer, a memory device interface and a link interface, and method of posting write requests in memory modules | |
CN100527107C (zh) | 无序的动态随机存取存储器序列器 | |
KR100337056B1 (ko) | 상이한 주파수로 동작하는 버스사이에 전송되는 데이터를버퍼링하는 디바이스 및 방법 | |
CN109446125B (zh) | Ddr读写仲裁器及方法 | |
CN101504633B (zh) | 一种多通道dma控制器 | |
US7606933B2 (en) | Shared memory and high performance communication using interconnect tunneling | |
CN101324869B (zh) | 一种基于axi总线的多路复用器 | |
CN103780506A (zh) | 一种用于以太网设备的数据缓存系统及方法 | |
CN100426793C (zh) | 一种存储器的控制器及控制方法 | |
CN103077123A (zh) | 一种数据写入和读取方法及装置 | |
CN113791994B (zh) | 一种基于AXI协议wrap访问的DDR控制器及处理方法 | |
CN102541782A (zh) | Dram访问控制装置与控制方法 | |
CN206946471U (zh) | 一种多通道共享读写sdram的电路装置 | |
CN101158929A (zh) | 数字电视系统、存储体控制器以及用于数据存取的方法 | |
CN109522252A (zh) | 一种用于高速总线通讯控制器的存储器访问方法 | |
CN102637148B (zh) | 一种基于ddr sdram的栈式数据缓存装置及其方法 | |
CN103019645A (zh) | Ccd信号处理电路高速数据流仲裁控制方法 | |
CN101056316A (zh) | 一种pci以太网媒体访问控制器传输数据的方法 | |
CN101236741A (zh) | 一种数据读写方法和装置 | |
US20070043910A1 (en) | Memory control apparatus executing prefetch instruction | |
US20020040414A1 (en) | Multiprocessor system and transaction control method for the same | |
US20050210163A1 (en) | Memory control apparatus | |
CN109145397A (zh) | 一种支持并行流水访问的外存仲裁结构 | |
CN111694777B (zh) | 基于PCIe接口的DMA传输方法 | |
CN113886287A (zh) | 一种基于SoC的自适应实时缓存系统及方法 |
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 |