LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: fender010

我们的龙心是不是多搞点宣传。

[复制链接]
发表于 2008-1-14 11:48:51 | 显示全部楼层
《我与龙芯盒子》
作者:孙海勇

龙讯的读者大家好!我是冲天飞豹,收到《龙讯》的专稿邀请,在此谈谈我使用“龙芯盒子”后的体验和感受。

== 第一次亲密接触 ==
几年前就听说了龙芯,对龙芯的关注有比较长一段时间,只是没有机会近距离的接触。没想到在2006年末的时候竟然得到了一次亲身使用的机会,当时中科龙梦的福珑迷你电脑(网友亲切地称之为龙芯盒子)正面向社会进行征集中试用户,我很幸运成为这几百人中的一个,心想终于可以一睹龙芯的风采了。

2007年1月4日,我终于收到了龙梦寄过来的龙芯盒子。在收到盒子后我没有急着拆开,拍了一些照片记录下整个打开包装的过程。因为我在龙芯盒子的预售用户中收到的比较早,所以这些照片也传到了网上和大家一起分。我很幸运,在盒子的使用手册有总设计师胡伟武的亲笔签名。

尽管之前也看过一些官方的照片,但这次真正摆在面前时还是觉得盒子十分小巧。在随后几天拿着盒子给朋友演示时也觉得比较方便。盒子的低功耗和小体积给很多朋友留下了很深的印象,其实我也是冲着这两点的,我一直希望能有一个低功耗和体积小的机器,这也是我在得知能够预定“龙芯盒子”时立刻决定订购一台的重要原因。倘若性能可以满足日常应用,那么低功耗和小体积能够节省很多能源和材料,也可以令我们的办公环境得到改善。这就是龙芯盒子非常值得称道的地方。

以前对于龙芯电脑的性能有一些想象,这次拿到手后总的感觉还是基本符合自己的想象,某些方面还稍微比我想象的要更好一些。

== 挫折和机遇 ==
在收到盒子拍完了照片后,自然是要加电使用了。打开后初步印象还是不错的,运行速度也算可以,但我觉得目前还不适合拿它和目前市面上常见的x86机器(Intel或者AMD)来比较,这是因为目前很多软件都对于x86的机器进行了优化,拿优化的和不优化的结果进行比较是非常不公平的。况且这次的“龙芯盒子”用的是龙芯2E的CPU,是一款64位的CPU,目前很多软件还没有发挥出64位CPU的性能,所以我觉得不能简单的比较性能。

开始操作机器后,第一个想法就是把3D桌面加入,虽然很多人对于3D桌面有排斥的想法,但我还是非常喜欢3D应用到平常的桌面中,这样不但可以将平常无法发挥出来的显卡3D功能用来加速桌面的图形显示,而且某些操作方式也对平常的使用有帮助。

盒子配置的是一块带有3D加速功能的显卡,虽然本身显卡比较老,性能也很一般,不过终究是有3D加速的,我还是很高兴的看到这点。但是很意外的事情,显卡的3D没有被打开,于是我开始用我以前的经验看看有没有办法打开3D,一直没有成功,一连几天,我暂时放弃,这个可以算是我开始用“龙芯盒子”遇到的第一个挫折,于是我决定一心来实施我原先的计划(后来龙梦公司解决了3D驱动问题后,我便立刻着手把目前流行的Beryl,一个3D桌面系统编译了出来,尽管中途有点小问题,不过还是顺利的运行起来了,之后我录制的操作录像来比较直观地展示机器的性能,我得到的一些反馈,一些人在看过后对龙芯的性能有了新的认识,这是我最愿意看到的)。

其实在拿到“龙芯盒子”的半年前我就在“预谋”一件事情,因为当时得知龙芯2的CPU是兼容MIPS指令的而且是64位的芯片,而我也想研究一下交叉编译的技术,所以就尝试的建立一个MIPSEL体系的Linux系统,在模拟器下也运行起来了,并在网络上发表了一篇相关的文章,就为了有机会接触到真实的机器后能够有一些技术准备。

不过在我拿到“龙芯盒子”后意外的发现,预安装的系统是32位的,而且到网络上搜索了一下发现,似乎还没有针对龙芯建立相应的64位系统,我突然意识到我有可能成为第一个制作出(这里没有用“开发”,因为整个过程多数是“编译”)在龙芯上运行的相对完整的纯64位系统,带着这个令人兴奋的想法,我立刻开始了我的工作(我对于能做一件没人做过,或者少有人做而自己又非常有兴趣的事情,自然是十分高兴的)。

