0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

匠人精神是怎么用在FPGA存储器

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2022-06-10 09:06 次阅读

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

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

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


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

捏寿司是这样,各行各业也是这样,芯片行业也不例外。

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

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

芯片行业也不例外。

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

这就是指数级的爆发。

摩尔定律描述的就是指数级的规律,而FPGA一直都是体现摩尔定律的最好例子。接下来我们就从FPGA存储器这个小领域,看看匠人精神是怎么用在这里的。

1、新型存储架构

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

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

Move fast, Store more, Process everything.

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

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

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

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

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

片上内存:如M20K、MLAB等

片外内存:如DDR5、LPDDR5等

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

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

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

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

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

7f155a12-e855-11ec-ba43-dac502259ad0.png

典型的存储层次结构

它之所以叫「封装内存」,是因为内存颗粒与FPGA被集成在同一个芯片封装里了。比如在英特尔最新的Agilex M系列FPGA里,就在芯片的上下两侧通过EMIB技术集成了两个HBM2e,这也是业界第一个集成了HBM2e高带宽存储器的FPGA。这样不仅减小了芯片的尺寸,还能进一步降低功耗和数据传输的时延。

7f4567fc-e855-11ec-ba43-dac502259ad0.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只是第一步。

2、新型非易失性存储

对于片外内存,新的问题又出现了。对于很多应用来说,DDR最大的问题并不是慢,而是断电后数据会消失。这时人们就不得不采用闪存这样的“非易失性”存储,来保存那些关键数据。但硬币的另一面,是闪存的性能比DDR还要低。

为了解决这个问题,英特尔提供了一种名叫“傲腾”的新型存储介质,这种存储级内存其存储密度比普通内存高,但存取速度又比闪存快。更重要的是,傲腾技术作为一种持久内存的形态存在时,它独有的非易失性,使得它里面存的数据在断电后并不会消失。

DRAM 内存相比,持久内存具有更经济的价格和更大的容量,和固态盘相比则拥有更优的数据响应速度和传输速度(接近 DRAM 内存)。正因于此,傲腾也逐渐成为了很多高性能应用里的关键存储单元,多用来做内存的大补充或者为内存密集型应用和延时敏感型应用服务。

3、片上网络,终于来了

同样还在进化的,是FPGA的芯片架构。之前的文章里介绍过,Agilex FPGA对芯片布局进行了大修,把各种I/O接口和存储单元都移到了芯片的上下两端,把各种高速收发器放在了芯片的左右两端,这样芯片中间就成了一个像足球场一样的特别平整的结构。之前开一个大脚会踢到各种模块单元,数据跑起来自然就慢。现在一马平川,没有挡路的东西了,数据跑起来就快多了。

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

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

7f78d9d4-e855-11ec-ba43-dac502259ad0.png

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

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

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

4、其他架构优化

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

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

结语

作为专门针对存储性能进行优化的FPGA,英特尔 Agilex M已经把优化做到了极致。这样的优化方式和思路其实有着很强的普适意义:它并不是由某个天才创造出来的突破性成果,而是在各种问题的驱动下,一步一步发展起来的,然后靠一个个拥有「匠人精神」工程师的专注与积累,达到最后的结果。

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

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1628

    文章

    21708

    浏览量

    602699
  • 芯片
    +关注

    关注

    454

    文章

    50613

    浏览量

    422826
  • 存储器
    +关注

    关注

    38

    文章

    7470

    浏览量

    163699

