第201章 苏兰的困窘
作者:月之子      更新:2017-12-19 12:26      字数:6287

这个帖子的网络ID叫阿文,他这个帖子并没有说操作系统的有关事情,而只是说刚开始对编译器非常感兴趣,大学的时候参加了几个相关的项目,发现自己对CPU的结构学了很久都没有熟悉,于是便产生了自己动手亲自做一个CPU的想法,以此来让自己完全熟悉CPU的工作原理和结构。通过学习数字逻辑电路和计算机原理方面的相关知识,他知道,一个CPU其实也是有很多TTL集成电路组成的,其基本元件不外乎是晶体管、电阻和电容等,区别就只在于工艺方面而乙。也就是说,从理论上来讲,完全可以由这些基本电气元件来制作比较简单的CPU,实现一些简单的功能。事实上,CPU的发展就经历了这么一个过程。

考虑到水平的问题,这个想法一直留在阿文的脑海中,并没有动手实施。这样一直到大二的某一天下午,他在国外一个专业性的硬件论坛读到了一篇文章,据那个文章的发表者说,这篇文章曾经是一本老杂志上的,他见里面涉及的内容非常专业和精彩,于是便手工将整篇文章敲了上来,作者没有联系到。

这篇文章讲的就是如何使用TTL集成电路来制作极其简单的CPU,里面将总体过程大略地介绍了一遍,例如制作这个CPU主要涉及到哪几个主要的步骤以及哪些知识等,并且在文章的最后,作者还说,这个试验事实上是能够做成功的,他和几个朋友曾经做过一个这样的CPU,当然,它是一个庞然大物。

看到这篇文章之后,阿文终于下了决心。决定自己打造一个CPU。帖子到这里就结束了,在末尾,阿文说看到这里的人气很旺,希望到这里能够我到志同道合的朋友,一起来交流这方面的知识,到目前为止,他地计划已经顺利地完成了一部分了。阿文在末尾留下了一个飞飞号码。

在帖子的后面,只有寥寥几个回帖。无非是“你强”、“厉害”之类的话。很显然,大家并不相信阿文说的话是真的。或者说,阿文所做的事情把大家给吓住了,自己手工制作CPU。难道你以为仅仅是去打磨一下么!

许毅仔细阅读了这个叫阿文的帖子,里面他的措词非常严谨,并没有什么不合理地地方。虽然他所做的事情有点太过匪夷所思了,但也并不是完全不可能,生话中地高手是很多的。许毅接着在站内搜索了一下阿文所发表和参与的帖子,发现他发的帖子很少。回帖也少,不过他回复的那几个帖子的内容的质量却非常高。而且都集中在硬件方面。

从这点来看,他应该不是那种说话不负责的人。想到此。许毅登上飞飞,按照阿文提供地号码将其查找出来,发现他需要验证才能加好友,许毅填了一个“CPU”。

很快,对方通过脸证的消息就传了过来ˉˉ他现在在线。

许毅没有立刻发信息过去,对方好像也不着急,并没有发信息来询问。最后还是许毅主动发信息过去:“你好。我是在黑客学陀地操作系统版块看到你的飞飞号码的,我对你手中的那个有关CPU的项目比较感兴趣。

对方直接发来一句:“首先先回答我三个问题。

许毅还没来得及应答,对方的问题就己经发了过来,三个问题,考察的内容有对相关硬件知识的概念,也有CPU某个部位的具体作用。好在许毅对这方面还有点了解。这三个问题都没能难倒他,很顺利地就通过了阿文地考核。

“终于来了以为稍微懂行的人了!”阿文发来的消息中这样说道。按照他的说法,前面应该也有人找过他,而且也遇到过这种待遇。

“很多人来找过你吗?你问的这三个问题并不是很难呀。”许毅奇怪地问道。

“也不多,就四五十人,你是这些人当中水平最高的。题目之所以这么容易是因为我把题目难度降低了很多,不过我相信,前面地人都回各不出什么东西来。”

“呵呵,你过奖了!在黑客学院翻到你的帖子,特意来找你问问情况。”

“这么说来,你是真的相信我在帖子中所说的话了?”

