當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]用戶可定制的處理器

隨著130nm和90nm工藝的成熟,每平方毫米的硅片面積上可以集成大約100K~200K的邏輯門(mén),一顆面積大約50mm2的低成本芯片可以容納5M~10M邏輯門(mén)。越來(lái)越多的SoC設(shè)計(jì)者正在試圖將整個(gè)系統(tǒng)集成在一顆芯片上,但是他們也面臨著嚴(yán)峻的挑戰(zhàn),因?yàn)閭鹘y(tǒng)的基于RTL的SoC硬件設(shè)計(jì)方法的缺點(diǎn)正日益顯現(xiàn)出來(lái)。
● 設(shè)計(jì)能力——以前,硅片容量和自動(dòng)化設(shè)計(jì)工具的能力將一個(gè)RTL模塊的規(guī)模限制在100K左右,如今在一個(gè)硅片上即使是500K邏輯門(mén)的模塊也不會(huì)受到這些限制,但是設(shè)計(jì)方法卻沒(méi)能跟上硅片容量增長(zhǎng)的腳步。
● 驗(yàn)證困難——一個(gè)典型邏輯模塊的內(nèi)部設(shè)計(jì)復(fù)雜度以及潛在的出錯(cuò)可能性隨著其邏輯門(mén)數(shù)的增加而迅速增大,這導(dǎo)致了驗(yàn)證的難度不成比例的增加。許多SoC設(shè)計(jì)團(tuán)隊(duì)聲稱他們90%的工作量花在了驗(yàn)證工作上。
● 修復(fù)成本——修復(fù)SoC設(shè)計(jì)中錯(cuò)誤的成本正在增加。人力成本和NRE費(fèi)用都在不斷增加,與此同時(shí)利潤(rùn)率及市場(chǎng)份額卻在不斷下降,這使得設(shè)計(jì)錯(cuò)誤變得越來(lái)越無(wú)法忍受。因此可以減少錯(cuò)誤或降低修復(fù)成本的設(shè)計(jì)方法迅速發(fā)展起來(lái)。
● 軟硬件整合——所有的嵌入式系統(tǒng)中都有大量的軟件和固件程序,一般來(lái)說(shuō),整合軟件只能放在系統(tǒng)開(kāi)發(fā)的最后,并且往往被認(rèn)為是拖累開(kāi)發(fā)進(jìn)度的罪魁禍?zhǔn)住?br />● 標(biāo)準(zhǔn)變化與靈活性——通信協(xié)議的標(biāo)準(zhǔn)正在迅速變化中。為了充分利用有限的頻帶資源,協(xié)議設(shè)計(jì)者們提出了很多創(chuàng)新性的協(xié)議標(biāo)準(zhǔn),如IPv6、    G.729、JPEG2000、MPEG4和AES等。這些新標(biāo)準(zhǔn)需要的計(jì)算性能比以前的標(biāo)準(zhǔn)要高得多。


指令集固定且固件可編程的通用嵌入式處理器仍然非常具有吸引力,因?yàn)樗鼈兛梢蕴幚砗芏嗳蝿?wù),但通常這類處理器缺乏復(fù)雜數(shù)據(jù)處理的能力,如網(wǎng)絡(luò)應(yīng)用中的包處理,視頻以及加密應(yīng)用中的數(shù)據(jù)處理等。為了滿足類似的性能需求,芯片設(shè)計(jì)者不得不回過(guò)頭來(lái)求助于RTL硬邏輯。隨著設(shè)計(jì)復(fù)雜度和運(yùn)算性能的不斷提高,設(shè)計(jì)的規(guī)模也在不斷增大,SoC設(shè)計(jì)人員需要有更多的資源才能完成芯片設(shè)計(jì)。同時(shí),他們還面臨著以下兩個(gè)挑戰(zhàn)。
● SoC設(shè)計(jì)者如何保證芯片的規(guī)格真正符合客戶的需要。
● SoC設(shè)計(jì)者如何保證芯片符合當(dāng)初的設(shè)計(jì)規(guī)格。


在SoC設(shè)計(jì)中使用微處理器
解決上面兩個(gè)問(wèn)題的辦法是賦予SoC設(shè)計(jì)足夠的靈活性,從而使一顆芯片能夠應(yīng)用于10個(gè)、100個(gè)甚至1000個(gè)不同的系統(tǒng)設(shè)計(jì),這種需求推動(dòng)了通用SoC設(shè)計(jì)的出現(xiàn),從而分?jǐn)偭舜罅啃酒O(shè)計(jì)的成本。大多數(shù)的嵌入式系統(tǒng)都需要高速處理外部復(fù)雜的實(shí)時(shí)數(shù)據(jù),通用微處理器需要運(yùn)行在極高的頻率上才能滿足這些數(shù)據(jù)處理任務(wù)的要求。在個(gè)人電腦市場(chǎng)上正是如此,價(jià)值數(shù)百美元的PC處理器消耗幾十瓦的功耗來(lái)完成用戶任務(wù)。但是對(duì)于嵌入式應(yīng)用來(lái)說(shuō),昂貴且耗電的芯片是沒(méi)有市場(chǎng)的,于是設(shè)計(jì)者們轉(zhuǎn)而使用RTL硬邏輯來(lái)執(zhí)行高速數(shù)據(jù)處理任務(wù)。過(guò)去10年中,在邏輯綜合等ASIC設(shè)計(jì)工具的幫助下,RTL硬邏輯得到了廣泛使用,這種方法已經(jīng)被證明能夠合理且有效的并行完成高速數(shù)據(jù)處理任務(wù),其性能可以達(dá)到通用微處理器性能的幾十甚至上百倍。與基于RTL的設(shè)計(jì)類似,可擴(kuò)展處理器技術(shù)針對(duì)特殊應(yīng)用定制的高速邏輯模塊也需要使用邏輯綜合工具。不同之處在于,RTL設(shè)計(jì)中的狀態(tài)機(jī)只能通過(guò)硬件控制,而可擴(kuò)展處理器中邏輯模塊的狀態(tài)則可以通過(guò)軟件控制,這就大大提高了設(shè)計(jì)的靈活性。

