基于FAST的TSN交流(5)TSN交流机行列结构
和延时剖析
宣布时间
:2019-1-22 交流机中的排队延时是给分组端到端延时带来踏实
定性的主要
成分
。因为
要支持确定性的延时,TSN交流机中的行列设计必需
有别于传统的尺度交流机。基于FAST流水线扩展模子
和CQF-UDO模块设计,五月天app官网无限观看在openbox-S4可编程平台上睁开
TSN交流机原型(FAST-TSN-04)设计,本文详细先容
了该原型机中的行列模子
,并对分组交流延时举行
剖析
。
一、FAST-TSN-04的行列模子
FAST-TSN-04基于Openbox-S4完成
(焦点FPGA为ZynqXC7Z030),支持4个千兆以太网接口分组和TSN的CQF流量整形,可保险
准确
的分组交流延时。其外部
的行列结构
如下图所示。分组交流历程的缓存主要
分为三个阶段,即输入
缓存,交流缓存和输入
缓存。

图1 FAST-TSN-04的缓存结构
(1)输入
缓存
输入
缓存在openbox-S4平台提供的FPGA OS中完成
,用户无法凭证
TSN的转发需求举行
任何修正
和定制。每个接口吸收
的分组不加区此外凭证
先来先效劳
的行列方式
生涯
在输入
缓存FIFO行列中。FIFO行列的宽度为128bit,时钟频率为125HHz。因为
每个接口速率为1Gbps,是以
进入FIFO行列的速率最大为1Gbps,而在A点调治器调治分组输入
带宽为16Gbps(128b*125MHz)。
参考文献[1]证明
晰
在上述行列结构
下,每个FIFO行列不溢出的条件为:
且分组内行
列中的最大延时:
将Vi=1Gbps,f=125MHz,Bd=128b,L=1500B,N=4带入可得将每个吸收
的FIFO行列长度设置为1.8KB即可保险
无分组溢出,分组的最大延时为4.5us。
(2)交流缓存
交流缓存接纳共享存储方式,即B点(FAST流水线中的GPP模块)从PB获取闲暇
的缓冲区块地址,将每个抵达
的分组写入PB中存储,同时将地址信息写入分组的元数据中。FAST流水线模块(GKE、GME、GAC)运用
分组的元数据举行
交流查表,取得
其目的输入
接口,即可将分组的元数据(征求
分组优先级和输入
接口号)写入照应
的输入
行列中等候
调治。
GAC没有对TSN举行
优化设计,每个端口仅支持高(H)低(L)两个优先级行列。支持TSN时,可设置
将优先级4-7的分组元数据送高优先级行列缓存,优先级0-3的分组元数据送低优先级行列缓存。C点(GAC模块)的调治器接纳两级调治的头脑
,第一级是每个输入
端口调治高优先级分组输入
,第二级是在多个优先级行列中接纳Round-Robin方式举行
调治。
接纳RR调治能够
招致
一个端口的低优先级帧先于另一个端口的高优先级行列发送,这种情形
是合理的,因为
GAC调治对应的速率为16Gbps,而对应CQF-UDO的输入
带宽为1Gbps,纵然高优先级帧被优先调治到UDO模块,还需求
在UDO模块中举行
进一步缓存。
交流缓存是交流机中的主要
缓存。当多个输入
端口向一个输入
端口同时发送数据时,交流机理想的缓存应当
在一定流量条件下保险
输入
接口不溢出。如今
TSN事情组正在制定
面向工业自动化场景的TSN规范
草案“IEC/IEEE 60802 TSN Profile for Industrial Automation“,在事情组最新文档(参考文献2)中给出了交流机输入
接口缓存资源MinimumFrameMemory的盘算公式: MinimumFrameMemory= (NumberOfPorts – 1) × MaxPortBlockingTime × Linkspeed 其中NumberOfPorts为交流机接口数,MaxPortBlockingTime为数据缓存时间
,Linkspeed为接口链路速率。经过
上述公式,文档给出了当接口数目为4,链路速率为1Gbps,MaxPortBlockingTime为典型值200us时,需求
的缓存巨细为75KB。
(3)输入
缓存
输入
缓存位于CQF-UDO外部
,是针对TSN CQF流量整形机制设计的公用
行列。CQF-UDO征求
4个行列,其中Q7和Q6为生涯
时间
敏感分组的乒乓行列,Q4为生涯
带宽预定
分组的行列,Q0为保管
Best Effort分组的低优先级行列。
因为
时间
敏感分组(优先级为7)和预定
带宽分组(优先级为4)在交流缓存中作为高优先级分组会被优先调治到UDO,是以
关于
合理的离线调治(不会形成
输入
端口淤塞
),高优先级流量不会在输入
端口长时间
排队。
形成
输入
接口Q7/Q6排队的是CQF模子
。假定
时间
敏感流量乒乓行列切换的时间
槽为125us(802.1Qch中给出的典型切换时间
),且时间
敏感流量不凌驾链路负载的20%(200Mbps),是以
Q7和Q6每个行列缓存最大需求
125us*20%*1Gbps,即3.2KB。
Q4行列主要
生涯
带宽预定
流量,因为
在D点(GOE)可运用
令牌桶对流量整形,是以
Q4的长度只即是令牌桶的桶深即可,这里可设置为4KB。
Q0行列只是用于16G速率到接口1Gbps速率的转换,只需
D点(GOE)对UDO举行
正体1Gbps的带脱期
速,Q0行列只需缓存一个大的完整
分组即可,是以
选择2KB即可。
二、缓存资源和转发延时评价
(1)存储资源评价
凭证
以上剖析
,对FAST-TSN-04运用
的存储资源举行
评价
如下表所示。
Opnebox-S4选用Zynq芯片XC7Z030内嵌的缓冲区为9.3Mb,而FAST-TSN-04运用
的缓冲区巨细为140KB,约1.1Mb。是以
纵然思量
数据成块分配招致
缓存效率降低, FPGA外部
缓存是可以知足
需求的。
(2)延时评价
对FAST-TSN-04的延时评价
主要
针对时间
敏感流量和带宽预定
流量。基于上述剖析
,图中各参考点之间的延时预算
如下表所示。表中的延时预算
为头进到头出的延时。关于
最大分为1500B和千兆带宽,分组头进尾出延时还要增肌1500*8b/1GBps=12us左右。因为
FAST流水线时钟为125MHz,每个时钟节拍
8ns,1us约125个时钟节拍
。
基于上述剖析
,不思量
CQF的缓存需求,交流流程中高优先级分组(时间
敏感分组和预定
带宽分组)最大延时约15us。关于
无离线妄想
的best effort分组,最大延时能够
凌驾600us(75KB/1Gbps)。
参考文献
[1] 李韬,孙志刚等,面向下一代互联网实验平台的新型报文处置赏罚
模子
——EasySwitch, 盘算机学报,2011年11期
[2] Use CasesIEC/IEEE 60802 V1.3,https://1.ieee802.org/tsn/iec-ieee-60802-tsn-profile-for-industrial-automation/