CN104598194A - 一种头尾指针链表存储器的初始化方法及电路 - Google Patents

一种头尾指针链表存储器的初始化方法及电路 Download PDF

Info

Publication number
CN104598194A
CN104598194A CN201410752430.9A CN201410752430A CN104598194A CN 104598194 A CN104598194 A CN 104598194A CN 201410752430 A CN201410752430 A CN 201410752430A CN 104598194 A CN104598194 A CN 104598194A
Authority
CN
China
Prior art keywords
storage
chained list
control module
pointer register
idle
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
Application number
CN201410752430.9A
Other languages
English (en)
Other versions
CN104598194B (zh
Inventor
李哲
张荣华
王治
杨峰
夏大鹏
楼晓强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Xiangteng Microelectronics Technology Co Ltd
Original Assignee
AVIC No 631 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by AVIC No 631 Research Institute filed Critical AVIC No 631 Research Institute
Priority to CN201410752430.9A priority Critical patent/CN104598194B/zh
Publication of CN104598194A publication Critical patent/CN104598194A/zh
Application granted granted Critical
Publication of CN104598194B publication Critical patent/CN104598194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明涉及一种头尾指针链表存储器的初始化方法及电路,包括空闲队列、多个缓冲队列、空闲存储单元计数器、链表初始化计数器和链表更新控制单元;其中每个缓冲队列的头、尾指针寄存器均与链表更新控制单元相连、空闲队列的头、尾指针与链表更新控制单元相连,链表更新控制单元与空闲存储单元计数器、链表存储器、链表初始化计数器输出端均相连,链表初始化计数器输出的计数结果与参数D分别连接比较器的两个输入端,比较器的输出端与链表初始化计数器的使能端相连。通过该初始化方法实现队列头尾指针存储器的初始化,减少初始化延迟,达到立即复位立即工作的要求,采用参数化设置,适用于多种不同应用环境,增加了配置的灵活性。

Description

一种头尾指针链表存储器的初始化方法及电路
技术领域
本发明属于计算机硬件技术,涉及一种队列头尾指针存储器初始化方法及电路。
背景技术
在计算机通信中,随着应用数据量的不断增加,对存储器的存储效率要求越来越高,需要使用动态存储器管理的方法,线性链表是动态存储器管理经常使用的一种数据结构。多个队列通过各自的链表存储器的应用也越来越广泛。链表存储器包括多个存储单元、地址译码电路和读写控制电路,每个存储单元存储有帧控制信息和链表指针。链表存储器的初始化方法为:当链表存储器上电后,利用现有的初始化电路按照地址译码依次对每个存储单元进行写操作。如果存储单元比较多时,初始化时间很长,不能满足立即复位立即工作的要求,不适合在安全关键性***中使用。
发明内容
本发明的目的是提出一种硬件实现的队列头尾指针存储器初始化方法及电路。通过该初始化方法实现链表存储器的快速初始化,采用参数化设置,增加使用的灵活性。
本发明的技术解决方案是:
一种头尾指针链表存储器的初始化电路,其特殊之处在于:包括空闲队列、多个缓冲队列、空闲存储单元计数器、链表初始化计数器和链表更新控制单元;每个缓冲队列包括缓冲头指针寄存器、缓冲尾指针寄存器、缓冲队列编号以及在链表存储器中由该缓冲队列头指针、尾指针动态链接起来的多个缓冲帧数据,所述缓冲头指针寄存器用于指向该缓冲队列首帧缓冲数据在链表存储器中的存储地址;所述缓冲尾指针寄存器用于指向该队列尾帧缓冲数据在链表存储器中的存储地址;所述缓冲队列编号用于标识该缓冲队列的编码;
空闲队列包括空闲头指针寄存器、空闲尾指针寄存器以及在链表存储器中由该空闲队列头指针、尾指针动态链接起来的多个空闲存储单元,所述空闲头指针寄存器用于指向该空闲队列首个空闲存储单元在链表存储器中的存储地址;所述空闲尾指针寄存器用于指向该空闲队列最后一个空闲存储单元在链表存储器中的存储地址;
空闲存储单元计数器用于对链表存储器中的空闲存储单元进行计数;
链表初始化计数器用于对链表存储器首次顺序分配操作进行计数,输出链表存储器初始化标志信号和当前计数值给链表更新控制单元;当计数值达到链表存储器最大深度D时,链表存储器初始化标志信号为有效,否则为无效;当链表存储器初始化标志信号为有效时,链表初始化计数器停止计数;
链表更新控制单元:包括初始化完成标志寄存器和更新控制模块,所述更新控制模块用于维护空闲队列的空闲头指针寄存器和空闲尾指针寄存器;维护缓冲队列的缓冲头指针寄存器和缓冲尾指针寄存器;链表存储器存储单元中链表指针的获取或更新;所述初始化完成标志寄存器用于接收链表存储器初始化完成标志信号,供更新控制模块使用。
一种头尾指针链表存储器的初始化方法,其特殊之处在于:包括以下步骤:
一、当链表存储器初始化标志信号无效时缓冲队列入队操作和缓冲队列出队操作,具体如下:
1】缓冲队列入队操作:
1.1】链表更新控制单元获取链表初始化计数器的当前计数值L;
1.2】链表更新控制单元将链表初始化计数器的当前计数值L赋予缓冲尾指
针寄存器,将入队数据写入至链表存储器中的存储地址L中;
1.3】链表更新控制单元控制链表初始化计数器的计数值L加一,并将结果
赋予空闲头指针寄存器,作为新的空闲头指针寄存器的存储地址;
2】缓冲队列出队操作:
2.1】链表更新控制单元获取队列头指针寄存器的存储地址M,根据存储地
址M获得对应的存储单元的帧控制信息和链表指针Q;
2.2】链表更新控制单元将存储地址M赋予空闲尾指针寄存器;
2.3】链表更新控制单元将链表指针Q赋予队列头指针寄存器,作为新的队
列头指针寄存器的存储地址;
二、当链表存储器初始化标志信号有效时缓冲队列入队操作和缓冲队列出队操作,具体如下:
1】缓冲队列入队操作:
1.1】链表更新控制单元获取空闲头指针寄存器的存储地址N,根据存储地
址N找到对应的存储单元的链表指针P;
1.2】链表更新控制单元将获取空闲头指针寄存器的存储地址N赋予缓冲尾
指针寄存器,将入队数据写入至链表存储器中的存储地址N;
1.3】链表更新控制单元将链表指针P赋予空闲头指针寄存器,作为新的空
闲头指针寄存器的存储地址;
2】缓冲队列出队操作:
2.1】链表更新控制单元获取队列头指针寄存器的存储地址M,根据存储地
址M获得对应的存储单元的帧控制信息和链表指针Q;
2.2】链表更新控制单元将存储地址M赋予空闲尾指针寄存器;
2.3】链表更新控制单元将链表指针Q赋予队列头指针寄存器,作为新的队列头指针寄存器的存储地址。
本发明的有益效果:
1、减少初始化延迟:本发明采用硬件自动完成动态初始化过程,不需要软件干预,减少了初始化延迟。
2、灵活性:采用参数化设置,根据不同应用所需队列数或者且队列数据将要共享使用的存储器深度的不同,满足不同应用使用的灵活性要求。
附图说明
图1是本发明队列头尾指针存储器初始化电路的功能框图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
如图1所示,一种头尾指针链表存储器的初始化电路,包括空闲队列、多个缓冲队列、空闲存储单元计数器、链表初始化计数器和链表更新控制单元;每个缓冲队列包括缓冲头指针寄存器、缓冲尾指针寄存器、缓冲队列编号以及在链表存储器中由该缓冲队列头指针、尾指针动态链接起来的多个缓冲帧数据,所述缓冲头指针寄存器用于指向该缓冲队列首帧缓冲数据在链表存储器中的存储地址;所述缓冲尾指针寄存器用于指向该队列尾帧缓冲数据在链表存储器中的存储地址;所述缓冲队列编号用于标识该缓冲队列的编码;
空闲队列包括空闲头指针寄存器、空闲尾指针寄存器以及在链表存储器中由该空闲队列头指针、尾指针动态链接起来的多个空闲存储单元,所述空闲头指针寄存器用于指向该空闲队列首个空闲存储单元在链表存储器中的存储地址;所述空闲尾指针寄存器用于指向该空闲队列最后一个空闲存储单元在链表存储器中的存储地址;空闲存储单元计数器用于对链表存储器中的空闲存储单元进行计数;链表初始化计数器用于对链表存储器首次顺序分配操作进行计数,输出链表存储器初始化标志信号和当前计数值给链表更新控制单元;当计数值达到链表存储器最大深度D时,链表存储器初始化标志信号为有效,否则为无效;当链表存储器初始化标志信号为有效时,链表初始化计数器停止计数;链表更新控制单元:包括初始化完成标志寄存器和更新控制模块,所述更新控制模块用于维护空闲队列的空闲头指针寄存器和空闲尾指针寄存器;维护缓冲队列的缓冲头指针寄存器和缓冲尾指针寄存器;链表存储器存储单元中链表指针的获取或更新;所述初始化完成标志寄存器用于接收链表存储器初始化完成标志信号,供更新控制模块使用。
链表初始化计数器的复位初始值为零,当给缓冲队列分配一个空闲存储单元链表初始化计数器将进行加一操作,当加数值达到链表存储器最大深度时,输出链表存储器初始化完成标志信号,同时链表初始化计数器停止计数。
空闲存储单元计数器用于对链表存储器中的空闲存储单元进行计数;(给缓冲队列分配一个空闲存储单元进行减一操作,缓冲队列释放一个缓冲单元进行加一操作)。
所述一种头尾指针链表存储器的初始化方法,包括以下步骤:
一、当链表存储器初始化标志信号无效时缓冲队列入队操作和缓冲队列出队操作,具体如下:
1】缓冲队列入队操作:
1.1】链表更新控制单元获取链表初始化计数器的当前计数值L;
1.2】链表更新控制单元将链表初始化计数器的当前计数值L赋予缓冲尾指
针寄存器,将入队数据写入至链表存储器中的存储地址L中;
1.3】链表更新控制单元控制链表初始化计数器的计数值L加一,并将结果
赋予空闲头指针寄存器,作为新的空闲头指针寄存器的存储地址;
2】缓冲队列出队操作:
2.1】链表更新控制单元获取队列头指针寄存器的存储地址M,根据存储地
址M获得对应的存储单元的帧控制信息和链表指针Q;
2.2】链表更新控制单元将存储地址M赋予空闲尾指针寄存器;
2.3】链表更新控制单元将链表指针Q赋予队列头指针寄存器,作为新的队
列头指针寄存器的存储地址;
二、当链表存储器初始化标志信号有效时缓冲队列入队操作和缓冲队列出队操作,具体如下:
1】缓冲队列入队操作:
1.1】链表更新控制单元获取空闲头指针寄存器的存储地址N,根据存储地
址N找到对应的存储单元的链表指针P;
1.2】链表更新控制单元将获取空闲头指针寄存器的存储地址N赋予缓冲尾
指针寄存器,将入队数据写入至链表存储器中的存储地址N;
1.3】链表更新控制单元将链表指针P赋予空闲头指针寄存器,作为新的空
闲头指针寄存器的存储地址;
2】缓冲队列出队操作:
2.1】链表更新控制单元获取队列头指针寄存器的存储地址M,根据存储地
址M获得对应的存储单元的帧控制信息和链表指针Q;
2.2】链表更新控制单元将存储地址M赋予空闲尾指针寄存器;
2.3】链表更新控制单元将链表指针Q赋予队列头指针寄存器,作为新的队列头指针寄存器的存储地址。

Claims (2)

1.一种头尾指针链表存储器的初始化电路,其特征在于:包括空闲队列、多个缓冲队列、空闲存储单元计数器、链表初始化计数器和链表更新控制单元;每个缓冲队列包括缓冲头指针寄存器、缓冲尾指针寄存器、缓冲队列编号以及在链表存储器中由该缓冲队列头指针、尾指针动态链接起来的多个缓冲帧数据,所述缓冲头指针寄存器用于指向该缓冲队列首帧缓冲数据在链表存储器中的存储地址;所述缓冲尾指针寄存器用于指向该队列尾帧缓冲数据在链表存储器中的存储地址;所述缓冲队列编号用于标识该缓冲队列的编码;
空闲队列包括空闲头指针寄存器、空闲尾指针寄存器以及在链表存储器中由该空闲队列头指针、尾指针动态链接起来的多个空闲存储单元,所述空闲头指针寄存器用于指向该空闲队列首个空闲存储单元在链表存储器中的存储地址;所述空闲尾指针寄存器用于指向该空闲队列最后一个空闲存储单元在链表存储器中的存储地址;
空闲存储单元计数器用于对链表存储器中的空闲存储单元进行计数;
链表初始化计数器用于对链表存储器首次顺序分配操作进行计数,输出链表存储器初始化标志信号和当前计数值给链表更新控制单元;当计数值达到链表存储器最大深度D时,链表存储器初始化标志信号为有效,否则为无效;当链表存储器初始化标志信号为有效时,链表初始化计数器停止计数;
链表更新控制单元:包括初始化完成标志寄存器和更新控制模块,所述更新控制模块用于维护空闲队列的空闲头指针寄存器和空闲尾指针寄存器;维护缓冲队列的缓冲头指针寄存器和缓冲尾指针寄存器;链表存储器存储单元中链表指针的获取或更新;所述初始化完成标志寄存器用于接收链表存储器初始化完成标志信号,供更新控制模块使用。
2.一种头尾指针链表存储器的初始化方法,其特征在于:包括以下步骤:
一、当链表存储器初始化标志信号无效时缓冲队列入队操作和缓冲队列出队操作,具体如下:
1】缓冲队列入队操作:
1.1】链表更新控制单元获取链表初始化计数器的当前计数值L;
1.2】链表更新控制单元将链表初始化计数器的当前计数值L赋予缓冲尾指针寄存器,将入队数据写入至链表存储器中的存储地址L中;
1.3】链表更新控制单元控制链表初始化计数器的计数值L加一,并将结果赋予空闲头指针寄存器,作为新的空闲头指针寄存器的存储地址;
2】缓冲队列出队操作:
2.1】链表更新控制单元获取队列头指针寄存器的存储地址M,根据存储地址M获得对应的存储单元的帧控制信息和链表指针Q;
2.2】链表更新控制单元将存储地址M赋予空闲尾指针寄存器;
2.3】链表更新控制单元将链表指针Q赋予队列头指针寄存器,作为新的队列头指针寄存器的存储地址;
二、当链表存储器初始化标志信号有效时缓冲队列入队操作和缓冲队列出队操作,具体如下:
1】缓冲队列入队操作:
1.1】链表更新控制单元获取空闲头指针寄存器的存储地址N,根据存储地址N找到对应的存储单元的链表指针P;
1.2】链表更新控制单元将获取空闲头指针寄存器的存储地址N赋予缓冲尾指针寄存器,将入队数据写入至链表存储器中的存储地址N;
1.3】链表更新控制单元将链表指针P赋予空闲头指针寄存器,作为新的空闲头指针寄存器的存储地址;
2】缓冲队列出队操作:
2.1】链表更新控制单元获取队列头指针寄存器的存储地址M,根据存储地址M获得对应的存储单元的帧控制信息和链表指针Q;
2.2】链表更新控制单元将存储地址M赋予空闲尾指针寄存器;
2.3】链表更新控制单元将链表指针Q赋予队列头指针寄存器,作为新的队列头指针寄存器的存储地址。
CN201410752430.9A 2014-12-09 2014-12-09 一种头尾指针链表存储器的初始化方法及电路 Active CN104598194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410752430.9A CN104598194B (zh) 2014-12-09 2014-12-09 一种头尾指针链表存储器的初始化方法及电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410752430.9A CN104598194B (zh) 2014-12-09 2014-12-09 一种头尾指针链表存储器的初始化方法及电路

Publications (2)

Publication Number Publication Date
CN104598194A true CN104598194A (zh) 2015-05-06
CN104598194B CN104598194B (zh) 2017-10-24

Family

ID=53124019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410752430.9A Active CN104598194B (zh) 2014-12-09 2014-12-09 一种头尾指针链表存储器的初始化方法及电路

Country Status (1)

Country Link
CN (1) CN104598194B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126435A (zh) * 2016-06-28 2016-11-16 武汉日电光通信工业有限公司 一种实现链表流水操作的电路结构及操作方法
CN108052411A (zh) * 2017-12-27 2018-05-18 杭州迪普科技股份有限公司 一种单向链表中断的修复方法和装置
CN112559400A (zh) * 2020-12-03 2021-03-26 南京盛科网络有限公司 多级调度装置、方法、网络芯片及计算机可读存储介质
CN114968130A (zh) * 2022-08-01 2022-08-30 深圳云豹智能有限公司 链表初始化装置、方法、***、计算机设备和存储介质
CN115934004A (zh) * 2023-03-09 2023-04-07 摩尔线程智能科技(北京)有限责任公司 链表形式的队列管理电路、方法、存储装置及电子设备
CN116755635A (zh) * 2023-08-15 2023-09-15 苏州浪潮智能科技有限公司 一种硬盘控制器缓存***、方法、硬盘设备及电子设备
CN117745517A (zh) * 2023-12-12 2024-03-22 沐曦科技(北京)有限公司 一种用于标记组存储的处理方法
CN117745517B (zh) * 2023-12-12 2024-07-26 沐曦科技(北京)有限公司 一种用于标记组存储的处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605100A (zh) * 2009-07-15 2009-12-16 华为技术有限公司 队列存储空间的管理方法和设备
CN101963896A (zh) * 2010-08-20 2011-02-02 中国科学院计算技术研究所 一种具有二次索引结构的存储设备及其操作方法
US20120163396A1 (en) * 2010-12-22 2012-06-28 Brocade Communications Systems, Inc. Queue speed-up by using multiple linked lists
CN103064948A (zh) * 2012-12-27 2013-04-24 中国航空工业集团公司第六三一研究所 基于散列链表的内容寻址方法及相应的存储器电路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605100A (zh) * 2009-07-15 2009-12-16 华为技术有限公司 队列存储空间的管理方法和设备
CN101963896A (zh) * 2010-08-20 2011-02-02 中国科学院计算技术研究所 一种具有二次索引结构的存储设备及其操作方法
US20120163396A1 (en) * 2010-12-22 2012-06-28 Brocade Communications Systems, Inc. Queue speed-up by using multiple linked lists
CN103064948A (zh) * 2012-12-27 2013-04-24 中国航空工业集团公司第六三一研究所 基于散列链表的内容寻址方法及相应的存储器电路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张荣华等: "基于链表的动态存储器管理设计与实现", 《计算机技术与发展》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126435A (zh) * 2016-06-28 2016-11-16 武汉日电光通信工业有限公司 一种实现链表流水操作的电路结构及操作方法
CN106126435B (zh) * 2016-06-28 2019-07-23 武汉众邦领创技术有限公司 一种实现链表流水操作的电路结构及操作方法
CN108052411A (zh) * 2017-12-27 2018-05-18 杭州迪普科技股份有限公司 一种单向链表中断的修复方法和装置
CN108052411B (zh) * 2017-12-27 2020-12-29 杭州迪普科技股份有限公司 一种单向链表中断的修复方法和装置
CN112559400A (zh) * 2020-12-03 2021-03-26 南京盛科网络有限公司 多级调度装置、方法、网络芯片及计算机可读存储介质
CN114968130A (zh) * 2022-08-01 2022-08-30 深圳云豹智能有限公司 链表初始化装置、方法、***、计算机设备和存储介质
CN114968130B (zh) * 2022-08-01 2022-09-30 深圳云豹智能有限公司 链表初始化装置、方法、***、计算机设备和存储介质
CN115934004A (zh) * 2023-03-09 2023-04-07 摩尔线程智能科技(北京)有限责任公司 链表形式的队列管理电路、方法、存储装置及电子设备
CN116755635A (zh) * 2023-08-15 2023-09-15 苏州浪潮智能科技有限公司 一种硬盘控制器缓存***、方法、硬盘设备及电子设备
CN116755635B (zh) * 2023-08-15 2023-11-03 苏州浪潮智能科技有限公司 一种硬盘控制器缓存***、方法、硬盘设备及电子设备
CN117745517A (zh) * 2023-12-12 2024-03-22 沐曦科技(北京)有限公司 一种用于标记组存储的处理方法
CN117745517B (zh) * 2023-12-12 2024-07-26 沐曦科技(北京)有限公司 一种用于标记组存储的处理方法

Also Published As

Publication number Publication date
CN104598194B (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
CN104598194A (zh) 一种头尾指针链表存储器的初始化方法及电路
CN105117170A (zh) 一种计算机***架构
CN111538461B (zh) 基于固态硬盘缓存的数据读写方法、装置及存储介质
CN104407933A (zh) 一种数据的备份方法及装置
CN103229136B (zh) 磁盘阵列刷盘方法及磁盘阵列刷盘装置
CN204650401U (zh) 一种兼容nvme硬盘的硬盘背板
CN112162706A (zh) 一种硬盘管理方法、装置、设备及机器可读存储介质
WO2020147253A1 (zh) 一种数据读写方法及装置、交换芯片及存储介质
EP3206123B1 (en) Data caching method and device, and storage medium
CN105138281B (zh) 一种物理磁盘的共享方法及装置
EP2808778A1 (en) Capacity expansion method and device
CN104954400A (zh) 云计算***及其实现方法
WO2008084531A1 (ja) メモリ管理装置
CN103309626A (zh) 实现网络芯片多读写端口存储器的方法及相应存储器
CN103885829A (zh) 一种基于统计的虚拟机跨数据中心动态迁移优化方法
CN105260332A (zh) 一种对cpld数据包进行有序存储的方法及***
CN111625180B (zh) 数据写入方法及装置、存储介质
CN103514140B (zh) 用于实现可重构***中配置信息多发射的重构控制器
CN104991736A (zh) 写数据方法、装置以及存储设备
CN106254270A (zh) 一种队列管理方法及装置
US11789615B2 (en) Nonvolatile memory scheduling method, system and device, and readable storage medium
CN103713953A (zh) 一种内存数据的搬移装置及方法
CN103092725B (zh) 一种实现存储器中数据备份的方法及装置
CN103746940B (zh) 一种网络设备以及解包输出报文的方法
CN102147786B (zh) 一种双端口虚拟fifo数据交换的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221129

Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075

Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: No.15, Jinye 2nd Road, Xi'an, Shaanxi 710119

Patentee before: 631ST Research Institute OF AVIC