云服务器网:购买云服务器和VPS必上的网站!

FPGA服务器是什么(fpga 服务器)

本文目录:1、FPGA是干什么用的?2、置身事内:腾讯的造芯之路3、为什么微软在服务器中用 FPGA 代替传统 CPU 可以使效能大幅提升4、Arduino,C51,STM32,ARM,FPGA有什么联系和区别5、linux ARM FPGA和DSP这四个方面的问题6、FPGA, CPU, GPU,

本文目录:

  • 1、FPGA是干什么用的?
  • 2、置身事内:腾讯的造芯之路
  • 3、为什么微软在服务器中用 FPGA 代替传统 CPU 可以使效能大幅提升
  • 4、Arduino,C51,STM32,ARM,FPGA有什么联系和区别
  • 5、linux ARM FPGA和DSP这四个方面的问题
  • 6、FPGA, CPU, GPU, ASIC区别,FPGA为何这么牛(二)

FPGA是干什么用的?

FPGA作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。 与 ASIC 不同,FPGA在通信行业的应用比较广泛。

通过对全球FPGA产品市场以及相关供应商的分析,结合当前我国的实际情况以及国内领先的FPGA产品可以发现相关技术在未来的发展方向,对我国科技水平的全面提高具有非常重要的推动作用。

扩展资料:

工作原理

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。

现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。

FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。

置身事内:腾讯的造芯之路

事后想来,芯片验证工程师Lynda觉得进腾讯有点“草率”了。

作为一个在半导体行业工作过多年的资深工程师,Lynda第一次看到腾讯发布芯片岗位需求时,略感到一丝惊讶。2019年1月她带着好奇加入这家互联网大厂,准备撸起袖子,大干一场。

面试时,主导芯片设计工作的Henry给她打过一剂预防针:“我们是从零开始做芯片。”Lynda试图代入鹅厂一贯的低调来理解这句话,但随即便在第一天上班时被跟同事的对话震到了:

-“我们的仿真工具呢?” -“没有,还在谈。”

-“验证环境怎么说?” -“还……没有。”

-“那……验证流程呢?-“这个……也没有。“

对于一个芯片验证工程师来说,仿真工具、验证环境、验证流程就是必备的生产力工具。Lynda想全程参与芯片研发业务,倒不怕从头开始,只不过没想到连这些必备品都能 “三无”。

当一家互联网公司投身半导体时,工具的欠缺还不是最紧要的。“造芯”不仅是业务的简单延伸,它往往意味着更复杂的产业链、更耗时的人才沉淀、以及更迥异的生态文化和技术理念。

比如芯片研发不像软件开发尚可后期不断改bug,设计问题没被前期验证发现,一旦流片就只能沦为一块“砖头”。而Lynda所担任的验证工程师,就是防止前期努力打水漂的守门员。

这个岗位的重要性不言而喻,设计工程师与验证工程师的比例在很多芯片公司会达到1:3。但Lynda入职后环顾四周,发现不仅自己只有一个并肩作战的同事,连验证的代码也一行都没有。

这时候,Lynda才开始明白Henry口中的“从零开始”意味着什么,以及她面临着怎样一场艰难的战役。

01

雄关如铁,出师未捷

在腾讯云副总裁、云架构平台部总经理谢明看来,“从零开始”的背后还有更多的曲折故事。

谢明所在的云架构平台部,站在腾讯各类前端应用的身后,是腾讯海量业务数据冲刷的前线,有效支撑了QQ、邮箱、微信、微云、流媒体视频等一个又一个的国民级应用。

2013年,QQ相册已经发展成腾讯最大的一个存储类业务。让用户访问相册的速度更快、体验更顺滑,成了一个很急迫的需求。转化成相应的技术问题,就是图片能否更快地转码?能否在不损画质的情况下压缩?能否以更低的成本存储?

他们反复地追问。

团队深刻地明白底层技术创新对上层应用的放大价值。软件架构上固然要永远不停歇地进行自我超越,但他们敏锐地察觉到,只有在硬件上也作出创新,才能实现更深层次的突破。

问题是:一个做软件出身的团队,怎么去做硬件?

一圈研究之后,他们决定先拿FPGA(可编程阵列逻辑)试水。跟我们平时电脑和手机里的通用芯片相比,FPGA是一种专用集成电路(ASIC),能够实现灵活的“半定制”开发。

FPGA相比起芯片容错率高,但在吞吐率、延迟、功耗和灵活性等维度上都很平衡。尤其是在处理海量数据时,FPGA相比GPU具有超低延时的显著优势,很适合用在特定的业务场景。

