NO IMAGE

部分引用,部分原創。

ASIC原本就是專門為某一項功能開發的專用整合晶片,比如交換機大量使用,比如通訊公司的波長分波多工WDM的光網路OTN平臺中,大量使用了ASIC,傳輸速率達到了400G。

FPGA基本就是高階的CPLD,兩者非常接近。這種器件是用邏輯閘來表述效能的。本身他就是一堆的邏輯閘,通過硬體描述語言,比如verilogHDL把它轉成電路連線,從最基本的邏輯閘層面上連線成電路(參見數位電路書上那些全加器觸發器什麼的)。應該說,雖然看起來像一塊CPU,其實是完全硬體實現的。後來因為寫程式碼麻煩,對控制部分比較薄弱,本來跟其他CPU配合使用,即麻煩的演算法CPU提交給FPGA,FPGA算完把結果再返回給CPU。可是這樣外圍電路就變得麻煩。於是提出了SOC設計方法,就是直接在FPGA裡寫一個CPU出來,既然FPGA萬能,做個CPU自然毫無壓力。這其中還有軟核和硬核的區別,不過除了效能,使用方法大同小異。所謂IP核,就是把各種專用積體電路用硬體描述語言描述,然後燒到FPGA裡形成專門的電路,這樣就不必另外搭晶片了,所有的電路在一片FPGA裡面形成。

DSP實際應該稱為DSPs,即用於DSP處理的專用晶片。DSP是一類特殊的CPU,主要特點是能在一個時鐘週期完成一次乘加,因此適合訊號處理用。 3G中的Node B大量使用了DSP進行訊號處理。 好像的TI的比較流行。跟普通計算機的區別一方面是他是哈佛結構的,也就是資料和程式空間分開。(普通計算機是馮諾依曼結構)另一方面他有流水線結構,不過現在其他也有了,見賢思齊。再一方面他有專用的硬體演算法電路,用以完成DSP運算,比如最基本的乘法累加。上過DSP的就知道,蝶形演算法FFT什麼的,拆成最基本單元就是乘法累加,把這部分加速了,整體效能就有非常大的提高。DSP對於流媒體的處理能力遠遠的優於通用CPU。所以你看現在手機CPU,至少語音部分都是用DSP的。後來DSP概念也複雜化,各家都把一個控制核心整合到DSP裡面,比如現在的智慧手機晶片。可以看一下高通或者TI的片,基本是一個ARM核控制整體運算,一個DSP處理語音編解碼,一個GPU負責影象運算,一個基帶和天線處理模組負責通訊,再加一些七七八八的東東比如GPS模組什麼的。

微控制器就是一個百搭的通用CPU,提供各種介面來對整體進行控制,相當一個總排程,當然,簡單的功能一片CPU獨立工作也就完成了。原來的51系列就是一堆IO口,後來慢慢的把常用的PWM,AD之類的功能加入了微控制器。主要包括用了無數年仍然牛逼各大學必教的51系列,還有AVR,PIC,ARM,HOTEK……其實ARM9以後,已經說不清ARM算哪類了,目前的架構來看,更接近DSP。