在和金錢的較量中,支持自由的人們沒有輸。
復(fù)雜系統(tǒng)執(zhí)行多種多樣的復(fù)雜任務(wù)。任務(wù)常因?yàn)槭袌?chǎng)需求而改變。處理器的軟件可編程性使得它可以實(shí)現(xiàn)更加快速的功能開發(fā)和提供更加敏捷的可適性,已成為SoC最為重要的組件,其性能直接決定了系統(tǒng)性能的優(yōu)劣。
目前,在SoC中使用的處理器主要分3類:
?通用處理器(CPU)、
?數(shù)字信號(hào)處理器(DSP)
?可配置處理器。
通用處理器主要負(fù)責(zé)控制、操作系統(tǒng)平臺(tái)和一般的信號(hào)處理等任務(wù)。目前,SoC設(shè)計(jì)中使用較多的通用處理器有ARM、MIPS、PowerPC等。具有我國(guó)自主知識(shí)產(chǎn)權(quán)的處理器,如龍芯CPU、眾志CPU、國(guó)芯C-CORE等也正在被越來越多地采用。雖然通用處理器正在得到廣泛的應(yīng)用,但其單一的指令格式及有限的計(jì)算能力無(wú)法滿足計(jì)算密集型任務(wù)(如視頻編解碼、信息安全等)對(duì)于實(shí)時(shí)性的需要。
DSP充分挖掘了指令級(jí)的并行性,并結(jié)合了強(qiáng)大的浮點(diǎn)計(jì)算能力,有效地解決了這一問題,已常常被作為SoC中的核心處理器,或者在多核SoC中被作為對(duì)計(jì)算密集型任務(wù)進(jìn)行加速的處理器。較多使用的DSP,往往來自于TI、Freescale、ADI等廠家。
無(wú)論是通用處理器還是DSP,往往體系結(jié)構(gòu)固定,對(duì)于不同應(yīng)用勢(shì)必造成資源的浪費(fèi)和計(jì)算的低效性。雖然ASIC可以采用最精簡(jiǎn)的資源達(dá)到最快的處理速度,但其不具備處理器的可編程能力,導(dǎo)致設(shè)計(jì)效率的下降。
可配置處理器(Configurable Processor)結(jié)合了二者的雙重優(yōu)勢(shì),針對(duì)不同應(yīng)用的需求,允許用戶配置具有不同體系結(jié)構(gòu)的處理器。可配置的處理器可以根據(jù)需要獲得性能和功能的優(yōu)化,并在開發(fā)平臺(tái)工具的幫助下,自動(dòng)生成處理器的系統(tǒng)軟件和仿真環(huán)境,由于以上優(yōu)點(diǎn),可配置處理器以及基于這種處理器的SoC設(shè)計(jì)將會(huì)是以后SoC開發(fā)的一個(gè)重要選擇。
一、通用處理器
1.ARM系列處理器
ARM(Advanced RISC Machines)系列處理器是一種RISC架構(gòu)處理器。ARM處理器具有高性能、低功耗等特點(diǎn)。ARM系列處理器主要有ARM7、ARM9、ARM10、ARM11等。
ARM7系列處理器是低功耗的32位RISC處理器,支持16位的Thumb指令集。
使用精簡(jiǎn)的Thumb指令集可得到更高密度的代碼。其核ARM7TDMI,具有3級(jí)的流水線結(jié)構(gòu),支持Window CE、Linux等嵌入式操作系統(tǒng)。
其中:
? T表示支持Thumb指令集;
? D表示表示Debug,在內(nèi)核中放置了用于調(diào)試的結(jié)構(gòu),通常它為一個(gè)邊界掃描鏈JTAG,可使CPU進(jìn)入調(diào)試模式,從而可方便地進(jìn)行斷點(diǎn)設(shè)置、單步調(diào)試;
? M表示表示內(nèi)核有乘法器;
? I表示EmbeddedICE Logic,用于實(shí)現(xiàn)斷點(diǎn)觀測(cè)及變量觀測(cè)的邏輯電路部分,其中的TAP控制器可接入到邊界掃描鏈。
ARM9處理器包括ARM920T、ARM922T、ARM926EJ-S、ARM946E-S等,適用于不同的市場(chǎng)需求。
ARM9系列處理器實(shí)現(xiàn)5級(jí)的流水。其中,
?E表示處理器包含一些用于支持DSP算法的指令,
? J表示處理器使用ARM的Jazelle技術(shù)提供Java加速功能。
ARM9中增加了存儲(chǔ)器管理單元(MMU,Memory Management Unit),實(shí)現(xiàn)數(shù)據(jù)和指令分離的存儲(chǔ)器結(jié)構(gòu)。
ARM10、ARM11等系列處理器增加了流水線的深度,提高了工作時(shí)鐘頻率。
ARM11中還增加了SIMD功能擴(kuò)展,提高了對(duì)于多媒體處理的能力。
2.MIPS系列處理器
MIPS(Microprocessor without Interlocked Piped Stages)是一種獲得廣泛應(yīng)用的RISC處理器。
MIPS的中文意思是無(wú)內(nèi)部互鎖流水線的微處理器,其機(jī)制是盡量利用軟件方法避免流水線中的數(shù)據(jù)相關(guān)問題。
MIPS技術(shù)公司是美國(guó)的芯片設(shè)計(jì)公司,在基于MIPS技術(shù)的基礎(chǔ)上開發(fā)了一系列處理器。目前主要有兩種架構(gòu)的處理器:32位和64位的MIPS 32架構(gòu)和MIPS 64架構(gòu)。MIPS32的4K系列處理器主要面向SoC應(yīng)用。4K系列采用5級(jí)流水線、32位數(shù)據(jù)和地址寬度。存儲(chǔ)器采用數(shù)據(jù)和指令分開的哈佛結(jié)構(gòu)(Harvard)。MIPS32的24K系列采用8級(jí)流水、32位地址和64位數(shù)據(jù)寬度。通過代碼壓縮,MIPS16e可以減少指令的內(nèi)存需求。MIPS32的24K系列中實(shí)現(xiàn)了快速乘法運(yùn)算。在MIPS64架構(gòu)的處理器有MIPS64 5K系列和20K系列分別采用6級(jí)和7級(jí)流水線結(jié)構(gòu)。5K系列的MIPS64 5kf和20K系列的MIPS64 20kc中集成浮點(diǎn)運(yùn)算單元,面向高性能SoC應(yīng)用。
3.PowerPC系列處理器
PowerPC處理器在20世紀(jì)90年代由IBM、Motorola、Apple公司共同推出,主要面向不同的市場(chǎng)應(yīng)用,包括個(gè)人計(jì)算機(jī)和其他嵌入式市場(chǎng)。
早期的PowerPC主要面向個(gè)人計(jì)算機(jī)和服務(wù)器市場(chǎng)。這種32位Harvard結(jié)構(gòu)的處理器使用5級(jí)流水線結(jié)構(gòu)并集成硬件乘法、硬件除法和MMU單元。
Freescale公司有眾多基于PowerPC的SoC設(shè)計(jì),這些使用單核或雙核結(jié)構(gòu)的芯片主要面向通信市場(chǎng)。在Xilinx的Virtex-4系列FPGA中集成了PowerPC的處理器。
二、DSP
1.TI系列DSP
TI是著名的DSP公司,目前主要有C5000和C6000兩種DSP平臺(tái)。TI C5000平臺(tái)包括TMS320C54系列、TMS320C55系列。TMS320C54系列采用CISC結(jié)構(gòu)的定點(diǎn)和改進(jìn)的Harvard結(jié)構(gòu)體系,有一組程序總線和三組數(shù)據(jù)總線、高度并行性的算術(shù)邏輯單元ALU、乘法/累加器MAC、桶形移位器、緩沖串口、專用硬件邏輯、片內(nèi)存儲(chǔ)器、片內(nèi)外設(shè)和高度專業(yè)化的指令集等,支持32位長(zhǎng)操作數(shù)指令,支持并行存儲(chǔ)和并行裝入的算術(shù)指令。
TMS320C54系列DSP指令系統(tǒng)很豐富且靈活多變;而TMS320C55系列定點(diǎn)DSP并行性更好,每個(gè)周期最大可執(zhí)行兩條指令。
C6000平臺(tái)的TMS320C62、TMS320C64系列DSP是業(yè)內(nèi)最高性能的DSP,提供高達(dá)1GHz的時(shí)鐘速度。TMS320C64系列DSP采用TI的VLIW結(jié)構(gòu)。TMS320C67系列浮點(diǎn)DSP可以提供高數(shù)據(jù)精度和高的處理速度。上述DSP通過集成存儲(chǔ)器、外設(shè),在SoC設(shè)計(jì)中實(shí)現(xiàn)各種高性能應(yīng)用。
2.ADI系列DSP
ADI(Analog Devices Inc.)公司開發(fā)了一系列的高性能DSP和基于這些DSP的SoC設(shè)計(jì),主要包括ADSP-21系列、SHARC系列、TigerSHARC系列和Blackfin系列。Blackfin處理器包括一個(gè)10級(jí)RISC流水線的高性能16/32位內(nèi)核,以及具有面向加速視頻和多媒體處理的SIMD支持。除了有限的多種64位指令程序包之外,Blackfin架構(gòu)還支持16位和32位指令長(zhǎng)度。通常,把最常用的控制指令編碼為精簡(jiǎn)16位字。
TigerSHARC DSP是一款高性能的靜態(tài)超標(biāo)量數(shù)字信號(hào)處理器,該處理器針對(duì)大型的信號(hào)處理和通信任務(wù)而在結(jié)構(gòu)上進(jìn)行了優(yōu)化。該處理器將非常寬的存儲(chǔ)帶寬和雙運(yùn)算模塊結(jié)合在一起,每周期能夠執(zhí)行多達(dá)4條的指令、24個(gè)16位定點(diǎn)運(yùn)算和6個(gè)浮點(diǎn)運(yùn)算。
3.Freescale系列DSP
Freescale的主要DSP包括DSP56300系列和StarCore系列。DSP563000核是24位信號(hào)處理器,采用RISC的流水線結(jié)構(gòu)和超哈佛的存儲(chǔ)器結(jié)構(gòu),主要面向音頻領(lǐng)域應(yīng)用。
StarCore系列DSP采用一種獨(dú)特、高性能、長(zhǎng)度可變的變長(zhǎng)執(zhí)行組(VLES)結(jié)構(gòu)。執(zhí)行過程以執(zhí)行組為單位,采用指令預(yù)取、取址、指令分配、地址生成和執(zhí)行組成的5級(jí)流水結(jié)構(gòu)。每個(gè)執(zhí)行組采用指令級(jí)并行技術(shù),支持SIMD,主要面向多媒體信號(hào)處理領(lǐng)域的應(yīng)用。
三、可配置處理器
1.Tensilica系列處理器
在SoC設(shè)計(jì)方法學(xué)中,強(qiáng)調(diào)快速的設(shè)計(jì)和IP復(fù)用。Tensilica基于這種思想提出了可配置處理器的設(shè)計(jì)思路。對(duì)于各種應(yīng)用,用戶可以選擇配置不同的處理器結(jié)構(gòu)實(shí)現(xiàn)針對(duì)性的應(yīng)用。在自動(dòng)化平臺(tái)工具的幫助下,可以自動(dòng)生成處理器的結(jié)構(gòu)和驗(yàn)證環(huán)境,達(dá)到快速靈活的目的。
目前,Tensilica主要有3種系列的處理器:Xtensa7系列、Xtensa LX2系列和Diamond Standard Processor系列。其中,Xtensa7、Xtensa LX2屬于可配置處理器,而Diamond Standard Processor是基于上述兩個(gè)系列的處理器的一個(gè)優(yōu)化結(jié)構(gòu),不能配置。
對(duì)于Diamond Standard Processor系列處理器又分為3類,如表4-1所示。第1類作為微控制器,該系列處理器都屬于預(yù)配置完成,不具有可配置能力。
表4-1 Diamond Standard Processor系列處理器分類
Xtensa7系列、Xtensa LX2系列處理器都屬于可配置處理器,對(duì)于不同的應(yīng)用可以配置和開發(fā)特定功能的處理器。這樣可以做到開銷、功耗和性能的平衡。Xtensa系列屬于RISC結(jié)構(gòu),使用5級(jí)和7級(jí)的流水線、24位和精簡(jiǎn)的16位的兩種指令格式。
在Xtensa7系列、Xtensa LX2系列處理器中,核心功能是固定的,如流水線,以及對(duì)操作系統(tǒng)的支持。可配置的選項(xiàng)包括處理器的結(jié)構(gòu)、處理器的指令集、協(xié)處理器、存儲(chǔ)器系統(tǒng)(包括緩存、本地存儲(chǔ)器、外部存儲(chǔ)器等)、中斷處理、測(cè)試等。用戶還可以根據(jù)不同需要,設(shè)計(jì)擴(kuò)展功能。在開發(fā)平臺(tái)下可擴(kuò)展的設(shè)計(jì)包括用戶指令、狀態(tài)、寄存器和接口等
2.NIOS系列處理器
Altera的Nios/NiosⅡ是一款基于FPGA的可靈活配置的RISC架構(gòu)軟內(nèi)核處理器,采用32位指令集,支持5級(jí)流水線。其可靈活配置性是指Nios/NiosⅡ處理器架構(gòu)并不是固定、一成不變的,而是用戶可以通過Altera提供的工具根據(jù)設(shè)計(jì)的性能或成本要求增加或裁減一些系統(tǒng)的特性和外設(shè),甚至可以在系統(tǒng)中放置多個(gè)Nios/NiosⅡ處理器以滿足應(yīng)用需求。
用戶通過Nios/NiosⅡ處理器提供的用戶自定義指令邏輯接口可以在處理器的基本指令架構(gòu)之上進(jìn)行指令的擴(kuò)充,以增強(qiáng)處理器的處理能力。此外,Altera還針對(duì)Nios/NiosⅡ處理器提供了一套基于GNU C/C++工具鏈和Eclipse的集成開發(fā)環(huán)境。
3.ARC系列處理器
ARC系列處理器是一個(gè)擁有4級(jí)流水線的體系結(jié)構(gòu),支持16位或32位指令集。它具有能夠配置的各種功能組件、外圍接口及擴(kuò)展指令集。本質(zhì)上,ARC710系列處理器為嵌入式軟核,廠商提供針對(duì)它的軟件集成開發(fā)環(huán)境及各種DSP的功能部件庫(kù)。
開發(fā)人員可從一個(gè)基本的處理器內(nèi)核開始,通過不斷定制、裁剪各種功能,從而達(dá)到應(yīng)用的性能、成本、功耗的最佳匹配。該種處理器支持可選的DSP指令,設(shè)計(jì)人員可以通過增加指令和內(nèi)核寄存器來擴(kuò)展處理器,以便進(jìn)一步定制系統(tǒng)性能。
四、不同處理器的選擇
在介紹了SoC設(shè)計(jì)中所使用的主要處理器后,需要解決的是在一個(gè)SoC中如何在它們之間做出選擇。在選擇處理器時(shí)需要決定的是處理器的類型和數(shù)量,它們之間有著非常密切的關(guān)系。決定處理器選擇的關(guān)鍵因素是要實(shí)現(xiàn)的目標(biāo)應(yīng)用,包括目標(biāo)應(yīng)用的類型和目標(biāo)應(yīng)用的運(yùn)算、控制等需求。
首先對(duì)于目標(biāo)應(yīng)用的運(yùn)算能力要有一個(gè)量的估計(jì)或計(jì)算。一般來說運(yùn)算的任務(wù)以MIPS為單位描述,即每秒百萬(wàn)指令數(shù)。在SoC設(shè)計(jì)的開始,計(jì)算所有任務(wù)每秒的指令需求總和。如果處理器性能不能滿足,可以選擇更高性能的處理器或者增加處理器的數(shù)量。但在多處理器的設(shè)計(jì)中,每個(gè)處理器的任務(wù)分配是一個(gè)復(fù)雜的工作。
其次是根據(jù)應(yīng)用類型選擇合適的處理器類型。通用處理器的運(yùn)算能力和DSP是有較大區(qū)別的。需要根據(jù)實(shí)際目標(biāo)應(yīng)用決定處理器的選擇。DSP適合計(jì)算密集型的任務(wù),如數(shù)字信號(hào)處理、音視頻編解碼等,而且DSP存儲(chǔ)器結(jié)構(gòu)可以提供較大的存儲(chǔ)器訪問帶寬。此外,一般的DSP在零開銷循環(huán)、特殊的尋址方式等方面都有專門的硬件支持,而通用處理器在處理用戶界面和控制事務(wù)方面具有一定優(yōu)勢(shì)。由于DSP和通用處理器有各自的性能優(yōu)勢(shì),因此在一些應(yīng)用中兩種處理器的混合使用也較為常見。
總之,在SoC設(shè)計(jì)中,處理器類型和數(shù)量的選擇由目標(biāo)的應(yīng)用任務(wù)決定,需要根據(jù)實(shí)際應(yīng)用選用合適的處理器類型,實(shí)現(xiàn)優(yōu)化的方案。
審核編輯:湯梓紅
-
處理器
+關(guān)注
關(guān)注
68文章
19342瀏覽量
230227 -
dsp
+關(guān)注
關(guān)注
553文章
8030瀏覽量
349318 -
soc
+關(guān)注
關(guān)注
38文章
4177瀏覽量
218477 -
通用處理器
+關(guān)注
關(guān)注
0文章
15瀏覽量
7185
原文標(biāo)題:SoC中常用的處理器有哪些?
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論