自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (2)
  • 收藏
  • 关注

原创 包教包会:龙芯3A5000上尝试运行任意Windows软件

  几个月之前,龙芯中科刚放出可用的二进程翻译模块时,我写了一篇《在龙芯3A5000上运行Windows程序》。在龙芯3A5000上运行Windows程序https://zhuanlan.zhihu.com/p/436405217  很多朋友说那篇文章中的操作太复杂。我写的时候,没有觉得操作难度大,可现在回头去看,也觉得过于繁琐。于是重写一篇,使用更简单的方法达到同样的目的。下面的视频与本文配套,可一起食用:包教包会:龙芯3A5000运行Windows软件和安装Loongnix系统实际步骤仅三步:

2022-03-18 23:34:21 4170 2

原创 LLVM开始支持龙芯LoongArch架构

LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。在LLVM 15.0的开发树上,已经出现了支持LoongArch架构的补丁,看起来还只是一些初始代码,下面是部分新增代码的截图(局部):当前有6个Commits:LoongArch是龙芯中科自主设计的CPU架.

2022-02-11 11:15:28 464

原创 龙芯LoongArch架构进入GNU Binutils主线

  在Linux上进行软件开发时,经常会用到一些工具程序,比如readelf、ld、ar、objdum等,这些工具都是GNU Binutils的组成部分。目前GNU Binutils已经把龙芯的LoongArch架构加入了主线支持:  GNU Binutils,是 GNU Binary Utilities 的简写,一般简称为 Binutils,中文可以翻译为 GNU 的二进制工具集。显然,Binutils 是一组二进制工具的集合,也就是说,Binutils 不是指某一个工具,而是指一组工具,并且这

2022-02-10 11:31:42 1925

原创 龙芯LoongArch指令集计算CRC32的速度是MIPS的4倍以上

相信凡是与编程或通信相关的技术人员都知道CRC32,这是一种常用的数据校验编码。因为CRC32编码的算法很简单,所以用于计算CRC32值的C/C++代码写法基本上固定,很难有优化的余地。通常大家都通过手写汇编,调用特定指令集用于CRC32计算的专用指令来达到计算加速的目的。龙芯以前使用的MIPS以及龙芯自己的扩展指令中都没有CRC32计算指令,现在全新的LoongArch指令集中提供了计算CRC32的专用指令,使计算CRC32的速度达到原来的4倍以上。使用专用指令达到提速...

2021-08-29 17:00:30 393

原创 在龙芯3A5000上测试SPEC CPU 2006

  SPEC CPU 2006 benchmark是一种行业标准化的CPU测试基准套件,重点测试系统的“CPU-内存”子系统以及编译器的优化程度。看软件的名字就知道,这个测试工具主要是测试CPU,内存对测试成绩的影响没有CPU那么大。根据我在不同的电脑上反复更换硬件实测比较得知,硬盘等其它设备的性能对测试成绩几乎没有影响。  SPEC CPU 2006整套工具分成两个部分,一是测试工具(tools),二是测试基准(benchmarks),基准中包含int和fp两种测试集,int测试集中有12个测试项目,

2021-08-09 14:30:44 2022 7

原创 考古20年前的国产CPU:方舟一号和龙芯一号

  20年前,准确地说是2001年7月和2002年9月,嵌入式CPU“方舟一号”和通用CPU“龙芯一号”相继发布,分别在嵌入式和通用CPU领域结束了我国无芯历史。方舟一号设计用途是网络通信处理器,因为无需软件生态,也不追求通用性能,所以自己设计了指令集。龙芯一号的目标是桌面计算机,软件生态很重要,各种各样的应用软件更需要CPU具有均衡的通用性能,于是采用了当时在高性能服务器中使用较多的MIPS III指令集。  这两款CPU在不同的领域代表着我国自主CPU的第一步,承载着一段历史,承载着发展自主CPU技

2021-05-17 18:12:20 887 1

(2022-03-10)龙芯LoongArch二进制翻译组件包 latx-1.1.3-alpha

龙芯LoongArch架构有支持二进制翻译的专用硬件指令,与配套的软件有机结合可以高效地翻译运行x86/arm等其它架构的应用程序。这是龙芯二进制翻译组件的软件部分,当前还是alpha版本,暂时只支持运行x86的应用程序。 二进制翻译目前支持龙芯3A5000、3B5000、3C5000等型的CPU,下列软件包可在UOS专业版(Loongarch)和Loongnix上安装。此版本2022-03-10日发布。 安装时请按照下列顺序: lat_1.1.3_alpha3.lnd.2_loongarch64.deb i386-runtime-base_1.1.3_20220224.lnd.2_loongarch64.deb i386-runtime-extra_1.1.3_20220224.lnd.2_loongarch64.deb wine5_5.0.4-5-g18496573de37_loongarch64.deb wine6_6.0.1-7-g0216b230c459_loongarch64.deb 如果只需要运行x86 Linux的程序,就只需要安装前3个包,不需要安装wine。

2022-03-19

指令系统的自主和兼容(视频截图版).pptx

龙芯的胡伟武在“2020年CCF全国计算机体系结构学术年会”上作报告:《指令系统的自主与兼容》时的PPT展示内容。这是在线观看时屏幕截图重新制作PPT。 内容总结: 1、LoongArch 是全新的指令集,不是在 MIPS 上做的扩展。包含基础指令 337 条、虚拟机扩展 10 条、二进制翻译扩展 176 条、128 位向量扩展 1024 条、256 位向量扩展 1018 条,共计 2565 条原生指令。 2、LoongArch 的"指令格式"是 MIPS 的超集,仍为RISC且兼容MIPS指令格式,但二进制不同。大部分 MIPS 指令可以直接映射为 LoongArch 指令,且龙芯的编译器已经实现把 MIPS 汇编编译为 LoongArch 二进制。 3、龙芯提供基于 LoongArch 的 Linux 操作系统,在此操作系统中除了运行原生的 LoongArch 程序,还能通过翻译的方式兼容 MIPS、x86、ARM、RISC-V 这几种指令集的 Linux 程序。 4、龙芯的二进制翻译与 qemu 的软件翻译不同,龙芯是软硬件结合方式。qemu 软件跨体系翻译一般只有 5% ~ 20% 的性能,龙芯的翻译相对于 qemu 在整数运算方面有数倍提升,而在浮点运算方面有数十倍的性能提升。 5、翻译执行 MIPS 目标为 100% 的原生性能,翻译执行 ARM 目标为 90% 原生性能,翻译执行 x86 目标为 80% 原生性能,并可通过某种方式安装运行 Windows,对 Windows 的整体翻译执行目标为 70% 原生性能。 6、从当前已有的测试结果来看,把 C/C++ 代码编译为 MIPS 和 LoongArch 分别运行测试,LoongArch 比 MIPS 有近 17% 的性能提升,翻译执行 MIPS 平均性能在 100% 左右。 7、龙芯 2020 年之后生产的 CPU 都不再原生支持 MIPS,但因为可以 100% 翻译执行 MIPS,所以以前的 MIPS 生态仍然完全兼容,但以后会以发展 LoongArch 原生生态为主。 8、将会成功组建自主指令系统联盟,联盟成员免费使用 LoongArch 指令集,联盟成员可以免费获得龙芯的低于 ARM A53 性能的那些CPU核心设计,联盟成员之间不发生指令系统诉讼(防止Intel/ARM等挤进来,它们一旦加入就相当于x86/ARM指令集充公了)。

2020-08-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除