圖1 Xtensa可配置處理器模塊圖

[!--empirenews.page--]
可擴(kuò)展處理器的優(yōu)勢(shì)
完整的可配置與可擴(kuò)展處理器技術(shù)包括了處理器本身以及相應(yīng)的設(shè)計(jì)工具和軟件開(kāi)發(fā)環(huán)境,從而使設(shè)計(jì)者通過(guò)改變或增減功能模塊,設(shè)計(jì)出與特定的應(yīng)用需求相匹配的處理器。典型的配置方法包括對(duì)存儲(chǔ)器的增減修改,外部總線寬度及握手協(xié)議的設(shè)置以及常用的處理器外設(shè)的配置。除此之外,還可以對(duì)處理器進(jìn)行擴(kuò)展——SoC設(shè)計(jì)者可以擴(kuò)展處理器的功能,特別是其指令集——為基本處理器增加原設(shè)計(jì)者從未想到過(guò)的功能。配置處理器的概念是通過(guò)參數(shù)來(lái)選擇或裁剪處理器的功能,配置后的處理器可以通過(guò)多種方式硬件實(shí)現(xiàn),包括耗費(fèi)數(shù)周時(shí)間的ASIC方式或僅需幾分鐘的FPGA方式。擴(kuò)展處理器的概念是設(shè)計(jì)人員為處理器增加原設(shè)計(jì)者從未考慮到的功能,是可配置處理器的一個(gè)超集。對(duì)于可配置與可擴(kuò)展處理器來(lái)說(shuō),在提供處理器硬件實(shí)現(xiàn)的同時(shí),還必須能夠自動(dòng)生成相應(yīng)的軟件開(kāi)發(fā)環(huán)境。沒(méi)有編譯器,匯編器,仿真器,調(diào)試器,實(shí)時(shí)操作系統(tǒng)以及其他軟件工具的支持,可配置與擴(kuò)展處理器所提供的高性能與靈活性也就無(wú)從談起,因?yàn)橹挥凶屲浖藛T能夠方便的編程,才能將處理器的性能與靈活性發(fā)揮出來(lái)。


以Tensilica的可配置與可擴(kuò)展處理器Xtensa為例,其模塊圖如圖1所示。它包括了基本指令集架構(gòu)、通用寄存器文件、存儲(chǔ)器接口、可選的處理器外設(shè)、DSP協(xié)處理器以及集成用戶定制指令的機(jī)制。


處理器的可擴(kuò)展能力可以看做可配置的高級(jí)形式,因?yàn)樗膽?yīng)用更為廣泛。系統(tǒng)設(shè)計(jì)者和應(yīng)用專家可以直接探索應(yīng)用的性能需求以及什么樣的處理器架構(gòu)和指令集才能滿足這樣的需求。

微處理器的應(yīng)用將SoC設(shè)計(jì)與板級(jí)設(shè)計(jì)區(qū)分開(kāi)來(lái)
RTL硬邏輯有許多優(yōu)勢(shì)——面積小、功耗低、性能強(qiáng)大。但是在大規(guī)模的SoC設(shè)計(jì)中,采用RTL硬邏輯的不利因素(設(shè)計(jì)周期長(zhǎng)、驗(yàn)證困難、不夠靈活)正在逐漸大過(guò)其優(yōu)勢(shì)。而保留了大多數(shù)RTL硬邏輯的優(yōu)點(diǎn),又能夠縮短開(kāi)發(fā)時(shí)間并降低風(fēng)險(xiǎn)的設(shè)計(jì)方法正在流行起來(lái),這就是針對(duì)特殊應(yīng)用進(jìn)行優(yōu)化以取代復(fù)雜RTL設(shè)計(jì)的可配置處理器。


