00:00
我再说好吧。首先我们先来看原则,就是关于底层这块呢,我们叫适度打开。有些东西我觉得这句话啊,这句话不是我写的,从网上摘过来,但是我觉着呢,很有道理,就是关于底层的这个细节呢,叫做适度打开,有很多种情况下呢,多数多数多数人,其实现在对于计算机呢,它就是保持一个黑箱子,计算机对他来说就是个黑盒子,我不用打开它,你说我写Java的人,写Python的人,我有必要把这个黑盒给打开看看,里边的一些细节扒开看看吗?没必要。我们为什么要扒开。如果我们天天就用。根本就不需要打开,我告诉你,你就直接用就行了,直接用拿Python拿Java开发开发东西就可以,为什么要打开,就是因为面试。因为有些面试官就觉得你只会用,你怎么跟气的你你会你你怎么证明你比其他人牛。只是在用语言这件事儿上已经证明不了了,怎么办?
01:01
看看你了不了解原理?蒸包子这事,你也能蒸,他也能蒸,你们俩蒸的包子差不多,你怎么证明你比他牛呢?哎,你能够了解面粉的化学方程式,我去,那你就你来吧,你能了解面粉和里边馅儿它的营养成分构成啊,OK,你来吧,所以现在面试就变成这样了,这也是为什么打开箱子要打开箱子的原因。但是打开箱子呢,你就会发现这里面的知识那可了。所以如果说就是我建议大家一定一定要抓住重点巴,学习任何东西都是叫要事为先。最重要的事情一定优先做,你千万千万不要让自己把那个细节全给你拽进去,拽到你黑洞里去,把你原来的那些精力、时间全都给你吞噬掉。如果这样,那就叫做适得其反,好吧?呃,所以我们适度打开它,OK。
02:02
这是我们的。适度打开,我用最快的最快最快的这种方式,先跟大家讲的一个东西啊,就就这这也是我原来也非常感兴趣的,就是一个东西呢,从从从我们的CPU到底拿什么做的,我们的计算机到底拿什么做,从归根结底我告诉你就是拿沙子做的,呃,关于这个过程,我其实就想给大家。看视频就完了,偷个懒啊,给大家看个视频。这链接呢,我给大家。复制下来CTRLC。呃,两个视频在这儿呢,我不会全放完,因为我们要是全放完的话,它也有十好几分钟时间比较长,大概跟大家聊一下就行,第一个视频呢,就是英特尔CPU的制作过程,这好像是英特尔。
03:14
公司出的一个视频,这个视频的话呢,它就非常浅显的几步五六步告诉你呢,从一堆沙子到底是怎么变成一颗CPU的。他首先你你看啊,它是那个把沙子装进去之后干嘛呢,实际上是进行提纯。就把沙子提成,大家知道沙子里面全是硅,然后提纯之后呢,做成二氧化硅,做成规定。乌龟的屁股,开玩笑啊,规定做成规定,一定一定一定的,接下来是切片。把这个每一个规定呢,特别源于贴成圆片,注意这一颗圆片到最后其实就一颗,一颗CPU就在这个圆片上诞生的镀膜,然后进行光刻。
04:14
大家知道前一阵子。呃,前一阵子美国围堵华为是吧。呃。你在各方面进行全方位的围堵,呃,最开始呢,是限制美国芯片的出口到华为,嗯。出口到我们的菊厂菊花厂,呃,开始限制美国芯片,后来美国芯片厂商自己不干了,说我我去你,你限制我出口华为,你知道全世界的芯片大概有40%~60%吧,如果没记错的话,被被中国给买了,你不让我卖给中国大哥,你想干啥?我很多产能我我我还我还有用吗?我快要倒闭了都,所以到最后呢,其实这件事儿没有做成,但是有一点美国干成了的呢,就是不让你华为在美国卖好这这个事儿他干成了。
05:10
所以华为,但是不管怎么样,我不在美国卖也没关系啊,我们可以在其他地方买,可以在中国卖,中国市场已经足够大了,因此大量的芯片呢,还是可以进口到的,后来最近呢,是要要干嘛,要限制芯片的制造,就是台积电,呃,就是台湾的那个台积电要限制他要对华为进行供货,对中国进行供货,当然这块目前还没有落实啊。其实在我看来,你是在扯,你随便你,你要你要做怎么限制到最后估计中国全全都靠自己全造出来了,你这些芯片厂商全没用啊。所以这叫伤敌1000,自伤800的这种干法,呃,随便你啊,当然这个芯片制造过程呢,实际上特别特别特别的特别的复杂。它是100多,100多个工艺,这里只展现了五六个,每一个工艺都特别复杂,其中有一个工艺就是这个光刻过程,这个叫光刻好,那么全球做光刻机的,呃,中国目前也有,但是它精度特别低,在之前光刻机就被全球就只有一家。
06:20
这家呢,来自于荷兰,好,这个光刻机呢,一台大概是在一两亿美元左右,我们记错了啊,应该是一两亿美元左右,大概十几亿人民币一台啊,原来呢,中国曾经说我要进口一台,但是记住这一点。放心,他一定不会让你进口的。呃。中他后来那个这家公司又允许说啊,有松口说啊,你中国可以进口一台,为什么?因为中国已经自己制作出了大概十几纳米,14纳米还是十几纳米的光。那么当然它的光伏级比较先进,荷兰这家公司光粉机比较先进,呃,它大概是七个纳米啊,还是多少来着,我忘了,因为最新的数据呢,不断在更新,他的肯定是比咱们先进,但是由于我们已经制作出来了。
07:16
所以他愿意卖给你,卖给你之后呢,你原来这个是不是就不要再制作了,这个是历史上的那个运石骗局啊。这个如果你们感兴趣,你你你你们你们自己去查就行了。呃,西方玩这手呢,曾经玩过,中国也被坑过。呃,我相信现在应该不会再被坑了,好吧。中兴也攻克七纳米了,嗯,是吧,不太清楚啊,因为金牌这个领域目前是突飞猛进,呃,中国已经意识到这块西方在卡卡着中国的脖子。所以我觉得别人能干出来,我们是一定是能做出来,最关键是你做出来之后要有市场,呃,在这里面呢,也多说两句,呃,有的小伙伴会这么认为,他说。
08:10
我们觉得现在卡我们市场呢,还有两个东西,我不知道大家有没有感受,卡我们市场呢,还有什么呢?第一个呢是操作系统S。第二个是数据库的底层软件,你比如说哪天Oracle说我不给你用Oracle了,我不给你用mycyle了,OK,那么中国你还用什么?第二个操系统工作说我不给你用安卓了,注意他之前是发出过这样的威胁呢。后来华为拿出了鸿蒙哈里,拿出来之后,呃,安卓说算了算了,既然你有,我还是用用给你用我的吧,要不然的话,等你把你自己这个推开来,我自己就没市场。哎,他就是这么恶心,知道吧,那个微软说,当然微软好像没有明确发出过这种威胁,说那个微微微软的Windows,呃,我其实盼望着微软说中国你不要用我的Windows了,你给我用别的吧,我求你了。
09:12
真的盼望这一点,如果真是那样的话,我们自己的操作系统就真正可以起飞了,诞生了啊,中国有很多其实现在可以用的。大体上使用的操作系统有的有的同学可能会说,老师这个操作系统,嗯,你要不用的话,我好多游戏都不能玩了啊,你放心没有关系,你只是在一段时间之内不能玩,如果在中国全都用自己的骚系统,那么你放和这个骚系统对应的游戏会有一大堆。就是因为他们优先起步,所以我们现在后来的这些生态建立不起来,这叫做生态,知道吧,有时候先进的东西,当然我不说我们就一定先进。嗯,有时候先进的东西。他占领不了市场,是因为有些东西已经占领了歌语言的。
10:03
服务器编程这个层面它是要优于Java语言的,但是很多的公司把go砍掉了,要用Java,为什么?生态已经建立起来了,人也好招。所以好多时候呢,Windows是提前建立了生态,你后后来人想去在它里面抢一杯羹的话呢,不容易就成这样了,嗯,老扯得有点远啊,不多说了,我先来看这个。计算机的。制定过程就是CPU的制造。制造过程。呃,中国现在这个大市场是一个非常有利的武器,呃,有需求的话,会有一堆的厂商堆在里面,有钱赚嘛。就算是研发那种特别时间耗时特别长,呃,还有需要花量,花费大量资金,很多企业不愿意投入的这种,还有国家,国家可以这么干,最新的。
11:03
内存京东方屏幕啊sorry,内存和屏幕京东方,这我不知道大家了不了解。就是已经在呃,屏幕这块开始占有自己的一席之地了。原来屏幕这块就是。计算机屏幕,呃,基本上呢,就是中国这个京东方就一直亏损,每年亏损几百亿几百亿的亏啊,现在终于投入上来,会有产出了,而且屏幕这块的话,全球就日韩两家垄断,现在中国杀进来了,这种需要投入大量时间大量金钱的,一直不断不断持续投入的,很多企业是不愿意干的,好这事有国家干。包括内存存储这块啊,不干这事是不行的是吧,老被别人卡卡着脖子,说不定什么时候今天掐你一下啊,今天掐你一下,明天掐你一下,让你恶心死,有时候真的没有办法,就像原来毛爷爷讲的,让帝国主义去封锁,封锁几十年我们全都有了,就这意思,OK,说了你一看这是光刻,光刻光刻过程,那么光刻完了之后呢,它会分分成一个一个的小芯片,看到了上面一个一块一块都是小芯片啊,就一个晶圆,上面是有上百颗芯片。
12:30
后面呢,就是每一个芯片的更详细的一个制作工艺了。老师,快进一下啊,镀膜形成超超复杂的电路,然后进行切割,切割出来的每一块都是一个一个的小芯片。这个小芯片之后呢,还要进行封装和测试,封测这100多个工艺,我告诉你啊,这100多个工艺,每一个工艺全球都有那么几家特别牛叉的公司在做,即便是拿封装和检测来说。
13:14
全球也有,是不同的细分行业的企业龙头在专门做这一块,中国现在做封测的企业应该也不少了啊,所以就盼着美国对芯片禁运,你对芯片禁运完了,不出两三年,你那些芯片厂商再想打入中国没了不可能了。就是只要有竞争的领域,到最后买东西的一定是老大。不可能让你卖东西的卡着买东西的脖子,除非全全球就你们家自己一家有,不然的话不可能的,最后是封装检测装盒,所以就要销售,呃,这个过程大家看这个视频的话呢,其实很多地方可能看不太明白,所以我又给了大家一个链接。
14:05
还有这个链接是什么,这个链接是,呃,这个链接它呢是讲了整个的,用文字给大家详细的讲解了这个过程,到底每一步都是在干什么。呃,在这呢,我就不从头到尾的跟大家讲这个了,这个大家去自己去读可以吧,没问题吧,没问题,同学老师可以啊,自己去读就行了。感兴趣的话呢,读一读这个东西对我们Java成员高级语言的成员来说不是最重要的,呃,后面是这个是文字描述。当然,这是制作过程,我们来聊它的原理。呃,咱们打开这个黑盒子,当然要了解它到底是怎么工作的,制作过程的话呢,跟我们没有半毛钱关系,虽然它很关键很关键,对整个国家也很关键,但是真的我们做不了,好吧,我们这个大概了解就完了啊。
15:07
那叫皇帝不急太监急,太监急半天也没用。在哪里?这两个视频也是我个人认为也是做的非常的,呃,这里面呢,会告诉了大家呢,就是它的原理就是CPU啊。他到底是怎么去进行那些01010101的这些计算的,到底是怎么干的,是一个原理性的东西,我觉得这块知识呢,还是需要大家大致的了解,所以大家今天下课之后呢,把这两个视频也好好看一下。嗯,复制下来眼睛。最起码你跟你的同事没事,在聊天的时候你能说出个所以然来。
16:01
CPU的最主要的原理。最主要的构成器件叫做晶体管。我就是他从历史上呃,会有好多好多的代表数字的这种方式,大家记得这点所谓的计算机呢,就是要解决的最根本的一个问题是什么,计算机需要解决的最根本问题是。如何代表数字,就是你怎么样才能用机器代表一个数字。从历史上来说,你可以用算盘,算盘也可以代表数字。可以用那种机械的计算机,这个很多人都没见过,我也只是在影片中见过啊,那种机械的计算机。特别好玩儿。嗯。
17:00
我来看看看这个我了哪个,有没有这个。看这里注意这个,这个是一个机械的计算机,这个是在历史上存在过的,而且这个计算机是可以用来破解那个一战还是二战时候密码用的,你知道吗?就特别好玩。但是它具体怎么用的我也没见过啊,但是你看上你就知道,你仔细看一下这个视频,它是用机械的东西来代表自己的一个数字,有一些齿轮和诶机,当你摇一个摇的时候,它进行计算啊,也特别好玩,所以。最根本,最根本的就是计算机的最根本的核心是怎么代表数字。后来发明了二进制之后,人们发现原来用电就可以,用电就可以代表数字,所以代表数字后呢?
18:09
嗯,哎,载入错误了,还。Modern to。电代表数字之后呢,最开始的时候是用类似于灯泡的这种东西来代表数字。一个阴极,一个阳极,然后呢,这个被称之为电子管。或者是类似于灯泡,你就理解为它是一个灯泡就行了,最开始的时候它就是一个电子管,这是它的原理,正极负极,Ing the cit is UN directional current law could be controlled by varying the voltage to the CA which makes it release more or less electrons,好,这是原来计算机最早开始的计算机。
19:08
这个最早的开始。计算机。大概是30吨重,这里面装满了各种各样的电子管,好电子管,电子管的运算过程就跟灯泡似的,说不定什么时候呢就断了,就就坏了俩,就我我我们老家叫崔了。催了俩,那灯泡就就爆了。所以那个计算特别特别累人,你算着算着灯泡爆了,算着算着电路断了,算着算着电路断了,经常是这样,这是电子管的它的本质所造成的,过一段时间之后,它就报警了,不停的报,所以用起来特别烦人,直到人们终于发现半导体,所以才诞生了整个的现代的计算机。这个半导体牛顿牛的呢,它体积特别小,然后还能代表一和零,那么本质上它是怎么代表的呢?在这里面呢,这两个视频里进行了原理性的说明。
20:11
呃,我在这儿就不从头到尾的给大家看了,你们自己下去自己去学习好吧?还有另外一个视频,就是这个晶体管的工作原理到底是什么?如果从大略的粗的层面来说呢,差不多是这么一个原理,它是用现有的硅,硅间的一些特殊元素,还是蓬的还是什么东西,就做成了两种半导体,第一种称之为P,第二种称之为N,然后两种半导体结合就称为PN节,PN节。就诞生了我们晶体晶体管中的二极管,这二极管呢,有自己的特点,就是那个。一端通电,一端单向导电呀,一端一往从从左往右走可以通,从右往左走通不了二,这叫半导体嘛,所谓的半导体就这个意思,然后通过它再加上一更进一步的一个改进,做成厂向应经体管,最后做成我们的逻辑开关,所谓的逻辑开关就是在电路上用它通电代表一,不通电代表零,所以就所谓的逻辑开关就是哎,一和零的能够代表一和零的这么一个开关,由这些逻辑开关。
21:29
组成一些电路,我记得我上学的时候呢,自己手工组过这些电路,那会儿做实验的时候,当时也不明白,我靠这这么难的东西,没没事去实验它干嘛,其实到后来才明白,哦,原来这就是底层芯片的一个原理,组成一些特别简单,特别简单的电路,呃,这个过程呢,在我推荐第一本书里头,就编码那本书里头,他写的比较详细。什么样的逻辑开关进行什么样的电路组合,会组成各种各样的门,这叫做基础逻辑电路,与门做加法的是吧,或门非门,Sorry,或门做加法的啊,与门或门非门或非门,还有就是其他的各种各样的最基础的非常基础的那种电路,由这些电路再进行更进一步的。
22:19
组装电路的进一步的复杂化,才会做出来加法器,就做加法用的累加器、锁存器。各种各样的进一步的基础电路。那么这些基础电路其实就可以做一些最基本的运算了,这些基本运算怎么做呢?你可以给它通次电,通给他通一次电,它就往前算一步,如果你某一个计算需要换八步,你给他连续通八次电就可以。这是最基本的CPU就形成了,呃,当然这个CPU呢,它会有一个。
23:00
什么问题呢?就是这样一个问题。当我们有了一个计算机器之后,原来呢是通过键盘运算,我们拨了一下,它算一次,后来呢是通机械的那种,我们摇下摇它算一次到现在,后来呢是通过电子管,电子管太麻烦,所以我们改成了晶体管。晶体管特别牛,因为它体积特别小,一块指甲盖那么大小的芯片上有几百万甚至上亿个晶体管,哇,太牛到了。呃,我们就是拿CPU来说呢,它有几十层的电路,就里边的那个电路分好几十层,每一层上面都好多好多的晶体管在上面,太牛了啊,这个不不得不得不说,实在是太牛了,所以这东西确实很难造,也也不怨不得我们国家说在造这方面的工艺比较落后。很正常啊,太难找了,呃。
24:00
光有这块芯片呢,你如果想要这块芯芯片工作的话,你得给它不断的通电断电通电断电,通电断电,所以这块芯片呢,旁边有一个帮它通断电的,驱动着他不断往前走的,就相当于我们的心脏不断的在跳动,才让我们不断的执行自己动作的这么一个东西,这个东西呢叫震荡器。也就是我们的时钟发生器。它呢,是在主板上的一块芯片。他不断往前走,但是呢,你催着他不断往前走的话,你这个数据每次都得手工输入啊,我要做二加三,我得把这个数据转成零和一之后,然后呢,我得输给它输入进去,通过CPU的针脚。CPU打开来,你大家伙应该看过CPU吧,你们应该见过,呃,真正的CPU见过没有?应该看到过CP有好多好多角。
25:01
一只一只的,好好好多腿儿是吧。其实每一条腿儿。在跟CPU做连接的时候,CPU啊有好多好多腿,每一条腿在连上主板之后,它就能一次性的接收一个电信号,就是我这里输入是个一,这里输入的是个零。下面又输入个一,下面又输入个零,其实就是这么简单,当然有的是做输出的,不是说所有的都做输入的。它有好多好多好几百个针脚,每个针脚都有自己的作用,通过这个针脚可以一次性的读进来很多很多的一和零。从硬件上讲,就是给他给这个针脚通了个电,哎,这个针脚没有通,这个针脚通电了,这个针脚没有通,就这个意思。所以我们要想用CPU做计算的话呢,我们得我们有一个震荡器,有一个时钟发生器,在这里不停的给它通电断电,通电断电,让它内部驱动它内部进行工作,但是有一点我们得我们要把计算的东西得通过这些针脚给它输入进去。
26:07
那怎么才能给它输入进去,一种是手工输入,你在这里按一个开关,在这儿再按个开关,在这儿再按个开关,如果是这样的话呢,计算机就没什么用了。所以我们还需要有一些东西,最好是我提前写好的那些个数据,存到某个地方,让他自己去读,这就诞生了内存,它内存的本质是什么?内存本质是在这里存储存储的一些电信号,而这些电信号通过总线和我们计算机CPU相连接。和CPU相连接,CPU呢,把它里边的信息一和零,一和零读进来之后。做好做内部的一系列的计算,这个计算过程需要通过晶体震荡,震荡器就时钟发生器不断的驱动它,通电端内,通电端内一步一步往前走,有的有的计算需要三步,有的计算需要五步。
27:01
所以作为内存来讲,在CPU看来,你就是帮我存着那些数据用。你就是我的仓库。这样呢,有内存在这里,我们提前写好了的这些数据和运算过程的话,我就不需要我手工再给这些个针脚通电断电通电断电了。所以在硬件上的这个过程啊。不知道大家听清楚没有,看看有没有同学有疑问的,总线具体是什么?詹天佑总线。电线知道是什么吧?把电线汇总到一起,总线OK,比如我们一次性的要从内存里头读出来数据。这是内存,这是CPU,我们一次性的要读64个电信号。
28:02
好,这根总线上就有64,至少有64根线连到内存上。每一次性的输入,每根线上就是有通电、断电,零合一以后就说零一了,总线就是什么,总起来的线就这么简单。操系统位数是不是总线数量,不是这么回事儿,呃,操系统的位数可以认为。其实操作系统是一个软件,它多少位的话,你是自己可以控制的,它可以支持32位,64位,所谓的支持,支持的是什么呢?支持的是CPU。CPU内部的数据存存储读取的时候就一次性的能读进来,一次性啊,说的是一次性读进来多少位,比如说我们平时所说的64位,指的这块CPU一次性的可以读进64个数字。
29:01
所谓的32个就是一次性的可以读32个数字。我记得我们上学那会儿做的实验是四个数字,一次性的四位的CPU。后来才是八位啊,再后来才是16 32,到现在的64。CPU的系统总线一次性的能读多少位数字进来,这个就是多少位,好吧,平时我们所说的多少位就是这个含义,呃,需要注意的是呢,你CPU一次性的读64个,但是总线未必,有的总线可能读30,一次读32,有的总线可能读一一百二十八,可能会更多。没有关系,他们两个不匹配,但是你总线读过来之后,有些用上,有些没用上,我就到CPU里头呢,我还是六十四六十四六十四的往里装,你一次性读128,没关系,我再从你这儿读两次不就完了吗?一次性读32没关系,我我从你这儿先读,让你读32,再读32,我再我再读一次就行了,就这个不冲突,他们之间不是说一定的完全匹配的。
30:08
啊。OK。呃,如果大家对于CPU内存这块,它到底是怎么非常详细的配合工作,硬件级电路层级,大家可以看那个编码那的第十。好,刚刚讲的这一小段,看看同学们有没有一些什么有疑问的地方。嗯。看这里。所以从本质上来讲,CPU就是我们计算机最核心的,让他能看懂计算的话,他就知道高电平低电平,高电平低电平,高电平低电平,没有没有别的,对他来说转成我们逻辑上的,那就是二进制的数字。
31:14
01000100所以对计算机。进行输入,哎,其实就是你告诉计算机整个哪个针脚该通电,哪个针脚该断电,这么一个过程,就是这个意思。呃,最早开始的计算机的时候,但这个这个梗我讲过很多次了,讲给大家听,最早开始这个计算机的时候呢,是一种指代式的输入,就是你对计算机进行编程,告诉哪个针脚通电,哪个针脚不通电,是通过一种机械装置,这个机械装置呢,往里头吸一根纸纸的带子,这个带子上呢会打好多眼儿,每个有固定的位置。打了眼的叫一,不打眼儿的叫零,打了眼的叫一,不打眼的叫零,这个具体跟你讲我没见过啊,我没见过,也没用过,我只是听说过啊,存在传说之中,呃,当然这个传说呢,有点意思,就是有一回啊,有一句有一成序员把这个纸袋子输入进去之后呢,自己剪出了很多遍输入都是正确的,但是最后输出结果总是不对,不知道原因在哪儿,后来查了半天,发现有一个眼。
32:21
被一个小虫子,虫子英文叫bug给堵住了。所以他查了很多,半天以后就把编程查错误称之为查bug。这这我的哦。所以最早开始的程序员,最早开始的程序员,它编程是怎么编的,就这么编,010000100000010000001000010000,你说人看起来这东西得多费劲。
33:07
这到底每一位代表啥,你自己都得非常透彻,非常理解才可以,你知道吗?太费劲了。但是这就是计算机的,这就是CPU的世界,CPU就懂这个,其他语言全都不懂,你不要认为说他懂Java,懂Python,懂什么什么什么什么都不懂,不可能的。后来这种语言编起来实在是太费劲了,能不能让人看起来编起来更加轻松一些了?哎,在这儿呢,就诞生了汇编语言。好,下面我们来聊汇编语言。它的。
我来说两句