第321章 从零开始的“长城二号”-《穿越59,开局获得签到系统》


    第(2/3)页

    “对。”赵四点头,“咱们过去只关注硬件,芯片造出来,怎么用?谁来编程?有什么软件能跑?”

    “这些问题,以前可以不想,但现在必须想。因为芯片的价值,最终要靠软件实现。”

    他看向张卫东:“卫东,软件小组你来牵头。”

    “任务有三个:第一,开发‘长城二号’的汇编语言和编译器;”

    “第二,设计一个最简化的操作系统内核;

    “第三,编写基础的应用软件,比如文本编辑器、简单计算器。”

    张卫东深吸一口气:“赵总工,这任务……比硬件设计还难。”

    “咱们现在懂软件的人,一只手数得过来。”

    “所以要从头培养。”赵四说,“从今天起,每个硬件设计师,每周至少要花一天时间学软件。”

    “反过来,软件组的人也要学硬件原理。我要的是复合型人才,是既懂芯片又懂编程的人。”

    会议室里安静下来。

    这个要求,超出了很多人的认知范围。

    在他们看来,硬件是硬件,软件是软件,就像钳工和电工,各干各的活。

    “我知道大家不习惯。”赵四的声音缓和下来,“但这就是未来。”

    “计算机不是孤立的芯片,它是一个系统。”

    “硬件是躯体,软件是灵魂。没有灵魂的躯体是行尸走肉,没有躯体的灵魂是无根浮萍。”

    他走到窗边,推开窗户。

    冷风吹进来,带着早春的气息。

    “同志们,咱们在做的,不是一份工作,是一场革命。一场从‘制造’到‘创造’,从‘跟跑’到‘并跑’的革命。这条路没人走过,所以每一步都得我们自己摸索。”

    “可能会摔跤,会走弯路,会被人笑话。但如果我们不走,就永远只能跟在别人后面,吃别人剩下的。”

    他转过身,目光扫过每一个人:“现在,愿意跟我走这条路的,留下。觉得太难想退出的,我不怪你,可以申请调去其他项目。”

    没有人动。

    陈启明第一个站起来:“赵总工,我跟你走。”

    林雪第二个:“我也跟。”

    张卫东推了推眼镜:“软件这块,我拼了命也得搞出来。”

    杨振华慢条斯理:“算法我负责,没问题。”

    王技术员眼圈红了:“我老婆子不懂什么软件硬件,我就知道,赵总工指的路,准没错。”

    一个接一个,所有人都站了起来。

    陈星也站起来了。

    他站得笔直,手在微微发抖,但眼神坚定。

    赵四看着这一张张脸,年轻的脸,不再年轻的脸,都有同样的光芒。

    “好。”他只说了一个字。

    但足够了。

    会议持续到中午。

    分组讨论时,陈星被分到陈启明的设计一组。

    “咱们组负责CPU核心设计。”

    陈启明在白板上画着框图,“算术逻辑单元、寄存器堆、指令译码器、控制单元……小陈,你对哪块最熟?”

    陈星老实说:“我都……都不熟。书上只讲了原理,没讲具体设计。”

    旁边一个年轻技术员笑了:“那你来干什么?”

    “小刘!”陈启明瞪了他一眼,转向陈星,“没关系,谁都是从不会开始的。”

    “这样,你先跟我做指令集设计。这是芯片的灵魂,也是最考验设计功力的地方。”

    他递给陈星一本厚厚的笔记:“这是我这些年收集的Intel 8080指令集分析,还有Z80的一些资料。你先看,有问题随时问我。”

    陈星接过笔记,沉甸甸的。

    翻开第一页,工整的字迹,详细的注释,还有手绘的时序图。

    “陈老师,这……”

    “叫老陈就行。”陈启明拍拍他肩膀,“抓紧看,下午咱们要开讨论会。”

    “记住,咱们不是简单仿制,是要设计自己的指令集。”

    “既要考虑兼容性,又要考虑扩展性,还要考虑易用性。这可是个大学问。”

    整个上午,陈星都泡在那本笔记里。

    他像一块干渴的海绵,疯狂吸收着知识。

    很多概念他第一次接触。

    寻址方式、中断处理、流水线设计。

    但他强迫自己理解,不懂就问,问陈启明,问组里其他人。

    午饭时,他端着饭盒,一边吃一边看笔记。

    杨振华坐过来,看了眼他正在看的内容。

    “指令编码这一章?”杨振华问。

    “嗯,看不懂。”陈星老实说,“为什么要设计这么多寻址方式?直接寻址、间接寻址、立即寻址、变址寻址……太复杂了。”

    “为了灵活。”杨振华拿过他的笔,在桌上画起来,“你看,假如你要处理一个数组。”

    “如果用直接寻址,你得知道每个元素的具体地址,太麻烦。”

    “但用变址寻址,只需要一个基地址,一个偏移量,循环起来方便多了。”

    他简单几笔,画出了一个循环读取数组的示例。

    陈星恍然大悟:“原来是这样……那中断又是为什么?”

    “让CPU能同时处理多个任务。”杨振华继续画,“比如你在计算,突然有键盘输入。”

    “如果没有中断,你得不停地去查键盘有没有按,浪费CPU时间。”

    “有了中断,键盘按下去,发个信号,CPU暂停手头工作,先去处理输入,处理完再回来继续计算。”

    “我明白了!”陈星眼睛发亮,“就像……就像一个人本来在看书,突然电话响了,他接完电话再回来看书。”

    “对,就是这个意思。”杨振华笑了,“你很会比喻。搞技术的人,有时候缺的就是这种把复杂问题简单化的能力。”

    陈星不好意思地挠挠头:“我是真不懂,所以只能想些土办法理解。”

    “土办法才是好办法。”杨振华认真说,“技术归根结底,是为了解决实际问题。能解决问题的办法,就是好办法。”

    吃完饭,陈星继续看笔记。

    下午的讨论会,他坐在角落里,认真听,拼命记。

    讨论很激烈。

    关于指令集应该设计多少条指令,大家争得面红耳赤。

    “指令越多,功能越强!”一个技术员说。
    第(2/3)页