filecoin(www.ipfs8.vip):RISC-V并不完善?

本文最初完成于几年之前,彼时作者正在 ARM 公司担任执行焦点验证工程师职位。作者那时的事情深入或围绕多种处置器焦点,而文中提到的看法深受这些履历的影响,换句话说,这些看法存在差异水平的私见。

作者依旧坚持以为 RISC-V 的设计并不完善,但同时也认可,若是现在需要搭建一个 32 或 64 位的 CPU,他在实现构建时也会从现有工具中受益。

本文主要基于 RISC-V ISA 规范 v2.0,部门已更新至 v2.2。

原文前言:一些看法RISC-V ISA 对极简主义的追求钻了牛角尖,它全力强调削减指令数目,规范编码等等。而这种追求则导致了错误的正交性(分支、挪用、返回时重复使用统一指令),以及对赘余指令的需求,这些在程序巨细和指令数目上都市影响到代码密度。

以下面的 C 代码为例:

,

欧博app下载

欢迎进入欧博app下载网站:(www.aLLbetgame.us),欧博app下载网站是欧博官方网站。欧博app下载网站开放欧博注册、欧博代理、欧博电脑客户端、欧博app下载等业务。

,

int readidx(int *p, size_t idx){ return p[idx]; }简朴的数组索引,非经常见的操作。将其在 x86_64 中编译:

mov eax, [rdi+rsi*4]ret或者是 ARM 中:

ldr r0, [r0, r1, lsl ,2]bx lr // return然则在 RISC-V 中需要的代码则是:

, 很负疚若是有任何语法错误,risc-v 并没有在线编译器slli a1, a1, 2add a0, a1, a1lw a0, a0, 0jalr r0, r1, 0 // returnRISC-V 的极简主义让解码器(CPU 前端)变得更简朴,价值则是需要执行更多的指令。然而,相对于拓宽流水线这个难题而言,解码不规则指令的问题很好解决,主要难点在于确定指令的长度是否一致。x86 的众多前缀就是个极佳的反面课本。对指令集的简化不应追求极限。寄存器 + 移位寄存器的内存操作指令是程序中非经常见且简朴的操作,对于 CPU 而言也很容易实现。纵然无法直接执行,CPU 也可以相对轻松地将其分步执行,其操作庞洪水平远逊色于融合简朴操作的序列。

CISC CPU 中的“复合”指令,繁复、少有使用且普遍性能低下,而 CISC 和 RISC CPU 通用的“功效”指令则意指连系了少量操作序列而且使用率高、性能高的指令。这二者应当有所区分。

还不错的部门险些不受任何限制的可扩展性。虽说这是 RISC-V 的卖点,但它同时也是碎片化、不兼容生态系统的罪魁罪魁,在治理时还需加倍小心。挪用、返回和寄存器间接分支使用统一指令(JALR)。分支展望需要分外解码。挪用:Rd = R1返回:Rd = R0, Rs =R1间接分支: Rd = R0, Rs≠ R1(新鲜分支:Rd≠ R0, Rd ≠ R1)可变长度编码无法自我同步。x86 和 Thumb-2 中都存在的常见问题,会导致实现和平安性方面的种种破绽,例如面向返回的编程攻击。RV64I 划定所有 32 位值的符号扩展。这一点会导致不需要的上半切换,或者需要对寄存器的上半部门举行特殊调整。建议接纳零扩展,在削减切换的同时,通常还可以在已知上半部门为零的情形下,通过追踪”为零“位来举行优化。乘法是可选项。思量到高速乘法器在微型实现中占用的面积不容忽视,确立占用更小,还可以将现有 ALU 普遍用于多循环乘法的小型乘法器不失为良策。LR/SC 指令对有限使用子集有严酷的最终转发要求。只管这项限制颇为严苛,但对于没有缓存的小型实现而言有可能会带来一些问题。这一点似乎是 CAS 指令的替换品,详细请参照有关该指令的注释。FP 粘性位和舍入模式处于统一寄存器中。若是想通过执行 RMW 操作改变舍入模式,则需要对 FP 管道举行序列化。FP 指令支持的编码精度有 32 位、64 位和 128 位,唯独没有硬件中更为常见的 16 位。这点很容易修正:我们有免费的字组编码 2’b10。更新:v2.2 中添加了十进制 FP 扩展占位符,但仍然没有半精度占位符。疑惑行为。FP 寄存器文件中的 FP 值未指定,但可以通过加载 / 存储考察到。仿真器作者要恨死你了。VM 迁徙会将变为不能能。更新:v2.2 需要 NaN 装箱更宽的值。糟糕的部门没有条件代码,只有对照和分支指令。这一点自身没什么问题,但它意味着:需要编码一到二个寄存器说明符,导致条件分支中的编码空间削减。没有条件选择,这一点在高度不能展望的分支中很有用。加法 / 减法没有加进位或借位。(纵然这样,这也比 ISA 将 flag 写入通用寄存器 GPR,然后在效果 flag 上分支要好。)用户级 ISA 需要高精度计数器。在实践中,将这些计数器露出给应用程序意味着侧通道攻击的好时机。乘法和除法同属于一个扩展,无法单独实现其中之一。相比除法,乘法要简朴许多,而且在大多的 CPU 上很常见。基础 ISA 中没有原子指令。多核微型处置器越来越普遍的今天,LL/SC 类型原子指令也越来越廉价:只需要 1 位 CPU 状态即可完成最小 CPU 实现。LR/SC 和更庞大的原子指令同属于一个扩展。直接限制了小型实现的天真性。非 LR/SC 的一样平常原子指令不包罗 CAS 原语CAS 的设计是为了阻止需要一条指令读取 5 个寄存器的情形,例如:加法器、Cmp:CmpLo,SwapHi:SwapLo。但 LR/SC 用于取代 CAS 的保底进度很可能只会在实现上带来更高的开销。原子指令仅支持 32 位或 64 位操作,不支持 8 位或 16 位。对 RV32I 而言,想在整数和浮点寄存器文件之间转换 DP 和 FP,只能通过内存解决。举例来说:RV32I 的 32 位 ADD 和 RV64I 的 64 位 ADD 共用统一套编码,RV64I 又多加了一套 ADD.W 编码。云云一来,CPU 实现这两种指令时穷苦了许多,不如直接新增一套 64 位编码。没有 MOV 指令。汇编器对于 MV 的等效指令是:MV rD, rS -> ADD rD, rS, 0。MOV 优化通常由高端处置器,尤其是失序处置器完成。识别 RISC-V 规范的 MV 需要一个 12 位的立刻数。在没有 MOV 指令的情形下,ADD rD, rS, r0 是对 MOV 不错的替换。它更易被解码,而 CPU 通常也会有特殊情形下的逻辑来识别零寄存器。尤为糟糕的部门JAL 在本该只是 R1(分支时是 R0)的链接寄存器编码上虚耗了 5 比特这意味着 RV32I 有 21 位的分支位移(对于诸如浏览器等大型应用时,不使用多指令序列或者分支 island 时会不够用)实在是 1.0 版本 ISA 的历史遗留问题只管 RISC-V 在统一编码上花了大功夫,但加载 / 存储指令的编码仍然是差其余(寄存器 vs 立刻字段交流)。似乎寄存器编码的最终正交性要比两种高度相关指令的正交性更受迎接。思量到地址天生是对时序更为敏感的操作,这种选择有点新鲜。寄存器偏移量(Rbase +Roffset)或索引(Rbase + Rindex << Scale)没有负载。FENCE.I 意味着指令缓存和前面的存储区必须完全同步,无论是否有 fence。实现时需要在 fence 上刷新 I,或者通过snoop的方式监视D 和存储缓存区。RV32I 中,读取 64 位计数器需读取上半部门两次,并举行对照和分支,以防在读取操作时下半部门和上半部门发生借位。通常 32 位 ISA 包罗了一个“读取一对特殊寄存器”的指令来阻止这个问题。架构上没有界说“提醒”编码空间。提醒编码是指在当前处置器上作为 NOP 执行,但在之后的变量上有操作的编码。“NOP 提醒”的常见例子是自旋锁 yield。更庞大的提醒也有实现。即那些对新处置器有显著副作用的提醒,例如 x86 的界限检查指令被编码在提醒空间,以便二进制文件保持向后兼容。原文链接:

