一种基于队列管理的可随机存储电路的制作方法

文档序号:6637912阅读:220来源:国知局
一种基于队列管理的可随机存储电路的制作方法
【专利摘要】本发明提出一种适用于FPGA逻辑电路的可随机存储电路。在传统基于FIFO的缓冲交互模式下,增加一个队列标志寄存器,用于实现缓冲单元的状态描述,通过FIFO电路实现数据提交顺序的保证,软件可根据实际需要动态的使用缓冲,且同时可通过操作FIFO实现发送的顺序管理机制。本发明在传统的随机存取和队列存取的信息交互模式下,将两者有效结合,满足了一端随机存取,一端采用度列调度的管理方式,有效满足了系统应用。
【专利说明】一种基于队列管理的可随机存储电路

【技术领域】
:
[0001]本发明属于计算机硬件设计领域,涉及一种适用于FPGA逻辑电路的可随机存储电路。

【背景技术】
:
[0002]在设计高度通信网络板卡时,主机和板卡之间需要高速的数据接口以实现数据交互访问,且交互机制要简单可靠,以满足系统对于通信效率和应用模式的要求。
[0003]传统的交互方式从使用模式上一般包括如下两种:
[0004]一种是随机存取模式,在该模式下,主机端可随机访问缓冲单元,通过管理缓冲单元标志通知逻辑电路,由逻辑电路判断标志状态识别是否有数据需要交互。缺点是管理复杂,无法识别数据提交顺序,且对于标志的管理复杂,优点是主机使用灵活性高。
[0005]另外一种是基于队列的模式,在该模式下,主机端和逻辑电路通过维护队列指针方式实现队列管理,其采用机制为FIFO(先进先出),主机端和逻辑电路必须只能够顺序存储数据,优点是结构简单,易于实现,缺点是所支持应用模式单一。
[0006]以上两种方式,无论哪种,在满足如下应用模式时均存在不足:
[0007]主机端随机存取数据,但要求硬件根据提交的顺序进行处理,且在处理完成后,能够根据实际状态数据释放对应缓冲区。


【发明内容】

:
[0008]本发明的目的是提供一种可随机存储电路,以满足上述应用模式,既能够保证硬件电路按照队列方式在保证先后顺序的情况下调度数据,同时也能够满足数据随机存取和缓冲区随机释放的要求。
[0009]本发明的技术方案如下:
[0010]一种基于队列管理的可随机存储电路,其特殊之处在于:包括
[0011]η个缓冲单元,与主机之间建立数据交互;
[0012]深度为η的FIFO存储器,主机端发送的对应于各个缓冲单元的缓冲编号通过该FIFO存储器顺序传递至调度器;
[0013]宽度为n bits的缓冲单元状态标志寄存器,其中的每一个bit用于描述对应缓冲单元的状态,由所述主机端和调度器分别负责置位和清零;以及
[0014]所述调度器,用以读取所述FIFO存储器和缓冲单元的内容并作出判断对缓冲单元状态标志寄存器中特定的bit清零。
[0015]上述可随机存储电路的存取实现方法,包括以下步骤:
[0016]I)主机端分配缓冲单元,并根据对缓冲单元的使用设置向缓冲单元状态标志寄存器中填写缓冲使用标志,通过FIFO存储器传递缓冲编号;
[0017]2)调度调度器查询FIFO存储器状态,读取缓冲编号,进行数据读取和处理;
[0018]3)调度器完成处理后,对缓冲使用标志清零,释放缓冲单元,完成一次数据交互。
[0019]本发明通过增加一个标志寄存器,作为缓冲使用状态的标志,并结合FIFO的使用,既可以适应传统队列管理方式的要求,也可满足系统随机存取并发处理的要求。具体有以下优点:
[0020]简单易用:能够有效简化FPGA逻辑设计时缓冲管理方法,节省逻辑资源,同时主机软件能够以简单的方式实现随机存取功能;
[0021]通用性好:即可满足队列应用方式,也可满足随机管理方式,只需修改软件即可适应,硬件的通用性提高;
[0022]高效灵活:能够以较小的软硬件开销实现数据的高速交互调度处理,能够满足高速数据通信的数据耦合要求。

【专利附图】

【附图说明】
[0023]图1为本发明的电路示意图。

【具体实施方式】
[0024]如图1所示本发明的实施例,在传统基于FIFO的缓冲交互模式下,增加一个队列标志寄存器,用于实现缓冲单元的状态描述,通过FIFO电路实现数据提交顺序的保证,软件可根据实际需要动态的使用缓冲,且同时可通过操作FIFO实现发送的顺序管理机制。本发明在传统的随机存取和队列存取的信息交互模式下,将两者有效结合,满足了一端随机存取,一端采用度列调度的管理方式,有效满足了系统应用。
[0025]1.逻辑电路单元:
[0026]I) 一个深度为η的FIFO电路①,用于实现可用缓冲的排队交互;
[0027]2)—个宽度为n bits的缓冲状态寄存器②,每一个bit用于描述对应缓冲单元的状态;
[0028]3) 一组缓冲单元③,用户交互数据,可以只是缓冲单元的描述信息,也可以是物理上实际的存储块;以下处理流程以描述信息为例进行说明。
[0029]4) 一个调度器④,实现FIFO内容读取调度和缓冲单元管理。
[0030]2.处理流程:
[0031]a.上电或复位后,①为空状态,②中所有位的值为“0”,表示对应缓冲空闲,③的描述信息无效,表示缓冲未配置,④检测①的空满标志。
[0032]b.主机软件执行缓冲分配操作,更新③的描述信息,用于识别各个缓冲的地址;
[0033]c.主机软件选择一个准备使用的缓冲,并写入数据,写入完成后,将②中缓冲的对应标志置为“1”,并将缓冲的序号写入①中;
[0034]d.④检测到①为“非空”状态后,从FIFO中读取队列顺序号,并根据读取的顺序号,从对应缓冲中提取数据进行处理;
[0035]e.④在数据处理完成后,根据缓冲单元顺序号,调度器将②中对应bit的值重新置为“0”,释放该缓冲,完成此单元数据的一次交互操作。
[0036]本发明能够实现数据交互的FIFO管理,并支持主机和逻辑的随机存期处理功能,同时能够有效简化逻辑电路设计。
【权利要求】
1.一种基于队列管理的可随机存储电路,其特征在于:包括 η个缓冲单元,与主机之间建立数据交互; 深度为η的FIFO存储器,主机端发送的对应于各个缓冲单元的缓冲编号通过该FIFO存储器顺序传递至调度器; 宽度为n bits的缓冲单元状态标志寄存器,其中的每一个bit用于描述对应缓冲单元的状态,由所述主机端和调度器分别负责置位和清零;以及 所述调度器,用以读取所述FIFO存储器和缓冲单元的内容并作出判断对缓冲单元状态标志寄存器中特定的bit清零。
2.权利要求1所述可随机存储电路的存取实现方法,包括以下步骤: 1)主机端分配缓冲单元,并根据对缓冲单元的使用设置向缓冲单元状态标志寄存器中填写缓冲使用标志,通过FIFO存储器传递缓冲编号; 2)调度调度器查询FIFO存储器状态,读取缓冲编号,进行数据读取和处理; 3)调度器完成处理后,对缓冲使用标志清零,释放缓冲单元,完成一次数据交互。
【文档编号】G06F13/16GK104503928SQ201410749390
【公开日】2015年4月8日 申请日期:2014年12月5日 优先权日:2014年12月5日
【发明者】张利洲, 蒲恺, 冯晓东, 刘陈 申请人:中国航空工业集团公司第六三一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1