我一直忽略掉这一章中一个重点。这个寄存器机器的结构到底是怎么设计出来的。
在前面一个练习中,我们对我们将要模拟的这个机器有了一些感性的认识,它由寄存器,以及寄存器之间的连接线构成。
- 某个寄存器和其他寄存器是有联系的,在结构上,是否我们需要给它一个输入输出呢?
- 我们是否需要给寄存器分类?
- 在 data-path 里面设计完数据结构之后,怎么把这个结构用在 controller 上面?
思考过这些问题之后再继续 5.1.1 。之后我们会惊讶的发现,这样的思考之后创造出的表达方式,是一个和汇编语言非常相似的表达方式。或者我们也可以说,汇编当时就是这么创造出来的。
PS:我之前面试的时候被问到,“用任意你喜欢的语言,设计 Lambda 表达式的数据结构,然后比较两个 Lambda 表达式是否相等。”设计数据结构,表达某个事物,这里也是一样的。