高三高考完放暑假的日子里最快乐的一件事就是一群人跑到网吧打cs
当时专业战队还不多,所以,盘踞在各个网吧的都是鱼龙混杂
当时我的几个同学都还算又天资。
一般的小网吧,都能平掉。。。。
昨天的会,让我隐约感觉到了当年到处平网吧的感觉,只是对手和我们一样烂。。。
Happy coding
2010年7月01日 17:00
高三高考完放暑假的日子里最快乐的一件事就是一群人跑到网吧打cs
当时专业战队还不多,所以,盘踞在各个网吧的都是鱼龙混杂
当时我的几个同学都还算又天资。
一般的小网吧,都能平掉。。。。
昨天的会,让我隐约感觉到了当年到处平网吧的感觉,只是对手和我们一样烂。。。
2010年6月29日 01:07
指令集,ABI,应该包括汇编和编码两级。
那么位长是指指令的长度,数据lip(long:int:pointer) 的长度,还有相应的地址空间大小么?
位长是表示虚拟地址的长度,例如龙芯所谓的64位,就是说处理器只支持64为的虚拟地址模式。
全相连(set-associate),映射机制,几路 (n-way)的TLB是啥意思呢?
非阻塞cache的概念是允许Cache失效访存操作后面的多个Cache失效或命中的访存操作继续进行,来提高系统的整体性能。
2010年6月28日 21:05
这听上去算是一段不错的时光和机会, 一定要抓住。
好好规划,实在公关!认准了方向就死磕!
先在可选的方向有编译工具和环境,gcc是基础, , llvm是方向 (不怎么靠谱,但是编译原理一定要补上,并且这个层次已经是工业级的了,而不仅仅是原理这个层次了)。
一个基础的方向是操作系统基础构建,主要是pmon和内核的优化,最主要的问题是对龙芯和mips的体系指令集和架构的了解和熟悉,蛮重要的。
第三点也是很基础的一点,就是性能评测工具,我觉得可以归到profiling一类,这类的工具,会用明白原理就好,但是硬件支持的oprofile应该是主流,本来龙芯就支持
oprofile,会用,也不容易呢。
最后一个方向就是应用软件优化,这个要求可谓是非常高了,一者要有扎实的计算机算法基础(废话。。。),二来要有第二,三点的基础,否则没法优化和评测,最重要的是要知道软件的基本结构和特点,并且对源码有一定程度的熟悉,这个最要命,否则你根本不知道从何入手。。。。
如此说来,第四点可以忽略不计了。。。(或者说从长计议。。。)
前三点齐头并进不好说,(取舍抉择总是很难。。。),这个节骨眼,还是坚持务实于远见的原则(这俩常常矛盾)。
第二,三点最务实,第一点最有远见。
怎么结合。。是一个人最大的功底咯。。。
说这么多都是扯淡,just do it ,看哥的吧。。。
实用主义。。。我一贯的行事风格,无论什么事,就像开车一样,先让车子跑起来再说。
让车子跑起来的几个论题:
在车子上调试些基本的汇编代码,找找感觉。。。完全没问题。。。这个既可以熟悉车子,也可以熟悉pmon 。
2010年6月25日 05:26
在想关于xx的优化,比较看重的是应用程序优化,比如MPlayer的优化方式的通用化。
其次是泛意的增加桌面平台的互动性,这个问题显然有点大,但是也算是个突破口。
第一个问题就是通用化,设计编译器和系统级的优化。。。貌似题目太大了。
而通用计算平台则是着眼于未来,到时候,不管是没有gpu还是统一化,通用计算都有的搞,只是不知道软件过度到硬件后,软件还有什么好搞。
尽管这么想有点杞人忧天了。。。
说了这么半天还是一点没有落到实处,因为我还不知道实际的模型的细节是什么样的。。。模式知道。。细节不知道
2010年6月25日 02:47
主要得问题在于修改configure过程中设定的host参数。
由于rpm系统有自己定义的洪指令,因此可以考虑修改宏指令来改变全局的编译属性,使能交叉编译。
2010年6月25日 00:40
人生就是爬树,从树根爬到树梢,再飘落,或者摔落。。。。
我们又走到了一颗枝杈面前。
得到了宝贝工具,一方面要继续实验,比较clfs很多参数和脚本还不知道什么意思。
另一方面,我们要乘胜追击,直奔系统构建看看,我们该选哪条路呢,那么都又哪条路呢:
其实生死抉择之前还有一小步,构建一个temp 系统。好吧,忽略了吧。。。。
2010年6月24日 23:26
配置参数如果编译完了就扔掉的话。。。那
这遍编译算是白干了。。。
所以,对于一遍小漫长等待的编译而言。
编译参数才是更重要的资源,这也就是CLFS存在的原因。
感谢伟大的差分方法,我们可以只记录对于CLFS的配置参数的改动情况。
但是一定要记一下:
好吧我现在开始记咯:
CLFS编译eglibc,顺利启动。
并进入交叉编译,遇到找不到socket.S错。
跑到eglibc/ports/下一看,mips确实没有socket.S这个文件,而其他几个架构有的有有的也没有。
去掉enable-add-ons这个选项,错误依旧。
检查发现 glibc中没有这个 /sysdeps/unix/sysv/linux/internal_accept4.S 这个文件
那么eglibc 为什么有这个文件呢,还有就是 eglibc的ports为什么不做好部署呢?难道是做了不熟,我们没有下载正确??damn....!
只好继续分兵两路,继续查找正牌的eglibc-ports
另一方面,把glibc拿过来编译编咯。。。果然glibc编的风生水起,呼呼就过了。。。
并且查到原来着eglibc是一个嵌入式版本,但是对glibc还是有所扩充的。。。好嘛。。这扩充差点没给我扩没了。。。
这么说来应该可以到官网上找个正牌版本耍耍。。。先压倒栈里,待glibc编gcc失败了再说的。。。
好了,又要编gcc-final了,上次爷就折在这了。。。这次再来过过招。。。
我真的不敢相信,风生水起的编过了。。。。窃窃的make install了下。。。就这么结束了。。。像是ml一样,想起来惊心动魄,实际上漫不经心。。。
同样像每个漫不经心xx过后,总是会迷茫,迷茫过后总是会振奋。
我小迷茫一下,下一步该干什么?
我小振奋一下,开始风生水起的编系统吧,大幕缓缓拉开。。。
还是那个验证方法,先编个内核瞅瞅?
其实更重要的在于。。。编译系统的步骤是什么?怎么样才能最自动话的编出一个系统来?
不用考虑快慢,反正基本工具已经有啦。。。
2010年6月24日 21:46
流水线这个原理再简单不过,但是原理总作为理论来理解,再简单也不深刻。
下面谈谈实际的体会:CLFS 到 Pipeline
CLFS的每个步骤相当于计算机得到的指令。
那么,是不是要一个挨着一个的编译呢,理论上是这样的,这个顺序还是要遵守的,否则会影响一些依赖性。
那么好,每个编译步骤细分:下载包和patch,解压,配置,编译,安装
其中,下载可以batch完成,但是其余步骤必须一个挨一个的来。