请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。
简化版工具开发到第三个月,王磊又卡住了。
这次是布局布线算法。
芯片里几十万个晶体管,怎么摆、怎么连线,才能让信号跑得通、跑得快?
这看起来是个几何问题——把一堆大大小小的方块塞进一个矩形里,用线把它们连起来。但实际上,这是数学问题、物理问题、材料问题的综合。
几十万个节点,几十万条连线,信号的传输时间、功耗的分布、热量的发散——每一个因素都要考虑进去。
晶体管的摆放位置会影响连线的长度,连线的长度会影响信号的延迟,信号的延迟会影响整个芯片的时序,时序乱了,芯片就跑不起来。这还不算功耗——线越长,电阻越大,发热越多,热量散不出去,芯片就烧了。
国外的软件用了几十年积累的算法,有专门的数学库、物理模型库。
那些库文件里,随便挑一个函数,背后都是几十年的论文堆出来的。
什么斯坦福的、MIT的、IBM实验室的,一代一代的数学家、物理学家、工程师,把问题拆碎了,揉碎了,再拼起来,最后变成一行行代码。他们没有那些积累。他们只能自己从头想。
王磊带着团队,连续奋战了三个月。
每天只睡三四个小时,醒了就写代码,困了就趴桌上眯一会儿。
吃饭都是盒饭,边吃边讨论问题。有时候正吃着,有人突然想到一个思路,筷子一撂,跑到白板前面画图。其他人也跟过去,饭凉了也没人管。那段时间,每个人的眼圈都是黑的。
王磊的头发掉得更厉害了,头顶那块已经彻底秃了,露出光溜溜的头皮,在机房的荧光灯下反着光。他自己倒不在意,偶尔摸一把,还跟同事开玩笑:“省洗发水。”
但玩笑归玩笑,压力是实打实的。
有一天凌晨,王磊正在改代码,突然眼前一黑,脑袋撞在键盘上。
同事吓了一跳,赶紧把他扶起来。王磊缓了一会儿,说没事,继续写。他揉了揉太阳穴,盯着屏幕,代码在眼前晃来晃去,就是看不清楚。
他眨眨眼,使劲眨,还是模糊。他以为是眼睛累了,滴了两滴眼药水,接着写。眼药水流进眼角,咸咸的,他也顾不上擦。
第二天上午,他又晕了一次。
这次是在会议室,正给秦念汇报进度。
他站在白板前面,拿着笔,指着画好的流程图,讲布局算法的新思路。讲着讲着,声音越来越小,秦念刚想开口问,就看见他身子一歪,从椅子上滑下去。笔掉在地上,滚到墙角。
白板上的图还没画完,线条断在半截。
秦念冲过去把他扶起来,他脸色煞白,额头全是冷汗,嘴唇发青。秦念喊人,几个人七手八脚把他架到椅子上,有人跑去叫车,有人翻抽屉找速效救心丸。
同事死活把他拽到医院。检查结果:过度疲劳,严重缺觉,血压一百八。医生让他住院观察,至少休息一周。