内存访问仲裁方法、电路及装置制造方法及图纸

技术编号:15447563 阅读:109 留言:0更新日期:2017-05-29 21:27
本发明专利技术实施例提供一种内存访问仲裁方法、电路及装置,该方法包括:获取应用程序通过通信端口发送的内存访问请求,所述内存访问请求中包括所述通信端口的标识;将所述内存访问请求缓存至所述通信端口的标识对应的消息队列中;在确定所述消息队列中的内存访问请求满足预设处理条件时,依次对所述消息队列中的所有内存访问请求进行处理。用于提高内存访问效率。

Memory access arbitration method, circuit and device

The embodiment of the invention provides a memory access arbitration method, circuit and device, the method includes: obtaining the application access request through a communication port memory, the memory access identification includes the communications port request; identifies the memory cache access request to the communication port of the message queue; in the determination of the messages in the queue memory access request meets the preset processing conditions, in order for all the memory in the message queue access requests. Used to improve memory access efficiency.

【技术实现步骤摘要】
内存访问仲裁方法、电路及装置
本专利技术实施例涉及计算机
,尤其涉及一种内存访问仲裁方法、电路及装置。
技术介绍
目前,计算机中可以安装多种应用程序,各应用程序均可以对计算机的内存进行访问(对内存进行读/写操作),为了避免多个应用程序在进行内存访问时发生冲突,通常采用仲裁电路调节应用程序对内存的访问顺序。在现有技术中,每一个应用程序和仲裁电路之间设置有通信端口,当应用程序需要访问内存时,应用程序通过与仲裁电路之间的通信端口发送内存访问请求,并将内存访问请求缓存在该通信端口中。仲裁电路轮询各个通信端口,并依次对各个通信端口中访问时刻最早的内存访问请求进行处理,以使相应的应用程序可以对内存进行访问,这样会使得同一应用程序连续发送的内存访问请求被打散,导致访问内存的应用程序频繁发生变化。例如,假设通信端口1中包括连续的内存访问请求req1(1)和req1(2),通信端口2中包括连续的内存访问请求req2(1)和req2(2),通信端口3中包括连续的内存访问请求req3(1)和req3(2),则仲裁电路对通信端口1-通信端口3进行轮询,确定对各内存访问请求进行的处理顺序为:req1(1)、req2(1)、req3(1)、req1(2)、req2(2)和req3(2),使得各个应用程序发送的连续内存访问请求被打散。然而,在现有技术中,应用程序需要通过内存行对内存进行访问,不同应用程序对应的内存行不同,当访问内存的应用程序发生变化时,则需要进行内存行切换,而内存行切换需要耗费较多时长,进而导致内存访问效率低下。
技术实现思路
本专利技术实施例提供一种内存访问仲裁方法、电路及装置,用于提高内存访问效率。第一方面,本专利技术实施例提供一种内存访问仲裁方法,包括:获取应用程序通过通信端口发送的内存访问请求,所述内存访问请求中包括所述通信端口的标识;将所述内存访问请求缓存至所述通信端口的标识对应的消息队列中;在确定所述消息队列中的内存访问请求满足预设处理条件时,依次对所述消息队列中的所有内存访问请求进行处理。在一种可能的实施方式中,所述获取应用程序发送的内存访问请求,包括:查询所述通信端口;在确定所述通信端口存在所述内存访问请求时,在所述通信端口获取所述内存访问请求。在另一种可能的实施方式中,在确定所述消息队列中的内存访问请求满足预设处理条件时,依次对所述消息队列中的所有内存访问请求进行处理,包括:若所述消息队列中的内存访问请求的个数大于预设阈值,或者,所述消息队列中最后一个内存访问请求的类型的终止访问类型,或者,所述消息队列中存在大于预设时延的内存访问请求时,则确定所述消息队列中的内存访问请求满足预设处理条件;按照所述消息队列中内存访问请求的排列顺序,依次授权所述消息队列中的各内存访问请求对内存进行访问。在另一种可能的实施方式中,所述依次对所述消息队列中的所有内存访问请求进行处理,包括:获取所述消息队列中包括的内存访问请求的个数;将所述消息队列中包括的内存访问请求的个数确定为连续处理个数;对所述消息队列中位于队首的内存访问请求进行处理,将所述位于队首的内存访问请求移出所述消息队列,将所述连续处理个数减一,直至所述连续处理个数为零。在另一种可能的实施方式中,在获取应用程序通过通信端口发送的内存访问请求之后,还包括:判断所述内存访问请求是否为紧急内存访问请求;若是,则通过紧急访问通道对所述内存访问请求进行处理。第二方面,本专利技术实施例提供一种内存访问仲裁电路,包括第一仲裁电路和第二仲裁电路,所述第一仲裁电路的输入端与各应用程序对应的通信端口耦接,所述第一仲裁电路的输出端与消息缓存区耦接,所述第二仲裁电路的输入端与所述消息缓存区耦接,所述第二仲裁电路的输出端与内存访问总线耦接,其中,所述第一仲裁电路用于,在各所述通信端口获取内存访问请求,并将所述内存访问请求缓存至所述消息缓存区中、所述通信端口对应消息队列中;所述第二仲裁电路用于,在所述消息缓存区中第一消息队列中的内存访问请求满足预设处理条件时,依次对所述第一消息队列中的所有内存访问请求进行处理,所述第一消息队列为所述消息缓存区中的任意一个消息队列。在一种可能的实施方式中,所述第二仲裁电路具体用于:分别判断所述消息缓存区中各消息队列中的内存访问请求是否满足预设处理条件;在确定所述第一消息队列中的内存访问请求满足预设处理条件时,依次对所述第一消息队列中的所有内存访问请求进行处理。在另一种可能的实施方式中,所述第一仲裁线路还用于:在所述第一仲裁电路将内存访问请求缓存至第一消息队列中之后,判断所述第一消息队列中的内存访问请求是否满足预设处理条件;在确定所述第一消息队列中的内存访问请求满足预设处理条件时,向所述第二仲裁电路发送处理通知,所述处理通知中包括所述第一消息队列的标识;相应的,所述第二仲裁电路具体用于:接收所述第一仲裁电路发送的所述处理通知,并根据所述处理通知依次对所述第一消息队列中的所有内存访问请求进行处理,所述第一消息队列为所述消息缓存区中的任意一个消息队列。在另一种可能的实施方式中,所述内存访问仲裁电路还包括判断电路,所述判断电路与所述消息缓存区和所述第二仲裁电路耦接,其中,所述判断电路用于分别判断所述消息缓存区中各消息队列中的内存访问请求是否满足预设处理条件;在所述判断电路确定所述第一消息队列中的内存访问请求满足预设处理条件时,向所述第二仲裁电路发送处理通知,所述处理通知中包括所述第一消息队列的标识;相应的,所述第二仲裁电路具体用于:接收所述判断电路发送的所述处理通知,并根据所述处理通知依次对所述第一消息队列中的所有内存访问请求进行处理,所述第一消息队列为所述消息缓存区中的任意一个消息队列。在另一种可能的实施方式中,所述内存访问仲裁电路还包括紧急访问通道,所述紧急访问通道的一端与所述第一仲裁电路的输入端连接,所述紧急访问通道的另一端与所述内存访问总线连接,其中,所述紧急访问通道用于,在所述第一仲裁电路获取到紧急内存访问请求时,向所述内存访问总线传输所述紧急内存访问请求。在另一种可能的实施方式中,所述第一仲裁电路具体用于:按照轮询方式依次查询各所述通信端口,并分别获取各所述通信端口中访问时刻最早的内存访问请求;确定各所述通信端口对应的消息队列;分别将各所述访问时刻最早的内存访问请求缓存至对应的消息队列中。在另一种可能的实施方式中,所述预设处理条件为如下条件中的任意一种:所述消息队列中的内存访问请求的个数大于预设阈值;所述消息队列中最后一个内存访问请求的类型的终止访问类型;所述消息队列中存在大于预设时延的内存访问请求。第三方面,本专利技术实施例提供一种内存访问仲裁装置,包括:获取模块,用于获取应用程序通过通信端口发送的内存访问请求,所述内存访问请求中包括所述通信端口的标识;缓存模块,用于将所述内存访问请求缓存至所述通信端口的标识对应的消息队列中;处理模块,用于在确定所述消息队列中的内存访问请求满足预设处理条件时,依次对所述消息队列中的所有内存访问请求进行处理。在一种可能的实施方式中,所述获取模块具体用于:查询所述通信端口;在确定所述通信端口存在所述内存访问请求时,在所述通信端口获取所述内存访问请求。在另一种可能的实施方式中,所述处理模块具体用于:若所述消息队列中的内存访问请本文档来自技高网...
内存访问仲裁方法、电路及装置