事实验证了这种判断。2015年,团队集中力量研发的图片编码FPGA,取得了比CPU编码和软件编码更高的压缩率和更低的延时,也帮助QQ相册很大程度上降低了存储成本。他们看到了在FPGA方向 探索 和深入的可能性。

2016年前后,由Alpha Go引爆的AI热潮更把FPGA拉入了主流视野。团队通过FPGA对深度学习模型的CNN算法进行加速后,处理性能达到通用CPU的4倍,而单位成本仅为1/3。

FPGA效果虽好,但技术门槛比较高,“如果把FPGA云化,是不是一个能够扩大应用的解决路径?”

带着这样的期待,2017年1月20日,腾讯云推出了国内首款FPGA云服务器,希望以云计算的方式,将FPGA能力推广到更多企业。

从效果上来说,在FPGA云服务器上进行FPGA硬件编程的企业,确实能将性能提升至通用CPU服务器的30倍以上,而只需支付相当于通用CPU约40%的费用。以一家著名的基因检测公司为例,传统用CPU需要检测一周的基因序列,FPGA可以压缩到数小时完成。

然而云化后的FPGA,没能如预期般迅速席卷整个行业。

一方面,FPGA毕竟是一种“半定制”的电路,许多企业还是无法独立胜任FPGA开发,需要更加上层的服务;另一方面,通用芯片成本的迅速下降,也让FPGA的性价比优势逐渐丧失。

云端商业化的受挫泼来一盆冷水,把团队的热情从巅峰一下子打到了谷底,同时也把两个问题赤裸裸地抛到整个团队的眼前:FPGA对业务的价值究竟有多大?FPGA还能继续做吗?

受此打击,团队在2018年也近乎分崩离析,人员开始集中式地离开。腾讯在“造芯”上的第一次 探索 ,画上了一个遗憾的逗号。

02

柳暗花明,“蓬莱”问世

在FPGA云服务器受挫后,腾讯需要重新思考硬件之路要怎么走下去。

在团队几乎解散的2018年,中国芯片行业迎来暖春:中美贸易摩擦给全民普及了芯片的重要性,科创板的设立为半导体企业上市开启大门,而国家资金的进场更是让大江南北一片热火朝天。

但是,对于互联网公司来说,做芯片跟做云计算、数据库、存储系统等一样,需要有具体的业务场景支撑,不能“为了做而做”。在经历过一场不算成功的 探索 后,腾讯要等待下一个真实需求带来的机会。

时间进入2019年。那是人工智能规模化应用的元年,内外部业务都提出了对AI芯片的强烈诉求。AI芯片,要不要做?

这个问题被提出来的时候,腾讯的管理层有过反对的声音,担心技术人员只是头脑发热,只是为了追逐热点。但同时,管理层也给了足够的灰度,没有明令禁止小团队级别的 探索 。

以小规模、低成本、特定应用场景的方式先行试水,成了大家的共识。

云架构平台部将第一款芯片敲定AI推理方向,取名“蓬莱”,希望这款芯片能像中国古代神话里的海外仙山一样,稳固地立于汹涌波涛之上。

这支硬件突围小分队,也被正式命名为“蓬莱实验室”。

有了FPGA 探索 时积攒的经验,蓬莱实验室对硬件编程语言已经相当熟练,也在标准接口、总线等方面积累了一些平台化的设计。然而,两者的研发要求,不可同日而语。

如果说做FPGA是搭现成的积木,那么做芯片就是直接从伐木开始来着手来制造积木。FPGA出了问题可以重新编程,而芯片只有一次流片机会,一旦出错,所有的努力便付诸东流。

此外, FPGA的资源是现成固定的,芯片的资源却是由自己定义的。一个字,就是要“抠”:用最小的资源做最大的事。

芯片架构工程师Rick用“装修”改“重建”来形容整个蓬莱项目。一开始,团队以为能把之前FPGA的技术较为简单地转成芯片。做着做着发现,以为终归只是以为——FPGA架构在芯片中能直接复用的并不多,团队只能把原来的架构整个拆掉,重写的代码量高达85%。

像DDR存储器这样的重中之重,芯片厂商通常会有专门的验证人员负责,而刚起步的蓬莱实验室没这个条件,只能靠抢时间把功课补回来。Lynda后来回忆道:“我恨不得一天有48个小时”。

2020年1月,蓬莱芯片流片完成,被合作方快递到深圳。新冠疫情刚刚在全国范围内暴发,公司已经开启集体远程办公。

