3)第380章 指令集_超脑黑客
字体:      护眼 关灯
上一章 目录 下一章
  摸索的效率太低,于是才动了心思找人一起学习,这样遇到什么问题也可以一起讨论,这样取长补短,提高效率。

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

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

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

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

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

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

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

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

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

  “你好。”

  林鸿点点头,然后走到他们身边,看了看显示器,问道:“你们的进展如何了?开发到哪一步了?”

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

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

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

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

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

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

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

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

  请收藏:https://m.xc00.cc

(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)

上一章 目录 下一章