RDMA设计29:RoCE v2 发送及接收模块设计2

本博文主要交流设计思路,在本博客已给出相关博文约150篇,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。

(1)RoCE v2 发送模块

RoCE v2 发送模块的具体工作为将发送队列及接收队列条目中的信息转换为AXI-Stream 接口形式的网络帧,即 SEND 单元、READ 单元、WRITE 单元(后统称为请求生成单元)将发送队列条目转换为 SEND、READ、WRITE 包;ACK 单元和REP 单元(后称为应答生成单元)将接收队列条目转换为 ACK、REP 包。其中在发送 WRITE 包或 REP 包时,需要与 DMA 控制器进行交互并读取内存中的数据。

由于请求生成单元和应答生成单元并不是所有时刻都需要与 DMA 控制器进行数据交互,所以这里使用两个状态机分别控制请求生成和应答生成流程,以此来提高系统工作效率、降低响应延迟。RoCE v2 发送模块由一个请求状态机、一个应答状态机、一个二选一 MUX、五个生成单元和异常处理单元组成。

B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望

https://www.bilibili.com/video/BV1mPV5eCE8z/?spm_id_from=333.337.search-card.all.click\&vd_source=c355545d27a44fe96188b7caefeda6e7

相关推荐
知已难寻1 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning2 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
say_fall2 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii2 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
共享家95272 小时前
408 操作系统第一章
服务器·数据库·windows
云飞云共享云桌面3 小时前
1台SolidWorks服务器如何承载10个设计并发?
运维·服务器·网络·3d·制造
hahaha60164 小时前
3NRD降噪算法FPGA实现8并行度设计
fpga开发
松小白song5 小时前
一次“载电流显示为 0“的排查经历:负值钳位引发的踩坑
fpga开发
墨理学AI5 小时前
虚拟机导致的服务器交换内容占用过大(服务器卡顿)问题 快速解决
运维·服务器
程序猿老A6 小时前
轻量应用服务器怎么搭建个人网站?
服务器