第三次阅读赵炯博士的《linux内核代码完全注释》:序

这是我第三次阅读linux内核代码完全注释了,当然前两次也没有读完,第一次读到第五章,第二次第七章。

所以说,赵炯博士对我最大的帮助时介绍了intel386的结构,以及内核编程的方法。

至于真正的内核源代码,我还真没看多少。

前几天,就是上周周日,我终于完成我梦想的一小段的了,我的梦想是什么呢?

不妨贴一贴一年前发的微博。

我想做自己的计算机系统,本来这应该是一个简单的梦想,但是随着人们对效率的追求,如今的CPU再也不是典型的

架构,超流水线,寄存器重命名,乱序,预测。

如今,指令集作为软件和硬件之间的接口这句话太对了,整个计算机系统就像一个沙漏。

沙漏的下面是复杂的硬件实现,片上并行,SIMD,多核,多级缓存,提供了那样的一个接口-指令集。

而沙漏上面是汇编器,链接器,加载器,动态库,目标文件格式,可执行文件格式,使用指令集提供的服务。

 

如今想要对整个计算机有一个全景式的描述就很难了,更何况计算机要用在工厂上,多台计算机相互合作,来完成一个工作。

为什么我们需要全景式的描述:

在学数据结构和算法的时候,我们希望我们能看到算法的执行过程,很多时候讲不明白的,一看就明白了。

这就是我们希望数据可视化的原因,

所以,其实我希望的是,打造一个可视化的计算机系统。

它会有不同层级的可视化,操作系统级别的可视化,你会看到进程之间飞速切换,以及进程管理是怎么回事。一个可执行文件怎么样从磁盘里

被加载到内存里,映射又是怎么建立的,然后创建表,以及free,malloc在整个内存上是怎么操作的。

指令级的可视化,你将会看到一个指令从内存加载到指令寄存器,被译码,被执行,整个cpu的寄存器都随之而变。

最后是逻辑门级的可视化,我们看到电子真在这样的汪洋大海里遨游。

太好了,为什么只做图片呢?

千言万语比不上一张图,而千万张图比不上动态图,而千万张动态图,不如我们写一个这样的可视化软件。

当时用vhdl写cpu的时候,设计了这样一个图:

爱因斯坦说我思考问题时不是语音思考,而是用一幅幅能动的跳跃的图像来思考,思考完后我还要费很大力气用语言表述出来。

这样看来是合情合理的。

posted @ 2013-11-27 11:35  李可以  阅读(4237)  评论(2编辑  收藏  举报