逆熵官网

万利逆熵官网(www.ipfs8.vip)是FiLecoin致力服务于使用FiLecoin存储和检索数据的官方权威平台。IPFS官网实时更新FiLecoin(FIL)行情、当前FiLecoin(FIL)矿池、FiLecoin(FIL)收益数据、各类FiLecoin(FIL)矿机出售信息。并开放FiLecoin(FIL)交易所、IPFS云矿机、IPFS矿机出售、租用、招商等业务。

  • 评论列表:
  •  Filecoin交易所
     发布于 2021-06-09 00:00:30  回复
  • IPFS矿机网IPFS矿机网(www.ipfs8.vip)是IPFS硬件服务商、矿场合作方平台。IPFS矿机网实时更新IPFS矿机的FiLecoin(FIL)收益数据、提供FiLecoin(FIL)节点运维、FiLecoin(FIL)矿机出售信息、IPFS矿机出售合租拼购、IPFS算力出售合租拼购、IPFS全国招商等业务。每天晚上必看
    •  国内怎么买usdt
       发布于 2021-06-10 04:56:06  回复
    • 草地贪夜蛾不仅流传之快,损坏力也极强,凭证国际农业和生物科学中央CABI报道,仅在已被入侵的非洲12个玉米莳植国家中,妖蛾子为害造成玉米年减产830万到2060万吨,经济损失高达24.8亿到61.9亿美元。路过看看不走了
  •  usdt承兑商
     发布于 2021-06-16 00:04:06  回复
  • 这就是现在的形势。悄悄走过~
    •  联博API接口
       发布于 2021-06-19 00:58:44  回复
    • IPFS矿机网IPFS矿机网(www.ipfs8.vip)是IPFS硬件服务商、矿场合作方平台。IPFS矿机网实时更新IPFS矿机的FiLecoin(FIL)收益数据、提供FiLecoin(FIL)节点运维、FiLecoin(FIL)矿机出售信息、IPFS矿机出售合租拼购、IPFS算力出售合租拼购、IPFS全国招商等业务。看文居然成瘾,哈哈
  •  新2代理手机管理端
     发布于 2021-08-02 00:00:20  回复
  • 出道35年来,她用一部又一部的影视作品证实着自己的实力。光拍戏还不够,她在2003年起,最先担任韩国中央大学戏剧学科的客座教授,现在她也取得了博士学位,不仅是一名演员,甚至照样一名西席。记得勤更新啊
  •  aLLbet开户(www.aLLbetgame.us)
     发布于 2021-09-15 00:00:42  回复
  • 等到各个球队在季后赛发现自己内线残缺微弱的时刻,就会不得不去用选秀签来跟骑士队换内线了。水一下,我在看

添加回复:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。