CN107145337B - 一种数据流处理芯片的表项访问方法及装置 - Google Patents

一种数据流处理芯片的表项访问方法及装置 Download PDF

Info

Publication number
CN107145337B
CN107145337B CN201610116201.7A CN201610116201A CN107145337B CN 107145337 B CN107145337 B CN 107145337B CN 201610116201 A CN201610116201 A CN 201610116201A CN 107145337 B CN107145337 B CN 107145337B
Authority
CN
China
Prior art keywords
access
access request
control plane
entry
plane
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.)
Active
Application number
CN201610116201.7A
Other languages
English (en)
Other versions
CN107145337A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610116201.7A priority Critical patent/CN107145337B/zh
Priority to PCT/CN2017/070446 priority patent/WO2017148218A1/zh
Publication of CN107145337A publication Critical patent/CN107145337A/zh
Application granted granted Critical
Publication of CN107145337B publication Critical patent/CN107145337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据流处理芯片的表项访问方法及装置,涉及数据流处理芯片领域。本发明公开的数据流处理芯片的表项访问方法,包括:收到表项访问请求时,判断该表项访问请求的访问源类型;若所述访问请求的访问源类型为控制平面访问,则按照控制平面内一级仲裁机制,选举当前的表项访问请求,进行对应处理;若所述访问请求的访问源类型为数据平面访问,则按照数据平面内一级仲裁机制,选举出当前的表项访问请求,进行对应处理。本发明还公开了一种数据流处理芯片的表项访问装置。与现有技术相比,本申请技术方案具有原理简单、结构清晰、资源消耗合理的特点。

Description

