谢博士专访:父母“刻意规划”成才的孩子,能厉害到什么程度?
时间:2023-8-23 来源:BataGo倍塔狗 访问数:8次
2023 RISC-V中国峰会(RISC-V Summit China 2023)将于8月23日至25日在北京香格里拉饭店举行。届时上海也有分会或分论坛开展。


首先要英语特别好,要能够读得懂David Patterson用纯种英语写的那个300多页的指令集的描述。读懂之后,再把它变成程序,模拟跑起来。
所以除了英文之外,第二就要编程能力也要特别好。
这个模拟器程序可以有两个选择,一个是用C语言来做,一个是用Python来做。
用C语言有人已经做过了,特别麻烦,写得非常复杂,但是跑起来效率挺高的。
还有一个方向就是Python来做。用Python来做,其代码会超级简单,学生都能看得懂,这样呢,也特别容易教学。
所以,我们就选了一个用Python来做RISC-V的模拟器的这么一个技术路线。


说大也不算大,毕竟只是个模拟器,而是一个Python的模拟器。
说小呢其实也不小,你不但要理解指令集,还要理解汇编语言。现在C语言理解的已经不多了,还要理解汇编语言,所以这个还是一个挺高技术的活。
这个项目,我自己其实也很感兴趣,如果我能它做出来,不管挣不挣钱,我自己也有技术上的成就感。但是我试了一下,不行。什么不行呢?是体力不行。你想想看,先得记300多页的英文,你要从300多页的英文里面找到其中的细节,这对脑子的专注力是巨大考验,我年轻的时候肯定是可以的,但是我现在真的没那个体力。
我就指导许元开同学来做。稍后我会讲,为什么是许同学来做这个。
所以,我需要把我的经验以及我对业界的洞察力,做什么,大概怎么做,和一个年轻的学生结合在一起,这事可能能成。但做之前我并不知道能不能成的。

那这就复杂了,这个工程量就大了。这意味着,我们要重头做了,要在他的基础上,把它的bug修好。
- 第一修复这个模拟器的bug;
- 第二要能够图形化显示,让在“我的世界”里面能够显示出来它的运行过程;
- 第3,我们要能够跑C语言,毕竟用汇编也太痛苦了,这样,这个模拟器才算做好了。
我跟许同学一起商量,要实现这三个目标。
这个事情搞得好长时间,最后都没有把这个BUG挖出来。
具体说,就是long jump,就是长跳转。
如果按一般人的理解,short jump后面跟个数字3,就是在目前的情况下往前跳3
在其它的指令集里面,long jump是什么意思呢?
它是直接跳到你给那个数字。
比如long jump3,就要跳到3那个位置去
long jump 1000,就要跳到那个第1000行去。别的语言都是这样看的。
具体来讲,就是下一个位置是等于那个数字,还是说下一个位置等于现在的位置加那个数字。
就这么一点点的小理解偏差,导致了所有的跳转是通不过的。
所以说它只能运行从零开始的程序,因为零加任何东西就能前三行,再往下的都不行了,稍微长一点就不行。
找到这个就不容易。就是个突破。
我们就把C语言编译成汇编,然后慢慢的再跑起来。最后还是做的很成功。能够跑很多C语言的程序,包括打印什么都跑起来了。同时我们还有一个“我的世界”里面有个演示,有个虚拟的一个屏幕,只要写一个C语言的打印hello world,屏幕上就一个点一个点一个点打出来hello world,就很精彩!
高一的时候,他做了这个项目去参赛,结果连三等奖都没得到。
我们分析可能是没人相信是他做的,因为对于一个高一的学生太难了,因此质疑他。还有可能就是这个项目没有几个人明白,RISC-V到底是怎么回事。
所以说最后连三等奖都没得,我就觉得挺郁闷的。

许同学在过程中,还去参加了一些大赛,期间遇到一位评委,特别懂,问了他很多细节,而且句句都问得非常到点子上。一般很少遇到这么懂的评委,后来才知道,原来这个评委就是当年2018年在Github上用Python做RISC-V的指令集的那个作者。
他2018年把程序放上去后,就再也没有更新过。如今,帮他找到bug的居然是我们的许同学,而且是一位高中生。
因为这不是一个编程问题,而是一个英语的理解问题导致的bug。
过了这么多年,这个事情就停在那里,没有推动。从18年一直到2023年有个叫许元开的高中生,终于跑通了代码,还能跑通那么多C代码,而且遇上了他当评委,估计百感交集吧。
我也没想到这位作者就在上海,我只看那个Email长得有点像中国的,论坛上我一搜,他曾经发过几个中文帖子,我觉得这位作者大概率是中国人,但没想到在上海啊。
他认为这个项目应该进今年的RISC-V的全球的大会讨论组的,所以许元开就被邀请加入到讨论组里了。到时候在会议上会分享他是如何设计的,怎么推动的,怎么跑通了。
这件事对于我们教学生也是一个天大的好消息。因为我试过其他的模拟器都好麻烦,得安装这个安装那个,然后还要装Linux系统,最后能跑起来但面目可憎,代码都特别长,学生学起来就很费劲。
这个代码很简单,就300行代码。300行就把整个代码给模拟出来了,Python的效率还是高。代码很简洁,又容易看得懂,因为它那个语法特别接近于人类的思想。
结果6月我教他学了Python,学了一个月,在我的世界里用Python玩这些游戏,他就觉得不过瘾了。那么我就直接把美国信息奥赛的英文网站给他,让他直接去做题。
那个时候,美国信奥都是用C或C++的,因为跑起来快。
他学的Python,但学得很彻底,因为他的英文好,他的思维和形式逻辑都是英文的,这意味着他天然的理解里面的逻辑和设计思想,他很容易把本来很复杂的东西,用最紧凑的,最理想的,最native的Python的算法给写出来。
按理说,美国信奥最适合C语言和C++的,他作为一个刚学了几个月的Python“土著”,一参赛就得银奖了。