== 64位之路 ==
得益于这两年相关的技术储备,我很顺利的就完成了交叉编译过程(由于龙芯盒子上没有64位系统,因此必须使用交叉编译的方式才能够生成64位下的程序),并完成了一个最小化的64位Linux系统(一个网络上流行的开源系统),并且成功的在“龙芯盒子”上运行了起来,整个过程只用了一两天。

在随后的一两天,我又成功的建立起了一个相对完整的运行环境,这个环境已经具备了自我完善的能力(也就是可以在其上编译软件来不断的完善),因此制作过程暂告一段落。就在我准备发布这个系统的时候,发生了一个意外的事情,也正是因为这个意外事情,导致我将这个系统发布的时间推迟了将近一个星期,而制作过程的文档发布就推迟的时间更长了,因为我不想把一个可能有问题东西发布出来给人用。

准备发布系统时,发现系统会莫名其妙的死机,部分为丰富功能添加进系统的软件包也有运行不正常的情况,这让我开始怀疑是否一开始的制作过程有问题,于是我决定暂时不发布,重新编译这些有问题的软件,由于“龙芯盒子”编译比较大的软件的时候速度并不是太快,所以花费在编译过程中的时间比较多,但有些包总是出现问题。因此我决定从头开始制作,在制作过程中仔细检查每一个环节。由于问题可能出现在前期制作过程,但却会影响到后期的制作,导致一些奇怪的问题发生,因此我也从网络上收集些相关的资料对照。一遍下来,却并没有发现之前的过程有什么错误。但是再编译有问题的包,问题依旧,而且还是不时发生死机。这一下,让我有点着急,于是决定再次从头编译系统,不过这次我采用在64位系统上自我编译制作(这个过程大概叫“原生”的方式,对于“交叉”和“原生”我打个比方是好比生物的突变和繁衍,交叉的方式出来的系统往往跟原来的系统有较大的差别,如同一种生物突变为另一种生物,而“原生”的方式则往往跟原系统有极大的相似,如同父亲和儿子)。我曾发现个别软件包用交叉方式编译有问题,而用原生的方式问题得到了解决。但是当前并没有可用于龙芯的64位系统,我就只能用我自己交叉编译制作的系统来做。而同时我的心里也产生了一个矛盾,如果系统本身就有问题,那么在这个有问题的系统上做出来的系统能消除这些问题吗?由于没有其他系统,我也只能先用这个方法先试试再看了。

原生系统的编译过程顺利完成,而制作出来的系统似乎问题依旧,原先出现问题的包还是有问题,死机现象也没有得到解决。不过在这几次的制作过程中,我也想同时解决3D的问题,因此不时要用到32位系统。在其中发现一个奇怪的问题,用64位的Linux内核使用32位的软件时也经常死机,而且似乎比纯 64位系统更频繁。这使我想到很可能是内核导致的问题而非制作过程的问题(后来也基本证实了我当时的想法)。一些有问题的包也是因为不兼容,这些软件包在 32位下运行良好,在64位下却有一些“奇怪”的问题。由此我基本排除了制作过程的问题,同时又总结了“原生”方式制作系统的过程,总算没白干。而第一个发布的64位系统也是“原生”出来的系统,虽然还有些问题。不过我心里塌实了许多,看来龙芯64位系统之路是漫长的,道路是曲折的,不过我认为前途是光明的!

上面就是我在龙芯上制作的64位系统的经历,算是一波三折。制作系统时的一个目标就是为了稳定,于是我想给这个系统取个名字就叫“憨牛”,意思希望能够踏踏实实,稳定强壮,另外我也非常喜欢这个名字。另外我也希望做出系统能够真正得到应用而非仅仅一个研究产品,于是我加入了一些便于管理的功能,比如自己以前制作的包管理器,以便让这个系统能够具备一个简单的软件包管理功能,变的更加专业一些。

== “孩子”,未来的“运动健将”    ==
对于龙芯,现在很多人都对它给予了希望,我也不例外,我希望它能健康的成长,我觉得还是要客观的对待它才行,就如同我在论坛里使用的签名一样:
龙芯还是一个孩子;
我们要爱护他,但不能溺爱他;
他的缺点和错误我们要批评,改正了还是好孩子;我们不能因为他的缺点和错误而打骂他,更不能因此抛弃他;
在他还是孩子的时候我们不能用世界冠军的标准来要求他,但我们要用世界冠军的目标来科学的培养他。

== 一根筷子和一把筷子 ==
我想大家都知道一根筷子和一把筷子的故事吧。两只手可以轻易的折断一根筷子,一根一根的折,全部折断是早晚的事。但把筷子聚集成一把的时候,再想折断它们就难上加难了。其实现在龙芯的处境是一样的,国产芯片就是一根筷子,国产制造业、国产软件业等等都是一根根的筷子。如果能够同心的聚集在一起,那就会非常结实,而其中没有谁是最重要的,大家都是一样的,缺了谁都会让这把筷子的坚韧程度下降。多一个人多一份力量,终归一句话:团结就是力量!

== “轮子”,用现成的还是自己造? ==
现在对于在龙芯上使用什么样的软件系统有一些争论,主要是集中在操作系统上,一种声音是开发国产操作系统没出路,不值得搞,搞好现有的开源系统就可以了,另一个声音是,国产操作系统要从头搞,现在的开源系统没出路。

对于这样的争论,我们可以回想一下上学的时候做数学题,有哪位是不用做习题,仅仅靠看书就能掌握知识的?原理性的东西很多东西都是需要在实践中验证和掌握的。对于一个数学家,如果他不掌握好原理性的知识(有许多对于一般人而言是很高深的)又怎么能够有所突破呢(“制造更加优秀的轮子”)?而对于一个普通人可能只需要一些常用的数学知识就足够了(“用现成的轮子”)。同样,回到软件的话题,如果你是一个研究操作系统的人,如果你不准备有从头开始的决心,只是想简单的拿现有的开源产品改改(其实改也是需要一定程度的知识),我认为想全面掌握操作系统,或者能够有突破性的设计是比较困难的,当然我也认为不是什么人搞操作系统都要从头搞,这些都会因研究方向和侧重点不同而不同。而在其它方面也一样,你从来不搞CPU设计,拿一个CPU的设计图纸让你改你也改不了,而如果你全面掌握了CPU设计原理那么即使没有图纸你也可能自己画出来,但谁也不是天生就会设计的,自然要通过大量的学习和实验,这过程中的“重复制造轮子”的次数我想不会少。

既然我国各方面的高级人才都需要,那么各方面“重复制造轮子”、“研究如何制造轮子”的事情恐怕是少不了的。所以我的观点就是充分深入的研究那些开源或者不开源的知识,掌握好制造轮子的技术,制造出更好的轮子。我是支持开源的,但我认为有的时候过度依赖开源则容易产生惰性,我们既要吸收掌握开源知识也要做开源技术的创造者,尊重开源人士,遵守开源规则,只有这样开源才能真正对技术的进步发挥作用。

我想:知识的共享是更为重要的事情。知识只有为需要的人所共享,它所包含的“价值”才能最大程度的体现出来,当然这里有一个前提:技术是为人类谋幸福的,而不是用来做破坏的事情,或者拿来干违法的事情。

== 一条龙,不仅仅是龙芯 ==
龙芯的出现是一个好的开端。但我们不能仅局限在这个芯上,芯片很重要,制造业、软件业等同样的重要,不能说哪个就比哪个更重要,同样都是不能缺少,不能轻视的。
一条靠自己力量腾飞的龙,身上不能缺少任何东西。

== 一句题外话 ==
说起龙,我为我是中国人,有着龙的传人这个称号而感到发自内心的自豪!
回复 支持 反对

使用道具 举报

发表于 2008-1-14 20:09:35 | 显示全部楼层
Post by kangtian;1806855
而且有很多华人或者华裔在里面担任重要位置.
还好你用的是“华人”字眼,那我就提几个得过诺贝尔奖的华人吧:朱棣文,李政道,杨振宁,高行健,可惜的是他们获奖的时候都不具有中国国籍。不由让人生出桔生淮南淮北的感慨。


感觉现在做个中国人要不被骂还真难啊,要是留在国内,别人说你没能力才留在国内;要是出国了吧,会被人骂不爱国。
回复 支持 反对

使用道具 举报

发表于 2008-1-14 21:27:15 | 显示全部楼层
Post by kangtian;1806914
从 体系结构上来说,龙芯用的都是国外很成熟的东西,人家都用了 好些 年了,硬件构架上来说
龙芯中没有多流水线(线程级并行) ,
没 有指令跟踪cache,
没有更高的分支预测率,
没有 存储级并 行,
这么做完全是为了减小设计复杂度。他们这种规模 ,随便si llion的design house都可以完成. 可见其不先进 性。

从编译器的构架上来说,就算是由于使用的 mips指令集 。我们也没有能做的像全美达那样,我们没有实力 用另类的vliw 来实现mips.而全美达是什么,不过是一个 小小的design house!你们可以看看sony&ibm &东芝合作的cel l perocessor;美国国防部&U T合作的的trips ;
以色列光电混合处理器…………哪个不 比龙芯2或者即将的龙芯3快上1000倍? !这才是真正我们该 追逐的下一代技术!!!性能参考标准可见美国技术出口法案。

