《龙架构上的Golang生态建设.pdf》由会员分享,可在线阅读,更多相关《龙架构上的Golang生态建设.pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、龙架构上的Golang生态建设陈国祺2025.03目录目录010203LoongArch及其软件生态简介Golang上游社区建设进展如何为 linux/loong64 适配下阶段的Golang上游社区工作04LoongArchLoongArch及其软件生态简介及其软件生态简介龙芯处理器三大家族龙芯处理器三大家族LoongArchLoongArch简介简介5典型的RISC 32位定长指令、32个通用寄存器、32个浮点寄存器龙架构分为32位和64位两个版本龙架构采用基础部分加扩展部分的组织形式其中扩展部分包括:LBT、LVZ、LSX(128bit)、LASX(256bit)包含9种典型的指令编码格
2、式:3种不含立即数的编码格式:2R、3R、4R,6种含立即数的编码格式:2RI8、2RI12、2RI14、2RI16、1RI21、I262021.04.30日 LoongArch基础架构手册正式发布基于开源社区建设基于开源社区建设LoongArchLoongArch软件生态软件生态以3A6000为代表的龙芯CPU性能已经达到市场主流水平,软件生态成为制胜关键操作系统是产品形态,技术源头在开源软件社区,开源软件是IT产业之基、技术之根遵循“upstream first”理念,通过开源社区这一最高效的渠道,向产业链伙伴与用户传递最新创新成果,支撑与推动LoongArch架构的操作系统与应用生态的发
3、展LoongArchLoongArch生态建设已卓有成效生态建设已卓有成效标志一:拥有独立的身份编号(指令集架构标识)LoongArch架构在开源软件世界拥有独立的身份编号,各大开源软件基金会软件项目全面支持LoongArch架构标志二:建成完整的开源基础软件技术体系与指令集密切相关的基础软件社区都发布了LoongArch架构版本,基于开源社区的软件版本可以直接开发构建出LoongArch架构的操作系统发行版标志三:发展起初步完整的操作系统与应用生态操作系统厂商以及Office、微信、视频会议、浏览器等应用厂商都发布了基于LoongArch的版本,云计算、大数据、音视频等软件在LoongArc
4、h平台规模应用GolangGolang上游社区建设进展上游社区建设进展LoongArchLoongArch6464 P Portort上游历程上游历程9 2021.05.18 正式发起port工单 https:/go.dev/issue/46229 通过和社区开发者坦率的沟通,确定GOARCH=loong642021.07.15 在Go1.17版本中预留了GOARCH为loong64的关键字2022.05.02 golang/loong64 team created2022.05.12:port merged,计47个补丁,约2.4w行代码2022.08.02:Go1.19正式发布,宣布支持L
5、oongArch64LoongArch64LoongArch64上上GolangGolang版本版本版本演进版本演进10通过3年时间6大个版本持续迭代优化,Golang中对loong64的支持已较为完善版本发布时间loong64相关的更新Go1.192022-08-02初始支持、包括sys、net库等Go1.202023-02-01提升稳定性,修复了原子操作等错误Go1.212023-08-09重定位2.0、PIE、c-shared、c-archive、错误修复等Go1.222024-02-06实验性支持regABI、msan、asan、plugin、shared、错误修复等Go1.23202
6、4-08-15正式支持regABI,AM系列指令支持、优化汇编器Go1.242025-02-11向量基础设施支持、trampoline支持、objdump支持、调试注入支持、性能优化LoongArch64LoongArch64上上GolangGolang编译器编译器特性支持特性支持11已经支持特性 buildmode=archive、c-archive、c-shared、shared、exe、pie、plugin msan、asan、race debug call injection、cgotraceback、crash stack、objdump trampoline、regABI正在推进中