广告

对Mali-G78 GPU逆向工程后,Valhall 指令集文档发布

2021-07-23 16:14:26 EDN China 阅读:
在经过一个月的逆向工程后,Collabora日前发布了有关Valhall指令集的文档。逆向工程的其他结果包括可由程序解析的XML 架构描述,以及用作逆向工程辅助工具的 Valhall汇编器和反汇编器。

在经过一个月的逆向工程后,Collabora日前发布了有关Valhall指令集的文档。6oMednc

逆向工程的其他结果包括可由程序解析的XML 架构描述,以及用作逆向工程辅助工具的 Valhall汇编器和反汇编器。6oMednc

Valhall 是第四个 Arm® Mali™ 架构和第五个 Mali 指令集。它在 Arm® Mali™-G78(最新发布的 Mali 硬件)中实施,并且 Valhall 将继续在未来的 Mali 产品中实施。6oMednc

6oMednc

每个架构都代表了从上一个架构的范式转变。6oMednc

Midgard通过统一着色器阶段、添加通用内存访问和支持各种位大小的整数,将Utgard像素处理器一般化,以支持计算着色器。6oMednc

Bifrost对Midgard进行了扩展,从Utgard和Midgard固定的4通道矢量(vec4)架构过渡到依赖基于warp的并行执行,更好地在现代工作负载上使用硬件。6oMednc

Valhall线性化Bifrost,删除其上一代的超长指令字机制。Valhall 用硬件动态调度代替编译器的静态调度,用额外的控制硬件换取更高的平均性能。这意味着不再需要带有“无操作”指令的填充,这可能会减少代码大小,保证更好的指令缓存使用。  6oMednc

除了 Mali-G78 “Borr” GPU,这项工作也适用于其他 Valhall GPU,包括 Mali-G77 “TryM”、Mali-G57 “Natt-A/B”、Mali-G68 “Ottr”和Mali-G78AE “Borr” -AE”适用于汽车和工业应用。6oMednc

6oMednc

Alyssa Rosenzweig 解释了 Collabora 基于国际版三星 Galaxy S21 手机的工作,该手机由配备 Mali-G78 MP14 GPU的三星 Exynos 2100片上系统提供支持。她指出,Android 上的逆向工程工作比 Linux 更难,但这是目前唯一的选择。6oMednc

该团队设法使用包装库识别每一层,该库转储执行的每个着色器以对新指令集进行逆向工程并开发反汇编器。他们确实从一些公开信息中得到了帮助,尤其是一篇 Anandtech的文章,该文章揭示了有关 Valhall 的有用信息:6oMednc

  • 基于 Warp,就像 Bifrost,但每个 Warp 有 16 个线程,而不是 Bifrost 的 4/8。
  • 在指令级别与 Bifrost 同构(“操作等效”)。
  • 定期编码。
  • 扁平,缺少 Bifrost 条款和元组包装。
  • 16KB 指令缓存,容纳 2048 条指令

获取指令集文档以及汇编器和反汇编器是让 Panfrost 支持 Valhall GPU 的第一步。Alyssa 还指出,Mali G78 确实带来了指令集以外的变化,具有明显不同的数据结构,以减少 Vulkan 驱动程序的开销,但幸运的是,许多数据结构可以从 Bifrost 进行调整,只需对 Mesa 驱动程序进行很少的更改。她还邀请设计带有 Valhall GPU 的 Linux 友好设备的人员/公司与 Collabora 取得联系,以帮助获得开源 Linux 驱动程序。6oMednc

更多内容可查看Collabora的文章。6oMednc

详细Valhall指令集文档请点击PDF文件查看。6oMednc

参考链接:6oMednc

www.cnx-software.com6oMednc

www.collabora.com6oMednc

people.collabora.com6oMednc

Demi Xia编译6oMednc

Demi编译6oMednc

EDN China
暂无简介...
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了