大家好燥狰,我是這波能反殺,一個(gè)夢(mèng)想要成為最好的前端知識(shí)分享博主的前端工程師斜筐。
可是今天龙致,在實(shí)現(xiàn)夢(mèng)想的道路上,我遇到了非常大的麻煩顷链。因?yàn)橛袀€(gè)粉絲問我:為什么計(jì)算機(jī)底層要使用二進(jìn)制目代。
面對(duì)這個(gè)問題,我裂開了嗤练。這不是要為難我胖虎嗎榛了?哪個(gè)搞前端的會(huì)去思考這個(gè)問題。
好在作為軟件工程專業(yè)的科班生煞抬,《計(jì)算機(jī)組成與原理》是一門必修課霜大,而我剛好還依稀記得十多年前學(xué)的小知識(shí),花費(fèi)我畢生的學(xué)識(shí)革答,還可以勉強(qiáng)應(yīng)對(duì)這個(gè)問題战坤。
之所以會(huì)采用二進(jìn)制根本的原因是:二極管。
二極管是用半導(dǎo)體材料(硅)制成的一種電子器件残拐。它有一個(gè)非常好的特性途茫,就是單向?qū)щ姟?/p>
即給二極管陽(yáng)極加上正向電壓時(shí),二極管導(dǎo)通蹦骑。 當(dāng)給陽(yáng)極和陰極加上反向電壓時(shí)慈省,二極管阻斷。
那么這個(gè)特性有什么意義呢?
也就是說(shuō)边败,機(jī)器很容易通過(guò)是否通電來(lái)判斷二極管的狀態(tài)袱衷。對(duì)于機(jī)器而言,一個(gè)二極管可以表達(dá)兩種狀態(tài):true 與 false笑窜≈略铮或者 0 與 1。
那如果我逐漸增加二極管的數(shù)量呢排截?
當(dāng)增加到兩個(gè)二極管嫌蚤,就可以表達(dá) 16 種狀態(tài)。
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
這里的核心是断傲,機(jī)器可以通過(guò)電流識(shí)別到這些個(gè)不同的狀態(tài)而做出不同的回應(yīng)脱吱,而人可以識(shí)別數(shù)字。于是认罩,這樣的數(shù)字就成為了機(jī)器和人交流的關(guān)鍵基礎(chǔ)理論箱蝠。
因此,即使是到了現(xiàn)在垦垂,所有的開發(fā)語(yǔ)言宦搬,最終都會(huì)編譯成為二進(jìn)制,與機(jī)器進(jìn)行溝通劫拗。當(dāng)然间校,現(xiàn)在也有了三極管
當(dāng)二極管增加到千千萬(wàn)萬(wàn)甚至上億個(gè)之后,二極管集群能夠表達(dá)的不同含義就越來(lái)越多页慷,人與機(jī)器之間的溝通憔足,就變得豐富起來(lái)。我們可以通過(guò)不同的指令表達(dá)不同的含義酒繁。
現(xiàn)在計(jì)算機(jī)的大腦核心:CPU 就包含了上億個(gè)二極管四瘫。
如果在最開始的時(shí)候,一個(gè)二極管能表達(dá)十個(gè)狀態(tài)欲逃,那么就有可能直接采用十進(jìn)制,當(dāng)然饼暑,這種晶體管還沒有出現(xiàn)稳析。
實(shí)際上,這樣的理論基礎(chǔ)在中國(guó)古代早就有運(yùn)用:那就是算盤弓叛。
我們國(guó)家算盤有兩種用法彰居,一種是十進(jìn)制,一種是十六進(jìn)制撰筷。我們可以使用很多串珠子來(lái)表達(dá)非常大的數(shù)目陈惰。因此,如果執(zhí)行速度足夠快毕籽,算盤足夠多抬闯,我們也可以用算盤來(lái)組裝一個(gè)人工大型計(jì)算器井辆。當(dāng)然,這其中的成本就太高了溶握。
最后還有一個(gè)非常有意思的小知識(shí)點(diǎn)杯缺。我們經(jīng)常聽說(shuō)的納米芯片,其實(shí)說(shuō)的就是最小晶體管的物理尺寸睡榆。與電腦不同的是萍肆,手機(jī)給 CPU 留下的空間并不充足,因此在有限的空間內(nèi)放下更多的晶體管胀屿,就需要晶體管的尺寸足夠小塘揣。
而當(dāng)晶體管變小之后,電阻變小宿崭,電流通電所需要的電壓就更小亲铡,于是所需要的功率也大幅度減小。這是手機(jī)提高 CPU 性能的主要優(yōu)化手段和努力方向劳曹。目前奴愉,全世界最先進(jìn)生產(chǎn)工藝能量產(chǎn)的芯片尺寸是 7 納米,中國(guó)的生產(chǎn)工藝能量產(chǎn)的暫時(shí)只有 14 納米铁孵。理論上極限最小尺寸是 1 納米锭硼。
我是這波能反殺,關(guān)注我解鎖更多前端技術(shù)蜕劝。