CN106776390A - 多设备访问存储器的实现方法 - Google Patents
多设备访问存储器的实现方法 Download PDFInfo
- Publication number
- CN106776390A CN106776390A CN201611111472.XA CN201611111472A CN106776390A CN 106776390 A CN106776390 A CN 106776390A CN 201611111472 A CN201611111472 A CN 201611111472A CN 106776390 A CN106776390 A CN 106776390A
- Authority
- CN
- China
- Prior art keywords
- equipment
- command
- data
- implementation method
- write
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000006870 function Effects 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 8
- 230000004048 modification Effects 0.000 abstract description 4
- 238000012986 modification Methods 0.000 abstract description 4
- 238000012163 sequencing technique Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
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
本发明提供了一种设备访问存储器的实现方法,其包括以下步骤:步骤一,根据某一时刻的不同情况做出相对应的操作;步骤二,保存一系列有用信息;步骤三,将命令缓存中的第一条命令传递给控制器,其中写操作需要根据突发操作的长度,从写数据缓存中多次取,将写数据顺序写入存储器中,命令完成后,继续传递下一条命令;步骤四,控制器返回读数据时,先放入读数据缓存中;步骤五,根据二级命令缓存中的读操作信息,从读数据缓存中取多次数据传递给相应的设备。本发明实现了多设备访问存储器,保证了命令先后顺序和数据正确性,实现了功能占用资源尽量少,增加了访问设备数目,当需要连接其它接口的控制器时修改简单方便,通用性强,可移植性强。
Description
技术领域
本发明涉及片上集成系统领域,具体地,涉及一种多设备访问存储器的实现方法。
背景技术
在片上集成系统中,可能会有一个或多个设备,如处理器、DMA(直接存储器)、外设等都访问同一个存储器。如图1所示,某个存储器只有一个设备访问,那么只需要将访问设备连接存储器的控制器,直接控制存储器。如果多个设备访问同一个存储器,那么需要在访问设备和控制器之间增加仲裁选择的逻辑,从同时发出访问请求的设备中选择一个向控制器发出读写命令。如图2所示,如果访问设备的接口和控制器的接口不一致,在图2的基础上,还要增加总线接口转换逻辑。如图3所示在复杂的SoC芯片(系统级芯片)中,同时访问的设备越来越多,对存储器的访问要求越来越高,需要实现多设备访问存储器的功能,保证命令的先后顺序和数据的正确性,占用尽量少的资源。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种多设备访问存储器的实现方法,其实现了多设备访问存储器,保证了命令先后顺序和数据正确性,实现了功能占用资源尽量少,增加了访问设备数目,当需要连接其它接口的控制器时修改简单方便,通用性强,可移植性强。
根据本发明的一个方面,提供一种设备访问存储器的实现方法,其特征在于,所述设备访问存储器的实现方法包括以下步骤:
步骤一,根据某一时刻的不同情况做出相对应的操作;
步骤二,保存一系列有用信息;
步骤三,将命令缓存中的第一条命令传递给控制器,其中,写操作需要根据突发操作的长度,从写数据缓存中多次取,将写数据顺序写入存储器中,命令完成后,继续传递下一条命令;
步骤四,控制器返回读数据时,先放入读数据缓存中;
步骤五,根据二级命令缓存中的读操作信息。
优选地,所述多设备访问存储器的实现方法具有以下功能:请求仲裁、命令处理、命令缓存、数据缓存。
优选地,所述多设备访问存储器的实现方法仅保存后续控制器需要的必要信息,而不是命令的完整信息。
优选地,所述多设备访问存储器的实现方法增加访问设备数目或连接其它接口控制器,只需要简单改动。
与现有技术相比,本发明具有如下的有益效果:本发明实现了多设备访问存储器,保证了命令先后顺序和数据正确性,实现了功能占用资源尽量少,增加了访问设备数目,当需要连接其它接口的控制器时修改简单方便,通用性强,可移植性强。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明单个设备访问存储器的流程图;
图2为本发明多个设备通过仲裁访问存储器的流程图;
图3为本发明多个设备通过仲裁和转换访问存储器的流程图;
图4为本发明实现多设备同时访问存储器的流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1至图4所示,本发明提供一种多设备访问存储器的实现方法,其包括以下步骤:
步骤一,根据某一时刻的不同情况做出相对应的操作;
1.1某一时刻只有一个设备发出请求。在命令缓存不满的情况下,可以直接响应,给出应答。否则,一直等待,直到命令缓存有空闲空间。
1.2某一时刻有多个设备同时发出请求。在命令缓存不满的情况下,请求仲裁模块将按照事先选定的优先级选择其中一个进行响应,给出应答。其它没有响应的请求将一直保持,直到被响应。
1.3在请求仲裁模块响应请求的同时,命令处理模块对响应的命令进行处理,提取控制器需要的必要信息。
步骤二,保存一系列有用信息;将处理后的命令放入命令缓存中保存。一条写命令可能对应多条写数据,将写数据按顺序放入写数据缓存中。读命令相关信息,如设备编号、读操作的突发长度等,放入二级命令缓存,供读数据返回时将相应的读数据返回相应的模块。
步骤三,将命令缓存中的第一条命令传递给控制器,其中,写操作需要根据突发操作的长度,从写数据缓存中多次取,将写数据顺序写入存储器中,命令完成后,继续传递下一条命令;
步骤四,控制器返回读数据时,先放入读数据缓存中;
步骤五,根据二级命令缓存中的读操作信息,如设备ID、突发操作的长度,从读数据缓存中取多次数据传递给相应的设备。
本发明整体的结构简单,可移植性强。后续增加访问设备的数量,只需要简单改动请求仲裁逻辑和缓存的深度,不需要重新设计和大幅度的改动。连接其它控制器时,仅需要修改命令处理逻辑,从命令中提取和控制器接口一致的必要信息,不需要大幅度的改动。
所述多设备访问存储器的实现方法采用请求仲裁、命令处理、命令缓存、数据缓存模块,实现了多设备访问存储器的功能,保证了命令先后顺序和数据正确性。
所述多设备访问存储器的实现方法仅保存后续控制器需要的必要信息,而不是命令的完整信息,占用资源少,处理速度快。
所述多设备访问存储器的实现方法增加访问设备数目或连接其它接口控制器,只需要简单改动,操作简单,可移植性强,节约时间。
多个设备访问同一个存储器时,需要对同时发起的访问进行仲裁,将命令处理后缓存,同时缓存相应的写数据。从命令缓存和写数据缓存中取出第一条命令和相应的写数据(如果是写操作),传给存储器控制器。控制器控制存储器的读写操作。读命令的相关信息保存到二级命令缓存中。控制器返回读数据时,先缓存到读数据缓存中。只要读数据缓存非空,就根据二级命令缓存中读命令的相关信息,将相应数据返回给发出读请求的设备。与保存每个设备发出命令的完整信息不同,只根据控制器保存必要信息,如读/写命令、地址、设备ID号、突发传输长度、突发类型。忽略其他无关信息,节省资源。后续增加访问设备的数目时,只需要简单修改请求仲裁逻辑和缓存的深度,不需要重新设计和大幅度的改动。后续连接其它接口的控制器时,只需要修改命令处理逻辑,不需要大幅度改动。
在复杂的SoC芯片中,越来越多的设备访问同一个存储器,而且设备的频率越来越高,对存储器的访问要求也越来越高。控制器和存储器某一时刻只能处理一个访问请求,多设备同时访问时先进行仲裁。根据控制器接口情况对命令进行处理,仅把必要信息放入命令缓存。同时,缓存相应的写数据。从命令缓存和写数据缓存中取出第一条命令传给控制器(写操作还需要传递相应的写数据)。控制器控制存储器的读写操作。控制器返回读数据时先放读入数据缓存,根据二级命令缓存中读命令的相关信息,将相应的数据返回给发出读请求的设备。本发明可以实现多设备读写访问存储器的功能,利用FIFO(先进先出)先进先出的特性,保证命令的先后顺序和数据的正确性。只保存必要信息,占用尽量少的资源。结构简单,可移植性强,扩展访问设备数目或连接其它接口控制器时,修改简单方便。
如图1所示,某个存储器只有一个设备访问,只需要将访问模块连接控制器,直接控制存储器的读写。如果有多个设备访问同一个存储器,需要在访问模块和存储器控制器之间增加仲裁选择的逻辑,从同时发出访问请求的设备中选择1个向控制器发出读写命令。如图2所示。如果访问设备的接口和控制器模块的接口不一致,需要在图2基础上增加总线接口转换逻辑。如图3所示。
在复杂的SoC芯片中,同时访问存储器的设备越来越多,而且速度越来越快,因此,对存储器的访问要求越来越高。需要实现多设备访问存储器的功能,保证命令先后顺序和数据正确性,占用尽量少的资源。同时,兼顾后续扩展灵活和改动方便。
本发明具有以下功能:
2.1请求仲裁:某一时刻仅有1个设备发出访问请求,则立即对此请求进行响应。如果多个设备同时发出访问请求,按照事先选定的优先级对某个请求进行响应,其它未响应的访问请求一直保持,直到被响应。
2.2命令处理:对当前响应的命令进行处理,仅保留控制器需要的必要信息,如访问设备ID号、读/写命令、地址、突发传输长度、突发类型等。具体参考控制器的接口。
2.3命令传递:只要命令缓存中非空,就将第1条命令传递给控制器。传递完成后继续下一条命令。
2.4读数据传递:只要读数据缓存非空,就从二级命令缓存取出读信息,根据其中的ID号和突发传输长度,将相应的读数据返回发出读请求的模块。
2.5命令缓存:将经过处理的命令保存到命令缓存中。此时,请求仲裁模块就可以响应下一个请求。
2.6二级命令缓存:在保存命令到命令缓存的同时,读命令的相关信息还需要放入二级命令缓存。读数据返回时,需要将相应的数据返回给发出读请求的模块。
2.7写数据缓存:写数据保存到写数据缓存中。1条写命令可能对应多个写数据。
2.8读数据缓存:从存储器返回的读数据先放入读数据缓存中。
综上所述,本发明实现了多设备访问存储器,保证了命令先后顺序和数据正确性,实现了功能占用资源尽量少,增加了访问设备数目,当需要连接其它接口的控制器时修改简单方便,通用性强,可移植性强。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (4)
1.一种设备访问存储器的实现方法,其特征在于,所述设备访问存储器的实现方法包括以下步骤:
步骤一,根据某一时刻的不同情况做出相对应的操作;
步骤二,保存一系列有用信息;
步骤三,将命令缓存中的第一条命令传递给控制器,其中,写操作需要根据突发操作的长度,从写数据缓存中多次取,将写数据顺序写入存储器中,命令完成后,继续传递下一条命令;
步骤四,控制器返回读数据时,先放入读数据缓存中;
步骤五,根据二级命令缓存中的读操作信息。
2.根据权利要求1所述的设备访问存储器的实现方法,其特征在于,所述多设备访问存储器的实现方法具有以下功能:请求仲裁、命令处理、命令缓存、数据缓存。
3.根据权利要求1所述的设备访问存储器的实现方法,其特征在于,所述多设备访问存储器的实现方法仅保存后续控制器需要的必要信息。
4.根据权利要求1所述的设备访问存储器的实现方法,其特征在于,所述多设备访问存储器的实现方法增加访问设备数目或连接其它接口控制器,只需要简单改动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611111472.XA CN106776390A (zh) | 2016-12-06 | 2016-12-06 | 多设备访问存储器的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611111472.XA CN106776390A (zh) | 2016-12-06 | 2016-12-06 | 多设备访问存储器的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106776390A true CN106776390A (zh) | 2017-05-31 |
Family
ID=58879212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611111472.XA Pending CN106776390A (zh) | 2016-12-06 | 2016-12-06 | 多设备访问存储器的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776390A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110161978A (zh) * | 2018-02-02 | 2019-08-23 | 深圳健康小厨智能餐饮科技有限公司 | 一种自动厨房多设备竞争资源仲裁方法 |
CN112199309A (zh) * | 2020-10-10 | 2021-01-08 | 北京泽石科技有限公司 | 基于dma引擎的数据读取方法、装置和数据传输系统 |
CN112703489A (zh) * | 2020-04-14 | 2021-04-23 | 深圳市大疆创新科技有限公司 | 控制器、存储器件访问系统、电子设备和数据传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510589A (zh) * | 2002-11-19 | 2004-07-07 | 松下电器产业株式会社 | 共享存储器数据传送设备 |
CN101344871A (zh) * | 2008-08-20 | 2009-01-14 | 北京中星微电子有限公司 | 一种保证访问先后顺序的总线仲裁单元及其实现方法 |
US20110258353A1 (en) * | 2010-04-14 | 2011-10-20 | Qualcomm Incorporated | Bus Arbitration Techniques to Reduce Access Latency |
CN103810124A (zh) * | 2012-11-09 | 2014-05-21 | 辉达公司 | 用于数据传输的系统及方法 |
CN104123238A (zh) * | 2014-06-30 | 2014-10-29 | 海视云(北京)科技有限公司 | 数据存储方法及装置 |
-
2016
- 2016-12-06 CN CN201611111472.XA patent/CN106776390A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510589A (zh) * | 2002-11-19 | 2004-07-07 | 松下电器产业株式会社 | 共享存储器数据传送设备 |
CN101344871A (zh) * | 2008-08-20 | 2009-01-14 | 北京中星微电子有限公司 | 一种保证访问先后顺序的总线仲裁单元及其实现方法 |
US20110258353A1 (en) * | 2010-04-14 | 2011-10-20 | Qualcomm Incorporated | Bus Arbitration Techniques to Reduce Access Latency |
CN103810124A (zh) * | 2012-11-09 | 2014-05-21 | 辉达公司 | 用于数据传输的系统及方法 |
CN104123238A (zh) * | 2014-06-30 | 2014-10-29 | 海视云(北京)科技有限公司 | 数据存储方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110161978A (zh) * | 2018-02-02 | 2019-08-23 | 深圳健康小厨智能餐饮科技有限公司 | 一种自动厨房多设备竞争资源仲裁方法 |
CN112703489A (zh) * | 2020-04-14 | 2021-04-23 | 深圳市大疆创新科技有限公司 | 控制器、存储器件访问系统、电子设备和数据传输方法 |
CN112199309A (zh) * | 2020-10-10 | 2021-01-08 | 北京泽石科技有限公司 | 基于dma引擎的数据读取方法、装置和数据传输系统 |
CN112199309B (zh) * | 2020-10-10 | 2022-03-15 | 北京泽石科技有限公司 | 基于dma引擎的数据读取方法、装置和数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3612923A1 (en) | Memory devices and methods which may facilitate tensor memory access | |
CN105243033A (zh) | 数据处理方法及电子设备 | |
US11093388B2 (en) | Method, apparatus, device and storage medium for accessing static random access memory | |
CN105335309B (zh) | 一种数据传输方法及计算机 | |
CN103077123A (zh) | 一种数据写入和读取方法及装置 | |
US20140068125A1 (en) | Memory throughput improvement using address interleaving | |
KR102428563B1 (ko) | 수눕 작동을 관리하는 코히런트 인터커넥트와 이를 포함하는 데이터 처리 장치들 | |
CN106776390A (zh) | 多设备访问存储器的实现方法 | |
CN113051195A (zh) | 存储器、gpu及电子设备 | |
CN106326148A (zh) | 数据处理系统及其操作方法 | |
CN112948293A (zh) | 一种多用户接口的ddr仲裁器及ddr控制器芯片 | |
CN115114042A (zh) | 存储数据访问方法、装置、电子设备和存储介质 | |
CN112256426A (zh) | 具有总线仲裁器的主从通信系统及通信方法 | |
CN115883022B (zh) | Dma传输控制方法、装置、电子设备及可读存储介质 | |
CN105095108A (zh) | 输入输出存储器管理单元及控制方法、装置 | |
US11822812B2 (en) | Method and apparatus for distributed direct memory access for system on chip performing read or write operations | |
US11847049B2 (en) | Processing system that increases the memory capacity of a GPGPU | |
WO2021139733A1 (zh) | 一种对内存进行分配的方法、设备及计算机可读存储介质 | |
CN111078589B (zh) | 一种应用于深度学习计算的数据读取系统、方法及芯片 | |
CN114021715A (zh) | 基于Tensorflow框架的深度学习训练方法 | |
CN107589958B (zh) | 一种多控制器间多存储器共享并行数据读写系统及其写入、读取方法 | |
CN116974963B (zh) | 一种访问存储器的装置及其方法、芯片、存储介质 | |
US20200167646A1 (en) | Data transmission method and calculation apparatus for neural network, electronic apparatus, computer-raedable storage medium and computer program product | |
CN117389483B (zh) | 一种内存管理方法、装置、电子设备及可读存储介质 | |
CN105302745B (zh) | 高速缓冲存储器及其应用方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |