陈星深吸一口气,站起来。
他想起在陕北的日子,想起老乡们用算盘算账的样子。
“我……我觉得,指令就像工具。”他慢慢说,“一个木匠,不需要一百种刨子,但常用的那几种必须好用。”
“咱们设计指令集,是不是也应该这样?”
“最常用的操作,比如加减乘除、数据搬运、逻辑判断,这些指令要设计得高效、快速。、”
“不常用的操作,可以简化,甚至不要。”
他顿了顿,声音更坚定了些:“我在农村,看老乡们用算盘。”
“算盘只有加减乘除,但能解决大多数问题。太复杂的计算,他们也不用算盘,用笔算。”
“芯片是不是也可以这样?把基础功能做扎实,复杂功能让软件去实现?”
会议室里安静了几秒。
杨振华第一个鼓掌:“说得好!这就是RISC思想的前身。精简指令集。虽然现在国际上流行CISC,但你这个思路,很有前瞻性。”
陈启明也点头:“小陈这个比喻很形象。指令集不是越复杂越好,是要好用。好用的标准是什么?是让编程的人舒服,让芯片跑得快。”
讨论继续,但方向清晰了很多。
陈星的话像一颗石子,让争论的漩涡找到了出口。
散会时,陈启明叫住陈星:“今天表现不错。晚上有空吗?”
“有!”
“来我办公室,我给你补补课。指令集设计,门道多着呢。”
“谢谢陈老师!”
“说了叫老陈。”陈启明笑着走了。
晚上八点,陈星敲开陈启明办公室的门。
屋里堆满了书和图纸,几乎没有下脚的地方。
陈启明正在一张大图纸上画着什么,见他进来,招招手:“过来,看这个。”
那是一张极其复杂的芯片布局图,上面密密麻麻的线条,像一座微缩城市。
“这就是‘长城一号’的版图。”陈启明说,“2300个晶体管,咱们花了两年时间。现在要做5000个,你觉得关键在哪里?”
陈星仔细看着图纸,许久才说:“布线……布线太复杂了。”
“对!”陈启明一拍桌子,“就是布线。晶体管可以画小,但线不能太细,否则电阻大,容易断。线不能太密,否则干扰大。线不能太长,否则延迟大。”
他抽出一张白纸,开始画:“所以咱们得重新设计单元库。把常用的逻辑门。与门、或门、非门、触发器。做成标准模块,