【技术保护点】
一种内存访问仲裁方法,其特征在于,包括:获取应用程序通过通信端口发送的内存访问请求,所述内存访问请求中包括所述通信端口的标识;将所述内存访问请求缓存至所述通信端口的标识对应的消息队列中;在确定所述消息队列中的内存访问请求满足预设处理条件时,依次对所述消息队列中的所有内存访问请求进行处理。

【技术特征摘要】
1.一种内存访问仲裁方法,其特征在于,包括:获取应用程序通过通信端口发送的内存访问请求,所述内存访问请求中包括所述通信端口的标识;将所述内存访问请求缓存至所述通信端口的标识对应的消息队列中;在确定所述消息队列中的内存访问请求满足预设处理条件时,依次对所述消息队列中的所有内存访问请求进行处理。2.根据权利要求1所述的方法,其特征在于,在确定所述消息队列中的内存访问请求满足预设处理条件时,依次对所述消息队列中的所有内存访问请求进行处理,包括:若所述消息队列中的内存访问请求的个数大于预设阈值,或者,所述消息队列中最后一个内存访问请求的类型的终止访问类型,或者,所述消息队列中存在大于预设时延的内存访问请求时,则确定所述消息队列中的内存访问请求满足预设处理条件;按照所述消息队列中内存访问请求的排列顺序,依次授权所述消息队列中的各内存访问请求对内存进行访问。3.根据权利要求1或2所述的方法,其特征在于,所述依次对所述消息队列中的所有内存访问请求进行处理,包括:获取所述消息队列中包括的内存访问请求的个数;将所述消息队列中包括的内存访问请求的个数确定为连续处理个数;对所述消息队列中位于队首的内存访问请求进行处理,将所述位于队首的内存访问请求移出所述消息队列,将所述连续处理个数减一,直至所述连续处理个数为零。4.根据权利要求1或2所述的方法,其特征在于,在获取应用程序通过通信端口发送的内存访问请求之后,还包括:判断所述内存访问请求是否为紧急内存访问请求;若是,则通过紧急访问通道对所述内存访问请求进行处理。5.一种内存访问仲裁电路,其特征在于,包括第一仲裁电路和第二仲裁电路,所述第一仲裁电路的输入端与各应用程序对应的通信端口耦接,所述第一仲裁电路的输出端与消息缓存区耦接,所述第二仲裁电路的输入端与所述消息缓存区耦接,所述第二仲裁电路的输出端与内存访问总线耦接,其中,所述第一仲裁电路用于,在各所述通信端口获取内存访问请求,并将所述内存访问请求缓存至所述消息缓存区中、所述通信端口对应消息队列中;所述第二仲裁电路用于,在所述消息缓存区中第一消息队列中的内存访问请求满足预设处理条件时,依次对所述第一消息队列中的所有内存访问请求进行处理,所述第一消息队列为所述消息缓存区中的任意一个消息队列。6.根据权利要求5所述的电路,其特征在于,所述第二仲裁电路具体用于:分别判断所述消息缓存区中各消息队列中的内存访问请求是否满足预设处理条件;在确定所述第一消息队...

【专利技术属性】
技术研发人员:徐海
申请(专利权)人:上海顺久电子科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1