龙芯2K3000(3B6000M)引入了很多新特性:动态调频调压、GPU架构与功能升级、由集显变为核显(显存从私有变为内存共享)、通用计算能力。这一步迈得挺大,但是软件适配由于各种原因(主要是人手不足且资金紧张)进展比较迟缓。
关于GPU驱动:据传龙芯LG200 GPU驱动早在原型机时期就已经开始构思(2022?),但是新世界系统正式进入主线的时候也就在去年,例如安同OS在2024年2月15日正式把Loongarch版新世界系统并入主线,上一代集显LG100的升级版驱动也是去年出的。个人推测,龙芯为了确保2K3000落地就是新世界,大概是在前年年末或去年年初开始着手编写LG200的新世界驱动,但是仅解决基本显示问题是不够的,还有图形API支持(官网是OpenGL 3.3和OpenGL ES 3.1,有的其他地方传出是OpenGL 4.x)、视频编解码支持(官网描述可到H.265 4K60fps)、通用计算框架(这个最难,看官网是OpenCL 1.1),以及最重要的稳定性。可以看出,这个驱动的开发门槛明显高于第一代全自研集显LG100的驱动,而且LG100的驱动优化也是花了很长时间才优化到位(距离最初研发立项过去大概6~8年),龙芯的GPU团队真就是在各种困难和压力下发展,个人估计稳定且完整的LG200驱动大概是要等到今年年底或明年年初了(龙芯第一个独显9A1000还要在明年流片)。
关于CPU与动态调频调压:龙芯2K3000的动态调频调压适配已经在路上了,包含跟龙芯CPU睿频相关的代码,动态调频调压对于闲置状态下节能与短期单核高频具有重要作用,可以提升龙芯笔电的续航,不至于出现此前的待机电老虎现象(什么闲置IO都开最高频)。不过CPU部分应该是上不了256位SIMD了(对应LASX高级向量扩展),毕竟芯片和源码都已经定型,除非设计时有预留兼容半吞吐的必要条件(3发射架构跑256位SIMD确实需要半吞吐),而半吞吐对比原生128位主要优势也就是减少内存存取次数,运算效率提升不明显,还依赖ROB(重排序缓冲区)的宽度,此前有帖子说要比较顺利地跑半吞吐,ROB宽度要达到发射宽度的至少32倍,否则会导致ROB被频繁填满引起256位SIMD效率比128位还低。在仅支持到128位SIMD的情况下,龙芯版微信疑似默认要求256位SIMD指令,导致有测试者说2K3000打不开微信,软件方面的兼容还需跟上,不过这个兼容应该不会太困难,毕竟隔壁ARM阵营此前长期使用v8版本的指令,这个版本不支持256位SIMD,只能到128位(NEON向量扩展),需要ARMv9的SVE扩展才行。不过,对于龙芯来说,新世界系统的完整性与统一性并不会受影响,毕竟龙芯既做PC与服务器,也做工控与嵌入式,系统构架对各种情况做了预先准备,不至于出现ARM Linux多种不同镜像放在一起的情况。
关于GPU驱动:据传龙芯LG200 GPU驱动早在原型机时期就已经开始构思(2022?),但是新世界系统正式进入主线的时候也就在去年,例如安同OS在2024年2月15日正式把Loongarch版新世界系统并入主线,上一代集显LG100的升级版驱动也是去年出的。个人推测,龙芯为了确保2K3000落地就是新世界,大概是在前年年末或去年年初开始着手编写LG200的新世界驱动,但是仅解决基本显示问题是不够的,还有图形API支持(官网是OpenGL 3.3和OpenGL ES 3.1,有的其他地方传出是OpenGL 4.x)、视频编解码支持(官网描述可到H.265 4K60fps)、通用计算框架(这个最难,看官网是OpenCL 1.1),以及最重要的稳定性。可以看出,这个驱动的开发门槛明显高于第一代全自研集显LG100的驱动,而且LG100的驱动优化也是花了很长时间才优化到位(距离最初研发立项过去大概6~8年),龙芯的GPU团队真就是在各种困难和压力下发展,个人估计稳定且完整的LG200驱动大概是要等到今年年底或明年年初了(龙芯第一个独显9A1000还要在明年流片)。
关于CPU与动态调频调压:龙芯2K3000的动态调频调压适配已经在路上了,包含跟龙芯CPU睿频相关的代码,动态调频调压对于闲置状态下节能与短期单核高频具有重要作用,可以提升龙芯笔电的续航,不至于出现此前的待机电老虎现象(什么闲置IO都开最高频)。不过CPU部分应该是上不了256位SIMD了(对应LASX高级向量扩展),毕竟芯片和源码都已经定型,除非设计时有预留兼容半吞吐的必要条件(3发射架构跑256位SIMD确实需要半吞吐),而半吞吐对比原生128位主要优势也就是减少内存存取次数,运算效率提升不明显,还依赖ROB(重排序缓冲区)的宽度,此前有帖子说要比较顺利地跑半吞吐,ROB宽度要达到发射宽度的至少32倍,否则会导致ROB被频繁填满引起256位SIMD效率比128位还低。在仅支持到128位SIMD的情况下,龙芯版微信疑似默认要求256位SIMD指令,导致有测试者说2K3000打不开微信,软件方面的兼容还需跟上,不过这个兼容应该不会太困难,毕竟隔壁ARM阵营此前长期使用v8版本的指令,这个版本不支持256位SIMD,只能到128位(NEON向量扩展),需要ARMv9的SVE扩展才行。不过,对于龙芯来说,新世界系统的完整性与统一性并不会受影响,毕竟龙芯既做PC与服务器,也做工控与嵌入式,系统构架对各种情况做了预先准备,不至于出现ARM Linux多种不同镜像放在一起的情况。