解释下龙芯

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解释下龙芯相关的知识,希望对你有一定的参考价值。

看到网上很多种评价,我的要求只有一点,客观。
评价下龙芯的发展到底怎么样,以及现在的水平,以及和大公司的差距。

参考技术A 关于CPU和芯片,我们标准的操作系统,大约有350个C函数,这种操作系统叫标准的操作系统,IEEE

POSIX这就是标准操作系统的规范,但是事实上,美国很多军方的CPU和工控,飞机制造和武器工业控制领域很多芯片是不支持这个标准的,比如军队的OpenRISC派系的芯片,只能支持大约100~150个标准C函数,当然了,剩下的200多个函数可以使用这个100多个函数来用软件来实现,但是,这些用软件实现的库和函数,运行速度相当的慢。
实际上mips就是当年早期OpenRISC商业化的产物,但是Mips走的更远,主要解决大规模并行的浮点数运算问题。mips是支持linux操作系统的,但是这个CPU只能顺利的运行大约150个标准的操作系统的C函数。
现在C++标准库STL一共又20个大类,超过了1000个函数或者模板实现,而boost库(STL的升级版)有超过2000个复杂函数或者模板实现,这些函数如果在intel或者AMD的芯片上执行得到的结果,跟在arm上执行得到的结果很多都是不同的,尤其是执行效率问题,很多在arm上慢的要死,比java还要慢(现在安卓机主要使用java开发应用软件,编译器是使用J2SDK修改的编译器)。苹果公司在这方面有比较深入的研究。这个不细谈。
如果这个C++函数在mips芯片上执行,这里面有一多半是根本无法执行的,也就是说,会崩溃和异常退出。并且,J2SDK也是无法在mips上顺利的执行的,相当的垃圾的一个芯片。
这就是为啥在美国9年代末期,mips被市场淘汰的根本原因。
参考技术B 楼上粘贴的好多啊!~~ 膜拜!~
龙芯,说白了就是中国自己开发的CPU,电脑CPU被英特尔和AMD 2大公司垄断,自主开发的龙芯CPU发展潜力以及与这2家的水平差距相当大!~可以说在中国,人们购买电脑都会去购买英特尔和AMD CPU的电脑,极少极少数的会去买龙芯CPU的电脑!~
个人意见,我并不是不爱国,而是我花一样的钱我为什么不买好的呢。
中国龙芯的发展困难!~本回答被提问者采纳
参考技术C 我只记得以前从电脑报上看了,龙芯英文名godsun,中文名狗剩(名贱好养活)。好像是性能已经有P4了吧。 参考技术D 龙芯(英语:Loongson,旧称GODSON1)是中国科学院计算所自主开发的通用CPU,采用简单指令集,类似于MIPS指令集。第一型的速度是266MHz,最早在2002年开始使用。龙芯2号速度最高为1GHz。龙芯3号还未有成品,而设计的目标则在多核心的设计。
目前中科院有研发以龙芯为处理器的超级计算机计划。国产CPU,2002年8月10日,首片龙芯1号芯片X1A50流片成功.龙芯最初的英文名字是Godson,后来正式注册的英文名为loongson。 龙芯LOGO
龙芯CPU由中国科学院计算技术所龙芯课题组研制.由中国科学院计算技术所授权的北京神州龙芯集成电路设计公司研发,前期批量样品目前由台湾台积电生产。 尽管今天的“龙芯”还存在着诸多问题,与目前主流CPU相比性能上还有不少差距,还不能与Intel和AMD的CPU在PC市场上竞争,但坦率讲,今天“龙芯”的境遇已经比当年的“联想汉卡”好多了。回想当年的“联想汉卡”是由做大型机出身的毫无产业经验的科研人员一块一块的手工焊接而成、又一块一块的人工检测。据说1986年,联想第一线销售人员每天接到的投诉电话和定货电话几乎一样多----每卖出100块“汉卡”,就有30块出问题;而今天的“龙芯”不仅获得了中科院重大知识创新工程项目和国家863计划的支持,通过了严格的成果鉴定、基准程序测试和产品测试,可进入商品化生产;还得到了各地政府和企业的大力支持,已在江苏省常熟市建立了产业化基地。
龙芯”三代简介
龙芯一号(英文名称Godson-1)
龙芯一号CPU IP核是兼顾通用及嵌入式CPU特点的32位处理器内核,采用类MIPS III指令集,具有七级流水线、32位整数单元和64位浮点单元。龙芯一号CPU IP核具有高度灵活的可配置性,方便集成的各种标准接口。图1显示了龙芯一号CPU IP核可配置结构,其中虚线部分表示用户可根据自己的需求进行选择配置,从而定制出最适合用户应用的处理器结构。主要的可配置模块包括:浮点部件、多媒体部件、内存管理、Cache、协处理器接口。浮点部件完全兼容MIPS的浮点指令集合,浮点部件及其相关的系统软件完全符合ANSI/IEEE 754-1985二进制浮点运算标准。浮点部件主要包括浮点ALU部件和浮点乘法/除法部件,用户可根据自己的实际应用选择是否添加。媒体部件复用了MIPS浮点指令的Format域,并复用了浮点寄存器堆,媒体指令集基本对应了Intel SSE媒体指令集合的各种操作。 内存管理部件有三种工作模式,即标准模式、直接映射模式和无映射模式。在标准模式下,TLB分为ITLB和DTLB两部分,每部分均由48项页表项组成,同时支持mapped和unmapped的从虚拟地址到物理地址的变换方式;TLB也可只进行直接映射,不使用CAM和RAM,以减小面积;而无映射模式下甚至可以去掉TLB,采用直连SRAM的形式实现访存。龙芯一号CPU IP核的Cache分为指令Cache和数据Cache,两部分独立配置,以4K为一路,可配置为4路、2路和0路。用户可根据应用需要,确定所需Cache的大小,甚至不使用Cache。协处理器接口为外部协处理器提供了一个高效率的接口。龙芯一号CPU IP核提供了两套可配置的处理器总线接口:AMBA接口和哈佛结构SRAM接口。
龙芯二号(英文名称Godson-2)
龙芯二号(英文名称Godson-2) 龙芯二号CPU 采用先进的四发射超标量超流水结构,片内一级指令和数据高速缓存各64KB,片外二级高速缓存最多可达8MB.最高频率为1000MHz,功耗为3-5瓦,远远低于国外同类芯片,其SPEC CPU2000测试程序的实测性能是1.3GHz的威盛处理器的2-3倍,已达到中等Pentium4水平。
龙芯3号
龙芯3号 龙芯3A的工作频率为900MHz~1GHz,频率为1GHz时双精度浮点运算速度峰值达到每秒160亿次,单精度浮点运算速度峰值每秒320亿次。龙芯3A采用意法半导体公司(STMicro)65纳米CMOS工艺生产,晶体管数目达4.25亿个,芯片采用BGA封装,引脚的数目为1121个,功耗小于15瓦。 龙芯3A集成了四个64位超标量处理器核、4MB的二级Cache、两个DDR2/3内存控制器、两个高性能HyperTransport控制器、一个PCI/PCIX控制器以及LPC、SPI、UART、GPIO等低速I/O控制器。龙芯3A的指令系统与MIPS64兼容并通过指令扩展支持X86二进制翻译。 龙芯3号在包括服务器、高性能计算机、低能耗数据中心、个人高性能计算机、高端桌面应用、高吞吐计算应用、工业控制、数字信号处理、高端嵌入式应用等产品中具有广阔的市场应用前景。
(选自百度百科)

