數位積體電路(Digital IC)
用來處理數位訊號的積體電路稱為「數位積體電路(Digital IC)」,目前都是以「矽晶圓」製造,主要是用來處理 0 與 1 的加減乘除運算與儲存工作,其中處理器包括:中央處理器(CPU)、數位訊號處理器(DSP)、微處理器(MPU)、微控制器(MCU)等;記憶體包括:靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)等;以及其他處理數位訊號的包括:標準邏輯積體電路(Standard logic IC)、特定應用積體電路(ASIC)等,台灣主要的數位積體電路設計公司包括:聯發(1459-TW)科技(2454-TW)、聯詠科技(3034-TW)、瑞昱(2379-TW)半導體、群聯電子(8299-TW)等公司。
這裡我們不討論記憶體,只討論用來處理 0 與 1 的加減乘除運算工作的積體電路,如<圖一>所示,可以分為處理器(Processor)、半客製化積體電路(Semi custom IC)、全客製化積體電路(Full custom IC)三大類:
➤處理器(Processor):是指可以利用程式決定運算的內容與結果,這裡的程式是指一般軟體工程師所撰寫的軟體程式(例如:C 語言、Java 語言),簡單的說,就是程式設計師寫什麼程式它就做什麼事,功能完全沒有固定,功能沒有固定代表沒有「客製化」,因此我習慣把它稱為「通用積體電路(General purpose IC)」或「無客製化積體電路(Non custom IC)」。
➤半客製化積體電路(Semi custom IC):是指可以利用程式決定「部分」運算的內容與結果,這裡的程式又稱為「硬體描述語言(例如:Verilog、VHDL)」,一般都是由電子電機工程師選寫,因為功能部分沒有固定,但是部分是固定的(客製化),因此稱為「半客製化(Semi custom)」。
➤全客製化積體電路(Full custom IC):是指功能完全固定,針對「特定的應用需要」或「特定的客戶需要」而設計出來的積體電路(IC),又稱為「特定應用積體電路(ASIC:Application Specific Integrated Circuit)」。
處理器的種類
中央處理器(CPU:Central Processing Unit)
中央處理器(CPU)屬於「複雜指令集處理器(CISC)」,是利用「加法」為主來進行所有的運算工作,可以在一個時脈週期內進行一次加法運算,而乘法則必須使用「數個加法運算」才能達成。舉例來說:假設要花費 10 個加法運算才能完成 1 個乘法運算,當 CPU 的工作頻率為 1GHz(1G = 10 億),則使用這種 CPU 每秒鐘可以完成 10 億次「加法運算」,但是每秒鐘只能完成 1 億次「乘法運算」。CPU的代表廠商包括:英特爾(Intel, INTC-US)、超微半導體(AMD, AMD-US)等。
CPU 的特色包括:工作頻率高、運算功能強、CMOS 數目多、晶片面積大、成本高、耗電量大,目前大多應用在個人電腦、筆記型電腦、工作站、伺服器等較高階的產品上,這些產品另外還有一個共同的特色,由於 CPU 耗電量大產生廢熱,因此大部分必須使用風扇來散熱。
微處理器(MPU:Micro Processing Unit)
微處理器(MPU)屬於「精簡指令集處理器(RISC)」,基本上也是利用「加法」為主來進行所有的運算工作,可以在一個時脈週期內進行一次加法運算,而乘法則必須使用「數個加法運算」才能達成。MPU 的代表廠商包括:安謀國際(ARM)或 MIPS 公司等,這兩家公司本身不賣處理器,只授權處理器的設計圖。
➤ARM 處理器:由 ARM 公司所設計,廣泛地應用在汽車電子、多媒體、影音娛樂等工業或消費性電子產品上做為「應用處理器(AP:Application Processor)」,著名的產品型號包括:ARM7、ARM9、AMR11、Cortex-A8/A9/A15 等。
➤MIPS 處理器:由 MIPS 公司所設計,大多應用在網路通訊等電子產品上,例如:ADSL 數據機、纜線數據機(Cable modem)、交換器(Switch)、路由器(Router)、閘道器(Gateway)等,著名的產品型號包括:MIPS32、MIPS64等。
MPU 的特色包括:工作頻率較低、運算功能較差、晶片面積小、CMOS 數目少、成本低、耗電量小,比較適合用來作為「嵌入式處理器(EP)」,這些產品共同的特色就是不能使用風扇,而且對成本的控管比較嚴格。由於半導體製程技術的進步,目前微處理器(MPU)的工作頻率也愈來愈高,和中央處理器(CPU)已經很接近,而智慧型手機、平板電腦的功能也愈來愈接進個人電腦,甚至已經威脅到個人電腦的市場了,在可以預見的未來,MPU 的市場仍然持續成長,但是CPU 的市場則很難成長,甚至已經開始衰退了。
【名詞解釋】嵌入式系統與嵌入式處理器
➤嵌入式系統(Embedded system):完全嵌入在系統內部,專為特定應用而設計的電子產品,根據英國電器工程師協會(UK Institution of Electrical Engineer)的定義,嵌入式系統是控制、監視或輔助設備、機器或用於工廠運作的裝置。
➤嵌入式處理器(EP:Embedded Processor):上述嵌入式系統的電子產品所使用的處理器我們泛稱為「嵌入式處理器(EP)」。
簡單的說,個人電腦是屬於通用的電腦系統,每一台個人電腦都是安裝 Windows 或 Linux 作業系統,因此可以安裝不同的應用程式而進行不同的功能;嵌入式系統通常使用特別的作業系統,而且只能執行預先設定的工作,例如:銀行的自動櫃員機、航空電子、汽車電子、電信交換機、網路裝置、印表機、影印機、傳真機、計算機、家用電器、醫療裝置等。
數位訊號處理器(DSP:Digital Signal Processor)
數位訊號處理器(DSP)屬於「精簡指令集處理器(RISC)」,它的核心為「乘加器(MAC:Multiply Add Calculator)」,可以在一個時脈週期內進行一次「乘法與加法」運算。舉例來說:假設 DSP 的工作頻率為 1GHz(1G = 10 億),代表每秒鐘可以同時完成 10 億次「乘法與加法運算」。DSP 的代表廠商包括:德州儀器(Texas Instruments, TXN-US)(TI, TXN-US)、亞德諾(ADI, ADI-US)、恩智浦半導體(NXP, NXPI-US)、飛思卡爾(Freescale, 已被 NXP 收購)等。
DSP 的特色包括:工作頻率高、運算功能強、晶片面積大、CMOS 數目多、成本高、耗電量大,一般來說 DSP 由於一個時脈週期內可以進行一次乘法與加法運算,因此工作頻率不需要像 CPU 那麼高,例如:Intel 的 CPU 工作頻率可以高達 4GHz,但是 TI 的 DSP 工作頻率只需要 2GHz,雖然看起來 DSP 好像比 CPU 或 MPU 功能強大,但是使用到的 CMOS 數目很多,通常價格並不便宜。
DSP 適合用來進行各種乘加運算(SOP:Sum of Products),例如:有限脈衝響應濾波運算(FIR:Finite Impulse Response)、無限脈衝響應濾波運算(IIR:Infinite Impulse Response)、離散傅立葉轉換(DFT:Discrete Fourier Transform)、離散餘弦轉換(DCT:Discrete Cosine Transform)、點積運算(Dot product)、卷積運算(Convolution),以及矩陣多項式的求值運算等。
大家可能會好奇,這些運算都用在那些地方呢?基本上多媒體的影音壓縮技術(MP3、JPEG、MPEG 等)、語音辨識(Voice recognition)、噪音去除(Noise reduction)、影像辨識(Pattern recognition)、通訊系統(3G WCDMA/4G OFDM)等訊號處理演算法大部分都是乘加運算(SOP),因此使用 DSP 比 CPU 或 MPU 更合適,假設要花費 5 個加法運算才能完成 1 個乘法運算,則在進行乘加運算(SOP)的時候 DSP 的效能是 CPU 或 MPU 的5倍。
圖形處理器(GPU:Graphic Processing Unit)
圖形處理器(GPU)是專門用來處理個人電腦、伺服器、遊戲機甚至智慧型手機上的影像運算工作,主要就是把 3D 的物件表現在平面的顯示器上,可以分擔中央處理器(CPU)或微處理器(MPU)的影像處理工作。GPU的代表廠商包括:輝達(Nvidia, NVDA-US)、超微半導體等,由於嵌入式系統的發展,許多處理器廠商開始將 GPU 內建在處理器內變成系統單晶片(SoC),例如:安謀國際將 GPU 內建在其 MPU 中,型號為 Mali-300/400/450/T604/T642 等。
圖形處理器(GPU)在二十年前曾經是所有電腦的顯示器必備的處理器,後來由於圖形處理器的功能慢慢被整合到英特爾的晶片組內,使得 GPU 的需求量大幅下降,曾經讓銷售 GPU 的廠商經營困難。近年來人工智慧(AI:Artificial Intelligence)興起,科學家們發現人工智慧的演算法使用 GPU 運算的效能比 CPU 高出大約 100 倍以上,因此開始大量使用 GPU 進行人工智慧運算,使得銷售 GPU 的廠商重新找到殺手級的應用而前景看好,由於人工智慧的演算法目前都是由雲端的「伺服器(Server)」來處理,因此 GPU 主要是銷售給製作伺服器的廠商。
【概念說明】處理器的核心(Core)
目前 Intel 的 CPU 常見的最多做到 8 核心,但是 Nvidia 的 GPU 已經做到 5,120 核心(Volta Tesla V100),看起來似乎 Nvidia 的技術大幅領先 Intel,其實不是這樣看的,CPU 的核心比 GPU 的核心複雜很多,簡單的說,我把 CPU 的核心稱為「大核心」,是設計用來做複雜運算功能的;GPU 的核心稱為「小核心」,適合處理簡單、大量、重複的運算工作,就這麼巧,區塊鏈採礦、人工神經網路都符合這三個條件,所以大家拿 GPU 來運算囉!
微控制器(MCU:Micro Control Unit)
微控制器(MCU)屬於「精簡指令集處理器(RISC)」,一般用來稱呼最低階的處理器,基本上也是利用「加法」為主來進行所有的運算工作,可以在一個時脈週期內進行一次加法運算,而乘法則必須使用「數個加法運算」才能達成。MCU 的代表廠商眾多包括:德州儀器、瑞薩(Renesas, 6723-JP)、飛思卡爾(Freescale)、Atmel、Microchop(MCHP-US)、英飛淩(Infineon, IFX-DE)、富士通(Fujitsu, 6702-JP)、恩智浦、意法半導體(STM, STM-US)、三星(Samsung, 005930-KR)等。
MCU 的特色包括:工作頻率低、運算功能差、晶片面積小、CMOS 數目少、成本很低、耗電量很小,應用範圍很廣,例如:電子產品的按鍵控制、鍵盤滑鼠、電子錶、電動牙刷、搖控器、血糖計、血壓計、電錶、煙霧偵測器、馬達控制、車用電子等,幾乎所有的電子產品內都有微控制器。
現場可程式化邏輯陣列(FPGA:Field Programmable Gate Array)
事先由廠商將大部分的邏輯電路設計完成並且製作成積體電路(IC),再賣給 IC 設計公司或系統整合商(SI:System Integrator),由工程師依照需要完成最後的電路連線工作,屬於「半客製化積體電路(Semi custom IC)」,所謂「半客製化」的意思就是這種積體電路已經製作完成了「一半」,至於它具有什麼功能則由 IC 設計公司或系統整合商的工程師來決定,此外與 FPGA 功能類似的還有可程式化邏輯元件(PLD:Programmable Logic Device)、複雜可程式化邏輯元件(CPLD:Complex Programmable Logic Device),如<圖一>所示。
FPGA 是由大量的 AND 閘與 OR 閘與電子式可抹除可程式化唯讀記憶體(EEPROM)排列組合而成,IC 設計公司或系統整合商(SI)只要將這種製作好的半客製化積體電路買來,再由工程師依照需要完成最後的電路連線工作,就完成可以銷售或具有特定功能的積體電路(IC)了,因此成本較低可以少量製作。有點類似傳統印刷產業裡的「影印」,因為影印數量少的時候單價較低,如果影印的數量高達幾萬張,就要製版印刷才划算。FPGA 的設計與製造的廠商多為國外大廠,例如:亞爾特(Altera)、賽靈思(Xilinx, XLNX-US)、萊迪斯(Lattice, LSCC-US)等公司,其中 Altera 已經被 Intel 併購。
特定應用積體電路(ASIC:Application Specific Integrated Circuit)
將數位訊號的編碼與解碼、壓縮與解壓縮、區塊鏈採礦、人工神經網路等演算法直接使用電晶體(CMOS)製作成特定功能的積體電路(IC),也就是 IC 設計工程師針對「特定的應用需要」或「特定的客戶需要」而設計出來的積體電路(IC),稱為「特定應用積體電路(ASIC:Application Specific Integrated Circuit)」,英文念做 `esik。ASIC 只能進行固定的數位訊號運算工作,使用者無法使用軟體更改功能,使用上有許多限制,但是由於直接使用電晶體(CMOS)執行運算工作,不需要大量的軟體程式,因此執行效能最高,運算速度最快。
Google (GOOGL-US)公司開發的人工智慧機器學習軟體框架(Software framework)稱為「TensorFlow」,這個軟體框架當然可以使用 CPU 或 GPU 來執行,不過為了再提高效能,Google 公司自行設計了一款「張量處理器(TPU:Tensor Processing Unit)」,雖然他們稱為「處理器」,不過 TPU 其實更像是專門為人工智慧機器學習和 TensorFlow 軟體框架這種「特定應用」而開發的「積體電路」,因此比較像是 ASIC。這樣講大家是不是對 ASIC 有更深的認識了呢?
由於 ASIC 是將數位訊號的編碼與解碼、壓縮與解壓縮、人工智慧等演算法直接使用電晶體(CMOS)製作而成,使用者無法使用軟體更改功能,因此晶片製造商通常只針對數量大的應用才會推出這種產品,例如:比特幣礦工最早使用 Intel 或 AMD 的中央處理器(CPU)產品來挖礦,2013 年礦工開始使用圖形處理器(GPU)、現場可程式化邏輯陣列(FPGA),後來礦工愈來愈多市場需求量大增,開始有廠商推出比特幣採礦專用的特定應用積體電路(ASIC)。
市場上有些積體電路(IC)是「廣泛應用」而非「特定的應用需要」或「特定的客戶需要」,例如:中央處理器(CPU)是由 Intel 自行設計與銷售,數位訊號處理器(DSP)是由德州儀器自行設計與銷售,這類產品使用者只能接受而很難要求供應商針對使用者的需要修改,另外還有隨機存取記憶體(SDRAM、DDR)與快閃記憶體(Flash)等,這類積體電路(IC)都是廣泛應用的就不屬於 ASIC。
【重要觀念】
➤上面的分類方式只是為了讓大家容易了解各種處理器的特色,但是別忘了,每一種軟體都同時含有加法與乘法運算,只是多少的問題而已;同樣的道理,CPU 或 MPU 雖然是利用「加法」為主來進行所有的數學運算工作,但是 Intel 或 ARM 也已經將支援乘法與除法運算相關的指令集放入處理器內,只是在效能上和數位訊號處理器(DSP)還有一段差距而已!
➤一般只有中央處理器(CPU)、數位訊號處理器(DSP)、微處理器(MPU)、圖形處理器(GPU)、微控制器(MCU)等可以使用軟體改變運算內容,使用彈性比較大的被歸類為「處理器(Processor)」,不過隨著技術演進,現場可程式化邏輯陣列(FPGA)與特定應用積體電路(ASIC)也整合部分處理器的功能進去,因此愈來愈像處理器了!
【請注意】上述內容經過適當簡化以適合大眾閱讀,與產業現狀可能會有差異,若您是這個領域的專家想要提供意見,請自行聯絡作者;若有產業與技術問題請參與社群討論。
《知識力》授權轉載
【延伸閱讀】