手機(jī),特別是智能手機(jī)的普及,其實(shí)就是最近十幾年的事。現(xiàn)在我們的手機(jī)成了一個(gè)能讓人沉浸其中的小世界,這都多虧了手機(jī)芯片。
每臺(tái)手機(jī)里,都有一個(gè)個(gè)小芯片在不斷地執(zhí)行著各種指令。這靠的是芯片里很多稱為晶體管的半導(dǎo)體元器件,這些晶體管通過(guò)不同的電路連接方式可以實(shí)現(xiàn)開(kāi)關(guān)、電信號(hào)放大等多種功能。我們每一次操作手機(jī),都有上百億個(gè)晶體管在工作,讓指尖大小的微型集成電路發(fā)揮出遠(yuǎn)超首臺(tái)巨型計(jì)算機(jī)的能力。 集成電路(又稱芯片)技術(shù),不僅僅體現(xiàn)在手機(jī)中,大至工業(yè)制造、機(jī)械設(shè)備、物流運(yùn)輸,小至電視機(jī)、計(jì)算機(jī)、手機(jī)、智能家居產(chǎn)品,底層都有芯片技術(shù)支撐。隨著5G、人工智能、物聯(lián)網(wǎng)、自動(dòng)駕駛、大數(shù)據(jù)、云計(jì)算、智慧城市等新興領(lǐng)域的蓬勃發(fā)展,芯片將扮演更加重要的角色。 我們可能永遠(yuǎn)都不會(huì)自己設(shè)計(jì)芯片,但了解芯片設(shè)計(jì)仍然是一件有趣且很重要的的事情。 芯片與晶體管 芯片發(fā)展史可以追溯到半導(dǎo)體特性的發(fā)現(xiàn),即半導(dǎo)體的導(dǎo)電能力會(huì)隨著溫度、光線、光照條件、輸入電壓和摻入雜質(zhì)的不同而發(fā)生改變。在這一理論基礎(chǔ)上,半導(dǎo)體點(diǎn)接觸式晶體管誕生,帶來(lái)了集成電路。 其后,隨著芯片制作工藝的演進(jìn),人們得以將完整計(jì)算機(jī)的不同功能集成于一顆硅片,這種高度集成的集成電路芯片即 SoC (System on Chip,片上系統(tǒng)),一塊芯片中包含了具備不同功能的集成電路模塊,它們構(gòu)成了一個(gè)完整的系統(tǒng),使芯片功能大大增強(qiáng)。一塊芯片中可能包含幾類不同功能的集成電路。 在理論上我們都知道,用晶體管搭成特定的電路,就可以讓電路訪問(wèn)由0和1組成的機(jī)器語(yǔ)言代碼(指令),并且執(zhí)行這些指令。雖然每個(gè)指令對(duì)應(yīng)的功能都很簡(jiǎn)單,比如僅僅是把某個(gè)位置存儲(chǔ)著的數(shù)據(jù)拷貝到另一個(gè)位置去,但多個(gè)指令執(zhí)行下來(lái),就能實(shí)現(xiàn)很復(fù)雜的功能。 在計(jì)算機(jī)圖書(shū)中,我們可以學(xué)習(xí)到,高級(jí)語(yǔ)言如C語(yǔ)言代碼,在真正被處理器運(yùn)行時(shí)會(huì)轉(zhuǎn)化為匯編代碼,并最終形成二進(jìn)制格式的目標(biāo)代碼文件。最終機(jī)器執(zhí)行的程序只是一個(gè)字節(jié)序列,它是對(duì)一系列指令的編碼,機(jī)器對(duì)產(chǎn)生這些指令的源代碼幾乎一無(wú)所知。 晦澀的芯片知識(shí) 在計(jì)算機(jī)專業(yè)課堂中,當(dāng)需要設(shè)計(jì)實(shí)際能夠工作的微處理器時(shí),學(xué)生們會(huì)先學(xué)習(xí)怎么用晶體管組成數(shù)字電路的基本計(jì)算單元——邏輯門(mén)。 △與門(mén)、或門(mén)和非門(mén) △非門(mén)的實(shí)際晶體管電路圖 后續(xù)設(shè)計(jì)時(shí),我們就不會(huì)再畫(huà)出邏輯門(mén)的實(shí)際晶體管電路了。 將很多的邏輯門(mén)組合成一個(gè)網(wǎng),就稱為組合電路。比如下面就是一個(gè)簡(jiǎn)單的組合電路。 之后我們可以將具體的組合電路寫(xiě)成更抽象的表示圖。 比如算術(shù)/邏輯單元(ALU),就是一種很重要的組合電路,下面是它的一個(gè)抽象的圖示。電路有標(biāo)號(hào)為A和B的兩個(gè)數(shù)據(jù)輸入,一個(gè)控制輸入。根據(jù)控制輸入的設(shè)置,電路會(huì)對(duì)數(shù)據(jù)輸入執(zhí)行不同的算術(shù)或邏輯操作。 早期的硬件設(shè)計(jì)者,就是通過(guò)紙和筆描繪示意性的邏輯電路圖來(lái)進(jìn)行電路設(shè)計(jì)的。比如設(shè)計(jì)一個(gè)最簡(jiǎn)單的、每個(gè)時(shí)鐘周期中執(zhí)行一條完整指令的順序執(zhí)行處理器時(shí),就會(huì)畫(huà)出下面這樣的一個(gè)邏輯圖。 現(xiàn)在我們已經(jīng)不再直接描繪邏輯電路圖來(lái)進(jìn)行電路設(shè)計(jì)了,而是會(huì)使用硬件描述語(yǔ)言(Hardware Description Language,HDL)來(lái)描述硬件結(jié)構(gòu),如Verilog語(yǔ)言。之后可以根據(jù)HDL的描述生成有效的電路設(shè)計(jì)。 用晶體管設(shè)計(jì)出特定的電路已經(jīng)很難了,而真正把大量的晶體管“放進(jìn)”指甲蓋大小的芯片里并用電路連接在一起,難度會(huì)更大?,F(xiàn)代的芯片設(shè)計(jì)、制造、測(cè)試,已經(jīng)變得非常復(fù)雜了。按照傳統(tǒng)的方式來(lái)學(xué)習(xí)了解芯片的設(shè)計(jì)制造,以及芯片中各個(gè)功能模塊是怎么配合完成工作,還是很不容易的。 好在,我們現(xiàn)在有了一本介紹芯片知識(shí)的科普漫畫(huà)圖書(shū),書(shū)中,芯片知識(shí)由擬人化的“元器件”們徐徐道來(lái),帶領(lǐng)讀者輕松了解“點(diǎn)沙成芯”的奧秘。