原文标题:为什么芯片设计也需要「匠人精神」?

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是ROM存储器的定义

    一、ROM存储器的定义 ROM存储器是一种在计算机和电子设备中用于存储固定数据的存储器。与RAM(随机存取存储器)不同,ROM
    的头像 发表于 11-04 09:59 380次阅读

    存储器分为随机存储器和什么

    存储器是计算机系统中用于临时存储数据和程序的关键部件,它直接影响到计算机的运行速度和性能。内存储器主要分为两大类:随机存储器(RAM,Random Access Memory)和只读
    的头像 发表于 10-14 09:54 771次阅读

    存储器中访问速度最快的是什么

    在探讨存储器中访问速度最快的是哪一种时,我们首先需要了解计算机存储系统的层次结构以及各类存储器的特性和功能。计算机存储系统通常包括多个层次的存储器
    的头像 发表于 10-12 17:01 1636次阅读

    PLC主要使用的存储器类型

    PLC(可编程逻辑控制)中的存储器是其重要组成部分,用于存储程序、数据和系统信息。PLC的存储器主要分为两大类:系统存储器和用户
    的头像 发表于 09-05 10:45 1782次阅读

    外部存储器有哪些

    外部存储器是指用于存储数据的独立设备,它们通常与计算机或其他电子设备连接,并提供额外的存储空间,允许用户在不改变主设备内部存储的情况下保存和访问大量数据。常见的外部
    的头像 发表于 09-05 10:42 1898次阅读

    内部存储器有哪些

    内部存储器,也称为内存(Memory),是计算机系统中用于暂时存储程序和数据的重要组件。它直接与CPU相连,是CPU处理数据的主要来源。内部存储器主要由随机存取存储器(RAM)和只读
    的头像 发表于 09-05 10:42 1447次阅读

    ram存储器和rom存储器的区别是什么

    定义: RAM(Random Access Memory):随机存取存储器,是一种易失性存储器,主要用于计算机和其他设备的临时存储。 ROM(Read-Only Memory):只读存储器
    的头像 发表于 08-06 09:17 629次阅读

    EEPROM存储器如何加密

    EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)是一种非易失性存储器,它在断电后仍能保持数据。由于其可
    的头像 发表于 08-05 18:05 1172次阅读

    eeprom存储器为什么会重烧

    EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)是一种非易失性存储器,可以在不移除芯片的情况下进行
    的头像 发表于 08-05 16:59 489次阅读

    存储器与外存储器的主要区别

    在计算机系统中,存储器是不可或缺的核心部件,它负责存储和处理各种数据和信息。根据存储位置和功能的不同,存储器可大致分为内存储器(简称内存)和
    的头像 发表于 05-22 18:16 5076次阅读

    存储器的定义和分类

    存储器,作为计算机系统中的核心部件之一,扮演着存储和检索数据的角色。无论是程序的执行,还是数据的处理,都离不开存储器的支持。本文将对存储器进行详细的介绍,包括其定义、分类、工作原理以及
    的头像 发表于 05-12 16:56 1294次阅读

    浅谈存储器层次结构

    通过多级存储器的设计,存储器层次结构能够在存储容量和访问速度之间找到一个平衡点。高速缓存存储器和主存储器提供了快速的访问速度,而辅助
    发表于 02-19 13:54 781次阅读
    浅谈<b class='flag-5'>存储器</b>层次结构

    半导体存储器有哪些 半导体存储器分为哪两种

    半导体存储器(Semiconductor Memory)是一种电子元件,用于存储和检索数据。它由半导体材料制成,采用了半导体技术,是计算机和电子设备中最常用的存储器。 半导体存储器可以
    的头像 发表于 02-01 17:19 2917次阅读

    如何使用SCR XRAM作为程序存储器和数据存储器

    1) 允许一个物理内存(即 XRAM) 可同时作为程序存储器和数据存储器进行访问 如何使用 SCR XRAM 作为程序存储器和数据存储器。 1) 用于
    发表于 01-30 08:18

    fpga配置flash怎么用来存储数据

    FPGA(现场可编程门阵列)是一种高度灵活的硬件设备,可以根据特定的需求进行重新配置。FPGA通常用于处理大量数据和实时计算。然而,FPGA通常并没有内置大容量的数据存储器,例如硬盘或
    的头像 发表于 12-15 15:42 2455次阅读