为什么芯片设计也需要「匠人精神」?

2023-11-07 02:50

本文主要是介绍为什么芯片设计也需要「匠人精神」?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

曾经看到过一部红极一时的纪录片《寿司之神》。

小野二郎是世界上年纪最大的米其林三星主厨,老爷子一辈子就钻研了一件事:寿司。

在垂直的领域做到世界顶级,靠的就是匠人精神。

如果我们抛开那些外在的包装和炒作,沉淀下来去观察他做的事情,就不难发现匠人精神的本质,其实就是专业和坚持。

捏寿司是这样,各行各业也是这样。

推动行业发展的,或许并不是图灵那样可遇不可求的天才,而是更多『匠人』对极致的追求,特别是他们在某个小领域不断地深耕、优化、提升。

打个最简单的比方,天才创造了开天辟地的理论,就像是1,但需要无数匠人在后面补上0,才能让这个数变的越来越大。

芯片行业也不例外。

当FPGA在1984年诞生的时候,就像是一个不起眼的1,没有人会想到这将成为一个价值几十亿美元的产业。不到四十年的时间,后面加了十个0。

这就是指数级的爆发。

摩尔定律描述的就是指数级的规律,而FPGA一直都是体现摩尔定律的最好例子。

接下来我们就从FPGA存储器这个小领域,看看匠人精神是怎么用在这里的。

01 


新型存储架构

英特尔总结过,FPGA现在和未来的发展趋势只有三个:

传输更快,存储更多,计算更广。

Move fast, Store more, Process everything.

所以,就像不要觉得寿司只是酸米饭配芥末一样,再也不要觉得FPGA只是用来做芯片原型验证的了。FPGA早就被用作高能效的硬件加速单元,去加速你能想到的所有应用了。

FPGA之所以有这样的能力,是由它本身的结构决定的。比如FPGA有着很强的硬件并行性,能像GPU那样进行并行运算,但功耗却低很多;它还能灵活地调整数据的精度,让神经网络的压缩和优化成为现实。

同样重要的是,FPGA能提供极高的内存带宽、同时兼顾计算的效率,从而解决很多应用都存在的内存瓶颈问题。

而存储,就是FPGA上最体现「匠人」功力的地方。

传统的FPGA存储单元并不是只有一种结构,而是分成下面两类:

  • 片上内存:如M20K、MLAB等

  • 片外内存:如DDR5、LPDDR5等

片上内存速度最快、容量最小、造价最高;片外内存速度慢、容量大、造价低。

这样的结构,并不是某个天才一拍脑门想出来的。最早的FPGA只支持片上内存。但是随着需要处理的数据越来越多,就慢慢加入了对片外内存的支持,并且逐渐成为了主流FPGA的标配。

匠人精神的本质,就是不断发现问题、解决问题、并且极致优化的过程。

在这个过程中人们逐渐发现,片上和片外这两种内存之间,仍然存在着一个巨大而关键的缺口:对于很多数据密集型的应用,它们的数据量比片上内存的容量大得多,但对于带宽的需求又比片外内存能提供的大得多。

这时出现了第三种内存类型:封装内存。这种内存的最典型代表,就是HBM。

beabb23099e607000d32a7db0c931caa.png

典型的存储层次结构

它之所以叫「封装内存」,是因为内存颗粒与FPGA被集成在同一个芯片封装里了。

比如在英特尔最新的Agilex-M系列FPGA里,就在芯片的上下两侧通过EMIB技术集成了两个HBM2e,这也是业界第一个集成了HBM2e高带宽存储器的FPGA。这样不仅减小了芯片的尺寸,还能进一步降低功耗和数据传输的时延。

6fcf1ee883d514bd5cd52ecbdca6b57f.png

英特尔Agilex-M FPGA平面图

一个有趣的小知识,Agilex-M的“M”,就是Memory存储器的意思。也就是说,Agilex-M就是专门为高性能存储而优化的FPGA芯片。

和传统的芯片结构不同,HBM2e是一种三维结构。如果说传统芯片是平房,那么HBM2e就是大楼。所以在容量这个维度,HBM2e秒杀片上内存。

比如它可以包含4层或8层,每层提供2GB内存,再考虑到一个Agilex-M里包含两个HBM2e,这样FPGA就能提供高达32GB的内存容量,比片上内存多两个数量级。