再者说,你们知道龙芯 是拿什么设计的么?我们的设计软件,学名 叫eda tools,
都是从美国企业(cadence,sy nopsys.magma ……)
手里面买过来的!而且我们使 用的都是自动生成的逻辑电路 ,再看看人家都是工程师全定制出来 的!这也就是为什么同样的构架 ,mips自己能做到1.4gh z而我们只能做到500mhz。 可见从设计手段上来说也同样毫 无先进性可言!

制程我就不多说 了,美国人早就奔向32nm 了,台湾人也普及90nm了。而内地 最好的企业中芯微的130 nm良率才有70%上下。可见落后!

所以根本没有什么新的东 西应用在在龙芯的体系结构中。我们早就 落后了了。x86是一张 没有标明目的的船票,……未来可能是天堂 也可能是地狱。因为用 70年代的指令级做出21世纪的性能,这不 是一般企业能做的到 的。


不知道举这些例子想说明什么:如何教不会走的孩子直接学会跑?

龙芯和国际先进有差距是事实,但龙芯在日新月异也是事实。如果以这种心态,恐怕龙芯早在这种无意义的自我贬低与无端指责中胎死腹中。我很高兴这不是事实。
回复 支持 反对

使用道具 举报

发表于 2008-1-15 13:57:19 | 显示全部楼层
kangtian和zhllg争论的核心在龙芯是否拥有“完全自主知识产权”。
kangtian其实还是关心龙芯的,只不过某些现状让大家都有担心,这很正常。
谈到CPU,我们上组成原理课的时候,老师说一个CPU最核心的是指令集,它
代表了该CPU所有的功能,如果一个CPU连指令集都不是自己设计的,也就谈不上
“完全自主知识产权”。对于具体指令的实现是个另一个的问题了,CPU厂商
正是不断的改进指令和架构的实现来提高CPU的性能。一个程序员面对一台机器时,
其实他面对的是指令集构建的一个虚拟机。龙芯确实是mips的一个实现。
我想这无关知识产权,而我们确实应该承认差距。
回复 支持 反对

使用道具 举报

发表于 2008-1-15 16:19:35 | 显示全部楼层
Post by carllee;1807376
如果一个CPU连指令集都不是自己设计的,也就谈不上“完全自主知识产权”。

这个观点是绝对错误的
指令集是接口,interface
interface远远不如implementation来的重要
回复 支持 反对

使用道具 举报

发表于 2008-1-15 18:07:02 | 显示全部楼层
Post by carllee;1807376
如果一个CPU连指令集都不是自己设计的,也就谈不上
“完全自主知识产权”。


AMD的cpu用了intel的指令集, 这是不是自主开发的?
龙芯使用 mips指令集,跟amd使用x86指令集出发点是一样的,都是为了原来的软件资源。

amd在x86上,发展了自己的扩展。
龙芯在mips上,发展了自己的多媒体扩展。

对于自己是中国人,我们现在没有什么自卑的,
回复 支持 反对

使用道具 举报

发表于 2008-1-15 18:11:10 | 显示全部楼层
这一次,龙芯2F生产了百万片,相信以后如果你想要,就可以买到龙芯的电脑。
目前要做的,就是使用win的用户,请尽快的把工作环境转换到linux上面来。为使用龙芯电脑,提前适应,
回复 支持 反对

使用道具 举报

发表于 2008-1-15 21:10:36 | 显示全部楼层
Post by liushiwei;1807473
这一次,龙芯2F生产了百万片,相信以后如果你想要,就可以买到龙芯的电脑。
目前要做的,就是使用win的用户,请尽快的把工作环境转换到linux上面来。为使用龙芯电脑,提前适应,


原来讨论得这么激烈,我还以为没人关注呢。

Godson-family processors 是不是《关于龙芯的旧文》说的狗剩?

近期只关心盒子啥时候出来。
回复 支持 反对

使用道具 举报

发表于 2008-1-16 05:59:39 | 显示全部楼层
晕啊,zhllg 你和一 SB 辩论什么呀
有时间多干点实事吧^_^
回复 支持 反对

使用道具 举报

发表于 2008-1-16 10:26:56 | 显示全部楼层
哈哈哈,有点像教主回来了,顶礼顶礼!膜拜膜拜!

我不懂cpu,电脑也不是很懂,我就是k教主说的那帮傻鸟,在第一批买了个2E盒子,使用11个月了,自认为还是合算的。
买的目的很复杂,就是说很唯心的,
就像我买明基相机、联想传真机、国产转瓶机(不是一个系列的了)一样;
还好的就是他们都算很争气,合适我用。

所以2F盒子我还买
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表