龙芯架构 龙芯指令集: 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
类BufferedStream就是给另一流上的读写操作添加一个缓冲区。缓冲区是内存中的字节块,用于缓存数据,从而减少对操作系统的调用次数。因此,缓冲区可提高读取和写入性能。使用缓冲区可进行读取或写入,但不能同时进行这两种操作。BufferedStream 的Read和Write方法自动维护缓冲区的读写过程。
本文链接:https://blog.csdn.net/shiliang97/article/details/101223979 3-9 堆栈模拟队列 (20 分) 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列
近日消息,基于自主指令系统的国产 CPU 龙芯 3A5000 以及 3C5000 系列产品即将问世。 龙芯平台完成Harbor的适配 龙芯云计算团队积极投身到 Harbor 社区,着手进行自主移植,目前成功完成了 Harbor v.2.1.0 版本的移植,同时完成了所有功能测试。 ▶基于龙芯平台移植Harbor 经过详细的梳理及调研,发现 Harbor 构建过成中,从底层基础os镜像到中间依赖镜像,再到最终 Harbor 部署所需要的镜像,均无龙芯架构的支持。 龙芯平台 Harbor 未来规划 目前龙芯平台 Harbor 适配已经完成,基本功能已完成验证,下一步将完成基础组件的源码测试工作,以及 Harbor 周边配套的分布式分发工具的适配。 目前龙芯 Harbor v2.1.0 版本已经投入使用,未来龙芯将致力于开源,将适配后的代码回馈 Harbor 社区,努力成为社区大家庭的一员。
龙芯派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中去进行代码分析,然后用于驱动部分的开发。
3月27日,全面反映LoongArch产业生态发展最新成果的《龙芯生态白皮书(2022年)》正式对外发布, 白皮书下载地址:https://kdocs.cn/l/ce5Emg1C2pPd ,我将其中涉及到 .NET部分的内容节选出来,可以看到龙芯对.NET的支持的非常的不错,我知道他们有个几十人的.NET编译器团队在全职推进.NET的LoongArch支持,最近我公司(深圳市友浩达科技有限公司)有幸成为龙芯生态伙伴计划成员 ,和龙芯.NET团队一起深耕.NET生态。
Python 没有龙芯架构的发布包,需要从源码编译。 在龙芯架构下执行 ./configure 指令,会出现如下错误: $ . :24 CST 2024" configure: error: cannot guess build type; you must specify one 这是由于较早的 autotools 不支持龙芯架构
我是龙芯汇编指令新手,本文是我学习龙芯汇编的笔记 我借到了一台宝贵的龙芯 3A6000 设备,我期望在这台设备上面学习龙芯汇编指令。 这台设备上的是龙芯旧世界的麒麟系统,由于这台设备很宝贵,我不能随意玩。 为了防止弄坏设备,我将在此设备上面搭建 docker 环境,进入到 docker 容器里面进行开发 在此设备上搭建 docker 环境的方法,详细请看 制作一个龙芯旧世界的 dotnet sdk docker RUN apt-get install vim -y 使用如下两句命令进行构建和进入容器 docker build -t g1 . docker run -it g1 /bin/bash 本文这里完全都是龙芯旧世界的 可以使用 QEMU 进行模拟,详细请看 龙芯汇编实验环境搭建 - github.com/foxsen/loongarch-assembly 必须说明的是以上使用 QEMU 进行模拟的做法使用的是龙芯新世界
代码清单3-9 class stack { public: stack() { stackTop = -1; maxStackItemIndex
一、环境介绍 宿主机环境: ubuntu18.04 64位 目标开发板: 龙芯二代(2K1000) 二、资料下载 交叉编译器: http://ftp.loongnix.org/loongsonpi
编译生成二进制文件包 2.2、编译生成RPM文件包 3、安装GreatSQL 3.1、my.cnf参考 3.2、登入GreatSQL 3.3、创建新用户、测试库&表,及写入数据 4、搭建MGR集群 5、下载龙芯平台 GreatSQL二进制包 本次介绍如何在麒麟OS + 龙芯CPU的环境下将GreatSQL源码编译成二进制文件及RPM包等。 本环节是龙芯的同学提供的,已经事先配置过了,忽略。 2.2、编译生成RPM文件包 由于GreatSQL自带的编译脚本还不能适配龙芯环境,所以需要手动编译生成RPM文件包。 龙芯/Loongson - Generic” 标签下载即可。 全文完。
随着信创产业的推进,越来越多的服务器开始采用龙芯3A5000处理器。作为重要的监控工具,Prometheus系统需要在该架构服务器上可靠运行。 编译好的node_exporter下载地址:https://pan.quark.cn/s/e09bc874ff4b 为何要到龙芯机器编译 node_exporter底层语言采用Golang,理论如果不涉及 具体编译过程暂未细看,最终选择直接在龙芯架构的机器上开展编译工作,这样可以有效避免因编译环境与运行环境不一致可能带来的潜在兼容性问题。 因为从官网下载的go各个版本,在公司龙芯3A 5000+UOS/麒麟V10的系统上,一直没法使用,报错:段错误(核心已转储)。 /node_exporter 总结 本文记录了在龙芯3A5000架构服务器上手动编译node_exporter的过程,因官方未提供longarch64版本,需在龙芯机器上直接编译以确保兼容性和稳定性。
在上一篇《龙芯迷你主机,用来办公怎么样?》中,我分享了用龙芯迷你主机搭配统信 UOS 进行日常办公的体验。这一体验,半年时间就过去了。 最近了解到龙芯有“新世界”与“旧世界”之分,特意去做了一下功课: 旧世界(ABI 1.0) 诞生于龙芯早期过渡阶段,以 MIPS 架构代码为基础改造而成。 “打破旧世界,拥抱新世界”——作为程序员,自然要第一时间尝鲜,于是立刻将这台龙芯迷你主机安装了 Deepin V23 龙芯版(目前仍为 Preview 版本,但足够试水)。 眼下,绝大多数龙芯架构应用都只面向旧世界 ABI 开发。 本来龙芯架构上的应用就少,再这么折腾,更是要吓走用户。
CPU是首款真正的国产,龙芯2F,兼容mips的指令集。 笔记本原来的操作系统是Debian6,后来升级到了7,随后一直是当做玩具放着。 g 顺利的话,龙芯笔记本会启动Debian安装界面,安装过程同平常的安装没有什么不同,此处省略。 这是因为龙芯的显卡兼容性造成的,通常的方式应当是安装龙芯自己的显卡驱动:xserver-xorg-video-siliconmotion-2.2.19.tar.gz,很可惜当前在网上几经寻找,已经找不到了这个驱动 而这个时候千万不要使用apt autoremove来删除这些包,否则龙芯笔记本将真的无法启动只能重新安装。 参考资料 龙芯逸珑8089B安装debian8.5和KDE桌面 DebianYeeloongHowToInstall
龙芯派VS树莓派 运行功耗实测 1.概述 2.龙芯派教育派 3.树莓派2b的功耗情况 4.树莓派3b+的功耗情况 5.树莓派4b的功耗情况 6.树莓派pico功耗情况 7.总结 1.概述 龙芯派、树莓派都是开源硬件 2.龙芯派教育派 龙芯派搭载两个 2K1000 处理器(主频 1GHz,CPU GS264),板载 DDR3 颗粒,实现 DDR3 的运行存储功能。实现了 GPIO 的输入输出,中断功能。 另外手上还有一个龙芯派,但是由于不是USB供电,暂时没法得出功耗情况,但是基本上应该和龙芯教育派一样,因为外设一致。 7.总结 从上述测试结果来看,树莓派2b、3b+、4b差别微小,龙芯派耗电太多,发热也严重,树莓派pico功耗低,是真正的低功耗模块。 总体上来说,龙芯选手的功耗作为单板计算机来说,表现比较差,而树莓派则发挥稳定。板子的功耗控制差距还是有一些的。
CPU是首款真正的国产,龙芯2F,兼容mips的指令集。 笔记本原来的操作系统是Debian6,后来升级到了7,随后一直是当做玩具放着。 g 顺利的话,龙芯笔记本会启动Debian安装界面,安装过程同平常的安装没有什么不同,此处省略。 这是因为龙芯的显卡兼容性造成的,通常的方式应当是安装龙芯自己的显卡驱动:xserver-xorg-video-siliconmotion-2.2.19.tar.gz,很可惜当前在网上几经寻找,已经找不到了这个驱动 而这个时候千万不要使用apt autoremove来删除这些包,否则龙芯笔记本将真的无法启动只能重新安装。 参考资料 龙芯逸珑8089B安装debian8.5和KDE桌面 DebianYeeloongHowToInstall
之前我写过一篇文章《龙芯迷你主机,用来办公怎么样?》,到现在已经使用了一段时间。整体体验下来,系统是可用的,但离完美仍有差距,主要原因是龙芯生态中的应用还非常匮乏。 反过来思考,龙芯上的应用稀缺,国家又决心推广,这是否意味着开发人才存在缺口?这或许是一个机遇。如果能掌握一些龙芯系统的开发技能,未来在职场上的竞争力或许会大大提升。 既然如此,接下来就介绍如何在龙芯 UOS 系统上搭建 C/C++ 开发环境。 安装编译工具链 尽管龙芯生态尚不成熟,但其开发支持相对完备,已有多种编译器和工具链版本适配龙芯架构。 VS Code官方并没有提供龙芯架构的支持,不过在龙芯 UOS 系统中,安装 VS Code 也非常简单,只需在应用商店中搜索并安装。 希望这篇文章能帮助你在龙芯迷你电脑上成功搭建高效的开发环境,祝你编码愉快!
龙芯2k1000的中断设计 1.前言 2.龙芯2k1000的中断描述 2.1 mips设计上的通用中断处理 2.2 龙芯中断的设计 3.龙芯2k1000中断的产生与处理 4.龙芯2k1000中断处理概述 2.龙芯2k1000的中断描述 龙芯2k1000最多支持64个中断的触发源,按照统一方式进行管理。 ? 这64个中断控制器通过可以配置的中断路由可以分配到CPU0与CPU1中。 2.2 龙芯中断的设计 对于对于每个核上的IP0~IP3,其对应的是 CP0_Status 的 IP2 到 IP5。IP7用于定时器中断。 ? 4.龙芯2k1000中断处理概述 龙芯2k1000利用mips上的8个中断位,自己添加了一个中断控制器,该中断控制器可以配置中断的路由方式,比如让其路由到CPU0或者CPU1上,并且可以指定每个中断路由到具体的 上述则是龙芯2k1000中断处理逻辑。
"); 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手册进行优化。