项目负责人Henry戴着手套取到快递,用酒精仔细消毒后,带到空空荡荡的办公楼,大开着窗户和风扇,在一片消毒水味中,他和几个同事一起开始了至关重要的点亮操作。

所谓点亮,就是给芯片上电,首先看有没有短路冒烟,接着就是测试一些基本功能。是芯片还是“砖头”,成败在此一举。

结果,芯片的时钟频率一直没出来。要知道,时钟频率是芯片的“节拍器”,没有时钟频率,芯片的不同模块等于没对好表,就无法协同工作。

是不是这块芯片的问题?实验人员换了一块芯片,依然没有信号输出。

再换一块,还是没有。现场鸦雀无声。

实验人员已经不敢动手了。有人忍不住开玩笑,是不是该回家改简历了。

但除了沮丧,大家心里更多的是疑惑。因为项目虽然人少、资源少,近乎是白手起家,但蓬莱团队从设计人员到验证人员都有信心说:每一步都做好了。到底是哪里不对呢?

在无比凝重的气氛中,他们继续放板、上电、读取信号……

第四块芯片,亮了。剩下的所有芯片,也都没问题。

真相其实很简单。28纳米工艺的芯片不良率只有3%,但偏偏随机测试的前三片都是坏片,小概率事件就恰好让他们全赶上了。这让他们把“生一胎”的紧张情绪,体验到十足。

在虚惊一场后的拍手相庆中,腾讯第一款芯片,宣告问世。

03

更上一层,“紫霄”凌云

量产后的蓬莱芯片,实战表现也不负众望,助力腾讯推出中国第一台获准进入医院临床应用的智能显微镜,实现自动识别医学图像、统计细胞数目并直接显示在视野上,性能表现完全符合设计要求。

这一扫当年FPGA云服务器项目的阴霾,说明在制造造出直面应用、性能卓越的芯片,这条路,腾讯走得通。

终端芯片蓬莱的问世,只是完成了从0到1的任务。团队已经迫不及待向要从1到N,向着大规模云端芯片进军。蓬莱实验室负责人Alex将大芯片申请立项戏称为“A轮融资”。

初试锋芒之后,团队需要向公司说明,为什么需要用更大的投入去做大规模芯片?在短期和长期能否保持领先性?如何与内外部业务结合创造价值?

腾讯这次面临的决策,要容易做得多。

首先是蓬莱实验室的成熟。通过一边行军一边成长,蓬莱实验室完成了一次次蜕变,建立起完整、严谨、规范的芯片研发体系和流程。这已经是一支具备硬核气场的“正规军”。

更重要的是,团队证明了腾讯做芯片的优势和站位。

谢明解释说,从行业来看,做芯片除了要考虑技术和工艺,最大的难点在于对芯片的“定义”。传统芯片厂商的优势在于前者,但芯片做出来之后再去匹配需求,在很多场景下真实性能是损失的。Google、腾讯这类 科技 企业的优势在于自身就是需求方,对需求的理解和洞察最深刻、最透彻。

方向没有问题,技术和工艺也没问题,腾讯高级执行副总裁、TEG(技术工程事业部)总裁卢山给予了全面支持,并通过总办争取到了更多的headcount和资金。

有了公司战略的支持,团队志气满满奔赴更大的战场。蓬莱实验室副总监Austin决定兵分两路,在AI推理和视频编解码上并行推进。

AI小分队继续做蓬莱的2.0版“紫霄”。这是《封神演义》里鸿钧老祖所居宫殿的名字。在稳固的仙山上牢筑“紫霄”,代表了新的野心:

这次,他们将目标直接定为业界第一。

紫霄所有的架构都围绕着有效算力去做。团队优化片上缓存设计,并摒弃竞品常用的GDDR6内存,采用先进的2.5D封装技术,把HBM2e内存与AI芯片合封在一起,从而把内存带宽提升了近40%。

技术迭代一日千里。紫霄立项后,业内最高性能表现又被竞品刷新。虽然紫霄的设计性能相比这个最高表现还足够“安全”,但团队还打算继续加码。

经过研究,他们在芯片内部增加了计算机视觉CV加速器以及视频编解码加速器,可创新性地大幅减小AI芯片和x86 CPU之间的交互和等待。

即便因此而增加了两个复杂的自研模块,团队仍然在计划的6个月时间里完成了从架构确定到验证以及流片的全部流程。

2021年9月10日,紫霄顺利点亮。

在图片和视频处理、自然语言处理、搜索推荐等应用场景下,这款芯片打破了制约算力发挥的瓶颈点,最终在实际业务场景性能表现达到了业界标品的2倍。

04

独立自研,“沧海”一笑