針對(duì)應(yīng)用進(jìn)行優(yōu)化的處理器與相應(yīng)的RTL設(shè)計(jì)擁有相近的數(shù)據(jù)通路,它在基本處理器核的流水線上增加額外的運(yùn)算單元,新的寄存器或寄存器文件以及芯片架構(gòu)師定義的其他功能模塊來(lái)實(shí)現(xiàn)特定的應(yīng)用。
在Xtensa處理器中,這些擴(kuò)展功能是利用一種名為T(mén)IE語(yǔ)言的類Verilog語(yǔ)言來(lái)描述的。TIE語(yǔ)言經(jīng)過(guò)優(yōu)化,適用于描述數(shù)據(jù)處理指令的功能并對(duì)其進(jìn)行編碼。用TIE語(yǔ)言來(lái)進(jìn)行描述比RTL要簡(jiǎn)潔得多,因?yàn)樗サ袅怂袝r(shí)序邏輯,包括狀態(tài)機(jī)描述、流水線寄存器以及初始化順序。對(duì)于固件程序員來(lái)說(shuō),處理器中用TIE語(yǔ)言擴(kuò)展的新指令和寄存器都可以通過(guò)編譯器和匯編器來(lái)進(jìn)行調(diào)用。利用處理器中取指、譯碼、執(zhí)行的流水線機(jī)制,通過(guò)C或C++高級(jí)語(yǔ)言編程,可以由固件程序來(lái)控制處理器數(shù)據(jù)通路上的操作。用來(lái)替代RTL模塊的可擴(kuò)展處理器與傳統(tǒng)的RTL設(shè)計(jì)在結(jié)構(gòu)上大同小異:更深的流水線、并行的執(zhí)行單元、特殊的狀態(tài)寄存器、比片內(nèi)外存儲(chǔ)器間更寬的數(shù)據(jù)接口等。這些擴(kuò)展后的處理器保留了原來(lái)RTL設(shè)計(jì)強(qiáng)大的運(yùn)算能力和數(shù)據(jù)接口格式。


可擴(kuò)展處理器對(duì)數(shù)據(jù)通路的控制機(jī)制則與RTL設(shè)計(jì)中依靠硬件狀態(tài)機(jī)切換狀態(tài)大為不同。實(shí)際上,操作的順序完全由處理器上運(yùn)行的固件程序控制,如圖2所示。用跳轉(zhuǎn)指令來(lái)實(shí)現(xiàn)控制操作,load/store指令來(lái)實(shí)現(xiàn)內(nèi)存操作,通用和專用計(jì)算指令來(lái)實(shí)現(xiàn)數(shù)據(jù)運(yùn)算操作。

圖2 可編程的功能模塊:數(shù)據(jù)通路+處理器+軟件程序

[!--empirenews.page--]
移動(dòng)電話領(lǐng)域中的Viterbi解碼的例子可以很好地說(shuō)明可擴(kuò)展處理器可以替代RTL硬邏輯。
GSM標(biāo)準(zhǔn)利用Viterbi解碼將信息從包含噪聲的信道中提取出來(lái)。解碼過(guò)程中會(huì)用到包括8次邏輯計(jì)算(4次加法、2次比較、2次選擇)的蝶形運(yùn)算,從接收到的數(shù)據(jù)流中每解碼一個(gè)符號(hào)需要8次蝶形運(yùn)算。如果采用通用RISC處理器,需要50~80個(gè)指令周期完成一次Viterbi蝶形運(yùn)算,即使在TI高端的超長(zhǎng)指令字DSP 320C64xx上,也需要1.75個(gè)周期。

圖3 Viterbi蝶形算法硬件模塊


利用TIE語(yǔ)言,設(shè)計(jì)者可以為Xtensa處理器增加一條專門(mén)完成Viterbi蝶形運(yùn)算的指令,使用處理器的128位寬I/O總線一次取8個(gè)符號(hào)數(shù)據(jù),如圖3所示為處理器添加運(yùn)算單元和地址產(chǎn)生邏輯,這樣完成一次Viterbi蝶形運(yùn)算只需要0.16個(gè)周期。在未擴(kuò)展的Xtensa處理器上執(zhí)行Viterbi蝶形運(yùn)算需要42個(gè)周期,也就是說(shuō),通過(guò)增加蝶形運(yùn)算的專用硬件(大約11000門(mén)電路),就獲得了250倍的性能提升。

結(jié)論
如今,軟件模塊硬邏輯化的現(xiàn)象非常普遍。在開(kāi)發(fā)協(xié)議標(biāo)準(zhǔn)的早期,通常采用基于處理器的實(shí)現(xiàn)方法,一些常見(jiàn)的標(biāo)準(zhǔn),如視頻領(lǐng)域的MPEG2算法,3G通信領(lǐng)域的W-CDMA算法、安全加密領(lǐng)域的SSL和triple-DES算法,都是由處理器實(shí)現(xiàn)逐漸過(guò)渡到RTL硬邏輯實(shí)現(xiàn)。但是這種過(guò)渡正在被軟硬件實(shí)現(xiàn)方法間巨大的性能與設(shè)計(jì)難度差別所限制??膳渲门c可擴(kuò)展處理器的出現(xiàn)帶來(lái)了一種新的設(shè)計(jì)方法,既可以方便快速的進(jìn)行芯片開(kāi)發(fā),靈活適應(yīng)新的協(xié)議標(biāo)準(zhǔn),又具有足夠小的芯片面積和功耗,從而可以進(jìn)行大規(guī)模的生產(chǎn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