IT之家 12 月 27 日消息,开放麒麟 openKylin 社区宣布联合苏州睿芯公司,openKylin 平台正式部署上线对 RV64G 架构支持,后续 RV64G 非压缩指令集爱好者可以通过社区平台开发编译并部署自己的代码。
openKylin 表示,RISC-V 是一个自由的指令集,硬件厂商可以基于国际基金会认可的标准,自主扩展,目前市场上很多厂商是基于 RV64GC 来生产产品,但是也有厂商基于 RV64G 来生产产品,为配合国内厂商的市场需求,openKylin 社区率先推出对 RV64G 架构支持。
相比较于目前在嵌入式小型设备上应用更广泛的 RV64GC(即大家比较熟悉的 riscv64), RV64G 更加聚焦于通用计算场景功能,服务器或者桌面系统。其中:
“RV”代表 RISC-V;
“64”代表所支持的指令是 64 位的(实际上,交叉编译器在生成代码时可能会采用 32 位指令减小生成的目标代码长度),地址长度和寄存器长度都为 64 位;
“G”代表通用(General)计算平台。实际上,“G”等效于“IMAFD”,其中“I”代表整数(Integer)计算指令、整数 load、整数 store 以及控制流(如分支跳转)指令,这些指令在任何 RISC-V 的实现中都是必须的;“M”代表乘法(Multiply),即平台支持乘法和除法运算;“A”代表原子(Atomic)扩展,支持对寄存器进行的原子读、修改和原子写操作,这些操作在多核设计中非常有用;“F”代表单精度浮点(Float)运算支持,“D”代表双精度浮点(Double)运算支持。
RV64G 和 RV64GC 之间的主要区别在于是否包含压缩指令集(C 指令集)。RV64GC 在 RV64G 的基础上增加了 C 指令集,这些指令用于缩小指令长度,降低代码占用空间,RV64G 则不包含这些压缩指令,因此 RV64G 的应用程序可以在 RV64GC 的硬件上运行,反之则不行。
比较而言,RV64GC 比 RV64G 具有更高的代码密度,程序具有更小的 footprint,可以更有效地利用内存空间,这些特点让 RV64GC 指令在嵌入式应用中更有优势;另一方面,RV64G 的硬件实现可能比 RV64GC 更简单,可采用简化指令译码逻辑,更容易预测指令预取模式,减少内存访问次数、提高指令执行速度,降低功耗,设计人员可以更好地对高性能计算进行优化。
RV64G 架构支持优势
1、支持 RV64G 架构的代码同源编译,即代码一次提交。可在 OKBS 平台同源编译出 AMD64、I386、ARM64、RV64GC、RV64G 五个架构的二进制包,无需再单独维护一套 RV64G 软件源及代码仓库,提升 RV64G 架构代码开发维护效率。
2、支持 RV64G 架构软件仓库的同源发布,有效提升 RV64G 架构软件仓库的管理和维护升级效率。
3、镜像制作与版本发布统一规范化。在镜像制作与版本发布管理上可与其他架构以同流程处理,统一 RV64G 架构版本构建规范。
4、解决与 RV64GC 架构名称冲突的问题,至此可以兼容 RISC-V 规范的两种指令集架构的编译工作。
5、编译机可同时支持 RV64GC 和 RV64G 两种架构,有效提升编译机资源利用率。
openKylin 官方表示,后续苏州睿芯公司将继续携手 openKylin 社区,成立 RV64G SIG 组,加大资源投入,解决软件包编译过程中遇到的问题,并完成该架构镜像制作、硬件适配、软件源管理和生态需求软件自主构建等,进一步集成基于 RV64G 架构的桌面与服务器整机系统。
IT之家注:openKylin(开放麒麟)是麒麟软件与国内主流操作系统厂商、研究机构、社会组织共创的桌面操作系统根社区。
openKylin 社区理事成员单位包括麒麟软件、普华基础软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科 32 所、技德系统、北京麟卓、先进操作系统创新中心、飞腾、兆芯、龙芯中科、景美、京东科技、玄铁、申泰信息、海光等。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。