一种数据流处理芯片的表项访问方法及装置
技术领域
本发明涉及数据流处理芯片领域,尤其是涉及一种数据流处理芯片的表项访问方法及装置。
背景技术
数据流处理芯片(IC芯片以及数据流处理FPGA,Field Programmable GateArray,现场可编程阵列)中,经常涉及到表项访问问题。典型的,CPU可能对表项进行读写,而数据流处理模块也可能会对表项进行读写操作。
多个访问源对同一表项访问的问题,可以借鉴传统操作系统理论中的多个进程访问临界资源的处理方法,也可以参考多核系统中对共享资源的访问技术。
传统操作系统中,多个进程访问临界资源,有各种成熟的方法,如G.L.Peterson解决方案、E.W.Dijkstra的信号量机制(互斥锁)等;而多核系统中对共享资源访问技术包括TSL指令方法、自旋锁等。这些方法的共同特点是需要设计一个共享(锁)变量,围绕这个锁变量,设计一套进入临界区和离开临界区的动作。以上实现方法,比较适合运用于软件层面,如果用于在芯片或FPGA上访问表项,则略显复杂。
对于芯片或FPGA上的表项访问,还有一种比较简单直观的方法是对每一个表项创建一个状态机,由状态机对各个访问请求进行仲裁,其原理如图1所示。但是,此方法在芯片/FPGA表项较少的情况下,还是可行的。如果表项非常多,那么相关实现就会非常杂乱,并且耗费资源。
发明内容
本发明提供一种数据流处理芯片的表项访问方法及装置,可以解决现有技术访问数据流芯片/FPGA中的表项时,实现复杂的问题。
本发明公开的一种数据流处理芯片的表项访问方法,该方法包括:
收到表项访问请求时,若确定所述表项访问请求的访问源类型为控制平面访问,则按照控制平面内一级仲裁机制,选举当前的表项访问请求,进行对应处理;
若确定所述表项访问请求的访问源类型为数据平面访问,则按照数据平面内一级仲裁机制,选举出当前的表项访问请求,进行对应处理。
可选地,上述方法中,按照控制平面内一级仲裁机制,选举当前的表面访问请求的过程包括:
通过状态机序列化控制平面上所有表项访问请求,选举出当前的表项访问请求,其中,系统所有表项与一个状态机对应。
可选地,上述方法还包括:
若所述控制平面和数据平面同时选举出当前的表项访问请求,则按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求,进行对应处理。
可选地,上述方法中,按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求包括:
使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求。
可选地,上述方法中,使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求的过程包括:
分别配置控制平面表访问位图锁,和数据平面表访问位图锁,其中,配置的位图中每一位对应一个表项;
当控制平面选举出访问请求时,将控制平面表访问位图锁中所选举出的访问请求访问的表项对应的比特位置为有效值;
将控制平面表访问位图锁和数据平面表访问位图锁进行与运算,再进行归约或运算;
如果运算结果为非有效值,则按照控制平面选举出的访问请求进行访问操作,并在访问操作结束后,将控制平面表访问位图锁中所访问的表项对应的比特位置为无效值;
如果运算结果为有效值,则等待数据平面完成对所要访问的表项的访问并解锁。
可选地,上述方法中,使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求的过程包括:
分别配置控制平面表访问位图锁,和数据平面表访问位图锁,其中,配置的位图中每一位对应一个表项;
当数据平面选举出访问请求时,查询控制平面表访问位图锁中所要访问的表项对应的比特位的值是否为有效值;
如果控制平面表访问位图锁中所访问的表项对应的比特位的值为有效值,则数据平面选举出的访问请求等待,直到控制平面完成对该表项的访问并解锁;
如果控制平面表访问位图锁中所访问的表项对应的比特位的值为非有效值,则将数据平面表访问位图锁中所要访问的表项对应的比特位的值置为有效值,则按照数据平面选举出的访问请求进行访问操作,并在访问操作结束后,将数据平面表访问位图锁中所访问的表项对应的比特位置为无效值。
本发明还公开了一种数据流处理芯片的表项访问装置,包括分配单元、控制平面处理单元和数据平面处理单元,其中:
所述分配单元,收到表项访问请求时,若确定所述表项访问请求的访问源类型为控制平面访问,将该表项访问请求发送到所述控制平面处理单元,若确定所述表项访问请求的访问源类型为数据平面访问,将该表项访问请求发送到所述数据平面处理单元;
所述控制平面处理单元,按照控制平面内一级仲裁机制,选举当前的表项访问请求,进行对应处理;
所述数据平面处理单元,按照数据平面内一级仲裁机制,选举出当前的表项访问请求,进行对应处理。
可选地,上述装置中,所述控制平面处理单元按照控制平面内一级仲裁机制,选举当前的表面访问请求指:
所述控制平面处理单元利用状态机序列化控制平面上所有表项访问请求,选举出当前的表项访问请求,其中,系统所有表项与一个状态机对应。
可选地,上述装置还包括:
平面间处理单元,在所述控制平面处理单元和数据平面处理单元同时选举出当前的表项访问请求时,按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求,进行对应处理。
可选地,上述装置中,所述平面间处理单元按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求指:
所述平面间处理单元使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求。
可选地,上述装置中,所述平面间处理单元使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求指:
分别配置控制平面表访问位图锁,和数据平面表访问位图锁,其中,配置的位图中每一位对应一个表项;
当控制平面选举出访问请求时,将控制平面表访问位图锁中所选举出的访问请求访问的表项对应的比特位置为有效值;
将控制平面表访问位图锁和数据平面表访问位图锁进行与运算,再进行归约或运算;
如果运算结果为非有效值,则按照控制平面选举出的访问请求进行访问操作,并在访问操作结束后,将控制平面表访问位图锁中所访问的表项对应的比特位置为无效值;
如果运算结果为有效值,则等待数据平面完成对所要访问的表项的访问并解锁。
可选地,上述装置中,所述平面间处理单元使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求指:
分别配置控制平面表访问位图锁,和数据平面表访问位图锁,其中,配置的位图中每一位对应一个表项;
当数据平面选举出访问请求时,查询控制平面表访问位图锁中所要访问的表项对应的比特位的值是否为有效值;
如果控制平面表访问位图锁中所访问的表项对应的比特位的值为有效值,则数据平面选举出的访问请求等待,直到控制平面完成对该表项的访问并解锁;
如果控制平面表访问位图锁中所访问的表项对应的比特位的值为非有效值,则将数据平面表访问位图锁中所要访问的表项对应的比特位的值置为有效值,则按照数据平面选举出的访问请求进行访问操作,并在访问操作结束后,将数据平面表访问位图锁中所访问的表项对应的比特位置为无效值。
与现有技术相比,本申请技术方案具有原理简单、结构清晰、资源消耗合理的特点。
附图说明
图1是现有技术中简单直观的表项访问原理示意图;
图2是本发明实施例进行表项访问的原理示意图;
图3是本发明描述的表项访问方法的具体实现。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
实施例1
本申请发明人提出,可以基于图2的原理,进行芯片/FPGA表项管理和访问,即将表的访问分成两级仲裁,控制平面内或数据平面内的表访问为第一级,使用一级仲裁机制序列化访问,以解决访问冲突。控制平面和数据平面之间的表访问为第二级,使用二级仲裁机制解决访问冲突。在绝大部分情况下,数据平面内只有读表访问,此时不需要数据平面内的仲裁,因此图2中模块写表请求和数据平面的一级仲裁机制都画成了虚框。
基于上述思想,本实施例提供一种数据流处理芯片的表项访问方法,主要包括如下操作:
步骤100,收到表项访问请求时,判断该表项访问请求的访问源类型;
本实施例将表项的访问按访问源划分为两类:控制平面(control plane)访问和数据平面(data plane)访问。其中,控制平面访问包括CPU读写表项和表项初始化;数据平面访问为数据流处理模块对表的读写。
步骤200a,若所述访问请求的访问源类型为控制平面访问,则按照控制平面内一级仲裁机制,选举当前的表项访问请求,进行对应处理;
其中,使用一级仲裁机制序列化控制平面上对表的访问。一级仲裁机制可使用状态机或其它机制实现。以状态机为例,所有表项可共用一个状态机。在任意时刻,CPU只可能访问一个表,并且只可能进行读或写,而表项初始化动作只在系统启动时进行。因此,序列化控制平面的表项访问不会造成任何性能上的损失,而所有表项共用一个状态机可极大简化表项访问架构,并节省资源。
步骤200b,若所述访问请求的访问源类型为数据平面访问,则按照数据平面内一级仲裁机制,选举出当前的表项访问请求,进行对应处理,
其中,如有必要,使用一级仲裁机制将数据平面上对表项的访问进行序列化。一级仲裁机制可使用状态机或其它机制实现。仍以状态机为例,此时,一个表项需要一个状态机。实践表明,数据流处理芯片中,绝大部分数据处理模块对表的访问仅有读表操作,在这种情况下,不需要使用状态机。部分数据处理模块对表有多种操作的情形,可以通过使用双口RAM(Random Access Memory,随机存取存储器)实现表项的方式,将访问分配到不同访问端口上,从而简化为一个读或写操作,此时也不需要使用状态机。特别特殊的情况,例如交换芯片(一种数据流处理芯片)中数据处理模块对MAC表(Media Access Control,介质访问控制表)的访问,存在多读多写的情况(可能多达3读3写),此时需要数据处理模块本身完成表项的读写控制,不能再简单地应用本发明提供的表项管理方法。
如果数据平面对表项存在多个访问,部分情形可以采用双口RAM实现表项,将访问分布到不同RAM端口,在一个RAM端口上应用本发明描述的方法;部分情形可以采用复制表方法实现表项,再应用本发明描述的方法。
要注意的是,按照上述方法进行访问请求操作时,还可能出现控制平面和数据平面同时选举出当前的表项访问请求的情况,此时就可以采用平面间二级仲裁机制进一步仲裁。
具体地,使用二级仲裁机制对控制平面选举(仲裁)出的访问请求和数据平面选举出的访问请求进行仲裁,决定处理哪个访问时,二级仲裁机制可以使用位图锁对(bitmaplock pair)的形式或其它机制实现。位图锁对(bitmap lock pair)机制实现方法如下:
步骤i)设计一个控制平面表访问位图锁,一个数据平面表访问位图锁,位图中每一位都对应一个表项。两个位图锁皆系统初始化为0(即0为无效值)。
步骤ii)数据平面访问表项时,先检查控制平面表访问位图锁中表项对应的比特位是否为1(本实施例中1即为有效值),如不为1,则数据平面表访问位图锁中的表项对应位置1,数据流处理模块访问表项结束后,数据平面表访问位图锁中的表项对应位清0;如果控制平面表访问位图锁对应位为1,则数据平面访问等待,直到控制平面完成对表项的访问并解锁。
步骤iii)控制平面访问表项时,先将控制平面表访问位图锁中表项对应的比特位置1,然后将控制平面表访问位图锁和数据平面表访问位图锁进行与运算(此时可将控制平面表访问位图锁视为位图掩码),再进行归约或运算,如果值不为1,则进行相关访问,访问结束后控制平面表访问位图锁中表项对应位清0,如果为1,则等待数据平面完成对表的访问并解锁。
要说明的是,如果系统为提高性能等原因,将某表项复制了若干份,由若干并行分支同时进行处理。本实施例提供的方法也可处理。此时,每个复制表项都应在两个位图锁中各占有一个比特位,当控制平面访问表项时(读操作只需访问其中任意一个表项,写操作需同时访问所有复制表项),需要同时将所有复制表项对应的比特位置1或清0,而数据平面的表项访问则只需操作访问特定复制表项对应的比特位。
其中,对于物理上存在多张表,但逻辑上为一张表的情形,例如散列表(hash表),只在两个位图锁中各占一个比特位。
实施例2
本实施例提供一种数据流处理芯片的表项访问装置,主要包括分配单元、控制平面处理单元和数据平面处理单元,其中:
分配单元,收到表项访问请求时,判断该表项访问请求的访问源类型,若访问请求的访问源类型为控制平面访问,将该表项访问请求发送到所述控制平面处理单元,若访问请求的访问源类型为数据平面访问,将该表项访问请求发送到所述数据平面处理单元;
控制平面处理单元,按照控制平面内一级仲裁机制,选举当前的表项访问请求,进行对应处理;
具体地,控制平面处理单元可以利用状态机序列化控制平面上所有表项访问请求,选举出当前的表项访问请求,其中,系统所有表项与一个状态机对应。
数据平面处理单元,按照数据平面内一级仲裁机制,选举出当前的表项访问请求,进行对应处理。
要说明的是,还可能出现控制平面和数据平面同时选举出当前的表项访问请求的情况,故此时需要增加一个平面间处理单元,其可以采用平面间二级仲裁机制进一步仲裁。具体地,可以在控制平面处理单元和数据平面处理单元同时选举出当前的表项访问请求时,按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求,进行对应处理。
下面结合附图对本申请技术方案的优选实施作进一步的详细描述,图3和以下描述都按模块级实现(图3为未标出分配单元)。假定某模块存在n个表(数据平面上模块可以独立访问的表均视为1张表,例如:复制表可独立访问,因此每张复制表也视为1张表,均需计入;而hash表尽管可能存在多张物理表,但因为模块只能同时访问,因此只视为1张表),模块对表的访问仅为读访问,则实施步骤为:
1)为n个表设计两组位图锁,一组为ctrl_plane_table_lock[n-1:0];一组为data_plane_table_lock[n-1:0],两组锁初始值均为0(本实施例中0即为无效值),即开锁状态。
2)为所有表的control plane上的访问设计一个状态机,响应control plane的各种访问请求;data plane上因为只有读访问请求,不需要再设计状态机。
3)data plane上发起读表请求(模块读表请求),检查control plane位图锁相应位是否为0,是则将data plane位图锁相应位置1(本实施例中1即为有效值),继续访问,否则等待。访问完毕后,data plane锁相应位清0。
4)contrl plane上发起访问表请求(cpu访问请求或表项初始化),则先将controlplane位图锁对应表项的位置1(上锁),下一步再检查|(data_plane_table_lock&ctrl_plane_table_lock)是否为1,如是,则等待data plane解锁,如不是,则进行相关访问动作,访问完毕后将control plane位图锁相应位清0。
从上述实施例可以看出,本申请技术方案简化了数据流芯片/FPGA的表项访问过程。其中,控制平面内的一级仲裁机制,可以使用状态机实现,用以仲裁CPU访问及表项初始化。并且,由于绝大部分情况下,数据平面内只有读表访问,故系统只需要一个状态机,因此可以节省逻辑资源。另外,本申请的优选方案中,控制平面和数据平面间采用的二级仲裁机制使用位图锁对(图3中的锁机制)实现。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据流处理芯片的表项访问方法,其特征在于,该方法包括:
收到表项访问请求时,若确定所述表项访问请求的访问源类型为控制平面访问,则按照控制平面内一级仲裁机制,选举当前的表项访问请求,进行对应处理;
若确定所述表项访问请求的访问源类型为数据平面访问,则按照数据平面内一级仲裁机制,选举出当前的表项访问请求,进行对应处理;
该方法还包括:
若所述控制平面和数据平面同时选举出当前的表项访问请求,则按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求,进行对应处理。
2.如权利要求1所述的方法,其特征在于,按照控制平面内一级仲裁机制,选举当前的表面访问请求的过程包括:
通过状态机序列化控制平面上所有表项访问请求,选举出当前的表项访问请求,其中,系统所有表项与一个状态机对应。
3.如权利要求1所述的方法,其特征在于,按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求包括:
使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求。
4.如权利要求3所述的方法,其特征在于,使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求的过程包括:
分别配置控制平面表访问位图锁,和数据平面表访问位图锁,其中,配置的位图中每一位对应一个表项;
当控制平面选举出访问请求时,将控制平面表访问位图锁中所选举出的访问请求访问的表项对应的比特位置为有效值;
将控制平面表访问位图锁和数据平面表访问位图锁进行与运算,再进行归约或运算;
如果运算结果为非有效值,则按照控制平面选举出的访问请求进行访问操作,并在访问操作结束后,将控制平面表访问位图锁中所访问的表项对应的比特位置为无效值;
如果运算结果为有效值,则等待数据平面完成对所要访问的表项的访问并解锁。
5.如权利要求3所述的方法,其特征在于,使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求的过程包括:
分别配置控制平面表访问位图锁,和数据平面表访问位图锁,其中,配置的位图中每一位对应一个表项;
当数据平面选举出访问请求时,查询控制平面表访问位图锁中所要访问的表项对应的比特位的值是否为有效值;
如果控制平面表访问位图锁中所访问的表项对应的比特位的值为有效值,则数据平面选举出的访问请求等待,直到控制平面完成对该表项的访问并解锁;
如果控制平面表访问位图锁中所访问的表项对应的比特位的值为非有效值,则将数据平面表访问位图锁中所要访问的表项对应的比特位的值置为有效值,则按照数据平面选举出的访问请求进行访问操作,并在访问操作结束后,将数据平面表访问位图锁中所访问的表项对应的比特位置为无效值。
6.一种数据流处理芯片的表项访问装置,其特征在于,包括分配单元、控制平面处理单元和数据平面处理单元,其中:
所述分配单元,收到表项访问请求时,若确定所述表项访问请求的访问源类型为控制平面访问,将该表项访问请求发送到所述控制平面处理单元,若确定所述表项访问请求的访问源类型为数据平面访问,将该表项访问请求发送到所述数据平面处理单元;
所述控制平面处理单元,按照控制平面内一级仲裁机制,选举当前的表项访问请求,进行对应处理;
所述数据平面处理单元,按照数据平面内一级仲裁机制,选举出当前的表项访问请求,进行对应处理;
该装置还包括:
平面间处理单元,在所述控制平面处理单元和数据平面处理单元同时选举出当前的表项访问请求时,按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求,进行对应处理。
7.如权利要求6所述的装置,其特征在于,所述控制平面处理单元按照控制平面内一级仲裁机制,选举当前的表面访问请求指:
所述控制平面处理单元利用状态机序列化控制平面上所有表项访问请求,选举出当前的表项访问请求,其中,系统所有表项与一个状态机对应。
8.如权利要求6所述的装置,其特征在于,所述平面间处理单元按照平面间二级仲裁机制,从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求指:
所述平面间处理单元使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求。
9.如权利要求8所述的装置,其特征在于,所述平面间处理单元使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求指:
分别配置控制平面表访问位图锁,和数据平面表访问位图锁,其中,配置的位图中每一位对应一个表项;
当控制平面选举出访问请求时,将控制平面表访问位图锁中所选举出的访问请求访问的表项对应的比特位置为有效值;
将控制平面表访问位图锁和数据平面表访问位图锁进行与运算,再进行归约或运算;
如果运算结果为非有效值,则按照控制平面选举出的访问请求进行访问操作,并在访问操作结束后,将控制平面表访问位图锁中所访问的表项对应的比特位置为无效值;
如果运算结果为有效值,则等待数据平面完成对所要访问的表项的访问并解锁。
10.如权利要求8所述的装置,其特征在于,所述平面间处理单元使用位图锁对的方式从控制平面选举出的当前的表项访问请求和数据平面选举出的当前的表项访问请求中选举出一个表项访问请求指:
分别配置控制平面表访问位图锁,和数据平面表访问位图锁,其中,配置的位图中每一位对应一个表项;
当数据平面选举出访问请求时,查询控制平面表访问位图锁中所要访问的表项对应的比特位的值是否为有效值;
如果控制平面表访问位图锁中所访问的表项对应的比特位的值为有效值,则数据平面选举出的访问请求等待,直到控制平面完成对该表项的访问并解锁;
如果控制平面表访问位图锁中所访问的表项对应的比特位的值为非有效值,则将数据平面表访问位图锁中所要访问的表项对应的比特位的值置为有效值,则按照数据平面选举出的访问请求进行访问操作,并在访问操作结束后,将数据平面表访问位图锁中所访问的表项对应的比特位置为无效值。
CN201610116201.7A 2016-03-01 2016-03-01 一种数据流处理芯片的表项访问方法及装置 Active CN107145337B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610116201.7A CN107145337B (zh) 2016-03-01 2016-03-01 一种数据流处理芯片的表项访问方法及装置
PCT/CN2017/070446 WO2017148218A1 (zh) 2016-03-01 2017-01-06 一种数据流处理芯片的表项访问方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610116201.7A CN107145337B (zh) 2016-03-01 2016-03-01 一种数据流处理芯片的表项访问方法及装置