要过金了,实际上对算法的速度就有要求了,所以他用Python就一直过不了金。所以他就说不然转到C吧。他就死磕这个USACO。
我就引导他,说,按你的天资,设计游戏情节什么的就可惜了,你还是要去攻克游戏的三维引擎之类的。所以说你要去熟悉什么GPU的编程这些。
一方面他用了中国的奥数,他特别适合各种卷,还如鱼得水,同时他还保持了好奇心,还保持了对于“没用的事情”的追求。
作为中西合璧的教育,在他身上体现的蛮淋漓尽致。既能攻坚,又思想开阔。
他爸爸对他的培养,相当成功的,这个孩子除了在我这边跟我学之外,他还跟很多顶级圈子的各方面的专家学过。有点像郭靖,一个有天分的孩子,很多高手教过他,他站在巨人的肩膀上往前迈了一小步,包括他做的这个项目,也是在互联网上遇到了高手,不经意间又迈了一步。
而如今,如果你能够看得懂别人的,然后在他的基础上再改进一下,这样的创新,其实才是常态。也是工作上的常态。我们并不需要重新造轮子。改进,也是一种创新。
古人说,读万卷书,行万里路,遍访名师,自己开悟,这些都是成才之路。无论是创新还是教育,不拘泥于某种具体形式,不设限,机会和成才之路就会比你想象的多得多。
但是我们在指令这一个级别上,大家是通用的。这意味着在往上跑WINDOWS系统,跑操纵系统,就不用管了。它是一个统一接口。
这个世界上一共有两种指令集,一种是X86指令集,一种是RISC的指令集。
这个只有Intel在用,是一个很古老的、复杂指令集。目前除了Intel没别人用了。那他为什么要用呢?也是为了保持跟以前古老的芯片的一个兼容,所以他一直坚持在用。
RISC的指令集,是“精简指令”。就是一条指令,只干一点点事。如果复杂的事,就要用好多指令集去干复杂的事。
如果做个类比,两者就像蚂蚁和大象的区别。
CISC就是大象。一个大象可以轻松扛起一堆木头。
RISC就是蚂蚁。蚂蚁其实也可以扛起一堆木头,就是需要一群蚂蚁扛起一个木头。
两者的设计思想不同。
本来芯片,特别是CPU这个行业已经多少年从来都没有过改进了。大概在2015年之前,这个世界只有两个阵营:一个是手机的,肯定用ARM,ARM用的是RISC做智能手机的。;一个是PC机,用Intel或AMD的。再也没有其他的了。
有一个UC伯克利大学的教授叫David Patterson, 他算是计算机行业的鼻祖了。因为他发明了RISC。而且所有的全球的计算机系讲计算机结构的学校都会用到他的教材,我也曾经用过他的教材教计算机结构。
这位老兄在这个行业待了很多年,天天教学生。直到2015年,他对这个行业的现状忍无可忍了。他觉得,我教了这么多学生,毕业了一茬又一茬,这么多年过去了,全世界还只有两款CPU,都没有过改进过,太悲哀了。
于是,他就告诉他的2015届的学生说,咱们得为此做点事,做点不一样的事。
他说,我憎恨收钱,我憎恨商业。英特尔赚了太多的钱,ARM赚了太多的钱。我希望有一个开放的指令集。这个指令集,谁的也不抄,就用我教科书上的指令集。当然了,教科书上的还不够专业,我们再改进一下。
做出来之后,他就开放给全世界。
也就是谁都可以拿这个新的指令集去做自己的芯片,也不用给他交钱。
虽然他自己是美国人,但是他为了防止美国人搞破坏,为了防止美国出口管制,他特意把 RISC-V基金会挪到瑞士去注册。
他本人还对中国情有独钟,还跑到中国来到处演讲。因为他知道PC都美国人干的,自然不会再搞个新东西。ARM是英国人干的。这个领域,英国人和美国人垄断了全世界。
他认为中国还有机会,从头搞一个CPU。就跑到中国来演讲,在15年的时候在交大也来过。
我跟他还有过交集。很多年前,因为David Patterson做研究要用到我之前那个公司的芯片,我就时不时的跑他在美国的实验室,给他送捐赠的芯片去。
这个意义非常大,这意味着人人都可以做CPU,而且还不需要向他们两家交钱。把这个CPU做好,就不会再被其它国家卡技术的脖子,所以说RISC-V对中国的意义还是蛮大的。
当然了,想完全替代Intel他们还是不太可能,但是在很多领域已经可以慢慢替代了。
最核心的就是那类小东西,比如可控灯这种,已经在大量使用了。到今天为止已经非常多的商用的东西,可以连到网上的小东西,在使用了,总归它们都需要一个CPU。所以应用还是蛮广泛的。
目前我们中国有1000+家做RISC-V CUP的公司。国家也在重点支持这个领域。
RISC-V在中国也成立了产业联盟,就是大家一起来推RISC-V,我们公司也是其中的会员之一。
我们公司的定位也很清楚,就是致力于在学生中普及了RISC-V的教育,让学生更理解RISC-V。
▼▼▼
倍塔狗人工智能教育机构拥有丰富的赛事实战经验,不管是赛事报名、参赛作品指导、赛前特训还是赛事过程中所需用到的各种素材,我们为各位参赛的同学们提供最专业的帮助。
倍塔狗提供专业的初高中综合素质评价指导和面试辅导,帮助学员进入理想的高中和大学。我们指导的学生通过综合素质评价,进入了上海交通大学、复旦大学等985、211大学。
了解更多的科创比赛辅导详情