zynq双核运行设计_zynq udp

zynq双核运行设计_zynq udp前面文章讲解了《zynq高速存储方案》,那种方案是针对单个pciehost设计的方案,当项目需求记录速度很高,并且没有国产化要求时,可以考虑使用ZynqUltraScale+系列的ZU11EG芯片,该芯片成本低,且支持4个PCIe硬核,可以将该4个pcie都配置成host模式,在每个host下挂载pcie3.0x4的SSD固态硬盘,这样每个pciehost能够跑的速率就是ssd盘能够支持的最大速率,如果选择三星的SSD盘,那么PCIe3.0x4读写速率能够到3GB/s,那么4个…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

        前面文章讲解了《zynq高速存储方案》,那种方案是针对单个pcie host设计的方案,当项目需求记录速度很高,并且没有国产化要求时,可以考虑使用Zynq UltraScale+ 系列的ZU11EG芯片,该芯片成本低,且支持4个PCIe硬核,可以将该4个pcie都配置成host模式,在每个host下挂载pcie 3.0 x4的SSD固态硬盘,这样每个pcie host能够跑的速率就是ssd盘能够支持的最大速率,如果选择三星的SSD盘,那么PCIe3.0 x4读写速率能够到3GB/s,那么4个pcie host的理论速度就能够到达12GB/s,NVME协议还是通过软件实现,这里4张SSD可以独立存储或者组成Raid0阵列,具体怎么用就看用户的具体需求,常见设计如下图所示。

zynq双核运行设计_zynq udp

        如上图所示,FPGA接收到数据后直接下盘,对于NVME协议解析和文件系统部分就放到CPU端处理,CPU和FPGA相互配合完成整个数据存储过程,这种方案不方便国产化,因为Zynq UltraScale目前市场上没有国产化的支持,同时该方案不方便可移植性,当客户对容量有要求时,该方案不方便扩盘。所以不同方案只有在特定的需求中使用,建议使用Switch存储方案。

MicroBlaze使用

        这种方案对host的个数是固定的,可以尝试不让CPU参与,用FPGA内部硬核MicroBlaze处理器初始化PCIe的基本配置,解析NVME协议,这种方式使用也很方便,不需要枚举PCIe树。用该方案局限性在于对FPGA的更换,当更换FPGA后,对于MicroBlaze处理器可能不完全兼容,所以这种方式处理局限性很大。

NVME IP使用

        作者已经完成纯Verilog语言对NVME协议解析,支持多队列,队列深度可配,软件对NVME IP操作比较简单,结构框图如下图所示。

zynq双核运行设计_zynq udp

FPGA做存储

        仅仅用FPGA做存储,这种方案硬件成本是最低的和方便国产化,单但是软件成本是很高,不方便移植,对FPGA人员开发能力要求高。FPGA解析TCP网络协议与上位机通讯,解析NVME协议,编写文件系统,FPGA实现这个每一个功能都是很复杂的,但是完成后对硬件成本和国产化确实很有帮助。反正就是不同方案用于不同应用场景。

        目前FPGA已经完成TCP和UDP网络协议,万兆网TCP协议速度能够到600MB/s,现在购买10Gb的MAC用也是很方便,将10Gb的MAC挂载到PCIe交换机上,速度也是杠杠的。NVME协议和文件系统都已经完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188511.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用VS2015进行C++开发的6个主要原因

    使用VS2015进行C++开发的6个主要原因 使用VisualStudio2015进行C++开发在今天的Build大会上,进行了“将你的C++代码转移至VS2015的6

    2021年12月27日
    43
  • sqlserver中日期转字符串「建议收藏」

    sqlserver中日期转字符串「建议收藏」SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/06SelectCONVERT(varchar(100),GETDATE(),2):06.05.16SelectCONVERT(varchar(100),GETDATE(),3):16/05/06SelectCONVERT(varchar(10.

    2022年10月8日
    4
  • tomcat java_tomcat和maven的区别

    tomcat java_tomcat和maven的区别缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

    2022年8月8日
    6
  • PL/SQL plsql Developer 14最新版注册码

    PL/SQL plsql Developer 14最新版注册码plsql14注册激活productcode:ke4tv8t5jtxz493kl8s2nn3t6xgngcmgf3serialNumber:264452password:xs374c

    2022年7月4日
    51
  • 第五章 面向切面编程(AOP)之二

    第五章 面向切面编程(AOP)之二

    2022年3月11日
    144
  • 进程的同步、互斥、通信的区别,进程与线程同步的区别[通俗易懂]

    进程的同步、互斥、通信的区别,进程与线程同步的区别[通俗易懂]这两天看进程的同步与通信,看了几本书上的介绍,也从网上搜了很多资料,越看越迷惑,被这几个问题搞得很纠结。进程同步与互斥的区别?进程的同步方式有哪些?进程的通信方式有哪些?进程同步与通信的区别是什么?线程的同步/通信与进程的同步/通信有区别吗?在好多教材上(包括国内与国外的)也没有明确这些概念,现在对每个问题还没有准确的答案,下面将自己的理解记下来,以后再补充。参考资料:《操作系统教程》孙钟秀主编…

    2025年5月26日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号