第(2/3)页 “对。”赵四点头,“咱们过去只关注硬件,芯片造出来,怎么用?谁来编程?有什么软件能跑?” “这些问题,以前可以不想,但现在必须想。因为芯片的价值,最终要靠软件实现。” 他看向张卫东:“卫东,软件小组你来牵头。” “任务有三个:第一,开发‘长城二号’的汇编语言和编译器;” “第二,设计一个最简化的操作系统内核; “第三,编写基础的应用软件,比如文本编辑器、简单计算器。” 张卫东深吸一口气:“赵总工,这任务……比硬件设计还难。” “咱们现在懂软件的人,一只手数得过来。” “所以要从头培养。”赵四说,“从今天起,每个硬件设计师,每周至少要花一天时间学软件。” “反过来,软件组的人也要学硬件原理。我要的是复合型人才,是既懂芯片又懂编程的人。” 会议室里安静下来。 这个要求,超出了很多人的认知范围。 在他们看来,硬件是硬件,软件是软件,就像钳工和电工,各干各的活。 “我知道大家不习惯。”赵四的声音缓和下来,“但这就是未来。” “计算机不是孤立的芯片,它是一个系统。” “硬件是躯体,软件是灵魂。没有灵魂的躯体是行尸走肉,没有躯体的灵魂是无根浮萍。” 他走到窗边,推开窗户。 冷风吹进来,带着早春的气息。 “同志们,咱们在做的,不是一份工作,是一场革命。一场从‘制造’到‘创造’,从‘跟跑’到‘并跑’的革命。这条路没人走过,所以每一步都得我们自己摸索。” “可能会摔跤,会走弯路,会被人笑话。但如果我们不走,就永远只能跟在别人后面,吃别人剩下的。” 他转过身,目光扫过每一个人:“现在,愿意跟我走这条路的,留下。觉得太难想退出的,我不怪你,可以申请调去其他项目。” 没有人动。 陈启明第一个站起来:“赵总工,我跟你走。” 林雪第二个:“我也跟。” 张卫东推了推眼镜:“软件这块,我拼了命也得搞出来。” 杨振华慢条斯理:“算法我负责,没问题。” 王技术员眼圈红了:“我老婆子不懂什么软件硬件,我就知道,赵总工指的路,准没错。” 一个接一个,所有人都站了起来。 陈星也站起来了。 他站得笔直,手在微微发抖,但眼神坚定。 赵四看着这一张张脸,年轻的脸,不再年轻的脸,都有同样的光芒。 “好。”他只说了一个字。 但足够了。 会议持续到中午。 分组讨论时,陈星被分到陈启明的设计一组。 “咱们组负责CPU核心设计。” 陈启明在白板上画着框图,“算术逻辑单元、寄存器堆、指令译码器、控制单元……小陈,你对哪块最熟?” 陈星老实说:“我都……都不熟。书上只讲了原理,没讲具体设计。” 旁边一个年轻技术员笑了:“那你来干什么?” “小刘!”陈启明瞪了他一眼,转向陈星,“没关系,谁都是从不会开始的。” “这样,你先跟我做指令集设计。这是芯片的灵魂,也是最考验设计功力的地方。” 他递给陈星一本厚厚的笔记:“这是我这些年收集的Intel 8080指令集分析,还有Z80的一些资料。你先看,有问题随时问我。” 陈星接过笔记,沉甸甸的。 翻开第一页,工整的字迹,详细的注释,还有手绘的时序图。 “陈老师,这……” “叫老陈就行。”陈启明拍拍他肩膀,“抓紧看,下午咱们要开讨论会。” “记住,咱们不是简单仿制,是要设计自己的指令集。” “既要考虑兼容性,又要考虑扩展性,还要考虑易用性。这可是个大学问。” 整个上午,陈星都泡在那本笔记里。 他像一块干渴的海绵,疯狂吸收着知识。 很多概念他第一次接触。 寻址方式、中断处理、流水线设计。 但他强迫自己理解,不懂就问,问陈启明,问组里其他人。 午饭时,他端着饭盒,一边吃一边看笔记。 杨振华坐过来,看了眼他正在看的内容。 “指令编码这一章?”杨振华问。 “嗯,看不懂。”陈星老实说,“为什么要设计这么多寻址方式?直接寻址、间接寻址、立即寻址、变址寻址……太复杂了。” “为了灵活。”杨振华拿过他的笔,在桌上画起来,“你看,假如你要处理一个数组。” “如果用直接寻址,你得知道每个元素的具体地址,太麻烦。” “但用变址寻址,只需要一个基地址,一个偏移量,循环起来方便多了。” 他简单几笔,画出了一个循环读取数组的示例。 陈星恍然大悟:“原来是这样……那中断又是为什么?” “让CPU能同时处理多个任务。”杨振华继续画,“比如你在计算,突然有键盘输入。” “如果没有中断,你得不停地去查键盘有没有按,浪费CPU时间。” “有了中断,键盘按下去,发个信号,CPU暂停手头工作,先去处理输入,处理完再回来继续计算。” “我明白了!”陈星眼睛发亮,“就像……就像一个人本来在看书,突然电话响了,他接完电话再回来看书。” “对,就是这个意思。”杨振华笑了,“你很会比喻。搞技术的人,有时候缺的就是这种把复杂问题简单化的能力。” 陈星不好意思地挠挠头:“我是真不懂,所以只能想些土办法理解。” “土办法才是好办法。”杨振华认真说,“技术归根结底,是为了解决实际问题。能解决问题的办法,就是好办法。” 吃完饭,陈星继续看笔记。 下午的讨论会,他坐在角落里,认真听,拼命记。 讨论很激烈。 关于指令集应该设计多少条指令,大家争得面红耳赤。 “指令越多,功能越强!”一个技术员说。 第(2/3)页