何以解忧,唯有杜康。可惜,我不喝酒。
学习进度
Nand2Tetris 第一章lab 11. Or8Way.hdl
学习感悟
学习是一个寻找乐趣的过程,
一开始看到密密麻麻的陌生代码难免会有畏惧感,课程视频也不是很想听,索性自己琢磨去了。Nand门是昨天理解的,一开始没看懂,后来发现是not and 与非门就瞬间记住他的真值表了。根据真值表推出not and or 三个门,然后接下来的 mux 和 dmux 就不是很难了。
学习是一个不断进步的过程,
一开始推导的时候用的是析取范式,今天写代码的时候从答案发现 Mux 直接使用
out = (a · ¬sel) OR (b · sel)
而不是
out = (a·b·¬sel) + (a·¬b·¬sel) + (¬a·b·sel) + (a·b·sel)
!!! 有种智商被碾压的感觉。其实析取范式通过化简也能得到,但是我觉得直接抓住关键信息构造最简练的条件是一个需要掌握的直觉方面的能力。其实现在想来很容易理解,因为b的输入在sel为0时没有干扰,所以他一定不影响最后的结果,直接考虑a和sel就行。sel为1时候同理。
从中我们知道不必为所谓模板套路限制,每题或许都有属于他自己的解法。具体问题具体分析吗~
学习有时候会出现意外之喜,
比如写Xor8Way的时候我下意识用了二叉树方法,同样是七个门,比答案的顺序七个依次Or运算要快很多,(其实就是每层门的总数最多砍一半)。哼哼还是有点得意的。
随笔
关于未来的方向
其实选择底层归根结底还是不甘心
不甘心自己从此埋没,不甘心以后要按照他人安排好的那样去生活,不甘心自己面对生活的磨折毫无反抗之力。
于是想要磨练自己的心性,培养自己的能力,确定自己的方向,希望不会走失,不再迷茫,走向自己曾经希望走到但或许再也无法走到的远方。
但是没有关系,因为远方的意义不在于到达,就像我选择底层的意义不在于做出范式变革,也不在于为世界做出什么成就,在一切的成功与失败之前,我清楚我首先还是我自己。这种感觉很好,因为只要我还是我自己,那么无论成功与失败都与我无关。我活在过程里,而不是终点的一瞬。终点的一瞬固然美好,但是路边总还是有靓丽的风景。
无论是学习CV,或是RM,或是底层编译器推理优化,都很好,青春应当去尝试,于是才能知道自己想要成为的样子。不必早早的做出最终选择,不过可以先定下一个暂时的目标(来和我一起学底层吧,嘻嘻~),我们相信学习的本质是贯通的,相信计科的基础总是有用的。不必纠结于过去的选择,既然不能重来,那就从现在开始。
今天学的很开心,言尽于此,与君共勉。