什么是龙芯平台JDK?国产龙芯平台JDK版本解惑

什么是龙芯平台JDK?

龙芯公司基于OpenJDK从无到有实现的LoongArch64和MIPS64上的版本。

龙芯平台JDK是基于开源的OpenJDK研发的,通过了JCK的测试,符合Java SE的标准。
龙芯平台JDK使用GPLv2,with Classpath Exception授权协议。

为什么会有两个指令集版本的JDK?

因为龙芯CPU目前有两套指令集架构。龙芯5000系列使用了最新的LoongArch64自主指令集架构,龙芯5000之前的处理器都是基于MIPS64指令集架构,不同CPU的指令集不同,需要安装使用对应指令集版本的JDK,不同指令集JDK无法混用。

为什么不基于Oracle JDK版本实现?

  1. Oracle JDK是Oracle公司发布的版本,没有开放源代码,无法移植到Oracle JDK不支持的平台上。
  2. Oracle JDK和OpenJDK都是JDK的具体实现,只要是符合Java SE标准的程序,均可在Oracle JDK和OpenJDK上运行。
  3. 龙芯平台JDK是100%开源的且可免费下载和使用,并遵循GPLv2 with the Classpath Exception协议,在使用或重新发布方面无限制,相比Oracle JDK更自由更可控。
  4. Oracle计划从2019年1月起开始停止jdk8u的免费更新,而龙芯平台JDK不存在这方面的问题,会长期支持jdk8。