从内存带宽这个维度来看,每个HBM2e能提供410Gbps的内存带宽,比业界前沿的DDR5和GDDR6分别高18倍、和高7倍,比更加“主流”的DDR4等等更不知道要高到哪里去了。

有了HBM,看起来存储的问题已经解决了?还远远没有:HBM只是第一步。

02 


新型非易失性存储

对于片外内存,新的问题又出现了。对于很多应用来说,DDR最大的问题并不是慢,而是断电后数据会消失。

这时人们就不得不采用闪存这样的“非易失性”存储,来保存那些关键数据。但硬币的另一面,是闪存的性能比DDR还要低。

为了解决这个问题,英特尔提供了一种名叫“傲腾”的新型存储介质,这种存储级内存其存储密度比普通内存高,但存取速度又比闪存快。

更重要的是,傲腾™技术作为一种持久内存的形态存在时(之所以这么表达是因为还有一个傲腾SSD。。。怕有混淆,您看看这样说是不是更好?),它独有的非易失性,使得它里面存的数据在断电后并不会消失。

与 DRAM 内存相比,持久内存具有更经济的价格和更大的容量,和固态盘相比则拥有更优的数据响应速度和传输速度(接近 DRAM 内存)。

正因于此,傲腾也逐渐成为了很多高性能应用里的关键存储单元,多用来做内存的大补充或者为内存密集型应用和延时敏感型应用服务。

03 


片上网络,终于来了

同样还在进化的,是FPGA的芯片架构。

之前的文章里介绍过,Agilex FPGA对芯片布局进行了大修,把各种I/O接口和存储单元都移到了芯片的上下两端,把各种高速收发器放在了芯片的左右两端,这样芯片中间就成了一个像足球场一样的特别平整的结构。

之前开一个大脚会踢到各种模块单元,数据跑起来自然就慢。现在一马平川,没有挡路的东西了,数据跑起来就快多了。

可以说,这已经是近几年来FPGA架构上最有创意的尝试了。但你以为这样就完了吗?

Agilex-M最大的架构变化,就是引入了片上网络Network-on-Chip。这就像在城市规划里,不仅有道路交通,还有轨道交通。在轨道上运行的地铁或城铁,不仅速度可以更快,还能运更多的人。更重要的是,轨道可以建在地上或者地下,不影响在路上跑的汽车自行车摩托车。

850a45e3a64c605266b1105ad839b8fd.png

Agilex-M的片上网络NoC结构示意图

Agilex-M的片上网络专门为存储设计,也就是说,这是一趟专列。

有了片上网络,FPGA和各种内存之间的数据传输就不用经过FPGA的路由资源了。HBM2e通过UIB接口连接片上网络、DDR和傲腾这些片外内存则通过IO96子系统连接片上网络,并且可以实现7.52Tbps的总带宽。

04 


其他架构优化

除了片上网络,Agilex-M还有很多其他的架构优化。I/O方面,它的收发器带宽可以达到116Gbps,可以支持CXL、PCIe Gen5、400G以太网等等这些数据中心和网络通信的最新协议和接口。

计算性能方面,Agilex-M集成了高达12300个可变精度DSP模块,可以支持高达18.5TFLOPS的单精度浮点运算、37TFLOPS的半精度浮点运算、以及88.6TOPS的INT8运算。

28c088534ea032dde1d0a97acfb81120.png

05 


结语

作为专门针对存储性能进行优化的FPGA,Agilex-M已经把优化做到了极致。这样的优化方式和思路其实有着很强的普适意义:

它并不是由某个天才创造出来的突破性成果,而是在各种问题的驱动下,一步一步发展起来的,然后靠一个个拥有「匠人精神」工程师的专注与积累,达到最后的结果。

在大多数情况下,这种方式更加现实,也更加有效。

(关于Agilex M 系列FPGA的更多内容和技术细节,可以点击“阅读原文”查看)

-END-


往期推荐:点击图片即可跳转阅读

e74622bdd6f34a2dd54b86b04af98e8d.png

如何零基础入门FPGA?这篇文章让你吃透!

be733c6645fb1daba06b39acb0d7dc48.png

都说FPGA高端,它到底能干啥?详解六大应用领域!

2cf67c98a280ae904d9b393b031ec0e2.png

FPGA搭建一个STM32内核?

7dd8719fff91e50cf02512b229ce2534.png

什么是FPGA?为什么FPGA会如此重要?

这篇关于为什么芯片设计也需要「匠人精神」?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360751

相关文章

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在