吴东他们目前虽然进展比较慢,但至少已经把前期的框架搭起来了,接下来的工作就是实现指令集,这基本上是一个体力活了,只要理解了其中的原理,就是按照技术手册,将这些指令一个一个实现出来,非常的繁杂,同一个指令,操作数不同的话,其对应的机器码也不同。
所以到目前为止,吴东他们才实现了几个主要的指令。
林鸿看了一会儿他们所编写的代码,当场就指出了几个可以更加灵活实现的几个功能,一下子让几个他们认为非常难的几段代码变得简单起来,减少了不少代码量。
这让吴东和唐华鑫两人都非常佩服。
吴东他们所使用的方式,完全是最原始的,一步一步地进行,这是初学者最常见的思维,虽然效率比较低,但是胜在简单有效,思路清晰。
而林鸿所使用的方式,却是经过高度优化之后的,例如对条件判断机制,让吴东他们来实现,可能至少要三四条语句进行分别判断,而林鸿则使用一条语句就能搞定。而这条简单的语句,吴东他们看起来,必须得想半天才能想通其中的机制。
总得来说,他们的代码在功能上还是没什么问题的,只是有些功能在实现的时候,效率有点低了,因为这是软件模拟,就算是最后运行起来了,速度也会受到影响。
“写得不错!”林鸿鼓励道,“写到这里,我相信你已经对cpu的构造和计算机的底层原理有了足够的认识了。”
吴东深以为然:“是啊,为了编写这些代码,我将还明年下半年才开始学的内容就提前学习了,计算机组成原理那本书也看了好几遍了。”
吴东还是大一。按照学校安排的课程,还是处于最基础的文化知识普及阶段。这些内容。至少要大二、甚至大三才会涉及到一些。
“这个项目的确不错。”
这时,唐华鑫也插言道:“我之前自学《计算机组成原理》和《微机原理》,看了好几遍教材,但是一直看得似懂非懂。并且,其中的很多细节都理解不了。接触到这个项目之后。这才有一种恍然大悟的感觉。”
这个项目,简直就是对学校的那些理论课程的有效实践,学校的课程实在是太偏理论了。对于大部分人来说。基本上是考完试就完全还给老师,半点记忆也不留下。而真正感兴趣的人,也好不到哪里去,因为他们根本不知道,学习这些东西到底是为什么,有什么用。平时根本应用不到。
很多小组的成员,在接触到这个项目之后。这才有一种顿悟的感觉,发现之前所学习的东西,原来是这么回事。
林鸿帮他们将这个项目的代码整理了一下,将整个框架的结构优化,然后将接下来要编写的内容——编译器的步骤也一同给写了出来。