AI小分队给自己芯片取名“紫霄”,而视频编解码则取名“沧海”,颇有海天相接之意。

不同于蓬莱和紫霄主打AI,沧海是一款视频转码芯片。如果说当年QQ相册图片的转码问题是蓬莱团队做硬件的最早契机,那视频编解码小分队在这个方向上的继续 探索 ,正是完成了一次对初心的呼应。

不同的是,“沧海”的应用场景已经远超当年的范畴。

当多媒体业务从图片时代进化到音视频直播时代,天量的4K/8K超高清的数字内容如潮水一般持续冲击着云计算基础设施。每增加一个比特的数据,都会带来相应的转码算力和CDN带宽成本。

这是一道直观而严峻的数学题,而沧海小分队的解题目标也非常清晰,那就是要做一款业界最强的视频转码芯片,把压缩率发挥到极致。

好在,腾讯丰富的多媒体应用场景,以及腾讯云覆盖的众多直播互动头部客户,为沧海的研发提供了得天独厚的分析和验证条件。

团队先是推出了沧海的核心自研模块——硬件视频编码器“瑶池”,并决定在沧海完成研发之前给瑶池一次大考。

这个大考就是2020年的MSU世界编解码大赛,该大赛由莫斯科国立大学(MSU)主办,十多年来一直是全球视频压缩领域最具影响力的顶级赛事,吸引了包括英特尔、英伟达、谷歌、华为、阿里和腾讯在内的国内外知名 科技 企业参与。

结果是,瑶池实现1080P@60Hz的视频实时编码,力压群雄获得了SSIM (结构相似性)、PSNR(峰值信噪比)和VMAF(视频多方法评估融合)等各项客观指标评测第一名,以及人眼主观评价第一的好成绩,相比第二名领先了一个身位。

经此硬仗,沧海在技术上得到了充分检阅。

2022年3月5日,Derick和他带领的视频编解码小分队收到流片回来的芯片“沧海”,又正逢深圳因疫情而全面远程办公。

他们申请特批进入空空荡荡的办公楼。这情景,和两年前点亮蓬莱时何其相似。

不曾想到,点亮蓬莱时的一波三折,同样重现。克服了一些调试中的意外,在一片欢呼中,腾讯的第三款芯片、同时也是完全自主研发的第一款芯片沧海成功点亮。

化沧海为一粟。沧海最终实现以更小的数据量、更小的带宽提供相同质量的视频,压缩率相比行业最佳表现还提高了30%以上。

从蓬莱到紫霄再到沧海,从28纳米工艺到12纳米工艺,从8个人发展到100多人,从仿真工具一无所有到“天箭验证平台”正式落成,从努力跟上合作伙伴的节奏到独立做完全SOC。

两只小分队胜利会师。蓬莱团队,完成了一场“芯”路进化。

05

“100G”时代,双木参天

躬身跳进造芯大潮的,不是只有云架构平台部。

在多媒体、AI处理积极求变的同时,底层的云服务器也面临着相似的问题:当软件优化带来的性能提升无法让产品拥有区别于竞品的明显竞争力时,如何让性能突破现有天花板?

2019年,腾讯迎来云计算业务上的里程碑——云服务器规模突破了100万。腾讯云副总裁、腾讯网络平台部总经理邹贤能敏锐地观察到,随着服务器接入带宽不断提升,服务器用于网络处理的CPU资源也越来越多。

能否以更低成本的方式来实现服务器网络处理,同时还提供更高的网络性能?腾讯的网络平台部也将目光投向了软硬协同与硬件加速。

面对这样“既要、又要”的挑战,邹贤能决定给服务器做个减法:“把网络数据处理的负担从CPU卸载出来”。

“智能网卡”的想法就这样诞生了。

所谓智能网卡,一方面像普通网卡一样肩负起服务器的对外网络访问,实现不同服务器和数据中心之间的网络互联。另一方面,它额外带有CPU/FPGA/内存等智能单元,能分担一部分服务器的虚拟化计算任务,实现服务器整体网络和存储性能的加速。

换句话说,网络平台部要做的事,是要在网卡里新装一个服务器。

一开始,团队希望找到一款现成的商用板卡降低工作量。

网卡硬件负责人Hayden牵头开展方案论证和调研,但商用芯片的加速引擎不支持私有协议成为当时直面的第一大挑战,也是最大的障碍。一些著名的网卡设备商听了腾讯的要求就摇头:

“现在网卡的功能很简单,你们这个要求太复杂了,很难实现的。”

还有些直白地质疑:“网卡数量这么多,可靠性要求高,你们自己搞得定吗?”

