第380章 指令集(2 / 2)

超脑黑客 疯狂小强 1803 字 1个月前

林鸿暂时莫不清楚他什么套路,也只是敷衍的回答了一些问题。

大概十多分钟之后,冯婉和林昌明从里面出来了,从他们的表情来看,似乎闹得又不怎么愉快。

虽然冯远征的身体状况没有想象中的那么糟糕,但既然过来了,冯婉便暂时也没有着回去,而是决定先留下来照顾一下父亲,他平时一个人在医院,由护士照顾,也挺孤单的。身为唯一的女儿,自然也有义务在旁边服侍一二。

由于时间还早,林鸿将父母送四合院之后,便给吴东打了个电话,然后再次回到了水木大学。

当林鸿来到604寝室的时候,发现寝室里并不只是吴东一人,而是还有一个高高胖胖的年轻人。

“老大,我给你介绍一下,他叫唐华鑫,是自动化学院的师兄。”

吴东见林鸿到达,第一时间就给林鸿介绍道:

“我一个人做这个虚拟机项目感觉有点吃力,你又不在身边,所以我就在水木论坛上发了个帖子,找了几个有兴趣的同学一起研究。”

对于吴东来说,虚拟机项目的确是很大了,并且之前从来没有做过,独自摸索的效率太低,于是才动了心思找人一起学习,这样遇到什么问题也可以一起讨论,这样取长补短,提高效率。

他在水木bbs的计算机板块发布了一个招募贴,说自己为了学习计算机底层原理,开展了一个虚拟机项目,期待有共同兴趣和目标的人一起加入。

在帖子中,他详细地描述了一下这个项目的主要内容,以及目前所完成的进度。

在水木,牛人还是非常多的。

他这个帖子发出之后,便引起了不少人的关注和讨论,有人说这其中的难度太大,有点不太现实,而有的人则说使用这种方式来学习计算机组成原理的确非常好。

当然,除了那些夸夸其谈的人,更多地人则直接来到604寝室来实际了解情况。

吴东虽然也第一次接触这个项目,但基本的步骤之前林鸿早就给他规划了,他只要按照这个流程走基本上就没错,于是和别人说这个项目的时候,自然也是头头是道,吸引了不少人加入,最终组建了一个虚拟机项目开发小组。

当然,感兴趣的人多,但更多的人的技术水平甚至连吴东都比不上,只有几个高年级的师兄才比较靠谱,而这个唐华鑫就是其中一个。

唐华鑫长得高高胖胖,看上去一副敦厚老实的模样。

“你好。”唐华鑫首先打招呼。

“你好。”

林鸿点点头,然后走到他们身边,看了看显示器,问道:

“你们的进展如何了?开发到哪一步了?”

吴东有些不好意思地说道:“进展有点慢,才刚开始实现指令集,目前已经将add、move等常见指令给实现出来了。”

他所说的指令集,是指能够让cpu理解的语言,每一条指令集对应一条或者多条汇编语言,编译之后,就对应着cpu可以理解的机器艹作码。由于他们模拟的是intel的x86架构指令集提醒,其实现机制,可以从intel的技术文档中查到。

他们是用程序来模拟cpu,所以这个程序,必须能够兼容这些指令集,例如给程序中输入指令add,它必须能够理解,这是让它对两个艹作数进行相加,而艹作数又分为内存和寄存器等不同的类型。

其中实现的细节,都是精确到bit的,编写虚拟机的人,必须对其中每一个比特都要清楚,例如add本身就对应着多个不同的二进制编码。

能够把这些搞懂,基本上计算机的底层运行原理就已经理解得非常深刻了,这也是为什么大家认为参加这个项目,可以很好地学习计算机组成原理的原因。

甚至,计算机学院有老师听到这个项目之后,在考虑是否要以这个为案例,来设计课程,让大家学以致用,不至于纸上谈兵,学了相关知识,转眼就忘。

好在8086是16位的,其指令集相对来说数量也比较少,实现机制也没那么复杂,一路磕磕碰碰之下,吴东所组建的这个虚拟机项目小组毕竟顺利地按照林鸿之前所定好的流程一直在向前推进。

而林鸿所使用的方式,却是经过高度优化之后的,例如对条件判断机制,让吴东他们来实现,可能至少要三四条语句进行分别判断,而林鸿则使用一条语句就能搞定。而这条简单的语句,吴东他们看起来,必须得想半天才能想通其中的机制。

(未完待续)