Publications (2)

Publication Number Publication Date
CN107145337A CN107145337A (zh) 2017-09-08
CN107145337B true CN107145337B (zh) 2021-06-29

Family

ID=59742520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610116201.7A Active CN107145337B (zh) 2016-03-01 2016-03-01 一种数据流处理芯片的表项访问方法及装置

Country Status (2)

Country Link
CN (1) CN107145337B (zh)
WO (1) WO2017148218A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100097B (zh) * 2020-11-17 2021-01-26 杭州长川科技股份有限公司 多测试通道优先级自适应仲裁方法和存储器访问控制器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112226A1 (en) * 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
TW201017421A (en) * 2008-09-24 2010-05-01 Panasonic Corp Cache memory, memory system and control method therefor
US20120054824A1 (en) * 2009-04-10 2012-03-01 Ryo Furukawa Access control policy template generating device, system, method and program
CN102012791B (zh) * 2010-10-15 2013-06-19 中国人民解放军国防科学技术大学 基于Flash的数据存储PCIE板卡
CN102957619B (zh) * 2011-08-25 2016-05-18 清华大学 虚拟路由系统及方法
CN102521155B (zh) * 2011-12-12 2014-09-10 盛科网络(苏州)有限公司 实现表项在物理存储器上动态分配的方法和装置
CN103034593B (zh) * 2012-12-11 2015-07-22 中国人民解放军国防科学技术大学 面向众核处理器的片上锁变量全局编址存储方法及装置

Also Published As

Publication number Publication date
WO2017148218A1 (zh) 2017-09-08
CN107145337A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
JP3634932B2 (ja) データ完全性を維持するためのスピン・バッファおよび方法
US20030131067A1 (en) Hardware support for partitioning a multiprocessor system to allow distinct operating systems
US8561064B2 (en) Retaining ownership of a virtual function while an adapter is replaced
US8195896B2 (en) Resource sharing techniques in a parallel processing computing system utilizing locks by replicating or shadowing execution contexts
US5907862A (en) Method and apparatus for the sharing of a memory device by multiple processors
CN112948321A (zh) 用于管理片上系统的操作的方法和对应的片上系统
CN102449612B (zh) 数据空间仲裁器
US20210157668A1 (en) Method for managing the debugging of a system on chip forming for example a microcontroller, and corresponding system on chip
CN112579480A (zh) 存储管理方法、存储管理装置以及计算机系统
CN107145337B (zh) 一种数据流处理芯片的表项访问方法及装置
KR20200117405A (ko) 분산 잠금 관리를 하는 분산 시스템 및 그것의 동작 방법
JPH10143467A (ja) データ処理システムにおいてバス所有権を調停するための方法および装置
US8843681B2 (en) Techniques for accessing memory, system and bus arbitration
US7051136B2 (en) Entry locking for large data structures
US9250976B2 (en) Tiered locking of resources
US11656905B2 (en) Delegation control based on program privilege level and page privilege level
WO2022002128A1 (zh) 一种读数据的方法、写数据的方法、设备和系统
WO2000033175A2 (en) Method for increasing efficiency of multiprocessing systems
US11474938B2 (en) Data storage system with multiple-size object allocator for disk cache
JP5093242B2 (ja) 自己診断処理を行う情報処理装置、自己診断処理方法及び自己診断処理プログラム
US6981108B1 (en) Method for locking shared resources connected by a PCI bus
GB2483884A (en) Parallel processing system using dual port memories to communicate between each processor and the public memory bus
US11500640B2 (en) Circuitry to indicate an execution mode to access a secondary device
EP4369198A1 (en) Control method for multi-core mcu to access shared peripheral, and related device
US20240160571A1 (en) Distributed system level cache

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