关灯
护眼
字体:

第321章 从零开始的长城二號(第4页)

章节目录保存书签

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

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

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

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

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

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

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

“陈老师,这……”

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

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

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

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

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

很多概念他第一次接触。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

討论很激烈。

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

“指令越多,功能越强!”一个技术员说。

章节目录