可扩展的可重构交换机包解析器基本处理单元结构.pdf
《可扩展的可重构交换机包解析器基本处理单元结构.pdf》由会员分享,可在线阅读,更多相关《可扩展的可重构交换机包解析器基本处理单元结构.pdf(12页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911126256.6 (22)申请日 2019.11.18 (71)申请人 清华大学 地址 100084 北京市海淀区100084信箱82 分箱清华大学专利办公室 (72)发明人 李翔宇 (74)专利代理机构 北京纪凯知识产权代理有限 公司 11245 代理人 孙楠 (51)Int.Cl. H04L 12/931(2013.01) H04L 12/933(2013.01) H04L 12/935(2013.01) H04L 12/947(2013.01) H04L 29/。
2、06(2006.01) (54)发明名称 一种可扩展的可重构交换机包解析器基本 处理单元结构 (57)摘要 本发明涉及一种可扩展的可重构交换机包 解析器基本处理单元结构, 其包括PE_config、 Cell单元、 PE_bypass单元、 Offset单元、 frame数 据通路和IRF数据通路; PE_config为基本处理单 元配置单元; 所述Cell单元用来实现对协议报文 的解析; 所述frame数据通路是向所述Cell单元 提供数据; 所述IRF数据通路是用来暂存解析过 程中所产生的结果和需要跨层传递的临时中间 数据; 所述PE_config单元是完成所述Cell单元 中PB、 PC。
3、的查找表的表项内容的配置; 所述PE_ bypass单元主要实现跨层协议的处理; 所述 Offset单元用来实现每层基本处理单元的frame 数据通路的起始数据访问位置的偏移工作。 本发 明具有很高的灵活性, 并支持用户自定义网络协 议的解析, 对SDN实现了很好的支持。 权利要求书2页 说明书7页 附图2页 CN 110933001 A 2020.03.27 CN 110933001 A 1.一种可扩展的可重构交换机包解析器基本处理单元结构, 其特征在于: 所述基本处 理单元包括PE_config、 Cell单元、 PE_bypass单元、 Offset单元、 frame数据通路和IRF数据。
4、 通路; PE_config为基本处理单元配置单元; 所述Cell单元用来实现对协议报文的解析, 所述Cell单元中包含PA、 PB、 PC和Action; 所述frame数据通路是向所述Cell单元提供数据, 所述Cell单元能在所述frame数据通 路中提取出任意指定的数据匹配域; 所述IRF数据通路是用来暂存解析过程中所产生的结果和需要跨层传递的临时中间数 据, 其在第一层输入的是由前端的报文预解析模块产生的初始数据, 然后每经过一层基本 处理单元, 寄存器的数量增加相应量, 为每层所述基本处理单元处理过程中所新产生的数 据包描述信息; 所述PE_config单元是完成所述Cell单元中。
5、PB、 PC的查找表的表项内容的配置; 所述PE_bypass单元主要实现跨层协议的处理: 在本级基本处理单元的查找表中没有 该协议类型的信息, 则需要跳过本级基本处理单元, 输出给下一级基本处理单元处理; 所述Offset单元用来实现每层基本处理单元的frame数据通路的起始数据访问位置的 偏移工作。 2.如权利要求1所述基本处理单元结构, 其特征在于: 所述Cell单元有两种不同的形 式: Cell_A单元和Cell_B单元。 3.如权利要求2所述基本处理单元结构, 其特征在于: 所述Cell_A单元包含PA、 PB、 PC_ cur、 PC_nxt和Action; 所述Cell_B单元包。
6、含PA、 PB、 PC_cur和Action; 所述PA是用来实现特定数据域的提取, 所述PA的输入为前一级基本处理单元输出的关 键字段偏移量、 本级frame寄存器的待提取的数据帧, 输出为提取出来的关键字段; 所述PB的输入为本级各所述PA输出的关键字段, 其核心是一个匹配查找表, 把关键字 段组合和其中存储的匹配模板一一比较, 输出匹配的模板所对应的协议类型信息, 如果关 键字段和任何特征模板都不匹配, 则发送非法标识到所述PC, 所述PB每个匹配模板还有一 个对应的掩码字, 用来忽略不关心的比特; 所述PC为查找表结构, 所述PC中有PC_cur和PC_nxt两种表项, 其中所述PC_。
7、cur表用来 根据所述PB表的匹配结果索引出要执行的动作, 所述PC_nxt表项用来根据所述PB表的匹配 结果索引出下一层基本处理单元要提取的关键字的偏移量; 所述Action用来执行所述PC表索引出的对应的动作, 执行结果被写入所述IRF。 4.如权利要求3所述基本处理单元结构, 其特征在于: 所述Action接收来自所述PC的超 长指令字, 解析指令, 取源操作数并执行, 所述Action执行的指令的源操作数来自frame、 IRF或立即数寄存器。 5.如权利要求4所述基本处理单元结构, 其特征在于: 所述Action内部有3种指令单元: ALU单元、 MOV单元和SET单元, 每种指令单。
8、元各8个,共24个; 一个超长指令字包含24个子指 令分别控制这24个指令单元。 6.如权利要求5所述基本处理单元结构, 其特征在于: 所述ALU单元用来执行大于、 等于 比较操作; 所述MOV单元用来执行复制操作, 其将frame或IRF中的数据赋值到IRF寄存器中; 所述SET单元用来执行置数操作, 其将数值域的值赋值到对应的IRF寄存器中。 7.如权利要求1至6任一项所述基本处理单元结构, 其特征在于: 由结构相同的所述基 权利要求书 1/2 页 2 CN 110933001 A 2 本处理单元级联构成解析器, 级联数N等于所要解析的最大封装层次数量; 每一层次的封装 协议对应一个所述基。
9、本处理单元。 8.如权利要求7所述基本处理单元结构, 其特征在于: 所述基本处理单元级数N, 各个处 理单元中的所述PA的数量、 PB和PC中查找表的输入输出位宽与容量、 Offset的大小都根据 系统所支持的协议情况的需求来确定。 权利要求书 2/2 页 3 CN 110933001 A 3 一种可扩展的可重构交换机包解析器基本处理单元结构 技术领域 0001 本发明涉及一种以太网交换机芯片设计技术领域, 特别是关于一种可扩展的可重 构交换机包解析器基本处理单元结构。 背景技术 0002 交换机转发引擎是交换机中的核心部件, 它完成对接收的报文进行关键字段提 取, 然后形成路由表的查表请求,。
10、 发给搜索引擎, 再将搜索引擎返回的查表结果进行处理形 成新的描述符, 再根据新的描述符(经过描述符交换)对原始报文进行报文修改(替换、 添加 和删除等), 最终将封装好的新的报文进行转发。 而决定这些修改处理操作的是协议报文首 部的关键字段和交换机设置的转发和分类规则, 因此需要对协议的数据报文首部进行解析 和提取。 交换机转发引擎的数据包解析器就是针对网络协议报文首部进行解析, 它把来自 转发引擎的数据帧首部和对应的端口信息、 存储地址等描述信息(描述符)作为输入数据, 并对这些数据中的关键字段进行解析、 识别和提取操作, 用来输出给转发引擎中后续的搜 索引擎。 在实际的数据包解析器模块中。
11、除了对报文头部的解析和字段提取, 还会携带原始 输入的描述符, 跟随报文沿着流水线向后级传递, 但不参与提取过程。 0003 软件定义网络(SDN)是一种新型网络创造架构, 网络虚拟化的一种实现方式。 对于 网络协议数据报文头的解析技术而言, SDN的需求体现在支持用户自定义的协议, 即通过软 件编程使得芯片能够识别并解析不同的数据帧格式, 这就要求数据包解析器的硬件设计具 有一定的灵活性, 即通过软件配置能够使得同一硬件支持用户自定义的协议的报文解析。 0004 在高性能以太网交换机芯片中, 目前数据包解析器普遍采用流水线结构, 所有输 入的数据包都按照相同的流水线逐级传递, 中间不能停顿以。
12、确保数据在交换机芯片内部不 会出现拥塞。 包解析的各步操作按照协议封装层次顺序依次排列在流水线中, 大多数网络 数据包解析过程都可以看成是多叉树结构, 在每一层针对本层树节点的对应域进行提取、 匹配, 从而实现本层协议的解析。 因此每层协议的解析硬件也具有相似性, 因此, 每级流水 线可以采用相同的可重构基本处理单元(Process Element,PE)来构成, 每级基本处理单元 对应一层包头(一层协议)的解析, 这样可以简化硬件设计和配置文件的生成。 0005 在先申请的 “一种可破坏硬件木马的可重构交换机转发引擎解析器” (申请号 201910003982.2)中提出了采用可重构的硬件实。
13、现解析器的方式协议定义的帧格式的 字段的数量、 位置、 关键字内容与协议类型、 帧格式之间的对应关系都可以通过配置芯片内 的配置寄存器、 查找表(存储器)来实现配置。 其基本单元的数据通路采用了PA、 PB、 PC的3级 结构, 分别完成关键字提取、 关键字匹配、 下级与本级封装帧头字段偏移量和字段标识查找 的功能。 但是它不能对关键字段进行进一步解析, 无法完成包的分类和属性标注、 合法性检 查等操作。 发明内容 0006 针对上述问题, 本发明的目的是提供一种可扩展的可重构交换机包解析器基本处 说明书 1/7 页 4 CN 110933001 A 4 理单元结构, 其具有高度的灵活性, 资。
14、源占用率较少。 0007 为实现上述目的, 本发明采取以下技术方案: 一种可扩展的可重构交换机包解析 器基本处理单元结构, 其特征在于: 所述基本处理单元包括PE_config、 Cell单元、 PE_ bypass单元、 Offset单元、 frame数据通路和IRF数据通路; PE_config为基本处理单元配置 单元; 所述Cell单元用来实现对协议报文的解析, 所述Cell单元中包含PA、 PB、 PC和Action; 所述frame数据通路是向所述Cell单元提供数据, 所述Cell单元能在所述frame数据通路中 提取出任意指定的数据匹配域; 所述IRF数据通路是用来暂存解析过程中。
15、所产生的结果和 需要跨层传递的临时中间数据, 其在第一层输入的是由前端的报文预解析模块产生的初始 数据, 然后每经过一层基本处理单元, 寄存器的数量增加相应量, 为每层所述基本处理单元 处理过程中所新产生的数据包描述信息; 所述PE_config单元是完成所述Cell单元中PB、 PC 的查找表的表项内容的配置; 所述PE_bypass单元主要实现跨层协议的处理: 在本级基本处 理单元的查找表中没有该协议类型的信息, 则需要跳过本级基本处理单元, 输出给下一级 基本处理单元处理; 所述Offset单元用来实现每层基本处理单元的frame数据通路的起始 数据访问位置的偏移工作。 0008 进一步。
16、, 所述Cell单元有两种不同的形式: Cell_A单元和Cell_B单元。 0009 进一步, 所述Cell_A单元包含PA、 PB、 PC_cur、 PC_nxt和Action; 所述Cell_B单元包 含PA、 PB、 PC_cur和Action; 所述PA是用来实现特定数据域的提取, 所述PA的输入为前一级 基本处理单元输出的关键字段偏移量、 本级frame寄存器的待提取的数据帧, 输出为提取出 来的关键字段; 所述PB的输入为本级各所述PA输出的关键字段, 其核心是一个匹配查找表, 把关键字段组合和其中存储的匹配模板一一比较, 输出匹配的模板所对应的协议类型信 息, 如果关键字段和任。
17、何特征模板都不匹配, 则发送非法标识到所述PC, 所述PB每个匹配模 板还有一个对应的掩码字, 用来忽略不关心的比特; 所述PC为查找表结构, 所述PC中有PC_ cur和PC_nxt两种表项, 其中所述PC_cur表用来根据所述PB表的匹配结果索引出要执行的 动作, 所述PC_nxt表项用来根据所述PB表的匹配结果索引出下一层基本处理单元要提取的 关键字的偏移量; 所述Action用来执行所述PC表索引出的对应的动作, 执行结果被写入所 述IRF。 0010 进一步, 所述Action接收来自所述PC的超长指令字, 解析指令, 取源操作数并执 行, 所述Action执行的指令的源操作数来自f。
18、rame、 IRF或立即数寄存器。 0011 进一步, 所述Action内部有3种指令单元: ALU单元、 MOV单元和SET单元, 每种指令 单元各8个,共24个; 一个超长指令字包含24个子指令分别控制这24个指令单元。 0012 进一步, 所述ALU单元用来执行大于、 等于比较操作; 所述MOV单元用来执行复制操 作, 其将frame或IRF中的数据赋值到IRF寄存器中; 所述SET单元用来执行置数操作, 其将数 值域的值赋值到对应的IRF寄存器中。 0013 进一步, 由结构相同的所述基本处理单元级联构成解析器, 级联数N等于所要解析 的最大封装层次数量; 每一层次的封装协议对应一个所。
19、述基本处理单元。 0014 进一步, 所述基本处理单元级数N, 各个处理单元中的所述PA的数量、 PB和PC中查 找表的输入输出位宽与容量、 Offset的大小都根据系统所支持的协议情况的需求来确定。 0015 本发明由于采取以上技术方案, 其具有以下优点: 1、 本发明在可破坏硬件木马的 可重构交换机转发引擎解析器的基础上, 增加了action单元, 支持了基于关键字段值的简 说明书 2/7 页 5 CN 110933001 A 5 单计算、 条件检查, 从而能够在包解析时完成对报文的初步分类、 生成简单描述符、 执行检 查, 丰富了解析器的功能, 节省了后端处理的压力。 2、 本发明提出了。
20、可扩展的PE结构, 通过 模块化扩展能够使得PE单元适应不同协议层次的不同解析需求, 具有先进性。 3、 为了支持 SDN需求, 交换机转发引擎的数据包解析器必须具有高度的灵活性, 因此本发明提出了一种 通过静态配置可以实现不同解析逻辑(包括用户自定义的未知协议)的以太网交换机数据 包解析器基本处理单元(PE), 这种基本处理单元可以被用于任何一层协议的解析, 配置文 件由编译器根据协议帧格式生成, 通过流水线式级联能够搭建可以支持各种协议(包括自 定义的未知协议)集合的可重构数据包解析器。 与已有方案比较, 其具有更少的资源占用 率、 更高的性能和更高的灵活性。 附图说明 0016 图1是本。
21、发明的解析器(Parser)整体结构框图; 0017 图2是本发明的基本处理单元(PE)结构框图; 0018 图3是本发明的Cell单元结构框图; 0019 图4是本发明的Action单元结构框图。 具体实施方式 0020 下面结合附图和实施例对本发明进行详细的描述。 0021 如图2所示, 本发明提供一种可扩展的可重构交换机包解析器基本处理单元结构, 用于构成支持软件定义网络的以太网交换机转发引擎的数据包解析器(parser)电路, 基本 处理单元通过配置可以实现不同的硬件解析逻辑, 从而支持SDN网络中不同协议报文的解 析。 基本处理单元(PE)包括六个功能单元: 基本处理单元配置单元(P。
22、E_config)、 Cell单元、 PE_bypass单元、 Offset单元、 frame数据通路和IRF数据通路。 其中: 0022 Cell单元用来实现对协议报文的解析, 其硬件实现逻辑可以根据协议帧格式进行 配置, 从而实现支持不同的协议帧的解析; Cell单元中包含PA、 PB、 PC和Action几个部分(如 图3所示)。 Cell单元的输入为一个当前层报文头部数据frame_lyr-i、 一个当前层协议ID HDR_ID和若干个当前层协议关键字偏移量值PA_offset_cur, 输出为一个下一层协议NXT_ ID和若干个下一层协议关键字偏移量值PA_offset_nxt。 0。
23、023 frame数据通路中传输的是1024bit的数据包报头信息(典型情况下), 主要是向 Cell单元提供数据, Cell单元可以在frame数据通路中提取出任意指定的数据匹配域(即关 键字段)。 frame数据通路的输入为原始数据帧数据帧frame_i, 输出为经过移位操作的数据 帧frame_o。 0024 IRF数据通路是用来暂存解析过程中所产生的结果(描述符)和需要跨层传递的临 时中间数据, 其在第一层输入的是由前端的报文预解析模块产生的初始数据, 如端口号、 是 否为环回报文等, 然后每经过一层基本处理单元, 寄存器的数量增加相应量, 为每层基本处 理单元处理过程中所新产生的数据。
24、包描述信息。 IRF数据的输入为上一级输出的描述符 IRF_i, 输出为增加本级描述符之后的描述符信息IRF_o。 0025 PE_config单元是完成Cell单元中PB、 PC的查找表的表项内容的配置。 PE_config 单元的输入是CPU对解析器配置的数据, 输出则连接着Cell单元。 说明书 3/7 页 6 CN 110933001 A 6 0026 PE_bypass单元主要实现跨层协议的处理, 即在本级基本处理单元的查找表中没 有该协议类型的信息, 则需要跳过本级基本处理单元, 输出给下一级基本处理单元处理。 如 Ethernet+IPv4+的数据包, 在PE_L2层完成了Eth。
25、ernet的解析, 而IPv4是在PE_L3层 解析的, 则需要跳过L2子层, 此时PE_L2s内的PE_bypass单元就完成这一工作, 其根据上一 层传来的bypass_cur信号执行跳过本层的动作, 同时为了匹配各层的延时, 需要将数据通 路的数据信号进行相应的延时操作。 PE_bypass单元的输入是当前层bypass信息bypass_ cur, 输出是下一层bypass信息bypass_nxt。 0027 Offset单元用来实现每层基本处理单元的frame数据通路的起始数据访问位置的 偏移工作: 对于一个数据包, 上一层解析过的数据, 在下一层不需要再次访问, 因此下一层 的起始访。
26、问数据将要越过上层已解析的数据, 该单元就完成对应操作, 这种做法可以减少 偏移量的存储位宽, 同时缩小访问范围, 降低硬件设计复杂度和硬件开销。 Offset单元的输 入连接着Cell单元, 输出是下一层报文头部数据frame_lyr_o。 0028 上述实施例中, 如图3所示, Cell单元有两种不同的形式: Cell_A单元和Cell_B单 元。 Cell_A单元包含PA、 PB、 PC_cur、 PC_nxt、 Action几个部分; Cell_B单元包含PA、 PB、 PC_ cur、 Action几个部分。 在数据包头的解析过程中, 存在同时检查多个关键字段的情况, 特别 是如果他。
27、们彼此独立的时候要考察它们的各种组合, 则需要对应很多表项, 而各层协议的 匹配任务数量差异较大, 业务类型越丰富的层、 匹配任务越多, 如果只使用一种固定的Cell 单元, 同时满足所有层次的需求, 会引入很大冗余开销, 而如果采用较小的Cell单元, 某些 层可能仅靠一个Cell单元无法完全解析, 如果串行多个Cell单元解析, 则时钟周期将大大 增加, 降低解析速度。 因此, 采用多个小单元任意组合的解决方案在不同层次上根据需 要并行放置不同数量的Cell单元来解决上述问题。 又因为每层协议解析仅需一张存储下一 层协议类型的表(即PC_nxt表), 如果直接使用相同的Cell单元并行解析。
28、一层协议, 则PC_ nxt表资源会存在浪费, 因此采用Cell_A单元和Cell_B单元两种形式的Cell单元。 每个基本 处理单元中固定包含一个Cell_A单元和若干个Cell_B单元, 在配置时要根据实际解析的数 据包在各层解析所占用的硬件资源来确定调用Cell单元的个数。 0029 上述各实施例中, 如图3所示, PA是用来实现特定数据域的提取, 每一个Cell单元 中设置了若干个PA, PA的输入为前一级基本处理单元输出的关键字段偏移量、 本级frame寄 存器的待提取的数据帧, 输出为提取出来的关键字段; 0030 PB的输入为本级各PA输出的关键字段, 其核心是一个匹配查找表, 。
29、把关键字段组 合和其中存储的匹配模板一一比较, 输出匹配的模板所对应的协议类型信息, 如果关键字 段和任何特征模板都不匹配, 则发送非法标识到PC, PB每个匹配模板还有一个对应的掩码 字, 用来忽略不关心的比特, 其表项结构如表1所示; 0031 表1 PB表项结构 0032 0033 PC为查找表结构, PC中有PC_cur和PC_nxt两种表项, 其中PC_cur表用来根据PB表 的匹配结果索引出要执行的动作, PC_nxt表项用来根据PB表的匹配结果索引出下一层基本 说明书 4/7 页 7 CN 110933001 A 7 处理单元要提取的关键字的偏移量, 其表项结构如表2所示; 00。
30、34 表2 PC表项结构 0035 0036 Action用来执行PC表索引出的对应的动作, 这些动作的定义以超长指令字的形式 表示, Action执行的指令的源操作数来自frame(即数据包头字段)、 IRF或立即数寄存器, 执 行结果被写入IRF。 0037 如图4所示, Action用来执行PC表索引出的对应的动作, 其接收来自PC的超长指令 字(VLIW), 解析指令, 取源操作数并执行, Action执行的指令的源操作数来自frame(即数据 包头字段)、 IRF或立即数寄存器, 执行结果被写入IRF。 Action内部有3种指令单元, 分别是 ALU单元、 MOV单元和SET单元,。
31、 每种指令单元各8个,共24个。 一个超长指令字包含24个子指 令分别控制这24个指令单元。 指令单元执行后会将结果搬运到指定的IRF寄存器中以完成 所有操作。 ALU单元用来执行大于(Greater than)、 等于(Equal)等比较操作; MOV单元用来 执行复制(Move)操作, 其将frame或IRF中的数据赋值到IRF寄存器中; SET单元用来执行置 数(Set)操作, 其将数值域的值赋值到对应的IRF寄存器中。 三种指令单元的指令格式如表3 所示。 0038 表3 Action单元的子指令格式 0039 0040 如图1所示, 由结构相同的基本处理单元(PE)级联构成解析器(P。
32、arser), 级联数N 等于所要解析的最大封装层次数量, 在硬件设计时需要根据需要对基本处理单元级联的数 目进行固化; 每一层次的封装协议对应一个基本处理单元。 0041 其中, 基本处理单元级数N, 各个处理单元中的PA的数量、 PB和PC中查找表的输入 输出位宽与容量、 Offset的大小都根据系统所支持的协议情况的需求来确定, 在设计阶段 选取后, 固定下来。 0042 基本处理单元之间的数据交换通过数据帧寄存器(frame)和中间值寄存器堆IRF 实现。 交换机接收到的数据包包头(PKT_header)会随着frame数据通路进行传输, 首先由前 面的预处理逻辑匹配出首层的协议所要提。
33、取的关键字段的位置及下一层协议的类型, 并对 关键字段进行提取存放到IRF中, 然后由基本处理单元对数据包剩下协议进行逐层解析, 提 取出的关键字段及处理结果均存放于IRF寄存器中。 0043 实施例: 0044 Ethernet-Vlan-IPV4-MPLS-TCP数据帧是网络常见的数据帧结构之一, 根据协 说明书 5/7 页 8 CN 110933001 A 8 议分层与OSI参考模型的规则, Ethernet协议、 Vlan协议、 IPV4协议、 MPLS协议、 TCP协议分 别对应数据链路层(L2)、 数据链路层子层(L2s)、 网络层(L3)、 MPLS层(L3s)、 传输层(L4)。
34、。 因 此如图1所示, 可重构的数据包解析器整体结构如下: 处理级数为五级, 输入数据通过由五 个结构相同的基本处理单元级联, 分别处理Ethernet协议、 Vlan协议、 IPV4协议、 MPLS协 议、 TCP协议的报文首部, 从而完成数据包解析器的解析功能。 0045 输入的Ethernet-Vlan-IPV4-MPLS-TCP数据帧的首部1024bit进入解析器首先 经过一个固定逻辑进行预处理, 然后传输给第一级基本处理单元进行以太网协议解析处 理, 再依次传给后续处理单元, 依次进行解析, 最终输出原始数据帧的首部数据和解析出来 的描述符数据。 在本实施例中, 为了简单说明, 每级。
35、处理单元均采用同一结构, 在实际应用 中可根据实际需要对该结构进行裁剪。 0046 本实施例中, 每级基本处理单元均包含PE_config单元、 Cell_A单元、 Cell_B0单 元、 Cell_B1单元、 PE_bypass单元、 Offset单元、 frame数据通路、 IRF数据通路八个部分。 数 据帧的首部1024bit数据在frame数据通路进行传输, 以供本级基本处理单元的各个单元调 用数据帧内容, 其输出连接下一级基本处理单元内的frame数据通路。 每个Cell单元中均包 含24个PA、 一个PB、 一个PC、 一个Action, Cell_A单元的PC中包含一个PC_cu。
36、r表、 一个PC_nxt 表, Cell_B单元的PC中只包含PC_cur表, 每级基本处理单元内的Cell_A单元、 Cell_B0单元、 Cell_B1单元并行处理数据。 0047 基本处理单元接收到本层需要处理的报文头部数据、 前级输出的描述符信息及本 级协议解析所需要提取的关键字的位置偏移信息并行传输到Cell_A单元、 Cell_B0单元、 Cell_B1单元的PA, 由PA根据关键字的位置偏移信息从报文头部数据和描述符信息中提取 出所在Cell单元需要处理的关键字段并传送给PB, 每个PA一次可以提取8bit数据, 因此每 个Cell单元中PA输送给PB的数据位宽是24*8bit。。
37、 0048 PB是查找表结构, 其表项结构如表1所示, Cell_A单元的PB可以根据本Cell单元中 PA传来的关键字先与表内的Mask值进行掩码操作, 然后再与表内的Value值进行匹配, 找出 本层协议所执行的动作索引(SUB_ID)和下一层协议类型(NXT_ID)及Bypass信息, PB的输出 SUB_ID传输给PC中的PC_cur表作为输入, NXT_ID传输给PC中的PC_nxt表作为输入, Bypass 信息输出给本级基本处理单元的PE_bypass单元, 因此Cell_A单元中PB表的大小为407* 32bit; Cell_B单元的PB可以根据本Cell单元中PA传来的关键字。
38、先与表内的Mask值进行掩 码操作, 然后再与表内的Value值进行匹配, 找出本层协议所执行的动作索引SUB_ID, PB的 输出SUB_ID传输给PC中的PC_cur表作为输入, 因此Cell_A单元中PB表的大小为398*32bit。 0049 PC是查找表结构, 其表项结构如表2所示, Cell_A单元的PC分为PC_cur、 PC_nxt两 张表, PC_cur表根据PB表的匹配结果SUB_ID索引出要执行的动作的超长指令字(VLIW)信 息, 并输出给本Cell单元的Action, 以及数据帧首部数据偏移量信息(Lyr_offset), 并输出 给本级基本处理单元的Offset单元。
39、, PC_cur表大小为328*32bit; PC_nxt表根据PB表的匹配 结果NXT_ID索引出下一层基本处理单元的每个PA所要提取关键字的位置偏移信息(PA_ offset), 其大小为583*32bit。 Cell_B单元的PC只包含PC_cur表, PC_cur表根据PB表的匹配 结果SUB_ID索引出要执行的动作的超长指令字(VLIW)信息, 并输出给本Cell单元的 Action, 其大小为320*32bit。 0050 Action根据当前Cell单元中PC_cur表输出的超长指令字(VLIW), 解析指令, 取源 说明书 6/7 页 9 CN 110933001 A 9 操作。
40、数并执行。 Action内部有3种指令单元, 分别是ALU单元、 MOV单元、 SET单元, 每种指令单 元各8个,共24个。 一个超长指令字包含24个子指令分别控制这24个指令单元。 指令单元执 行后会将结果搬运到指定的IRF寄存器中以完成所有操作。 三种指令单元的指令格式如表3 所示。 ALU单元用来执行大于(Greater than)、 等于(Equal)等比较操作, 其指令共24bit, 分 为6个域, 分别为指令名称域(Ist)、 掩码域(Mask)、 操作数1源选择域(Source 1)、 操作数1 偏移量域(Offset 1)、 操作数2源选择域(Source 2)、 操作数2偏。
41、移量域(Offset 2), Ist域 用来指定操作类型; Mask域对操作数做掩码操作, 去除操作数中无用信息, 其做掩码时以字 节为单位, 最高支持64bit; 操作数源选择域指示操作数来源于frame还是IRF; 操作数偏移 量域指示从数据源中取的具体数据位置偏移量。 MOV单元用来执行复制(Move)操作, 其将 frame或IRF中的数据赋值到IRF寄存器中, 其指令共8bit, 分为3个域, 分别为使能域(En)、 操作数源选择域(Source)、 操作数偏移量域(Offset), En域指示是否执行Mov操作; Source 域指示操作数来源于frame或IRF; Offset域。
42、指示从数据源中取的具体数据位置偏移量。 SET 单元用来执行置数(Set)操作, 其将数值域的值赋值到对应的IRF寄存器中, 其指令共8bit, 全部为数据域。 0051 PE_config单元是配置本级基本处理单元中的各个表项的单元, 其接收到CUP传来 的配置数据先缓存起来, 然后一次以32bit的位宽再分配到基本处理单元的各个配置表中; PE_bypass单元根据本级基本处理单元中的Cell_A单元的PB输出的Bypass信息判断是否跳 过本层解析操作, 如果跳过, 则对数据进行延迟操作, 并越过本层后续单元直接输出给下一 级基本处理单元; Offset单元根据本级基本处理单元中的Cell_A单元的PC_cur表输出的 Lyr_offset信息, 将frame寄存器中的数据帧首部作相应地移位操作, 使其对齐位置是下一 层协议的起始位置。 0052 上述各实施例仅用于说明本发明, 各部件的结构、 尺寸、 设置位置及形状都是可以 有所变化的, 在本发明技术方案的基础上, 凡根据本发明原理对个别部件进行的改进和等 同变换, 均不应排除在本发明的保护范围之外。 说明书 7/7 页 10 CN 110933001 A 10 图1 图2 说明书附图 1/2 页 11 CN 110933001 A 11 图3 图4 说明书附图 2/2 页 12 CN 110933001 A 12 。
- 内容关键字: 扩展 可重构 交换机 解析 基本 处理 单元 结构
顶升式芯片脱模结构及芯片固晶设备.pdf
U肋板转运机器人.pdf
农业种植架.pdf
洗水机用松布退卷输送机构.pdf
检测夹具.pdf
低压线圈中的气道撑条.pdf
自动上料调平的无机板切割设备.pdf
高压手动反冲洗过滤装置.pdf
烟气余热回收装置.pdf
具有受热均匀结构的电热恒温鼓风干燥箱.pdf
单手操作钢珠锁紧接头.pdf
实验动物大鼠拍摄CBCT的专用支架.pdf
自动检测码垛漏砖系统.pdf
挥发性有机物环保治理回收装置.pdf
消失模壳型精铸模型气化炉的壳型料架.pdf
综合性能好的节能预分支电缆.pdf
微型无阀压电泵.pdf
干式变压器绝缘垫块.pdf
煤粉吊装料仓.pdf
活塞加工用运输承载板.pdf
双目测距导盲装置.pdf
有色金属选矿废水回收处理装置.pdf
带有脱模机构的塑料瓶注塑机.pdf
粉尘精过滤滤芯.pdf
升降堰门.pdf
生产海绵钛带加热装置的反应器.pdf
炼铁原料白灰消化装置.pdf
塑料瓶用吹塑成形装置.pdf
LED器件及其制备方法.pdf
消融针尖端限位缓冲结构及其穿刺装置.pdf
光伏储能系统.pdf
基于多模态数据的封闭母线R-CNN温度故障监测方法.pdf
一种一孔两用的隧洞排水孔结构.pdf
钢管桩围堰结构.pdf
一种生态砌块.pdf
一种铁路桥梁用泄水管.pdf
一种卷帘门的抗风装置.pdf
一种掺有非预应力钢筋的管桩钢筋笼.pdf
大型沉管隧道管段基础.pdf
汽车手套箱开启装置.pdf
城市道路上空花园式电动跃层停车商务楼.pdf
蒸压加气砌块砌窗结构.pdf
一种升降式旋转室外消火栓.pdf
框架结构T型连接柱.pdf
防静电地板吸板器.pdf
一种建筑用箱体或井口预留孔洞活动模具.pdf
速成拉建房屋.pdf
预制桥面板精轧螺纹钢筋弧形连接构造.pdf
一种内固定式伸缩门滑行导轨及伸缩门.pdf
多用途封井器.pdf
一种新型圆弧建筑模板紧固件.pdf