CN116680088A - 一种针对多寄存器存储的多模块同时访问系统及访问方法 - Google Patents
一种针对多寄存器存储的多模块同时访问系统及访问方法 Download PDFInfo
- Publication number
- CN116680088A CN116680088A CN202310966533.4A CN202310966533A CN116680088A CN 116680088 A CN116680088 A CN 116680088A CN 202310966533 A CN202310966533 A CN 202310966533A CN 116680088 A CN116680088 A CN 116680088A
- Authority
- CN
- China
- Prior art keywords
- data
- command
- module
- ram
- register
- 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
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 claims description 33
- 230000007246 mechanism Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及寄存器数据处理技术领域,公开了一种针对多寄存器存储的多模块同时访问系统及访问方法,该系统通过接口转换模块和系统总线与CPU进行连接,包括数据发送模块、数据接收模块、数据发送流控制模块、数据接收流控制模块、仲裁模块、命令RAM、命令解析模块和寄存器RAM;本发明把访问的命令存储在命令RAM中,保证命令不会丢失。同时对这些命令进行仲裁,按照仲裁的顺序进行命令的执行。如果对实时性要求比较高的访问,设计了应答机制,当执行完这个命令的时候,给源发送模块发送应答信号,通知模块可以进行下一步骤操作。通过本发明的系统和方法可以解决多模块同时访问的问题,也可以提高访问的效率,不会出现命令的丢失。
Description
技术领域
本发明涉及寄存器数据处理技术领域,特别涉及一种针对多寄存器存储的多模块同时访问系统及访问方法。
背景技术
寄存器存储的介质有很多种方式,如果寄存器较多,采用的介质一般是RAM块。RAM块是一种存储单元的集合,一般都只有一组读写接口,一次只允许一个模块访问。RAM中可以存储数据流或者控制流,不同的模块可以对这个RAM块读数据或者写数据,获得数据后,各个模块再把这些数据传送到CPU,或者在内部进行流程控制使用。
传统的寄存器访问的是利用触发器来实现,但是当寄存器非常多的时候,如果用触发器来实现,占用的资源会非常多。需要涉及的模块太多,读写起来也非常不方便。
此外,对于有的寄存器,当多模块同时读写访问的时候,现有的技术需要对多模块的访问顺序进行内部控制,对多模块的进程进行干预,以免出现多模块同时访问一个RAM,这样会造成数据流或者控制流的丢失,对整个系统的工作造成负面影响。
发明内容
为解决上述技术问题,本发明提供了一种针对多寄存器存储的多模块同时访问系统及访问方法,以达到解决多模块同时访问的问题,并且可以提高访问的效率,不会出现命令的丢失的目的。
为达到上述目的,本发明的技术方案如下:
一种针对多寄存器存储的多模块同时访问系统,该系统通过接口转换模块和系统总线与CPU进行连接,包括数据发送模块、数据接收模块、数据发送流控制模块、数据接收流控制模块、仲裁模块、命令RAM、命令解析模块和寄存器RAM;
所述数据发送模块:至少一个,用于接收CPU的读数据命令,并把从寄存器RAM读取的数据发送到CPU;
所述数据接收模块:至少一个,用于接收CPU发来的数据,并把数据写入寄存器RAM;
所述数据发送流控制模块:针对数据发送模块发送的命令和从寄存器RAM读的数据进行流控制;
所述数据接收流控制模块:针对数据接收模块发送的命令和写入到寄存器RAM的数据进行流控制;
所述仲裁模块:根据CPU对数据发送模块和数据接收模块的访问优先级设置,对数据发送模块和数据接收模块的读写命令做出仲裁并反馈;
所述命令RAM:用于存储数据发送模块和数据接收模块发出的命令;
所述命令解析模块:用于对命令RAM中的命令进行解析,并获得此命令的发出源,当对命令解析完毕以后,根据解析的命令对寄存器RAM进行读写操作;
所述寄存器RAM:用于接收写入的数据进行存储,或者把存储的数据读出。
上述方案中,所述CPU只能通过接口访问系统,包括写寄存器和读寄存器数据,以及对数据发送模块和数据接收模块进行配置。
进一步的技术方案中,所述接口转换模块用于完成协议转换,将接口信号转换为寄存器读写信号。
上述方案中,当数据发送模块发送读取的命令之前,先通过数据发送流控制模块对命令RAM和寄存器RAM的存储空间进行检测,当命令RAM有足够的空间来存储命令,且寄存器RAM有寄存器数据可读的时候,数据发送模块发送的命令才能发出,当命令RAM没有空间或者寄存器RAM没有数据的话,命令就不能发出,等待命令RAM和寄存器RAM满足条件后再发出命令;
数据发送模块发出命令后,当命令解析模块获得数据发送流控制模块发出的命令后,对此命令进行相应解析,根据解析的内容发出应答给数据发送流控制模块,表明数据可以从寄存器RAM读出,此时数据发送流控制模块会把对应的数据从寄存器RAM读出;当读取的数据进到数据发送流控制模块中,会首先对读进来的数据进行模块标示和数据地址匹配判定,如果不匹配的话,则把此数据丢弃,同时把命令RAM此项命令丢弃;如果匹配的话,就把此数据进行存储,方便下一步发送到CPU。
上述方案中,当数据接收模块发送写寄存器RAM的命令之前,先通过数据接收流控制模块对命令RAM和寄存器RAM的空间进行检测,当两个RAM有足够的空间来存储命令和数据的时候,数据接收模块发送的命令和数据才能发出,当命令RAM和寄存器RAM任何一个没有空间的话,命令和数据就不能发出;
当数据接收模块发出命令后,便向仲裁模块发出请求,当仲裁模块检测命令RAM总线处于空闲状态的情况下,便反馈给数据接收流控制模块可以发送命令到命令RAM,当检测处于非空闲状态的情况,便反馈给数据接收流控制模块进行等待;
当命令解析模块获得上面数据接收模块发送的命令后,进行相应解析,根据解析的内容发送应答给数据接收流控制模块,表明数据可以写进寄存器RAM,此时数据接收流控制模块会把对应的数据写到寄存器RAM。
上述方案中,所述命令RAM为单口RAM,其接口包括时钟、复位、读写使能、读写片选、读写地址、数据输入和输出;深度为16,宽度为32bit,存储的命令按照协议设置,包括模块标示、数据长度、读写RAM指示、目的地址和源地址。
上述方案中,所述寄存器RAM为单口RAM,其接口包括时钟、复位、读写使能、读写片选、读写地址、数据输入和输出;解析的命令为深度32,宽度64bi,高32bit,低32bit的数据。
一种针对多寄存器存储的多模块同时访问方法,采用如上所述的系统,包括如下步骤:
步骤一,CPU对数据发送模块和数据接收模块的优先级进行设置,以数据发送模块的优先级高于数据接收模块为例;
步骤二,数据发送模块和数据接收模块同时发出命令,对寄存器RAM进行读写;
步骤三,仲裁模块按照步骤一的设置,把数据发送模块的访问命令存到命令RAM,同时通知数据接收模块正在处理数据发送模块的命令,需要等待数据发送模块的命令存储完毕后,再存储数据接收模块的命令;
步骤四,命令解析模块检测到命令RAM处于非空的状态,就把处于首地址0的命令读取出来进行解析,根据解析的内容从寄存器RAM把数据读取出来,同时命令解析模块发出应答信号给数据发送流控制模块表明数据已经读出,需要准备好接收数据;同时命令解析模块继续判定命令RAM是不是非空,如果是非空,就把1地址的命令读出来,然后继续解析;
步骤五,根据解析的1地址的命令,命令解析模块发出应答给数据接收流控制模块,通知数据接收模块准备好写数据到寄存器RAM;此时,数据接收模块将准备好的写数据写入到寄存器RAM。
通过上述技术方案,本发明提供的一种针对多寄存器存储的多模块同时访问系统及访问方法具有如下有益效果:
本发明对寄存器的存储进行RAM设置,当多模块同时对寄存器RAM访问的时候,把访问的命令组成一种协议数据存储在命令RAM中,保证命令不会丢失。同时对这些命令进行仲裁,按照仲裁的顺序进行命令的执行。如果对实时性要求比较高的访问,设计了应答机制,当执行完这个命令的时候,给源发送模块发送应答信号,通知模块可以进行下一步骤操作。
本发明为了保证发送数据和返回数据主体是同一个模块,在读写过程中对数据中的标示符和地址进行校验,以保证数据的正确性。
通过本发明的系统和方法可以解决多模块同时访问的问题,也可以提高访问的效率,不会出现命令的丢失。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例所公开的一种针对多寄存器存储的多模块同时访问系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种针对多寄存器存储的多模块同时访问系统,如图1所示,该系统通过接口转换模块和系统总线与CPU进行连接,包括数据发送模块、数据接收模块、数据发送流控制模块、数据接收流控制模块、仲裁模块、命令RAM、命令解析模块和寄存器RAM。
CPU:中央处理单元,只能通过接口访问系统,包括写寄存器和读寄存器数据,以及对数据发送模块和数据接收模块进行配置。
接口转换模块用于完成协议转换,将接口信号转换为寄存器读写信号。
数据发送模块:至少一个,用于接收CPU的读数据命令,并把从寄存器RAM读取的数据发送到CPU;
其发送属性是相对于CPU来说,可以把从寄存器RAM读取的数据发送到CPU;CPU也可以对此模块进行配置,譬如配置发送数据量和发送数据地址等。从权限上来说,此模块可以访问寄存器RAM和命令RAM。
数据接收模块:至少一个,用于接收CPU发来的数据,并把数据写入寄存器RAM;从权限上来说,此模块可以访问寄存器RAM和命令RAM。
数据发送流控制模块:针对数据发送模块发送的命令和从寄存器RAM读的数据进行流控制。
具体的,当数据发送模块发送读取的命令之前,先通过数据发送流控制模块对命令RAM和寄存器RAM的存储空间进行检测,当命令RAM有足够的空间来存储命令,且寄存器RAM有寄存器数据可读的时候,数据发送模块发送的命令才能发出,当命令RAM没有空间或者寄存器RAM没有数据的话,命令就不能发出,等待命令RAM和寄存器RAM满足条件后再发出命令;
数据发送模块发出命令后,当命令解析模块获得数据发送流控制模块发出的命令后,对此命令进行相应解析,根据解析的内容发出应答给数据发送流控制模块,表明数据可以从寄存器RAM读出,此时数据发送流控制模块会把对应的数据从寄存器RAM读出;当读取的数据进到数据发送流控制模块中,会首先对读进来的数据进行模块标示和数据地址匹配判定,如果不匹配的话,则把此数据丢弃,同时把命令RAM此项命令丢弃;如果匹配的话,就把此数据进行存储,方便下一步发送到CPU。
数据接收流控制模块:针对数据接收模块发送的命令和写入到寄存器RAM的数据进行流控制。
具体的,当数据接收模块发送写寄存器RAM的命令之前,先通过数据接收流控制模块对命令RAM和寄存器RAM的空间进行检测,当两个RAM有足够的空间来存储命令和数据的时候,数据接收模块发送的命令和数据才能发出,当命令RAM和寄存器RAM任何一个没有空间的话,命令和数据就不能发出;
当数据接收模块发出命令后,便向仲裁模块发出请求,当仲裁模块检测命令RAM总线处于空闲状态的情况下,便反馈给数据接收流控制模块可以发送命令到命令RAM,当检测处于非空闲状态的情况,便反馈给数据接收流控制模块进行等待;
当命令解析模块获得上面数据接收模块发送的命令后,进行相应解析,根据解析的内容发送应答给数据接收流控制模块,表明数据可以写进寄存器RAM,此时数据接收流控制模块会把对应的数据写到寄存器RAM。
仲裁模块:根据CPU对数据发送模块和数据接收模块的访问优先级设置,对数据发送模块和数据接收模块的读写命令做出仲裁并反馈;
具体的,仲裁模块接收CPU的访问优先级设置,并且根据这个规则来仲裁各个模块的优先级顺序,优先级的设置根据实际需求可以灵活设定,譬如当在系统中为了使RAM的数据不被覆盖,读数据总是优先于写数据;某种情况下,CPU写数据如果慢的话,会造成数据堵塞,此种情况下,写数据的优先级就高于读优先级。
假设数据发送模块优先级最高,数据接收模块优先级相对低。当同时接收到两个命令使能的时候,把总线的使用权交给数据发送流控制模块,把数据发送模块的命令存储到命令RAM中。同时仲裁模块通知数据接收流控制模块,此时RAM总线处于非空闲状态,不能存储它发出的命令。当存储完数据发送模块的命令到地址0后,再通知数据接收模块可以发出命令,把总线的使用权交给数据接收流控制模块,把数据接收模块发出的命令存储到命令RAM地址1中,直到所有模块发出的命令都存储到命令RAM中。
命令RAM:用于存储数据发送模块和数据接收模块发出的命令。
命令RAM为单口RAM,其接口包括时钟、复位、读写使能、读写片选、读写地址、数据输入和输出;深度为16,宽度为32bit,存储的命令按照协议设置,包括模块标示、数据长度、读写RAM指示、目的地址和源地址。
命令解析模块:用于对命令RAM中的命令进行解析,并获得此命令的发出源,读出数据后的目的地址,读取数据量,写数据的源地址,写数据量,读写寄存器RAM指示,以及模块标示。
当对命令解析完毕以后,根据解析的命令对寄存器RAM进行读写操作,把数据写到寄存器RAM或者把数据从寄存器RAM中读出,把总线的使用权交给不同的流控制模块
寄存器RAM:用于接收写入的数据进行存储,或者把存储的数据读出。
寄存器RAM为单口RAM,其接口包括时钟、复位、读写使能、读写片选、读写地址、数据输入和输出;解析的命令为深度32,宽度64bi,高32bit,低32bit的数据。
为使本发明的目的、技术方案和优点更加清楚明白,以下具体实施例对本设发明作进一步的详细说明,假设有数据发送模块1、数据接收模块1、数据发送模块2和数据接收模块2可以对命令RAM和寄存器RAM进行访问,数据发送模块1后有数据发送流控制模块1,数据接收模块1后有数据接收流控制模块1,数据发送模块2后有数据发送流控制模块2,数据接收模块2后有数据接收流控制模块2,可以按如下步骤实施:
步骤一,CPU对数据发送模块1、数据接收模块1、数据发送模块2和数据接收模块2进行优先级设置,按照实际需求,数据发送模块1、数据接收模块1、数据发送模块2和数据接收模块2优先级依次递减。
步骤二,四个模块同时发出命令,对寄存器RAM进行读写。
步骤三,仲裁模块按照步骤一的设置,把数据发送模块1的访问命令存到命令RAM,命令包含数据发送模块标示、数据长度、目的地址和源地址;同时通知数据接收模块1、数据发送模块2和数据接收模块2正在处理数据发送模块1的命令,命令RAM接口处于非空闲状态,需要等待数据发送模块1命令存储完毕后,再依次存储数据接收模块1和数据发送模块2和数据接收模块2的命令,需要注意的是,这四个模块在发出命令之前都需对命令RAM的空间和寄存器RAM的空间进行检测。当四个模块的命令存储完毕后,分别处于命令RAM地址的0、1、2和3。
步骤四,命令解析模块检测到命令RAM处于非空的状态,就把处于首地址0的命令读取出来进行解析,根据解析的内容从寄存器RAM把数据读取出来,同时命令解析模块发出应答信号给数据发送流控制模块1表明数据已经读出,数据发送模块1需要准备好接收数据。同时命令解析模块继续判定命令RAM是不是非空,如果是非空,就把1地址的命令读出来,然后继续解析。
步骤五,根据解析的1地址的命令,命令解析模块发送应答信号给数据接收流控制模块1,通知数据接收模块1准备好写数据到寄存器RAM;此时,数据接收模块1将准备好的写数据写入到寄存器RAM。
步骤六,命令解析模块继续检测命令RAM是不是非空的状态,如果是非空的状态,则把此命令读出来,继续进行解析,根据解析的内容,通知数据发送模块2准备对寄存器RAM读数据。
步骤七,命令解析模块继续检测命令RAM是不是非空的状态,如果是非空的状态,则把此命令读出来,继续进行解析,根据解析的内容,通知数据接收模块2准备对寄存器RAM写数据。
通过上述步骤可知,按照此设计操作,可以对模块的数量进行大量扩展,从数据发送模块1到数据发送模块N,从数据接收模块1到数据接收模块N,模块的发送和接收属性是相对CPU来说的,此种设计可以满足不同的需求,不但可以提高效率,也可提高系统数据传输准确度。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种针对多寄存器存储的多模块同时访问系统,该系统通过接口转换模块和系统总线与CPU进行连接,其特征在于,包括数据发送模块、数据接收模块、数据发送流控制模块、数据接收流控制模块、仲裁模块、命令RAM、命令解析模块和寄存器RAM;
所述数据发送模块:至少一个,用于接收CPU的读数据命令,并把从寄存器RAM读取的数据发送到CPU;
所述数据接收模块:至少一个,用于接收CPU发来的数据,并把数据写入寄存器RAM;
所述数据发送流控制模块:针对数据发送模块发送的命令和从寄存器RAM读的数据进行流控制;
所述数据接收流控制模块:针对数据接收模块发送的命令和写入到寄存器RAM的数据进行流控制;
所述仲裁模块:根据CPU对数据发送模块和数据接收模块的访问优先级设置,对数据发送模块和数据接收模块的读写命令做出仲裁并反馈;
所述命令RAM:用于存储数据发送模块和数据接收模块发出的命令;
所述命令解析模块:用于对命令RAM中的命令进行解析,并获得此命令的发出源,当对命令解析完毕以后,根据解析的命令对寄存器RAM进行读写操作;
所述寄存器RAM:用于接收写入的数据进行存储,或者把存储的数据读出。
2.根据权利要求1所述的一种针对多寄存器存储的多模块同时访问系统,其特征在于,所述CPU只能通过接口访问系统,包括写寄存器和读寄存器数据,以及对数据发送模块和数据接收模块进行配置。
3.根据权利要求2所述的一种针对多寄存器存储的多模块同时访问系统,其特征在于,所述接口转换模块用于完成协议转换,将接口信号转换为寄存器读写信号。
4.根据权利要求1所述的一种针对多寄存器存储的多模块同时访问系统,其特征在于,当数据发送模块发送读取的命令之前,先通过数据发送流控制模块对命令RAM和寄存器RAM的存储空间进行检测,当命令RAM有足够的空间来存储命令,且寄存器RAM有寄存器数据可读的时候,数据发送模块发送的命令才能发出,当命令RAM没有空间或者寄存器RAM没有数据的话,命令就不能发出,等待命令RAM和寄存器RAM满足条件后再发出命令;
数据发送模块发出命令后,当命令解析模块获得数据发送流控制模块发出的命令后,对此命令进行相应解析,根据解析的内容发出应答给数据发送流控制模块,表明数据可以从寄存器RAM读出,此时数据发送流控制模块会把对应的数据从寄存器RAM读出;当读取的数据进到数据发送流控制模块中,会首先对读进来的数据进行模块标示和数据地址匹配判定,如果不匹配的话,则把此数据丢弃,同时把命令RAM此项命令丢弃;如果匹配的话,就把此数据进行存储,方便下一步发送到CPU。
5.根据权利要求1所述的一种针对多寄存器存储的多模块同时访问系统,其特征在于,当数据接收模块发送写寄存器RAM的命令之前,先通过数据接收流控制模块对命令RAM和寄存器RAM的空间进行检测,当两个RAM有足够的空间来存储命令和数据的时候,数据接收模块发送的命令和数据才能发出,当命令RAM和寄存器RAM任何一个没有空间的话,命令和数据就不能发出;
当数据接收模块发出命令后,便向仲裁模块发出请求,当仲裁模块检测命令RAM总线处于空闲状态的情况下,便反馈给数据接收流控制模块可以发送命令到命令RAM,当检测处于非空闲状态的情况,便反馈给数据接收流控制模块进行等待;
当命令解析模块获得上面数据接收模块发送的命令后,进行相应解析,根据解析的内容发送应答给数据接收流控制模块,表明数据可以写进寄存器RAM,此时数据接收流控制模块会把对应的数据写到寄存器RAM。
6.根据权利要求1所述的一种针对多寄存器存储的多模块同时访问系统,其特征在于,所述命令RAM为单口RAM,其接口包括时钟、复位、读写使能、读写片选、读写地址、数据输入和输出;深度为16,宽度为32bit,存储的命令按照协议设置,包括模块标示、数据长度、读写RAM指示、目的地址和源地址。
7.根据权利要求1所述的一种针对多寄存器存储的多模块同时访问系统,其特征在于,所述寄存器RAM为单口RAM,其接口包括时钟、复位、读写使能、读写片选、读写地址、数据输入和输出;解析的命令为深度32,宽度64bi,高32bit,低32bit的数据。
8.一种针对多寄存器存储的多模块同时访问方法,采用如权利要求1-7任一所述的系统,其特征在于,包括如下步骤:
步骤一,CPU对数据发送模块和数据接收模块的优先级进行设置,以数据发送模块的优先级高于数据接收模块为例;
步骤二,数据发送模块和数据接收模块同时发出命令,对寄存器RAM进行读写;
步骤三,仲裁模块按照步骤一的设置,把数据发送模块的访问命令存到命令RAM,同时通知数据接收模块正在处理数据发送模块的命令,需要等待数据发送模块的命令存储完毕后,再存储数据接收模块的命令;
步骤四,命令解析模块检测到命令RAM处于非空的状态,就把处于首地址0的命令读取出来进行解析,根据解析的内容从寄存器RAM把数据读取出来,同时命令解析模块发出应答信号给数据发送流控制模块表明数据已经读出,需要准备好接收数据;同时命令解析模块继续判定命令RAM是不是非空,如果是非空,就把1地址的命令读出来,然后继续解析;
步骤五,根据解析的1地址的命令,命令解析模块发出应答给数据接收流控制模块,通知数据接收模块准备好写数据到寄存器RAM;此时,数据接收模块将准备好的写数据写入到寄存器RAM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310966533.4A CN116680088B (zh) | 2023-08-03 | 2023-08-03 | 一种针对多寄存器存储的多模块同时访问系统及访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310966533.4A CN116680088B (zh) | 2023-08-03 | 2023-08-03 | 一种针对多寄存器存储的多模块同时访问系统及访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116680088A true CN116680088A (zh) | 2023-09-01 |
CN116680088B CN116680088B (zh) | 2023-10-13 |
Family
ID=87791315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310966533.4A Active CN116680088B (zh) | 2023-08-03 | 2023-08-03 | 一种针对多寄存器存储的多模块同时访问系统及访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116680088B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873930A (zh) * | 2024-01-19 | 2024-04-12 | 无锡摩芯半导体有限公司 | 车规级域控mcu中多个can通信模块ram空间动态共享方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026342A1 (en) * | 2004-07-27 | 2006-02-02 | International Business Machines Corporation | DRAM access command queuing structure |
JP2008171335A (ja) * | 2007-01-15 | 2008-07-24 | Sharp Corp | レジスタアクセス方式 |
CN101441608A (zh) * | 2008-12-04 | 2009-05-27 | 北京中星微电子有限公司 | 一种寄存器多源访问控制装置和方法 |
CN104123254A (zh) * | 2014-07-30 | 2014-10-29 | 成都朗锐芯科技发展有限公司 | 一种节省硬件资源的配置寄存器访问方法 |
CN104951412A (zh) * | 2015-06-06 | 2015-09-30 | 华为技术有限公司 | 一种通过内存总线访问的存储装置 |
CN105718393A (zh) * | 2016-01-23 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 用于网络接口芯片的寄存器多源访问调度方法及装置 |
CN111488297A (zh) * | 2020-04-02 | 2020-08-04 | 杭州迪普科技股份有限公司 | 用于访问寄存器的方法、装置、电子设备及可读介质 |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN113641603A (zh) * | 2021-10-15 | 2021-11-12 | 南京芯驰半导体科技有限公司 | 一种基于axi协议的ddr仲裁与调度方法及系统 |
US20220129201A1 (en) * | 2020-10-27 | 2022-04-28 | Rambus Inc. | Asynchronous arbitration across clock domains for register writes in an integrated circuit chip |
CN114968365A (zh) * | 2022-07-27 | 2022-08-30 | 广州智慧城市发展研究院 | 适配器寄存器单元及包含其的主机适配器电路 |
CN116107635A (zh) * | 2023-02-28 | 2023-05-12 | 上海阵量智能科技有限公司 | 命令分发器、命令分发方法、调度器、芯片、板卡、设备 |
CN116185499A (zh) * | 2023-04-27 | 2023-05-30 | 深圳鲲云信息科技有限公司 | 寄存器数据传输方法、寄存器缓存模块、智能设备和介质 |
-
2023
- 2023-08-03 CN CN202310966533.4A patent/CN116680088B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026342A1 (en) * | 2004-07-27 | 2006-02-02 | International Business Machines Corporation | DRAM access command queuing structure |
JP2008171335A (ja) * | 2007-01-15 | 2008-07-24 | Sharp Corp | レジスタアクセス方式 |
CN101441608A (zh) * | 2008-12-04 | 2009-05-27 | 北京中星微电子有限公司 | 一种寄存器多源访问控制装置和方法 |
CN104123254A (zh) * | 2014-07-30 | 2014-10-29 | 成都朗锐芯科技发展有限公司 | 一种节省硬件资源的配置寄存器访问方法 |
CN104951412A (zh) * | 2015-06-06 | 2015-09-30 | 华为技术有限公司 | 一种通过内存总线访问的存储装置 |
CN105718393A (zh) * | 2016-01-23 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 用于网络接口芯片的寄存器多源访问调度方法及装置 |
CN111488297A (zh) * | 2020-04-02 | 2020-08-04 | 杭州迪普科技股份有限公司 | 用于访问寄存器的方法、装置、电子设备及可读介质 |
US20220129201A1 (en) * | 2020-10-27 | 2022-04-28 | Rambus Inc. | Asynchronous arbitration across clock domains for register writes in an integrated circuit chip |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN113641603A (zh) * | 2021-10-15 | 2021-11-12 | 南京芯驰半导体科技有限公司 | 一种基于axi协议的ddr仲裁与调度方法及系统 |
CN114968365A (zh) * | 2022-07-27 | 2022-08-30 | 广州智慧城市发展研究院 | 适配器寄存器单元及包含其的主机适配器电路 |
CN116107635A (zh) * | 2023-02-28 | 2023-05-12 | 上海阵量智能科技有限公司 | 命令分发器、命令分发方法、调度器、芯片、板卡、设备 |
CN116185499A (zh) * | 2023-04-27 | 2023-05-30 | 深圳鲲云信息科技有限公司 | 寄存器数据传输方法、寄存器缓存模块、智能设备和介质 |
Non-Patent Citations (3)
Title |
---|
WU YANGBO等: "Low-power content addressable memory using 2N-2N2P circuits", 《 2006 INTERNATIONAL CONFERENCE ON COMMUNICATIONS, CIRCUITS AND SYSTEMS PROCEEDINGS》 * |
张松涛: "可配置DDR4控制器的设计与UVM验证", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, no. 7 * |
赵汇强, 王长利, 全厚德: "VXI总线消息基器件数据低寄存器定位监视电路设计", 军械工程学院学报, no. 02 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873930A (zh) * | 2024-01-19 | 2024-04-12 | 无锡摩芯半导体有限公司 | 车规级域控mcu中多个can通信模块ram空间动态共享方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116680088B (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984562B (zh) | 寄存器突发访问控制的方法、电子设备及存储介质 | |
CN101740102B (zh) | 一种多通道闪存芯片阵列结构及其写入和读出方法 | |
CN116680088B (zh) | 一种针对多寄存器存储的多模块同时访问系统及访问方法 | |
CN1570907B (zh) | 多处理器系统 | |
CN103778013A (zh) | 一种多通道Nand Flash控制器及其控制方法 | |
CN102841871B (zh) | 基于高速串行总线的DMA结构的pipeline读写方法 | |
CN111221759B (zh) | 一种基于dma的数据处理系统及方法 | |
US20170090781A1 (en) | Method for providing read data flow control or error reporting using a read data strobe | |
CN102841870B (zh) | 基于高速串行总线的通用dma结构及预读方法 | |
CN113791994B (zh) | 一种基于AXI协议wrap访问的DDR控制器及处理方法 | |
CN110858187A (zh) | 具有分布式信箱结构的多处理器系统及其处理器错误检查方法 | |
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
CN113641603A (zh) | 一种基于axi协议的ddr仲裁与调度方法及系统 | |
CN104765701A (zh) | 数据访问方法及设备 | |
CN115827524A (zh) | 一种数据传输方法以及装置 | |
CN111143261A (zh) | 一种基于pcie高速数据采集系统 | |
CN112882986B (zh) | 一种带有超节点以及超节点控制器的众核处理器的应用方法 | |
US10095643B2 (en) | Direct memory access control device for at least one computing unit having a working memory | |
CN116414767B (zh) | 一种对基于axi协议乱序响应的重排序方法及系统 | |
CN112256426A (zh) | 具有总线仲裁器的主从通信系统及通信方法 | |
CN117472815A (zh) | 一种axi协议下的存储模块转换接口及其转换方法 | |
CN109285580B (zh) | 数据预处理装置、方法及异步双端随机存取存储器系统 | |
CN103106177A (zh) | 多核网络处理器的片上互联结构及其方法 | |
CN115549782A (zh) | 一种光模块的信息查询方法及其相关组件 | |
CN107870885A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |