searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

TOFINO 芯片介绍

2023-05-12 09:32:25
557
0

     TOFINO 是Intel 旗下的一款流水线结构的芯片,有一定的流程可编程控制的Asic 芯片,由于有一定的可编程能力,包含4 条独立的  Pipe Line

Pipe Line Parser    MAUx 12    DeParser 三个处理模块组成。

1.  Parser

          主要功能是负责报文解析,报文头结构和Meta 结构的定义定义和报文头信息提取。

    报文本身是不可以访问的,只有把信息提取到Meta 中在后续处理流程才可以访问。

    提取的信息存放到PHV (Paket Header Vector) 数据在报文生命周期中可用。

     PHV 资源4096 bit,  每个MAU 都存在一份。分为3种位宽的224 Container

     64 x 8 bit Container

     96 x 16 bit Container

     64 x 32 bit Container

     T-PHV 是节约资源设计,报文头信息中不需要使用的,通过lookup_ahead 方法跳过的报文头信息存储到T-PHV ,是PHV 的一半 2048 bit/112 Container全芯片一份

    Parser 解析报文是靠TCAM 匹配实现,最大支持256 条。

 

  

2. Match Action Unit(MAU)

 12  MAU Per PipeLine

  MAU 为主要的业务处理单元,每个MAU 称为一个 Stage.

MAU 内部是通过 Tables Match + Action 来处理业务

    用户通过配置 Tables 编写 Action处理代码来实现业务的处理。

根据MetaData 组织Table Key 执行查表动作,查到的Data 作为Action  的输入参数,执行Action 动作。一个Table entry 可以定义多个Action 动作,Selector 可以根据 MetaData 选择执行的动作。

一个MAU 可同时处理两个报文

 一个上行报文, 一个下行报文

 单个MAU最多可查16 次表,

16SRAM 8TCAM

MAU 所有资源上下行共享。

 

表项存储的载体:

SRAM, TCAM

 

SRAM:

SRAM Block:  128 x 1024 bits.

80 SRAM Block Per MAU  (10Mbit)

12 MAUs Per PipeLine (120 Mbits)

4 PipeLine  480 Mbits

SRAM 按功能可存储exact match , countermeterregister.            

 128bit  一个Entry计算,  单个MAU 最大存   8万个 Entry 表项。

12 个MAU 最大放 96 万个 Entry。

 

TCAM:

TCAM Block:  44 x 512 trits (22 Ktrits).

24 TCAM Block Per MAU  (528 Ktrits)

12 MAUs Per PipeLine (6.1875 Mtits)

4 PipeLine 24.75 Mbits

 

TCAM 一般存储LPM, Ternary, range 匹配表。

1 entry最小 40 + 44*N bit

单个MAU 最大支持  6K entry;

12 个MAU 最大支持   72K entry;

 

指令数:

   每个MAU 最大可存储 32 VLIWS

   每个VLIW 最大可存储 224 Instruction

   每个MAU 指令数  32*224  = 7168

   指令操作数没有依赖关系的可以并行处理

 

Meters:

Meters  占用的资源是SRAM (10Mbit per MAU)

             全部占用的话最大可达 4W Meters 每个MAU


Direct Meters:    单独CAR ,独占一份资源。

InDirect Meters: 共享CAR, 表中存储Index, 可多个共享一个
 
                           Index,共同使用一份资源。

 

      由于Tofino 使用的是P4《P4: Programming Protocol-Independent Packet Processors》语言编程,大家习惯性得把TOFINO 芯片叫成P4 芯片。

P4是一种高级语言,协议无关的数据面包处理编程语言有如下特点:

Reconfigurability in the field 现场可重构性:一旦交换机被部署,程序员应该能够改变其处理数据包的方式

Protocol independence 协议无关性:交换机不应绑定到任何特定的网络协议

Target independence 目标无关性:程序员应该能够独立于底层硬件的细节描述包处理功能

 

常见的Tofino有多款型号如下:

 

1.型号 Tofino1

 工艺: 16nm

6.5Tbps  单芯片转发新能

SerDes   256 * 25GE

数据转发通路支持端

     64 X 100GE/40GE

     128 X50GE/40GE

     256X25GE/10GE

CPU 通路接口

  PCIe Gen2 x4/x2/x1

  CPU Eth  1X100GE/40GE

                  2X50GE/40GE

                  4X1/2.5/10/25GE

报文缓存  22MB

 

1.型号 Tofino2

    12.9 Tbps  单芯片转发新能

    SerDes   256 * 56GE

数据转发通路支持端口

     32 X 400GE

     64 X 200GE

     128 X 100GE

     256X50GE/25GE/10GE

CPU 通路接口

  PCIe Gen3 x4/x2/x1

  CPU Eth  1X100GE/40GE

                  2X50GE/40GE

                  4X1/2.5/10/25GE

报文缓存  64MB

0条评论
作者已关闭评论
l****n
4文章数
0粉丝数
l****n
4 文章 | 0 粉丝
原创

TOFINO 芯片介绍

2023-05-12 09:32:25
557
0

     TOFINO 是Intel 旗下的一款流水线结构的芯片,有一定的流程可编程控制的Asic 芯片,由于有一定的可编程能力,包含4 条独立的  Pipe Line

Pipe Line Parser    MAUx 12    DeParser 三个处理模块组成。

1.  Parser

          主要功能是负责报文解析,报文头结构和Meta 结构的定义定义和报文头信息提取。

    报文本身是不可以访问的,只有把信息提取到Meta 中在后续处理流程才可以访问。

    提取的信息存放到PHV (Paket Header Vector) 数据在报文生命周期中可用。

     PHV 资源4096 bit,  每个MAU 都存在一份。分为3种位宽的224 Container

     64 x 8 bit Container

     96 x 16 bit Container

     64 x 32 bit Container

     T-PHV 是节约资源设计,报文头信息中不需要使用的,通过lookup_ahead 方法跳过的报文头信息存储到T-PHV ,是PHV 的一半 2048 bit/112 Container全芯片一份

    Parser 解析报文是靠TCAM 匹配实现,最大支持256 条。

 

  

2. Match Action Unit(MAU)

 12  MAU Per PipeLine

  MAU 为主要的业务处理单元,每个MAU 称为一个 Stage.

MAU 内部是通过 Tables Match + Action 来处理业务

    用户通过配置 Tables 编写 Action处理代码来实现业务的处理。

根据MetaData 组织Table Key 执行查表动作,查到的Data 作为Action  的输入参数,执行Action 动作。一个Table entry 可以定义多个Action 动作,Selector 可以根据 MetaData 选择执行的动作。

一个MAU 可同时处理两个报文

 一个上行报文, 一个下行报文

 单个MAU最多可查16 次表,

16SRAM 8TCAM

MAU 所有资源上下行共享。

 

表项存储的载体:

SRAM, TCAM

 

SRAM:

SRAM Block:  128 x 1024 bits.

80 SRAM Block Per MAU  (10Mbit)

12 MAUs Per PipeLine (120 Mbits)

4 PipeLine  480 Mbits

SRAM 按功能可存储exact match , countermeterregister.            

 128bit  一个Entry计算,  单个MAU 最大存   8万个 Entry 表项。

12 个MAU 最大放 96 万个 Entry。

 

TCAM:

TCAM Block:  44 x 512 trits (22 Ktrits).

24 TCAM Block Per MAU  (528 Ktrits)

12 MAUs Per PipeLine (6.1875 Mtits)

4 PipeLine 24.75 Mbits

 

TCAM 一般存储LPM, Ternary, range 匹配表。

1 entry最小 40 + 44*N bit

单个MAU 最大支持  6K entry;

12 个MAU 最大支持   72K entry;

 

指令数:

   每个MAU 最大可存储 32 VLIWS

   每个VLIW 最大可存储 224 Instruction

   每个MAU 指令数  32*224  = 7168

   指令操作数没有依赖关系的可以并行处理

 

Meters:

Meters  占用的资源是SRAM (10Mbit per MAU)

             全部占用的话最大可达 4W Meters 每个MAU


Direct Meters:    单独CAR ,独占一份资源。

InDirect Meters: 共享CAR, 表中存储Index, 可多个共享一个
 
                           Index,共同使用一份资源。

 

      由于Tofino 使用的是P4《P4: Programming Protocol-Independent Packet Processors》语言编程,大家习惯性得把TOFINO 芯片叫成P4 芯片。

P4是一种高级语言,协议无关的数据面包处理编程语言有如下特点:

Reconfigurability in the field 现场可重构性:一旦交换机被部署,程序员应该能够改变其处理数据包的方式

Protocol independence 协议无关性:交换机不应绑定到任何特定的网络协议

Target independence 目标无关性:程序员应该能够独立于底层硬件的细节描述包处理功能

 

常见的Tofino有多款型号如下:

 

1.型号 Tofino1

 工艺: 16nm

6.5Tbps  单芯片转发新能

SerDes   256 * 25GE

数据转发通路支持端

     64 X 100GE/40GE

     128 X50GE/40GE

     256X25GE/10GE

CPU 通路接口

  PCIe Gen2 x4/x2/x1

  CPU Eth  1X100GE/40GE

                  2X50GE/40GE

                  4X1/2.5/10/25GE

报文缓存  22MB

 

1.型号 Tofino2

    12.9 Tbps  单芯片转发新能

    SerDes   256 * 56GE

数据转发通路支持端口

     32 X 400GE

     64 X 200GE

     128 X 100GE

     256X50GE/25GE/10GE

CPU 通路接口

  PCIe Gen3 x4/x2/x1

  CPU Eth  1X100GE/40GE

                  2X50GE/40GE

                  4X1/2.5/10/25GE

报文缓存  64MB

文章来自个人专栏
个人分享
4 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0