龙芯平台JDK和OpenJDK社区版本区别

在有些OS发行版(比如:Debian)中,默认集成的是OpenJDK社区版。
目前,OpenJDK社区版的LoongArch和MIPS这两个版本都使用是Zero的解释器,无论是性能还是成熟度上都较龙芯平台JDK的JIT版本均有较大差距(性能想差数十倍),因此建议使用龙芯平台JDK。

如何识别这两个版本?

通过观察java -version的输出,如果包含Zero或interpreted mode字样,则为社区的Zero解释器版本,比如:

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1~deb9u1-b10)
OpenJDK 64-Bit Zero VM (build 25.222-b10, interpreted mode)

龙芯发布的版本一般会包含Loongson(说明是龙芯的源码)、Sever(说明是JIT版本)和mixed mode字样,则说明是龙芯的JIT版本,比如:

openjdk version "1.8.0_60"
OpenJDK Runtime Environment (Loongson 8-loongson3a-Loongnix) (build 1.8.0_60-b32)
OpenJDK 64-Bit Server VM (build 25.60-b24, mixed mode)

目前已经发布的龙芯平台JDK

OpenJDK 8(最新8.1.10版本)
OpenJDK 11(最新11.1.0版本)(这是自Java 8后的首个长期支持 (Long-Term Support, LTS) 版本)
OpenJDK 17(最新17.1.0版本)(Java 17是最新发布的长期支持 (Long-Term Support, LTS) 版本)

龙芯平台JDK支持JavaFX吗?

支持。

关于JavaFX支持

龙芯平台JDKJDK8-MIPS64-rc14版本开始支持JavaFX。

龙芯平台目前支持哪些Java软件?

ECLIPSE
Netbeans IDE
Apache Tomcat(含Spring模板框架、Hibernate、MySQL JDBC)
Jenkins
永中Office
东方通中间件
金蝶中间件
各种OA系统
各种商业系统:例如Jira 4.1.1
各种开源Java系统:例如Xwiki、JeeCMS等
各种Java Applet小程序
Glassfish(J2EE应用服务器)
CoreMail邮件系统

以上是关于解释下龙芯的主要内容,如果未能解决你的问题,请参考以下文章

优化系列详解龙芯LoongArch指令集架构

新年芯事 | 龙芯物联网主控芯片龙芯1C102和龙芯1C103流片成功

龙芯GO!龙芯平台上构建Go语言环境指南

什么是龙芯平台JDK?国产龙芯平台JDK版本解惑

什么是龙芯平台JDK?国产龙芯平台JDK版本解惑

什么是龙芯平台JDK?国产龙芯平台JDK版本解惑