难道智能网卡项目刚起步就要流产?

邹贤能给团队指明了方向:“既然智能网卡是云数据中心追求极致性能与成本的关键部件,如果市面上没有满足腾讯需求的产品,那我们就自己造一个。”

方向明确之后,路线也很快清晰起来:先从基于FPGA自研智能网卡起步,再开展智能网卡芯片研发。

2020年9月,腾讯第一代基于FPGA的自研智能网卡正式上线,命名为“水杉”,寄寓着团队希望产品可以像这种珍稀乔木一样适应性强、快速生长。

疫情期间各种突发需求砸来,初生的水杉没有被挑战压弯。

Hayden回忆道,一个大客户本身采用了UDP音视频协议,在属性上是“不可靠”、允许丢包的,极大地依赖网络吞吐和稳定性,却要求高并发、高质量的音视频传输效果。

水杉智能网卡迎难而上,通过大幅提升服务器的网络性能,帮助该客户完成了24小时零丢包的极限压力测试,稳定上线运行,交出了一份漂亮的答卷。

水杉投入应用后,第二代智能网卡“银杉”的研发工作也紧锣密鼓地启动,并于2021年10月正式上线。这一代智能网卡的网络端口翻了一番,达到了2*100G。

在又一颗参天大树的支撑下,腾讯云对外推出了业界首款自研第六代100G云服务器。它的计算性能提升最大220%、存储性能最大提升100%。单节点接入网络带宽相比上一代最大提升4倍,延时下降50%。

“两棵树”在网络硬件卸载上取得的巨大收益,令团队兴奋不已。

当FPGA路线逐渐逼近性能和功耗的瓶颈,网络平台部决定再一次把主动权掌握在自己手里。腾讯的第四款芯片,也是首款智能网卡芯片应运而生,它也有一个 “仙气十足”的名字——“玄灵”。

06

“玄灵”乍现,芯事未完

按照计划,这款7纳米工艺的芯片将在2022年底流片。

Hayden受命快速组建起了玄灵芯片研发团队,不断挑战多个“mission impossible”。

从性能指标来看,玄灵支持设备数量将提升到10K以上,相对商业芯片提升6倍。同时,它的性能相对商业芯片也可提升4倍,通过将原来运行在主机CPU上的虚拟化、网络/存储IO等功能卸载到芯片,可实现主机CPU的0占用。

这颗短小精悍的芯片,充分诠释了面向未来极致性能的“玄”,与面向各类业务需求灵活加速的“灵”。

目前,玄灵项目正在紧锣密鼓地进行智能网卡流片前的验证和测试,打造腾讯云下一代高性能网络基础设施;

蓬莱实验室的AI推理芯片紫霄和视频转码芯片沧海则将量产,与腾讯业务深度融合应用;

还有一些新的芯片项目也在酝酿成长,继续 探索 有需要的技术方向,丰富这一本“山海经”。

腾讯海量业务面临的全新挑战,以及云计算高速发展的必然要求,“倒逼”腾讯走上了这条造芯之路。这些从业务需求出发的芯片,必定会深入现实应用来证明自身的价值。

“我们不是无中生有、拍脑袋要去做芯片。我们一开始就知道,腾讯的需求足够大,足够我们去做这件事。”卢山说道。

从2010年起,腾讯就开始以云服务的方式对外开放自身的数字技术与连接能力,奔赴这场产业数字化转型升级的时代大潮。躬身入局,腾讯看到深度的数实融合正在引领全真互联的技术趋势。

而在腾讯之外,中国的 科技 公司们正在向创新的深水区挺进,突破瓶颈的努力显得愈发重要。无论是数实融合还是上游创新,硬 科技 的海面上一片百舸争流,它们都在 历史 的浪潮奋楫中流。

在这场大潮中置身事内,腾讯的芯事必然在星辰大海中得到回响。

为什么微软在服务器中用 FPGA 代替传统 CPU 可以使效能大幅提升

CPU是靠软件来运行程序的,FPGA是靠硬件逻辑来实现功能的,相对来说要快!

Arduino,C51,STM32,ARM,FPGA有什么联系和区别

首先51是最古老的芯片(指8051),专利过期了其他厂家兼容芯片琳琅满目。在你列出的这几种里面速度慢,内存小(排除有些厂家出的魔改的型号)。常见的厂家stc的,atmel的正统89c51系列以及后期魔改型号。国产的st89,10,11,12,以及最新的15。还有c8051系列,以及高速usb接口的芯片,以及有很多无线收发芯片的核心是8051的。但是指令集兼容但是寄存器的复杂度就不一样了。

