GMP 库开发者发文批评 Risc V “性能太拉跨”
GMP 库开发者 Torbjörn Granlund 发文批评开源的 Risc V 指令集架构存在严重的性能问题,言辞非常激烈,称“设计一个伟大的 ISA (指令集架构) 是非常困难且伟大的,但设计类似于 Risc V 这样的东西是微不足道的,一名普通的计算机科学专业的学生可以在一个学期的课程项目中设计出比 Risc V 更好的指令集。”
GMP 库全称 The GNU Multiple Precision Arithmetic Library(GNU 多精度运算库),其维护者 Torbjörn Granlund 在执行关键内部循环的 GMP 组装时发现:出于 Risc V 独特的弱指令集(RISC 精简指令集),它执行任何运算任务都需要更多的指令 —— 比任何一个流行的现代指令集都要多。
以带进位的双字整数相加为例,Risc V 的指令如下:
add t0, a4, a6 // 添加低位 sltu t6, t0, a4 // 低位相加计算进位 add t1, a5, a7 // 添加高位 sltu t2, t1, a5 // 高位相加计算进位 add t4, t1, t6 // 将进位加到次低位 sltu t3, t4, t1 // 进位相加计算进位 add t6, t2, t3 // 所有位相加,然后输出结果
而相同的操作在 64 位 ARM 架构的指令:
adds x12, x6, x10 adcs x13, x7, x11
在 64位 x86 架构的指令
add %r8, %rax adc %r9, %rdx
Risc V 执行 GMP 的任意宽加法都需要 2 到 3 倍的指令,且每 64 位的结果字(result word)从1个周期变成了3个周期(关键路径 add->sltu->add )。
Torbjörn 表示,Risc V 或多或少有点像稀释版的 30 年前的 Alpha ISA ,但 Alpha 的计算路径是有道理的,因为当时有晶体管预算,而 Risc V 作为一个现代指令集,应当解决这种运算性能下降 3 倍的问题:“为什么不提供一个像样的指令集呢?”
在文章的结尾,Torbjörn 还强调了自己“对本文提及或未提及的任何计算机体系结构没有经济或其他利益相关,批评 Risc V 存粹是因为它的性能太差,本人对开源 ISA 指令集是非常支持的。”事实上,Risc V 的 ISA 过于简单且碎片化是一个老问题,性能问题也导致它目前大部分的应用场景是嵌入式。但作为一款年轻的指令集架构,它正在汇集社区的力量不断地在优化,或许我们需要给它一些时间。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
pgFormatter v5.2 发布,SQL 格式化工具
pgFormatter 发布 5.2 版本,pgFormatter 是一款免费好用的 SQL 和 PLPGSQL 代码格式化工具,它提供了 CLI 和 CGI 两种界面。此版本带来以下改动: 新功能: 使用 --inplace 时允许传递多个文件 在 CGI 界面中添加一个按钮,可以将格式化文本复制到剪贴板 修复带参数的物化视图 ddl 的错误格式 修复 /unicode 和 --inplace 参数导致地错误 修复在上一版本中禁用的匿名化 正确地格式化引用地类型 更新公告:https://github.com/darold/pgFormatter/releases/tag/v5.2
- 下一篇
TIOBE 12 月榜单:PHP 跌出前十,C# 或将成年度语言
TIOBE 公布了 2021年 12 月的编程语言排行榜。 TIOBE 年度最佳编程语言将于下月宣布,这个奖项的所有者将是 2021 年排名率增长最高的编程语言。TIOBE CEOPaul Jansen 称,就目前的情况来看,C# 将是这一称号的最有力候选人。然而值得一提的是,自 C# 诞生以来的 21 年中,该语言从未获得过一次"TIOBE 指数年度编程语言奖";尽管它一直位列 TOP10 榜单。 本月 TIOBE 指数中还有一些有趣的变动是:Swift 从第 14 位上升到了第 10 位、R 从第 15 位上升到了第 11 位、以及 Kotlin 从第 33 位上升到了第 26 位。 TIOBE 12 月 TOP 20 编程语言 前十榜单中,Python已经连续霸榜三个月;PHP 在本月跌出了 TOP10 的榜单,下滑至第 12 位。与此同时,Swift 从第 14 位攀升至了第 10 位。除此之外,无甚变化。 第 11-20名间依旧存在反复波动。具体而言,排名相较前一个月出现上升的有:R(15→11)、Classic Visual Basic(11→13)、Delphi/Obje...
相关文章
文章评论
共有0条评论来说两句吧...