中国电子技术网

设为首页 网站地图 加入收藏

 
 

RISC-V能改变GPU吗?

关键词:RISC-V GPU SIMD

时间:2021-02-18 09:42:08      来源:网络

RISC-V能处理GPU的事务吗?这项工作正在进行中,可以通过创建一个具有自定义可编程性和可扩展性的小型区域高效设计来实现这一目标。

RISC-V能处理GPU的事务吗?这项工作正在进行中,可以通过创建一个具有自定义可编程性和可扩展性的小型区域高效设计来实现这一目标。
 
任何研究过GPU架构的人都知道这是矢量处理器的SIMD构造。它是一种超高效的并行处理器,已用于从运行模拟和出色的游戏到教导机器人如何获取AI以及帮助聪明的人操纵股票市场的所有事物。它甚至在我写这篇文章的时候检查我的语法。
 
但GPU领域已经成为一个私有领域,其内部工作是由AMD、Intel、Nvidia等开发者的IP和秘密武器所完成的。如果有一套新的图形指令设计为3D图形和媒体处理呢?嗯,可能有。
 
新的指令正在RISC-V基本向量指令集上构建。他们将根据核心RISC-V ISA的精神,添加对特定于图形的新数据类型的支持,作为分层扩展。支持向量,先验数学,像素和纹理以及Z / Frame缓冲区操作。它可以是融合的CPU-GPU ISA。lilibrary -RISC 3D组称它为RV64X (图1) ,因为指令将是64位长(32位将不足以支持一个健壮的ISA)。

1.RV64X图形处理器除了专用的纹理单元和功能块外,还包括多个DSP。
 
该组织表示,他们的动机和目标是希望创造一个小型、高效的设计,具有自定义的可编程性和可扩展性。它应该提供低成本的IP所有权和开发,而不是与商业产品竞争。它可以在FPGA和ASIC目标上实现,并且是免费和开源的。最初的设计目标是低功耗微控制器,将兼容Khronos Vulkan,并支持其他api (OpenGL, DirectX等)。
 
GPU + RISC-V

目标硬件将有一个GPU功能单元和一个RISC-V核心。该组合以64位指令编码为标量指令的处理器的形式出现。关键在于编译器将从带前缀的标量操作码生成SIMD指令。其他功能包括可变问题、基于谓词的SIMD后端;分支跟踪;精确的异常;和矢量前端。设计将包括一个16位定点版本和一个32位浮点版本。前者适用于FPGA实现。
 
该团队说:“不需要使用RPC / IPC调用机制来将3D API调用发送到未使用的CPU内存空间或从未使用的CPU内存空间发送到GPU内存空间,反之亦然,”
 
“融合” CPU-GPU ISA方法的优势在于可以在微代码中使用标准图形管道,并且可以支持自定义着色器。甚至可以包括光线追踪扩展。
 
该设计将采用Vblock格式(来自Libre GPU的努力):

这有点像VLIW(但不是真的)。
指令块之前带有寄存器标记,这些标记为该块内的标量指令提供了额外的上下文。
子块包括向量长度,旋转,向量/宽度覆盖和预测。
所有这些都添加到标量操作码中!
没有矢量操作码(也不需要任何操作码)。
在矢量上下文中,它是这样的:如果标量操作码使用寄存器,并且该寄存器在矢量上下文中列出,则将激活矢量模式。
激活会导致硬件级别的for循环发出多个连续的标量运算(而不只是一个)。
实现者可以自由地以他们想要的任何方式来实现循环-SIMD,多问题,单执行;几乎任何东西。

RV32-V向量处理2到4个元素的8位,16位或32位/元素的向量操作。对于用于64位和128位固定和浮点XYZW点的常规3D图形渲染管线,还将有专门的指令。8、16、24和32位RGBA像素; 8位,每个组件16位UVW纹素;以及灯光和材质设置(Ia,ka,Id,kd,Is,ks等)。
 
属性向量表示为4×4矩阵。该系统将本地支持2×2和3×3矩阵。向量支持也可能适用于使用AI和机器学习应用程序中常见的8位整数数据类型的数值模拟。
 
设计中可以包含自定义光栅化器,例如样条线,SubDiv曲面和面片。该方法还允许包含自定义管线阶段,自定义几何/像素/帧缓冲阶段,自定义细分器和自定义实例化操作。
 
RV64X

RV64X参考实现包括:
指令/数据SRAM缓存(32 kB)
微码SRAM(8 kB)
双功能指令解码器(实现RV32V和X的硬连线;用于自定义ISA的微编码指令解码器)
四向量ALU(32位/ ALU-固定/浮动)
136位寄存器文件(1k个元素)
特殊功能单元
纹理单位
可配置的本地帧缓冲区

RV64X是可扩展的架构(图2)。它的融合方法是新的,对于自定义数据类型使用可配置寄存器也是如此。用户定义的基于SRAM的微代码可用于实现扩展,例如自定义光栅化器阶段,光线跟踪,机器视觉和机器学习。单一设计可以应用于独立的图形微控制器或具有可扩展着色器单元的多核解决方案。

2. RV64X可以从简单的低端设计(左)扩展到多核解决方案(右)。
 
RISC-V的图形扩展可以解决可伸缩性和多语言问题。这可以实现更高级别的用例,从而带来更多的创新。
 
下一步是什么

RV64X规范仍在早期开发中,可能会发生变化。正在建立一个讨论论坛。近期目标是使用指令集模拟器构建示例实现。这将在使用开放源代码IP和设计为开放源代码项目的自定义IP的FPGA实现上运行。

  • 分享到:

 

猜你喜欢

  • 主 题:高集成伺服驱动系统与工业机器人方案
  • 时 间:2024.04.18
  • 公 司:ST

  • 主 题:英飞凌XMC4000支持EtherCAT®通讯的伺服/IO控制方案介绍
  • 时 间:2024.04.25
  • 公 司:英飞凌&骏龙科技

  • 主 题:安森美数字助听芯片的创新
  • 时 间:2024.05.09
  • 公 司:安森美