说arduino的话,arduino算是一个平台,他的早起,也是最广泛的核心是基于avr单片机的。我们都戏说arduino团队是给avr收买了帮avr买芯片。既然你没问avr的我就只说说arduino的情况。他简单易懂,做毕业,原型,快速开发的时候,硬件搭设方便,基本不用你去画板子,导线连接模块就是了。代码也全是简单易懂的。基本不涉及到寄存器级。总得来说就是开发快。小量定制化还是划算。真的做产品或者研究就算了,成本高,简单高度抽象化带来就是效率底下以及资源开销大,模块数量上去后系统就撑不住了。

虽然现在也有基于stm32,fpga,lpc,pic等芯片做的arduino,但是开源库和ide的开发很多没跟上,不兼容也没办法继承avr的arduino遗产。虽然官方也出了avr32位单片机的arduino,以及arm m0,还有配合嵌入式openwrt系统的arduino yun。但是价格以及方便性简直了(更何况新的芯片大多是低压io,外接模块很少兼容。

说stm32之前要说arm,上面的人也说过了,arm有分好几个版本。只说最近的划分,一个就是带mmu内存管理的,一般需要外接ram,flash才能工作。就是你听到的手机处理器arm多少多少,还有的路由器的处理器,以及服务器的处理器。特点是跑系统。还有就是不带mmu的嵌入式,和8051一样带ram,flash。现在划分了m0 m3 m4 m7等用在嵌入式,以及m0+升级版和其他特殊版本。总之就是比8051高了不知道哪里去了的芯片。然后stm32是st意法半导体公司向arm公司购买了核心(嵌入式)版权,加上自己的外设生产的一个系列的芯片。功能强大速度快外设多。但是寄存器复杂度等和8051就不能比了。所以官方也出了库,现在还出了专门的代码生成软件cube来简化操作。

fpga就厉害多了,前面说的几种都是单片机,做运算都是一步步来的,逻辑上是串联的。fpga是并行的,单片机一次同一时间只能做一次运算,fpga只要资源够(芯片买的贵),你心情好,同时进行成百上千的运算都可以的。所以一般用在速度要求高的地方,比如视频压缩,高速网络设备等。8051,arduino,stm32,10元左右就能上,fpga不上百就没啥资源可用,连前面三都比不过。fpga也不是用c来开发的,你可以想象成是一个数学的算法然后转到电路去执行(视频压缩就是一种)。更考数学,算法类的。

总结1,8051系列已经是辉煌的末日了。构架上已经拉后腿了,除了老代码,老系统升级,就是特定领域的芯片上使用。但是他至今还占用很大份额的原因是——大学的课本是他。

总结2,arduino就是一个玩具,玩玩可以,艺术类学生用来做互动的比较多。很多是不懂嵌入式硬件的程序员用来做东西玩。真正懂的要么直接用底层的avr要么用stm32或者其他了

总结3stm32杠杠的,值得学。在同性质的单片机里面最具性价比的。学习资料也多。

总结4 没的说太大范围了,都攘括了上一条总结的东西。

总结5高大上。学好饭碗不愁,高薪。但是怎么也得博士硕士才能干出点成绩,野路子的话是享受不到这个的。同时资料也少,入门成本高。

linux ARM FPGA和DSP这四个方面的问题

大概可以分为两组,

一组是以编程为主,就是linux

一组是以硬件为主,就是ARM,FPGA,DSP

linux,就是学习linux的内核,包括启动过程,任务机制,网络控制,IO模块等。还要学习gcc等编程工具,调试工具。但学完利用呢,也是以嵌入式开发居主,配合ARM,包括移植uClinux,移植自己开发的程序,这样子。可能还包括linux服务器上面的研发吧。

ARM,我学了挺长时间的。ARM就可以理解成一种CPU,大部分上都是要靠移植一种系统(uCLinix),然后移植开发的程序。以后主要负责嵌入式开发,学习的工具包括IO开发,驱动程序开发,比如做个什么MP3/4/5,手机开发,PDA,GPRS

什么的。

FPGA,是一种基于硬件的开发,里面可以理解成一些零散的部件,包括加法器,乘法器,寄存器,SRAM什么的。而你要做的开发,就是通过IDE(比如QuartusII)实现一定的功能,烧写到FPGA中,将零散的部件连接,从而实现了一定的逻辑功能。

DSP,数字信号处理,主要用在视频处理,比较高效。也可以配合FPGA和DSP,既满足灵活的配置,还能完成视频处理方面。效率高。

至于选什么,都还行。你可以问下你的导师,和学长。我看,都还不错,以后的就业都很好的。当然,ARM+Linux,市场比较大,用的也多,你可以参考一下。

FPGA, CPU, GPU, ASIC区别,FPGA为何这么牛(二)

姓名:任佩怡      学号:19020100348      学院:电子工程学院

转自:;request_id=162849450116780357280058biz_id=0utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-29-106649227.first_rank_v2_pc_rank_v29utm_term=FPGAspm=1018.2226.3001.4187

【嵌牛导读】对于专业人士来说,FPGA并不陌生,它一直都被广泛使用。但是,大部分人还不是太了解它,对它有很多疑问——FPGA到底是什么?为什么要使用它?相比CPU、GPU、ASIC(专用芯片),FPGA有什么特点?……

【嵌牛鼻子】FPGA, CPU, GPU, ASIC

【嵌牛提问】FPGA, CPU, GPU, ASIC的区别及FPGA的过人之处

【嵌牛正文】

二、微软部署 FPGA 的实践

2016 年 9 月,《连线》(Wired)杂志发表了一篇《微软把未来押注在 FPGA 上》的报道 [3],讲述了 Catapult 项目的前世今生。

紧接着,Catapult 项目的老大 Doug Burger 在 Ignite 2016 大会上与微软 CEO Satya Nadella 一起做了 FPGA 加速机器翻译的演示。

演示的总计算能力是 103 万 T ops,也就是 1.03 Exa-op,相当于 10 万块顶级 GPU 计算卡。一块 FPGA(加上板上内存和网络接口等)的功耗大约是 30 W,仅增加了整个服务器功耗的十分之一。

Ignite 2016 上的演示:每秒 1 Exa-op (10^18) 的机器翻译运算能力

微软部署 FPGA 并不是一帆风顺的。 对于把 FPGA 部署在哪里这个问题,大致经历了三个阶段:

专用的 FPGA 集群,里面插满了 FPGA

每台机器一块 FPGA,采用专用网络连接

每台机器一块 FPGA,放在网卡和交换机之间,共享服务器网络

第一个阶段是专用集群,里面插满了 FPGA 加速卡,就像是一个 FPGA 组成的超级计算机。

在半导体行业,只要批量足够大,芯片的价格都将趋向于沙子的价格。

当然现在数据中心领域用两家公司 FPGA 的都有。 只要规模足够大,对 FPGA 价格过高的担心将是不必要的。

像超级计算机一样的部署方式,意味着有专门的一个机柜全是上图这种装了 24 块 FPGA 的服务器(下图左)。

这种方式有几个问题:

不同机器的 FPGA 之间无法通信,FPGA 所能处理问题的规模受限于单台服务器上 FPGA 的数量;

数据中心里的其他机器要把任务集中发到这个机柜,构成了 in-cast,网络延迟很难做到稳定。

FPGA 专用机柜构成了单点故障,只要它一坏,谁都别想加速了;

装 FPGA 的服务器是定制的,冷却、运维都增加了麻烦。

一种不那么激进的方式是,在每个机柜一面部署一台装满 FPGA 的服务器(上图中)。这避免了上述问题 (2)(3),但 (1)(4) 仍然没有解决。

第二个阶段,为了 保证数据中心中服务器的同构性 (这也是不用 ASIC 的一个重要原因),在每台服务器上插一块 FPGA(上图右),FPGA 之间通过专用网络连接。这也是微软在 ISCA’14 上所发表论文采用的部署方式。

红框是放 FPGA 的位置。

FPGA 采用 Stratix V D5,有 172K 个 ALM,2014 个 M20K 片上内存,1590 个 DSP。板上有一个 8GB DDR3-1333 内存,一个 PCIe Gen3 x8 接口,两个 10 Gbps 网络接口。一个机柜之间的 FPGA 采用专用网络连接,一组 10G 网口 8 个一组连成环,另一组 10G 网口 6 个一组连成环,不使用交换机。

这样一个 1632 台服务器、1632 块 FPGA 的集群,把 Bing 的搜索结果排序整体性能提高到了 2 倍(换言之,节省了一半的服务器)。

如下图所示,每 8 块 FPGA 穿成一条链,中间用前面提到的 10 Gbps 专用网线来通信。这 8 块 FPGA 各司其职,有的负责从文档中提取特征(黄色),有的负责计算特征表达式(绿色),有的负责计算文档的得分(红色)。

FPGA 在 Bing 的部署取得了成功,Catapult 项目继续在公司内扩张。

微软内部拥有最多服务器的,就是云计算 Azure 部门了。

Azure 部门急需解决的问题是网络和存储虚拟化带来的开销。Azure 把虚拟机卖给客户,需要给虚拟机的网络提供防火墙、负载均衡、隧道、NAT 等网络功能。由于云存储的物理存储跟计算节点是分离的,需要把数据从存储节点通过网络搬运过来,还要进行压缩和加密。

在 1 Gbps 网络和机械硬盘的时代,网络和存储虚拟化的 CPU 开销不值一提。随着网络和存储速度越来越快,网络上了 40 Gbps,一块 SSD 的吞吐量也能到 1 GB/s,CPU 渐渐变得力不从心了。

例如 Hyper-V 虚拟交换机只能处理 25 Gbps 左右的流量,不能达到 40 Gbps 线速,当数据包较小时性能更差;AES-256 加密和 SHA-1 签名,每个 CPU 核只能处理 100 MB/s,只是一块 SSD 吞吐量的十分之一。

为了加速网络功能和存储虚拟化,微软把 FPGA 部署在网卡和交换机之间 。

如下图所示,每个 FPGA 有一个 4 GB DDR3-1333 DRAM,通过两个 PCIe Gen3 x8 接口连接到一个 CPU socket(物理上是 PCIe Gen3 x16 接口,因为 FPGA 没有 x16 的硬核,逻辑上当成两个 x8 的用)。物理网卡(NIC)就是普通的 40 Gbps 网卡,仅用于宿主机与网络之间的通信。

FPGA(SmartNIC)对每个虚拟机虚拟出一块网卡,虚拟机通过 SR-IOV 直接访问这块虚拟网卡。原本在虚拟交换机里面的数据平面功能被移到了 FPGA 里面,虚拟机收发网络数据包均不需要 CPU 参与,也不需要经过物理网卡(NIC)。这样不仅节约了可用于出售的 CPU 资源,还 提高了虚拟机的网络性能(25 Gbps),把同数据中心虚拟机之间的网络延迟降低了 10 倍。

这就是微软部署 FPGA 的第三代架构,也是目前「每台服务器一块 FPGA」大规模部署所采用的架构。

FPGA 复用主机网络的初心是加速网络和存储,更深远的影响则是把 FPGA 之间的网络连接扩展到了整个数据中心的规模 ,做成真正 cloud-scale 的「超级计算机」。

第二代架构里面,FPGA 之间的网络连接局限于同一个机架以内,FPGA 之间专网互联的方式很难扩大规模,通过 CPU 来转发则开销太高。

第三代架构中,FPGA 之间通过 LTL (Lightweight Transport Layer) 通信。同一机架内延迟在 3 微秒以内;8 微秒以内可达 1000 块 FPGA;20 微秒可达同一数据中心的所有 FPGA。第二代架构尽管 8 台机器以内的延迟更低,但只能通过网络访问 48 块 FPGA。为了支持大范围的 FPGA 间通信,第三代架构中的 LTL 还支持 PFC 流控协议和 DCQCN 拥塞控制协议。

通过高带宽、低延迟的网络互联的 FPGA 构成了介于网络交换层和传统服务器软件之间的数据中心加速平面。

除了每台提供云服务的服务器都需要的网络和存储虚拟化加速,FPGA 上的剩余资源还可以用来加速 Bing 搜索、深度神经网络(DNN)等计算任务。

对很多类型的应用,随着分布式 FPGA 加速器的规模扩大,其性能提升是超线性的。

例如 CNN inference,当只用一块 FPGA 的时候,由于片上内存不足以放下整个模型,需要不断访问 DRAM 中的模型权重,性能瓶颈在 DRAM;如果 FPGA 的数量足够多,每块 FPGA 负责模型中的一层或者一层中的若干个特征,使得模型权重完全载入片上内存,就消除了 DRAM 的性能瓶颈,完全发挥出 FPGA 计算单元的性能。

当然,拆得过细也会导致通信开销的增加。 把任务拆分到分布式 FPGA 集群的关键在于平衡计算和通信。

在 MICRO’16 会议上,微软提出了 Hardware as a Service (HaaS) 的概念,即把硬件作为一种可调度的云服务,使得 FPGA 服务的集中调度、管理和大规模部署成为可能。

从第一代装满 FPGA 的专用服务器集群,到第二代通过专网连接的 FPGA 加速卡集群,到目前复用数据中心网络的大规模 FPGA 云,三个思想指导我们的路线:

硬件和软件不是相互取代的关系,而是合作的关系;

必须具备灵活性,即用软件定义的能力;

必须具备可扩放性(scalability)。

本文来源:https://www.yuntue.com/post/101289.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

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