“那是肯定,不相信还跑来干嘛?”许毅反问,“再说我也知道用TTL集成电路的确是可以做出简单功能的CPU的,虽然事情比较烦琐了一点。”

“看来今天还真碰到能够聊几句的人了。”对方的话里透露者兴春,“在你之前的那几十,都是车斤八两,对这方面涉及的并不是很深,所以我跟地们没有共同语言。”他之所以设立这样一个考核规矩,主要是因为前面两个人聊了车天,连什么是CPU的Cache是什么都不知道,浪费了阿文好多时间。

“请问你现在已经做到哪里了?”许毅开门见山地问到。

“现在我已经完成了ALU/寄存器的架构和控制面板的架构!”

“哦?”他这么说,许毅并不能看得很懂,谁知道他口中的控制面板是什么东西,ALU和寄存器许毅倒知道。

“我这么说你可能看不懂,这样吧,我把我的项目日志给你看看。”阿文想到了许毅的难处。

“那最好不过了!”

接着,阿文发出了一段文字,格式非常简单,就是前面是日期,然后主要做了哪些事情。

……

1996年10月6日:开始写项目日志,并为这个项目制定了日程表。

1996年10月18日:完成了错误处理和中断机制的基本设计。

1996年10月29日:完成微代码的第一轮设计,并将这个CPU命名为Smartech-1

……

1996年11月13日:Smartech-1的汇编器基本成型。

……

1996年12月28日:在模拟器中完成了页面错误机制。

……对指令集架构进行了意义重大的改变

……设计用于多进程的上下文环境切换

……完成对微代码的重写工作

……

一直到前两大的“完成控制面板地架构”工作。

许毅看到,他这个项目已经历时一年多了,而且在整个项目的过程中,他进行了大童的重写改进工作,有好几次甚至是完全推翻前面的设计。将自己学到的新知识应用到Smartech-1的制作当中去,从这份简单的项目日志看来,可以清晰地看到阿文在这方面的进步。在项目刚开始,他完全还是个莱乌,很多设计都非常不合理,很多知识也不知道。可是现在,他己经成为了这方面地高手,对整个Smartech-1了如指掌,同时也将CPU的很多工作原理和结构完全拿握。

看到这份日志。许毅知道,阿文确确实实在做这个项目,他实在佩服阿文的毅力和耐性。

“我看了你的日志,你的确非常厉害。我想问下,你的Smartech-1的最终目柱是想达到一个什么样的程度?”

“刚开始的时候,我只是抱着熟悉CPU的工作原理和结构地目的开始这个项目地,可是现在,我发现我已经喜欢上了Smartech-1,从某种意义上来说。它是我的孩子,我现在的目标己经有了改变。不再满足于最初的想法,我想真正将这个CPU做出来,成为一个功能完全的CPU!”

“我要让它支特完整的硬件地址转换、内存映射IO私DMA,当然,多线程也少不了!这个CPU的地址总线是8位的,做成拱之后,它的主频应该会达到3MHz!每个进程拥有128k地址空间,其中包括32个2k地数据页和32个2k的代码页,这些地址映射到22位的物理地址空间中。如果算上外部设备的地址空间就是23位物理地址空间!”QM

“将来,我打算用这个CPU来组装一台微型计算机,它的名字我都己经想好了,就叫它Smartech-1!呵呵,也许,以后还可以用这台计算机来做一个Web服务器!我现在己经在为这台CPU设计C语言编译器了……”

阿文滔滔不绝地向许毅描述着他的篮图。而许毅则一直在一边静静地听看着,从这些不断传输过来文字,许毅看到了一个技术人员对技术地疯狂和沉迷。从他身上,许毅看到了计算机历时上早期计算机黑客的身影。那个时候的黑客,绝大多数都是硬件黑客,他们对电子硬件非常精通,极大地推动了计算机硬件的发展,第一台微型电脑就是由硬件黑客爱德华-络伯茨发明的。

通过进一步聊天许毅知道,阿文做这个CPU完全是出于自己的爱好和兴趣,除此之外别无他想,不过他的出现,却让许毅有了一个新的决定。

“阿文,我对你的Smartech非常感兴趣,我们经常保持联系,另外,你如果想找志同道合的人一起实施这个计划的话,我想我可以帮到你……”