RISC-V 加速芯片,496核!RTL开源
蓝字 关注我们来源:wikichip
Celerity是在多家大学共同努力下,而创造的一个开源多核RISC-V分层(tiered)加速器芯片。该项目是DARPA快速电路实现(Circuit Realization At Faster Timescales:CRAFT)计划的一部分,该计划希望将定制集成电路的设计周期从几年缩短到几个月甚至几周。Celerity团队首先在Hot Chips 29上展示了该芯片。在去年的VLSI 2019上,Celerity团队谈论了其第二代芯片的PLL和NoC。此外,Celerity的RTL设计已在其官网开源提供下载!
接下来先对整个CeleritySoC做一个快速概述,Celerity是一个多核多层的AI加速器。总体而言,该芯片包括三个主要层:通用层,大规模并行层和专用层。为什么要使用分层SoC?主要原因是为了在典型的CPU设计上实现高灵活性和更高的电源效率(尽管效率不及ASIC NPU)。通用层几乎可以执行任何操作:通用计算、内存管理以及控制芯片的其余部分。因此,他们集成了Free Chip Project的五个高性能乱序RISC-V Rocket内核。下一层是大规模并行层,它将496个低功耗定制设计的RISC-V内核集成到一个网格中。这些称为Vanilla-5的自定义内核是有序标量内核,其占用的空间比Rocket内核少40倍。最后一层是集成二值神经网络(BNN)加速器的专业化层。这三层都是紧密链接的,并与以400 MHz的DDR存储器接口。
Celerity上的多核网络(Manycore Mesh)时钟由一个定制的锁相环(PLL)提供。这是一个相当简单的一阶ΔΣ频率数字转换器(FDC)PLL。该实现单元采用16个DCO组成一个组,每个实现单元为环形振荡器,其中反相元件加载有如下幻灯片上的电路图所示的NAND门fce,如以下幻灯片中的电路图所示。这样做是为了仅使用标准单元来实现整个设计。为此,整个数字PPL是一个完全综合和自动放置和路由设计。该PLL在其16纳米芯片上的频率范围为10 MHz至3.3GHz。
与许多学术项目一样,硅面积也非常重要的,整个芯片为25平方毫米(5×5)。对于Celerity而言,许多关键的架构设计决策都以限制硅面积的需求为主导,这意味着降低了复杂性。Manycore本身是16乘31的Vanilla-5 RISC-V小型内核阵列。该阵列的第32行用于外部主机,该主机用于与芯片上的其他组件连接(例如,将消息/数据发送到Rocket核心进行最终处理)。整个网格为3.38毫米乘4.51毫米(15.24毫米²),约占整个芯片的61%。Vanilla-5核心是5级有序流水线RV32IM核心,因此它们支持整数和乘法扩展。硅芯片实现,这些内核能够达到1.4 GHz,比他们在Hot Chips 29上展示的第一个硅芯片高350 MHz。
为了降低多核阵列的复杂性,Celerity利用分区的全局地址空间进行单芯片数据包和远程存储编程模型。
该阵列利用了全局分区地址空间(GPAS)。换句话说,不是使用高速缓存,而是使用32位地址方案将整个内存地址空间映射到网络中的所有节点上。这种方法也意味着无需虚拟化或转换,从而大大简化了设计。他们声称,与等效的一致性缓存系统相比,该设计可将区域开销降低20倍。值得指出的是,由于该多核阵列的目标工作负载是AI加速(相对于更通用的计算),因此它们可以采用显式分区(explicitly partitione)的暂存器存储方案,因为这些工作负载表现出高度并行的定义良好的独立流模式。而且,对于这种类型的代码,控制存储器局部性的能力可能证明是非常有利的。阵列中的每个核都可以自由执行加载并存储到任何本地地址,但是,它只能执行对远程地址的存储。没有远程负载意味着它们将路由器面积减少了10%,并且由于可以对远程存储进行流水线处理,因此可以防止流水线停顿。
这种远程存储编程模型方案允许他们使用两个网络,实现这一个数据网络和credit网络用于管理未完成的存储。
如前所述,第32行用于外部主机。实际上,这意味着内存映射扩展到位于阵列底部的16个路由停靠点,允许消息进出多核阵列,到达芯片上的大核和其他外围设备。
Celerity并没有使用非常常见的wormholerouting(被Kilocore,Piton,Tile64等使用),而是将地址和数据合并到单个flit数据包中。该设计摆脱了发送数据和元数据都需要的头/尾部信息。另外,由于没有保留的路由,它摆脱了HOL阻塞。每个flit均为80b宽-控制位16位,数据位32位,节点地址位10位,存储器地址位22位。flit节点地址保留了将数据发送到任何目的地的能力。该设计的主要好处是,由于仅将单个flit注入网络,因此可以使用一个有序管道在每个周期中执行一个存储。
在多核阵列中的496个节点中,每个节点都有一个路由。路由本身在每个基本方向(N,S,E,W)的输入处都包含两个元素的FIFO,以及在网络拥塞情况下用作临时存储的控制处理器。他们使用循环仲裁(round-robin arbitration)来确定数据包的优先级,从而可以在每个周期对每个方向进行仲裁(arbitrate )。他们使用尺寸顺序的布线(在一个方向上减小偏移,然后再移动到另一方向)。通过简单的设计,他们可以将整个路由实现为单级设计,而节点之间没有管道寄存器。换句话说,每跳只需要一个周期。例如,任何相邻的核心存储区的延迟只有3个周期-转到本地路由,跳到相邻路由,最后去邻居的记忆空间,路由器与内核位于相同的时钟域,这意味着它们还可以在高达1.4 GHz的频率下运行。
有两个网络-一个数据网络和一个credit计数器网络。该路由器使用一个受源代码控制的credit计数器,每当一个远程存储包被注入网络时,该计数器就会递减。通过credit计数器网络返回,该网络使用与上面描述的数据相同的架构,但只有9位,因为它只包含节点地址。
那么,这些意味着什么呢?Celerity团队报告了在600 mV至980 mV工作频率从500 MH一直到1.4GHz。我们相信Celerity现在是时钟频率第二高的大学芯片,仅次于Kilocore(尽管值得指出的是,由于封装方面的限制,Kiloecore只能支持其1000个内核中的160个)。在1.4 GHz时,整个网格的最大计算能力为694.4 INT 32 GOPS。他们以每秒Giga-RISC-V指令(GRVIS)而不是GOPS报告其数字,以便强调一个事实,即这些指令是完整的RISC-V指令,而不仅仅是整数运算。请注意,由于Vanilla-5内核是RV32IM,它们支持RISC-V整数和乘法扩展,但不支持浮点运算,因此所有AI工作负载都必须进行量化。由于将节点互连的路由器与核心位于相同的时钟域,每个路由器每个周期支持5个flit,因此每个节点的总聚合带宽为748Gbps,总聚合网络带宽为371Tb/s。
不幸的是,Celerity团队没有报告任何与人工智能相关的常见基准测试结果。相反,他们选择使用CoreMark,当他们达到580.25 CoreMark /MHz时,总得分为812350。CoreMark在过去几年中一直是RISC-V社区的比较基准。CoreMark的问题在于,它通常会为简单的有序设计生成令人难以置信的乐观分数,这些设计似乎能够很好地与调优的现代无序设计竞争,而真实世界的工作负载则显示出非常不同的结果。鉴于该芯片的前提是产生一个高度灵活的人工智能加速器,我们希望鼓励Celerity团队产生更有意义的结果,如正式的MLPerf提交。
Celerity的开源RTL设计已在Celerity网站公开(开源链接:http://opencelerity.org/),部分截屏如下:
高效数据传输,探索JMS581D和RTL9210B芯片的优势特点
前言
NVMe(Non-Volatile Memory Express)和SATA(Serial ATA)是两种不同的存储协议,用于连接硬盘驱动器和固态硬盘(SSD)等存储设备。它们在数据传输速度、性能和兼容性方面有不同的特点。USB-C硬盘盒是一种用于将内部存储设备连接到计算机或其他设备的外部接口设备,通常用于数据备份、存储扩展和数据传输等用途。
随着数字内容的不断增长和多媒体文件的越来越大,用户对高速数据传输的需求也在不断增加。NVMe协议是一种专门设计用于固态硬盘的协议,具有出色的性能,能够提供比传统SATA接口更快的数据传输速度。这使得NVMe SSD成为处理大型文件和高分辨率媒体的理想选择,以及高性能计算和游戏应用的首选。
然而,尽管NVMe协议具有出色的性能,但SATA协议仍然是许多老式和便宜的硬盘驱动器的常见接口。为了实现更广泛的设备兼容性,许多用户需要同时支持NVMe和SATA协议的硬盘盒。这种硬盘盒的设计使得用户可以根据其需求选择使用不同类型的硬盘驱动器,而不必购买多个不同类型的硬盘盒,从而节省了成本和空间。
而主控芯片就是硬盘盒的核心所在了,一款硬盘盒的性能好坏跟采用的主控芯片有极大关系,其决定了桥接接口的类型,也决定了它的传输速度,它的主要作用是将SATA总线协议桥接为USB总线协议,或是将高端的NVME固态采用的PCI-E总线协议桥接为USB总线协议,体现在物理接口上就是将SATA接口转换成USB或Type-C接口,能让这些硬盘盒能够充分发挥NVMe和SATA双协议的优势。
主控芯片
主控芯片通常管理和协调了硬盘盒的各个方面,以确保数据的高效、安全和可靠传输。其为用户提供了多协议支持、高速数据传输、USB Type-C连接性、先进的数据管理和经过优化的电源管理。这些功能使USB-C硬盘盒能够满足各种用户需求,同时提供高性能、高效能和便利性。
充电头网总结了两款支持NVMe和SATA双协议的USB-C硬盘盒主控芯片,分别是智微科技的JMS581D与RTL9210B,与他们各端口的数据传输速度和封装形式。
接下来将详细介绍这两款芯片的优势亮点以及各种功能,一起来看看吧!
排名不分先后,按英文首字母排序。
JMicron智微科技
JMS581D
JMS581D是一种SoC(片上系统)解决方案,嵌入了USB 3.2 Gen2x1 10Gb/s、SATA 6Gb/s和PCIe/NVMe Gen 3x2功能。其上行端口提供了一个USB端口,数据速度可达10Gb/s。同时,其下行端口可以连接到SATA/PCIe/NVMe存储设备,如硬盘、固态硬盘、CFast/CF Express存储卡。SATA端口的数据速度可达6Gb/s,满足SATA III的数据要求。PCIe端口可达16Gb/s,满足PCIe Gen3x2的数据要求。
此外,JMS581D内置了USB Type-C™连接性,使使用JMS581D的任何设备都可以具备USB Type-C™连接器,无需添加任何额外的外围部件。这可以节省购买零件的成本,减少建立库存的工作量,并减小系统设计的印刷电路板面积。
JMS581D支持对基于NAND闪存的存储设备进行TRIM操作,并通过USB Mass Storage Class批量传输(BOT)和USB Attached SCSI Protocol(UASP)分别与主机进行数据的传输和接收。利用这些内置的卓越功能,数据存储设备可以充分发挥其性能的极限。
JMS581D具备出色的电源管理功能,可以满足不同规模的数据存储系统的各种电源需求,包括外部存储外壳(M.2组合外壳)、适配器和便携式存储应用。
由于其USB Type-C™连接性,JMS581D可以与一些电源管理控制器合作,将USB Power Delivery(PD)功能应用到数据存储设备上。容量较大的数据存储设备可以通过与主机进行协商后,接受来自能源的电力供应,而无需插入
电源,主机充当USB PD的电力提供者,以确保设备获得足够的电力供应。
Realtek瑞昱
RTL9210B
Realtek RTL9210B是一款USB(通用串行总线)桥接器,将USB设备与PCI Express(PCIe)控制器和SATA控制器结合在一起。通过M.2机械的PEDET接口,RTL9210B可以自动切换USB到PCIe模式或USB到SATA模式。
RTL9210B支持USB 3.1 GEN2,兼容USB 3.1 GEN1、USB高速和全速。它可以在辅助电源的情况下正常工作。大容量存储事务支持批量传输(BOT)和USB附加SCSI协议(UASP)。对于USB,可提供高达10Gbps的带宽。
在USB到PCIe模式下,RTL9210B支持PCIe Gen3 x2。对于PCIe,它提供高达16Gbps的带宽。它具有PCIe Gen2/Gen1和链路宽度1通道的完全向后兼容性。它支持PCIe 3.0 LTR。为了进一步降低功耗,RTL9210B支持链路电源管理、PCI MSI和MSI-X。RTL9210B还提供了PCIe主机的功能。PCIe主机支持NVM Express,这是一种允许主机驱动程序与NVMe固态硬盘通信的接口。NVMe驱动程序嵌入在定制的RAM/Rom/SPI Flash中。
在USB到SATA模式下,RTL9210B支持SATA主机以Gen3速度运行。对于SATA,它提供高达6Gbps的带宽。它具有SATA Gen2/Gen1的完全向后兼容性。RTL9210B还能提供了SATA主机的功能。SATA主机支持高级主机控制器接口(AHCI),这是一种允许主机驱动程序与SATA硬盘驱动器或固态硬盘通信的接口。AHCI驱动程序嵌入在定制的RAM/Rom/SPI Flash中。
RTL9210B支持Type-C连接器。支持与NVMe/SATA/USB电源管理相结合的动态切换电源状态以节省电力,具有可以平衡功耗和性能的算法,适用于多个市场领域和新兴应用,如台式机、移动设备、工作站、服务器、通信平台和嵌入式应用。
充电头网总结
JMS581D是一款功能强大的SoC解决方案,集成USB 3.2 Gen2x1 10Gb/s、SATA 6Gb/s和PCIe/NVMe Gen 3x2等多种存储协议,为USB-C硬盘盒提供了卓越的多协议支持和高速数据传输,同时内置USB Type-C™连接性,无需额外部件,节省成本和空间。此外,JMS581D拥有优秀的电源管理功能,适应不同规模的数据存储系统的电源需求,包括外部存储外壳、适配器和便携式存储应用。其与USB PD的兼容性使大容量存储设备可以通过与主机协商获得足够的电力供应,而无需外部电源,从而提供高性能、高效能和便利性十足的解决方案。
RTL9210B能够将USB设备与PCI Express(PCIe)和SATA控制器相结合,支持USB 3.1 GEN2,具备高达10Gbps的带宽,同时支持PCIe Gen3 x2以及SATA Gen3速度运行,为用户提供高速的数据传输。此外,RTL9210B还支持Type-C连接器,具备动态切换电源状态以节省电力的功能,并适用于多个市场领域。RTL9210B以卓越的多协议支持、高带宽传输、电源管理和多用途适用性,为数据存储设备提供了全面的性能和功能。
这两款芯片都是市面上少有的支持NVMe和SATA双协议的USB-C硬盘盒主控芯片,搭配这两款芯片可以让硬盘壳发挥出卓越的性能与实现高效的数据传输速度。
相关问答
rtl6762芯片资料?
MT6762/p22具有集成的蓝牙、fm、wlan和gps模块,是一个高度集成的基带平台,包括调制解调器和应用处理子系统,以支持LTE/LTE-A和C2K智能手机应用程序。该芯片集...
3070芯片和8192芯片哪个好?
8192芯片好因为8192级压感能够更准确地识别手指的压力大小,能够提供更多的细节和精度,使得用户能够更加自然和真实地与设备互动。同时,8192级压感的灵敏度更...
rtl8832AR的芯片怎么样?
5G无芯片型号是rtl8832AR,集成了FEM(内置功放),支持2x2mimo802.11ax,80MHz频宽,最高速率1021Mbps,这是REALTEK的第一款Wi-Fi6无线芯片了,5G没有使...
瑞昱8762dk手表芯片好吗?
还不错瑞昱RTL8762DK芯片低功耗蓝牙芯片,用于无线蓝牙数据通信,8762DK很适合家庭上使用。瑞昱芯片超强续航,炫酷3D动画表盘给你最直观的感受内置多国手表UI...
瑞昱8111f和8111g芯片哪个好?
RTL8111G基本能保证正常上网、游戏、看电影。为目前廉价和最为常见的低端主板配备网卡。RTL8111F的芯片尺寸比RTL8111G大3倍,附近电路也比RTL8111G丰富得多...
电脑主板上螃蟹图案的芯片都是什么芯片?-ZOL问答
有瑞昱时钟发生元件RTM876-660芯片,瑞昱ALC887声卡芯片,瑞昱LAN网卡RTL811系列芯片等。瑞昱半导体基本上垄断了主板上集成网卡和集成声卡。参考:http://baik...
无线网卡芯片rtl8191su和rtl8191的区别是什么?兼容吗?
RTL8191SU芯片300M和RT3070芯片看针对什么网络了。其实用起来都差不多,不过后者的大多数都是150m的比前者稍能差一些。论性价比可以自己选了。RTL8191SU...
目前常用的网卡控制芯片有哪些-ZOL问答
1、Realtek8201BLRealtek8201BL是一种常见的主板集成网络芯片(又称为PHY网络芯片)。PHY芯片是指将网络控制芯片的运算部分交由处理器或南桥芯片处理,以简化...
rtl8201f芯片引脚功能?
RTL8201F是一款集成了以太网物理层接口(PHY)的芯片,它具有十个引脚,包括1号引脚MDI(有线接口)和3号引脚LED0(指示灯0),这两个引脚是与PHY通信和状态指示...RT...
rtl8100c是什么芯片?
rtl8100c是一种以太网控制器芯片,由Realtek半导体公司生产。它支持10/100Mbps速度的网络传输,并具有高效的内部数据缓冲机制,以实现高速的数据传输。该芯片...