第321章 从零开始的“长城二号”

章节报错(免登陆)
下载APP,无广告、完整阅读

顶点小说(dingdian666.com)更新快,无弹窗!

递给陈星一本厚厚的笔记:“这是我这些年收集的Intel8080指令集分析,还有Z80的一些资料。你先看,有问题随时问我。”
    陈星接过笔记,沉甸甸的。
    翻开第一页,工整的字迹,详细的注释,还有手绘的时序图。
    “陈老师,这……”
    “叫老陈就行。”陈启明拍拍他肩膀,“抓紧看,下午咱们要开讨论会。”
    “记住,咱们不是简单仿制,是要设计自己的指令集。”
    “既要考虑兼容性,又要考虑扩展性,还要考虑易用性。这可是个大学问。”
    整个上午,陈星都泡在那本笔记里。
    他像一块干渴的海绵,疯狂吸收着知识。
    很多概念他第一次接触。
    寻址方式、中断处理、流水线设计。
    但他强迫自己理解,不懂就问,问陈启明,问组里其他人。
    午饭时,他端着饭盒,一边吃一边看笔记。
    杨振华坐过来,看了眼他正在看的内容。
    “指令编码这一章?”杨振华问。
    “嗯,看不懂。”陈星老实说,“为什么要设计这么多寻址方式?直接寻址、间接寻址、立即寻址、变址寻址……太复杂了。”
    “为了灵活。”杨振华拿过他的笔,在桌上画起来,“你看,假如你要处理一个数组。”
    “如果用直接寻址,你得知道每个元素的具体地址,太麻烦。”
    “但用变址寻址,只需要一个基地址,一个偏移量,循环起来方便多了。”
    他简单几笔,画出了一个循环读取数组的示例。
    陈星恍然大悟:“原来是这样……那中断又是为什么?”
    “让CPU能同时处理多个任务。”杨振华继续画,“比如你在计算,突然有键盘输入。”
    “如果没有中断,你得不停地去查键盘有没有按,浪费CPU时间。”
    “有了中断,键盘按下去,发个信号,CPU暂停手头工作,先去处理输入,处理完再回来继续计算。”
    “我明白了!”陈星眼睛发亮,“就像……就像一个人本来在看书,突然电话响了,他接完电话再回来看书。”
    “对,就是这个意思。”杨振华笑了,“你很会比喻。搞技术的人,有时候缺的就是这种把复杂问题简单化的能力。”
    陈星不好意思地挠挠头:“我是真不懂,所以只能想些土办法理解。”
    “土办法才是好办法。”杨振华认真说,“技术归根结底,是为了解决实际问题。能解决问题的办法,就是好办法。”
    吃完饭,陈星继续看笔记。
    下午的讨论会,他坐在角落里,认真听,拼命记。
    讨论很激烈。
    关于指令集应该设计多少条指令,大家争得面红耳赤。
    “指令越多,功能越强!”一个技术员说。
    “但电路越复杂,成本越高,出错概率越大!”另一个反驳。
    “要兼顾,既不能太少,也不能太多……”
    陈启明听着,偶尔插话引导,但大多数时间让年轻人自己争论。
    等大家吵得差不多了,他才开口:“小陈,你说说看。”
    所有人都看向陈星。
    陈星愣住了。
    他一个新人,刚来第一天,哪有资格在这种问题上发言?
    “别怕,想到什么说什么。”陈启明鼓励道。
    陈星深吸一口气,站起来。
    他想起在陕北的日子,想起老乡们用算盘算账的样子。
    “我……我觉得,指令就像工具。”他慢慢说,“一个木匠,不需要一百种刨子,但常用的那几种必须好用。”
    “咱们设计指令集,是不是也应该这样?”
    “最常用的操作,比如加减乘除、数据搬运、逻辑判断,这些指令要设计得高效、快速。、”
    “不常用的操作,可以简化,甚至不要。”
    他顿了顿,声音更坚定了些:“我在农村,看老乡们用算盘。”
    “算盘只有加减乘除,但能解决大多数问题。太复杂的计算,他们也不用算盘,用笔算。”
    “芯片是不是也可以这样?把基础功能做扎实,复杂功能让软件去实现?”
    会议室里安静了几秒。
    杨振华第一个鼓掌:“说得好!这就是RISC思想的前身。精简指令集。虽然现在国际上流行CISC,但你这个思路,很有前瞻性。”
    陈启明也点头:“小陈这个比喻很形象。指令集不是越复杂越好,是要好用。好用的标准是什么?是让编程的人舒服,让芯片跑得快。”
    讨论继续,但方向清晰了很多。
    陈星的话像一颗石子,让争论的漩涡找到了出口。
    散会时,陈启明叫住陈星:“今天表现不错。晚上有空吗?”
    “有!”
  
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