一列绿皮火车发出沉重的喘息,缓缓停靠在滨江市火车站。
车门打开,一群二十岁上下的年轻人提着行李走了下来。
他们穿着朴素,但眉宇间带着一股与周围环境格格不入的书卷气。
走在最前面的,正是王雷。
他手里提着一个沉甸甸的帆布包,里面塞满了专业书籍。
“这里就是滨江?”
一个同学凑过来,好奇地打量着有些陈旧的站台。
王雷没有回答,他也在看。
空气里混合着煤灰和某种工业城市特有的味道,与燕京的干燥清爽完全不同。
但他的心里,并没有太多波澜。
当他做出放弃MIT的决定时,就已经预想过无数种可能。
“是水木大学来的同志吧?”一个洪亮的声音传来。
众人循声望去,只见一个身材魁梧的中年人正朝他们快步走来。
是刘卫东。
“我是启航工业的刘卫东,韩总派我来接你们。一路辛苦了!”
刘卫东脸上挂着热情的笑容,很自然地就从王雷手里接过了那个最重的帆布包。
“刘总您好,我是王雷。”王雷连忙伸出手。
刘卫东有力地握了握,然后招呼道:
“车在外面等着,咱们先回厂里安顿下来,有什么话路上说。”
一辆崭新的中巴车停在站外,这让学生们有些意外。
他们坐上车,车子缓缓启动,驶离火车站。
车窗外的景象,印证了他们对一座老工业城市的想象。
低矮的红砖楼房,冒着黑烟的烟囱,路边自行车和行人混杂。
“咱们启航工业,就在这片儿?”一个女生小声问。
刘卫东听见了,他笑了笑,没说话,只是指了指前面:
“马上就到了。”
车子拐过一个路口,眼前的景象豁然开朗。
一条笔直宽阔的柏油马路向前延伸,路两旁是规划整齐的绿化带。
远处,一栋栋崭新的厂房和研发大楼在阳光下拔地而起,充满了现代感。
与刚才看到的旧城区,完全是两个世界。
“这……这都是启航工业?”
车里的学生们发出一阵低低的惊呼。
“这是启航工业的一期工程。”刘卫东的语气里带着自豪。
“我们脚下这片,三千亩地,都是启航新城。
你们看到的,是研发中心、精密制造中心和职工家属院。”
中巴车最终停在了一栋造型极具未来感的玻璃幕墙大楼前。
大楼门口,启航研发中心几个大字在阳光下熠熠生辉。
王雷走下车,他仰头看着这栋大楼。
他去过燕京最先进的科研院所。
但没有一个,能给他带来如此强烈的视觉冲击!
韩栋和刘涛早已等在门口。
“欢迎来到启航。”
韩栋走上前,他的声音很平静。
简单的寒暄后,韩栋没有带他们去会议室,也没有安排休息,而是直接领着他们来到负一层。
“谭教授应该跟你们说了,我们正在做一个项目。
耳听为虚,眼见为实。
我带你们去看看。”
厚重的隔音门后,是一个巨大的地下空间。
十台深蓝紫色的高大机箱一字排开,风扇发出低沉而持续的嗡鸣。
整个空间里,除了机器的运转声,就是此起彼伏的键盘敲击声。
“SGI……IRIS”
王雷身后的一个同学,吃惊的地念出了机箱上的型号。
他们所有人都呆住了。
谭教授在会上描述过,但当亲眼看到十台这样的顶级工作站整齐排列在眼前时,那种震撼,是任何语言都无法形容的。
刘涛把他们引到一台机器前。
机器的屏幕上,正显示着密密麻麻的代码。
“这是我们为MIPS架构开发的C语言编译器。”刘涛指着屏幕。
“前端的词法分析、语法分析和中间代码生成,我们已经基本完成了,现在卡在了后端。”
他调出了另一个窗口,里面是一段测试程序和它的运行结果。
“这是我们编译出来的一个科学计算程序,在模拟器上跑的结果。
逻辑上没有问题,但效率非常低。
我们分析了日志,发现处理器流水线有超过百分之六十的时间,都处于停顿状态。”
刘涛的脸上带着一丝疲惫和无奈。
“我们试了很多方法,手动调整指令顺序,做了一些简单的窥孔优化,但效果都不好。
硬件的性能,我们连一半都没发挥出来。”
王雷没有说话,他走上前,目光落在了屏幕上。
他没有去看那段C语言代码,而是直接看刘涛团队生成的中间代码和最终的MIPS汇编。
“能让我看看MIPS的指令手册吗?”王雷开口。
刘涛立刻递过来一本打印好的厚厚的手册。
王雷接过手册,就近找了个空位子坐下。
他一手翻着手册,一手在草稿纸上飞快地写着什么,完全进入了自己的世界。
他身后的几位同学,则被李响拉到了一块巨大的白板前。
“我们现在最大的问题是寄存器分配。”
李响在白板上画了几个方框,代表MIPS的32个通用寄存器。
“变量太多,寄存器不够用,就得频繁地把数据写回内存,再读出来。
这一来一回,好几个时钟周期就浪费了,流水线直接断流。”
一个水木的学生立刻提出:
“教科书上说,可以基于变量的生命周期分析,把生命周期不重叠的变量,分配到同一个寄存器里。”
李响苦笑一下:
“理论我们都懂。
但一个复杂的函数里,可能有上百个变量,生命周期很复杂,根本分析不过来。
我们想写个算法自动分配,但试了好几个方案,效果都不理想。”
白板前,讨论声越来越激烈。
启航的工程师们,讲的是实践中遇到的具体困难。