龙芯架构 龙芯指令集: CPU访存指令 24个 全部来自MIPS CPU算数指令(ALU) 10个 全部来自MIPS CPU算数指令 14个 全部来自MIPS CPU乘除指令 12个 来自MIPS 12个 来自龙芯(其中8个重复MIPS指令功能) CPU跳转分支指令20个 全部来自MIPS CPU位移指令 15个 全部来自MIPS CPU特殊指令 2个 全部来自MIPS CPU异常指令 12个 全部来自MIPS CPU CPO指令 10个 全部来自MIPS 龙芯处理器共131个指令,其中119个来自MIPS,12个来自龙芯(但其中MULTG、DMULTG、MULTUG、DMULTUG 、DIVG、DDIVG、DIVUG、DDIVUG共8个重复MIPS的指令功能。)
#参考文档;达梦数据库单机部署参考文档(1) 达梦官网链接 https://www.dameng.com/ #修改操作系统资源限制 vim /etc/security/limits.conf dmdba soft noproc 65536 dmdba hard noproc 65536 dmdba soft nofile 65536 dmdba hard nofile 65536 dmdba hard core unlimited dmdba soft core unlimited vi /et
龙芯派lite如何更新pmon 1.文章说明 本文主要描述龙芯派lite的固件更新相关的原理。在使用龙芯派lite时,要很清楚的理解龙芯派的执行流程。 需要注意的是,龙芯派lite上有两个型号都是GD25Q80的1MB大小的spi flash,其中存放pmon的在固态硬盘的下面,上面的一个是作为USB3.0使用的。 ? 2.龙芯派lite的固件更新 前面我们说了pmon的更新,以及板子变砖后,如何恢复的办法,下面来讲一下龙芯派lite固件的更新情况。 当启动完成pmon后,通过控制台输入可以加载内核固件。 用户可以通过设置龙芯派的al1来进行不同介质的启动 set al1 /dev/fs/fat@wd0/rtthread.elf 表示从磁盘启动rt-thread。 3.关于龙芯派lite驱动部分 龙芯派在rt-thread已经有了基础版本的支持,如果要做驱动开发,一方面,可以从pmon中去进行代码分析,然后用于驱动部分的开发。
原文作者:张文龙、侯芳东、杜川 2020 年 8 月 13 日,Docker更新网站服务协议,禁止禁运国家和被列入美国「实体清单」等多个清单的组织和个人使用遵循该服务协议的 Docker 网站及所有相关网站 龙芯平台完成Harbor的适配 龙芯云计算团队积极投身到 Harbor 社区,着手进行自主移植,目前成功完成了 Harbor v.2.1.0 版本的移植,同时完成了所有功能测试。 ▶基于龙芯平台移植Harbor 经过详细的梳理及调研,发现 Harbor 构建过成中,从底层基础os镜像到中间依赖镜像,再到最终 Harbor 部署所需要的镜像,均无龙芯架构的支持。 龙芯平台 Harbor 未来规划 目前龙芯平台 Harbor 适配已经完成,基本功能已完成验证,下一步将完成基础组件的源码测试工作,以及 Harbor 周边配套的分布式分发工具的适配。 目前龙芯 Harbor v2.1.0 版本已经投入使用,未来龙芯将致力于开源,将适配后的代码回馈 Harbor 社区,努力成为社区大家庭的一员。
Python 没有龙芯架构的发布包,需要从源码编译。 在龙芯架构下执行 ./configure 指令,会出现如下错误: $ . :24 CST 2024" configure: error: cannot guess build type; you must specify one 这是由于较早的 autotools 不支持龙芯架构
3月27日,全面反映LoongArch产业生态发展最新成果的《龙芯生态白皮书(2022年)》正式对外发布, 白皮书下载地址:https://kdocs.cn/l/ce5Emg1C2pPd ,我将其中涉及到 .NET部分的内容节选出来,可以看到龙芯对.NET的支持的非常的不错,我知道他们有个几十人的.NET编译器团队在全职推进.NET的LoongArch支持,最近我公司(深圳市友浩达科技有限公司)有幸成为龙芯生态伙伴计划成员 ,和龙芯.NET团队一起深耕.NET生态。
我是龙芯汇编指令新手,本文是我学习龙芯汇编的笔记 我借到了一台宝贵的龙芯 3A6000 设备,我期望在这台设备上面学习龙芯汇编指令。 这台设备上的是龙芯旧世界的麒麟系统,由于这台设备很宝贵,我不能随意玩。 为了防止弄坏设备,我将在此设备上面搭建 docker 环境,进入到 docker 容器里面进行开发 在此设备上搭建 docker 环境的方法,详细请看 制作一个龙芯旧世界的 dotnet sdk docker # syscall 以上代码来自于 https://github.com/foxsen/loongarch-assembly/blob/bdc24681d745a9f53dc9bc8f9fce28de470809ca 可以使用 QEMU 进行模拟,详细请看 龙芯汇编实验环境搭建 - github.com/foxsen/loongarch-assembly 必须说明的是以上使用 QEMU 进行模拟的做法使用的是龙芯新世界
一、环境介绍 宿主机环境: ubuntu18.04 64位 目标开发板: 龙芯二代(2K1000) 二、资料下载 交叉编译器: http://ftp.loongnix.org/loongsonpi
随着信创产业的推进,越来越多的服务器开始采用龙芯3A5000处理器。作为重要的监控工具,Prometheus系统需要在该架构服务器上可靠运行。 编译好的node_exporter下载地址:https://pan.quark.cn/s/e09bc874ff4b 为何要到龙芯机器编译 node_exporter底层语言采用Golang,理论如果不涉及 具体编译过程暂未细看,最终选择直接在龙芯架构的机器上开展编译工作,这样可以有效避免因编译环境与运行环境不一致可能带来的潜在兼容性问题。 因为从官网下载的go各个版本,在公司龙芯3A 5000+UOS/麒麟V10的系统上,一直没法使用,报错:段错误(核心已转储)。 /node_exporter 总结 本文记录了在龙芯3A5000架构服务器上手动编译node_exporter的过程,因官方未提供longarch64版本,需在龙芯机器上直接编译以确保兼容性和稳定性。
GreatSQL二进制包 本次介绍如何在麒麟OS + 龙芯CPU的环境下将GreatSQL源码编译成二进制文件及RPM包等。 本环节是龙芯的同学提供的,已经事先配置过了,忽略。 Dockerfile参考:https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/build-gs/Dockerfile/Dockerfile-centos8- 2.2、编译生成RPM文件包 由于GreatSQL自带的编译脚本还不能适配龙芯环境,所以需要手动编译生成RPM文件包。 龙芯/Loongson - Generic” 标签下载即可。 全文完。
debian/dists/Debian8.10/main/installer-mipsel/current/images/loongson-2f/netboot/ Debian8.10已经是当前Debian8中最高的版本 ,很可惜LEMOTE8089D不支持最新的Debian9系统,Debian9必须在龙芯3以上CPU运行。 g 顺利的话,龙芯笔记本会启动Debian安装界面,安装过程同平常的安装没有什么不同,此处省略。 这是因为龙芯的显卡兼容性造成的,通常的方式应当是安装龙芯自己的显卡驱动:xserver-xorg-video-siliconmotion-2.2.19.tar.gz,很可惜当前在网上几经寻找,已经找不到了这个驱动 而这个时候千万不要使用apt autoremove来删除这些包,否则龙芯笔记本将真的无法启动只能重新安装。
既然如此,接下来就介绍如何在龙芯 UOS 系统上搭建 C/C++ 开发环境。 安装编译工具链 尽管龙芯生态尚不成熟,但其开发支持相对完备,已有多种编译器和工具链版本适配龙芯架构。 COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/loongarch64-linux-gnu/8/lto-wrapper Target: loongarch64 /src/configure -v --with-pkgversion='Uos 8.3.0.13-deepin1' --with-bugurl=file:///usr/share/doc/gcc-8/ .lnd.12 Target: loongarch64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/bin Clang 版本为 8, 尽管更新版本已经达到 18.1.8,但 Clang 8 在大多数情况下仍然足够使用。
在上一篇《龙芯迷你主机,用来办公怎么样?》中,我分享了用龙芯迷你主机搭配统信 UOS 进行日常办公的体验。这一体验,半年时间就过去了。 最近了解到龙芯有“新世界”与“旧世界”之分,特意去做了一下功课: 旧世界(ABI 1.0) 诞生于龙芯早期过渡阶段,以 MIPS 架构代码为基础改造而成。 0x00007fffe7e9c000) libxkbcommon-x11.so.0 => /lib/loongarch64-linux-gnu/libxkbcommon-x11.so.0 (0x00007fffe7e8c000 found libm.so.6 => /lib/loongarch64-linux-gnu/libm.so.6 (0x00007fffe78a0000) libpcre2-8. so.0 => /lib/loongarch64-linux-gnu/libpcre2-8.so.0 (0x00007fffe783c000) /lib64/ld.so.1 => /lib64
debian/dists/Debian8.10/main/installer-mipsel/current/images/loongson-2f/netboot/ Debian8.10已经是当前Debian8中最高的版本 ,很可惜LEMOTE8089D不支持最新的Debian9系统,Debian9必须在龙芯3以上CPU运行。 g 顺利的话,龙芯笔记本会启动Debian安装界面,安装过程同平常的安装没有什么不同,此处省略。 这是因为龙芯的显卡兼容性造成的,通常的方式应当是安装龙芯自己的显卡驱动:xserver-xorg-video-siliconmotion-2.2.19.tar.gz,很可惜当前在网上几经寻找,已经找不到了这个驱动 而这个时候千万不要使用apt autoremove来删除这些包,否则龙芯笔记本将真的无法启动只能重新安装。
龙芯派VS树莓派 运行功耗实测 1.概述 2.龙芯派教育派 3.树莓派2b的功耗情况 4.树莓派3b+的功耗情况 5.树莓派4b的功耗情况 6.树莓派pico功耗情况 7.总结 1.概述 龙芯派、树莓派都是开源硬件 另外手上还有一个龙芯派,但是由于不是USB供电,暂时没法得出功耗情况,但是基本上应该和龙芯教育派一样,因为外设一致。 4.树莓派3b+的功耗情况 树莓派3b+是4核 Broadcom BCM2837 (ARMv8-A) 1.2GHz,双核VideoCore IV GPU,1GB内存。 其优势在于64位,架构是arm a53,是armv8架构。 系统运行Raspberry Pi OS。当前不接任何外设 ? 对于最高电流情况: ? 正常运行稳定时的电流: ? 基本稳定在8ma左右。根据芯片介绍,如果做超低功耗应该在15~16ua,这里没做实测。
"); return result; #else #error No timer implementation for this platform #endif } 而在将 RocksDB 移植到龙芯的过程中 ,需要修改上面的代码,判断出当前是龙芯 loongarch64 架构。 网上没有搜到 GCC 对龙芯 CPU 的预定宏的文档说明,只能从源码中找答案: void loongarch_cpu_cpp_builtins (cpp_reader *pfile) { ... builtin_define ("__loongarch__"); ... } 可以看到,__loongarch__代表龙芯CPU。 在暂时不知道龙芯是否支持RDTSC的情况下,只能给出通用的实现,以后再查龙芯的CPU手册进行优化。
龙芯2k1000的中断设计 1.前言 2.龙芯2k1000的中断描述 2.1 mips设计上的通用中断处理 2.2 龙芯中断的设计 3.龙芯2k1000中断的产生与处理 4.龙芯2k1000中断处理概述 2.龙芯2k1000的中断描述 龙芯2k1000最多支持64个中断的触发源,按照统一方式进行管理。 ? 这64个中断控制器通过可以配置的中断路由可以分配到CPU0与CPU1中。 2.1 mips设计上的通用中断处理 在MIPS的中断设计上,MIPS CPU会设计8个独立中断位。 ? 其中,6个外部中断(IP2 ~ IP7),2个软中断(IP0~IP1)。 4.龙芯2k1000中断处理概述 龙芯2k1000利用mips上的8个中断位,自己添加了一个中断控制器,该中断控制器可以配置中断的路由方式,比如让其路由到CPU0或者CPU1上,并且可以指定每个中断路由到具体的 上述则是龙芯2k1000中断处理逻辑。
而且龙芯版由于是在 QEMU 虚拟机里,运行速度也较慢。所以,我想我需要先学习一下 Arch Linux。 - 龙芯版 Arch Linux - 通过上述折腾,也查了一些文档,总算基本上了解了 Arch Linux。谁让咱还有些 Linux 功底呢。 我推测,龙芯版 Linux 默认没有安装dhclient,才导致我上不了网。重装一遍。 我的 UTM 不支持龙芯,因此,我只能使用 QEMU 了。 qemu-system-loongarch64 \ -m 5G \ -cpu la464-loongarch-cpu \ -machine virt \ -smp cpus=8, sockets=1,cores=8,threads=1 \ -bios media/QEMU_EFI_7.2.fd \ -serial stdio \ -device virtio-gpu-pci
4月25日消息,在北京召开的“第七届关键信息基础设施自主安全创新论坛”上,龙芯中科技术股份有限公司副总裁张戈预告了龙芯下一代桌面端处理器 3B6600 与 3B7000。 张戈表示,龙芯 CPU 的主要 IP 核均为自主研发,通过自主研发 IP 核大幅提高性价比。 国产 CPU 性能与主流 CPU 差距主要在单核而非多核,近十年龙芯 CPU 单核通用性能提升了 20 倍,主频提升 2-3 倍,设计能力提升了 5-10 倍。 龙芯第二代自研 GPU 将支持 OpenGL4.0 图形加速,支持 OpenCL3.0 通用计算,集成 INT8 张量计算加速部件,支持人工智能加速,同时增强了架构伸缩能力,单节点小到 256GFlops 软件方面,龙芯基于开源建设龙架构基础软件,同时融入国际开源生态体系,目前与指令集相关的国际开源社区已经全面实现对龙架构的支持,龙架构的最终目标是成为与 X86 和 ARM 并列的顶层架构。
而龙芯本次将两款CPU核向高校和学术界开源,可以使学术界以龙芯的CPU核为基础开发产品,并以龙芯的CPU核为模板学习怎样设计CPU核。 龙芯开源的CPU核为GS132和GS232。 不过,相对于Sun开源T1、T2后,大家都可以免费下载源码不同,要获得Power的源码,要付出不菲的代价,以2014年IBM向中国大陆中晟宏芯授权Power8源代码为例,为了拿到Power的全套代码和工具 龙芯将CPU核向高校和学术界开源,则给予在校大学生一个很好的学习实践平台——龙芯中科资助大学老师基于龙芯平台设计实验课程,使学生可以在真实的(而不是简化的)CPU上运行真实的(而不是简化的)操作系统,在龙芯实验平台上启动操作系统并进行性能分析 这时候适当的将两款CPU核向高校和学术界开源,有助于让广大在学生学习如何围绕龙芯进行开发,在莘莘学子毕业后,自然能掌握围绕龙芯进行开发的相关技能,这有助于龙芯软件生态建设。 |结语 龙芯之所以将两款CPU核开源,一方面是为了配合国家计算机专业课程的教育改革,另一方面也是为了培养一批能给龙芯做基础软硬件开发的新鲜血液,并借此丰富龙芯的软件生态和产业链。