當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]可配置處理器開(kāi)發(fā)原理

處理器為何需要配置?

  首先,頻率并不代表性能。低功耗的針對(duì)特殊應(yīng)用的而設(shè)計(jì)的處理器架構(gòu)比頻率高得多的通用處理器性能可能更好。所以頻率代表性能的結(jié)論只能局限于同樣的架構(gòu)的基礎(chǔ)上。同時(shí)過(guò)高的頻率意味著更高的功耗。

  其次,應(yīng)用的發(fā)展對(duì)處理器的需求越來(lái)越多樣化。我們可以看到單顆通用處理器的極限已經(jīng)到來(lái),通用處理器需要處理的應(yīng)用越來(lái)越復(fù)雜,需要多內(nèi)核的支持。最大半導(dǎo)體公司Intel的多核的產(chǎn)品策略足以證明這一點(diǎn)。另外,后PC時(shí)代是消費(fèi)電子產(chǎn)品的時(shí)代,通用的CPU和DSP都無(wú)法滿足多種應(yīng)用的要求。針對(duì)特殊應(yīng)用設(shè)計(jì)的SOC要求能夠靈活設(shè)計(jì)針對(duì)應(yīng)用的最優(yōu)化處理器:性能好、功耗低、面積小、大I/O帶寬……

  綜上所述,應(yīng)用的需求的發(fā)展促進(jìn)了可配置處理器技術(shù)的產(chǎn)生和發(fā)展。

  可配置處理器及其開(kāi)發(fā)原理

  以Tensilica的Xtensa可配置處理器架構(gòu)為例,探討可配置處理器的開(kāi)發(fā)原理。

  Xtensa可配置處理器架構(gòu)是可配置可擴(kuò)展的微處理器技術(shù),可以用于片上系統(tǒng)SOC設(shè)計(jì)?,F(xiàn)在的SOC需要更高系統(tǒng)性能、更高輸入/輸出帶寬和更高功耗利用率, Xtensa架構(gòu)均實(shí)現(xiàn)提供相應(yīng)的解決方案。系統(tǒng)設(shè)計(jì)師可根據(jù)各自的應(yīng)用需求,首先配置和選擇架構(gòu)元素,比如:內(nèi)部cache大小,總線位寬,F(xiàn)PU單元, DSP引擎,中斷數(shù)量… 進(jìn)而針對(duì)應(yīng)用擴(kuò)展添加全新的指令、寄存器和I/O端口來(lái)設(shè)計(jì)具有專用功能的處理器內(nèi)核。這種方法甚至能提供與手工RTL設(shè)計(jì)的硬邏輯有可比性的性能、尺寸和功耗等特性。通過(guò)圖1可以看到Xtensa處理器的架構(gòu)。

  Xtensa處理器產(chǎn)生器可通過(guò)增加新的功能來(lái)自動(dòng)產(chǎn)生用戶所需要的硬件,產(chǎn)生硬件是經(jīng)過(guò)驗(yàn)證的RTL代碼格式。自動(dòng)產(chǎn)生的處理器RTL代碼可以和現(xiàn)在的SOC設(shè)計(jì)流程無(wú)縫結(jié)合,用于邏輯綜合。處理器產(chǎn)生器還可建立與產(chǎn)生的處理器相匹配的系統(tǒng)軟件。

  可以說(shuō)Tensilica可配置處理器技術(shù)的核心,是在于可伸縮可擴(kuò)展的Xtensa處理器架構(gòu)和功能強(qiáng)大的自動(dòng)化生成工具—處理器生成器。

  Xtensa架構(gòu)打破輸入/輸出瓶頸

  為了提高I/O帶寬,可配置處理器必須克服總線瓶頸。 總線瓶頸問(wèn)題是自Intel在1971年引入第一個(gè)商用微處理器4004以來(lái)就存在的問(wèn)題。每個(gè)處理器都和系統(tǒng)總線上的其余設(shè)計(jì)部件進(jìn)行通信。總線上的流量由加載/存儲(chǔ)部件控制。由于總線的固有特性,在任何時(shí)候,只允許一小部分?jǐn)?shù)據(jù)在總線上和處理器進(jìn)行通信。另外,加載/存儲(chǔ)單元和處理器內(nèi)部執(zhí)行部件以及處理器局部存儲(chǔ)器通過(guò)類似有限的總線進(jìn)行通信。這種單一的、一次只能一個(gè)方向的處理器總線特性嚴(yán)重限制了微處理器的系統(tǒng)吞吐量。

  為了克服處理器總線所固有的局限性,Tensilica在Xtensa處理器中增加了另一個(gè)特性來(lái)永遠(yuǎn)消除總線瓶頸問(wèn)題。這種新的特性稱為T(mén)IE(Tensilica指令擴(kuò)展)端口和隊(duì)列技術(shù)。采樣TIE端口和隊(duì)列技術(shù),設(shè)計(jì)者可以定義多達(dá)1024個(gè)端口直接與 Xtensa處理器執(zhí)行部件相連接,如圖2所示。每個(gè)端口寬度可以達(dá)到1024位。這種技術(shù)的結(jié)果是可以使系統(tǒng)以350,000 Gbits/秒的速度與Xtensa處理器進(jìn)行信息交換。這可以充分滿足所有處理器的輸入/輸出帶寬需求和采用RTL技術(shù)設(shè)計(jì)的系統(tǒng)需求。

  Xtensa架構(gòu)提高計(jì)算性能

  隨著傳統(tǒng)微處理器總線瓶頸的解決,處理器工程師們將注意力集中到提高Xtensa 處理器的性能上,以便使得計(jì)算性能的提高可以和通過(guò)設(shè)置TIE端口和隊(duì)列來(lái)提高輸入/輸出帶寬相匹配。

  自從1999年開(kāi)始引入第一個(gè)可配置Xtensa處理器以來(lái),片上系統(tǒng)SOC設(shè)計(jì)師已經(jīng)具備能力來(lái)自己定義新指令,定義的新指令基于多操作(例如加法運(yùn)算跟隨一個(gè)移位或者一個(gè)位選擇操作)技術(shù),多操作指令可以作為一條新的指令。將多個(gè)操作合并在一起成為一條新的機(jī)器指令,該技術(shù)稱為操作數(shù)融合。操作數(shù)融合技術(shù)可以有效提高微處理器的計(jì)算性能。另外,片上系統(tǒng)SOC設(shè)計(jì)者可以在Xtensa處理器版本中添加SIMD(單指令、多數(shù)據(jù))指令。 單指令流多數(shù)據(jù)流SIMD指令可以同時(shí)對(duì)多個(gè)數(shù)據(jù)元素執(zhí)行相同的操作,該技術(shù)也可以顯著提高微處理器的計(jì)算性能。

  然而,操作數(shù)融合和單指令流多數(shù)據(jù)流SIMD指令仍然只是微處理器的特征,每次只能發(fā)射一條指令。為更有效提高系統(tǒng)性能,設(shè)計(jì)人員決定在Xtensa處理器核中增加每個(gè)時(shí)鐘周期發(fā)射多條指令的能力。

  從歷史的觀點(diǎn)來(lái)看,處理器設(shè)計(jì)人員可以通過(guò)兩種方法來(lái)實(shí)現(xiàn)微處理器具備每個(gè)時(shí)鐘周期可以發(fā)射多條指令的能力。其一為超標(biāo)量設(shè)計(jì)技術(shù),該技術(shù)通過(guò)復(fù)制處理器整個(gè)執(zhí)行部件來(lái)保證指令譯碼和發(fā)射部件在每個(gè)時(shí)鐘周期可以發(fā)射多條指令。采用這種方法,處理器硬件必須在應(yīng)用程序代碼中找到軟件固有的指令級(jí)并行性。 該技術(shù)的缺點(diǎn)是超標(biāo)量處理器用于完全復(fù)制處理器執(zhí)行部件的硬件開(kāi)銷(xiāo)大,而且程序代碼中缺少指令級(jí)并行性。盡管4路超標(biāo)量處理器設(shè)計(jì)時(shí)可以在每個(gè)時(shí)鐘周期發(fā)射4個(gè)操作, 但是實(shí)際上從通用程序代碼中抽取的平均指令級(jí)并行性通常低于兩個(gè)操作。

  第二種方法是采樣稱為超長(zhǎng)指令字VLIW的技術(shù)來(lái)保證處理器每個(gè)時(shí)鐘周期發(fā)射多個(gè)操作。該方法采用一個(gè)非常長(zhǎng)的指令字來(lái)對(duì)多個(gè)操作進(jìn)行編碼,有時(shí)每個(gè)指令字可以達(dá)到幾百位,多個(gè)操作可以同時(shí)發(fā)射到VLIW處理器的多個(gè)執(zhí)行部件。VLIW處理器的編譯器負(fù)責(zé)找出應(yīng)用程序代碼中的指令級(jí)并行性,VLIW處理器編譯器通常具有比較高的能力來(lái)識(shí)別程序中的并行性,因?yàn)榫幾g器掃描指令的窗口范圍比超標(biāo)量處理器要大,而超標(biāo)量處理器是采用指令譯碼和發(fā)射部件來(lái)對(duì)指令代碼的并行性進(jìn)行調(diào)度。VLIW技術(shù)從處理器硬件開(kāi)銷(xiāo)的角度來(lái)說(shuō)是非常有效的,然而VLIW處理器會(huì)造成指令代碼的劇烈膨脹(故需要更大的存儲(chǔ)器),因?yàn)槊織lVLIW指令字都非常長(zhǎng),而且VLIW編譯器經(jīng)常不能找到足夠的目標(biāo)程序代碼中的指令級(jí)并行性來(lái)保證處理器中的每個(gè)執(zhí)行部件都保持忙碌狀態(tài)。因此,VLIW處理器由于帶有與代碼相關(guān)的特性以及會(huì)耗盡片上的指令存儲(chǔ)器,故對(duì)深度嵌入式應(yīng)用的處理器而言也不是一個(gè)理想的選擇。

  因此,處理器設(shè)計(jì)人員開(kāi)發(fā)了一種變種VLIW結(jié)構(gòu),稱為可變長(zhǎng)度指令擴(kuò)展FLIX技術(shù),用于Xtensa處理器。和VLIW指令一樣,F(xiàn)LIX指令可以將多個(gè)獨(dú)立的指令操作進(jìn)行編碼,變成一個(gè)FLIX指令字,該指令字寬度為32位或者64位,如圖3所示。和所有設(shè)計(jì)人員定義的TIE指令一樣,F(xiàn)LIX指令均是可選擇的,并且它們可以和Xtensa處理器現(xiàn)有的16和24位指令自由地混合在一起。因此,采用FLIX指令就避免了代碼膨脹問(wèn)題,同時(shí)應(yīng)用程序代碼執(zhí)行速度更快,而不是使得程序代碼變得很長(zhǎng)。

  由于提高了輸入/輸出帶寬和計(jì)算性能,因此基于Xtensa 處理器的片上系統(tǒng)SOC設(shè)計(jì)通??梢砸员然诠潭ㄖ噶罴w系結(jié)構(gòu)ISA的處理器更低的時(shí)鐘頻率進(jìn)行運(yùn)行,這些低頻的時(shí)鐘頻率可以保證系統(tǒng)有更低的SOC系統(tǒng)功耗。然而,Xtensa處理器還可以通過(guò)擴(kuò)展的內(nèi)部時(shí)鐘門(mén)控技術(shù)來(lái)保證系統(tǒng)有更低的系統(tǒng)功耗,時(shí)鐘門(mén)控技術(shù)是由TIE指令進(jìn)行自定義擴(kuò)展的。[!--empirenews.page--]

  由于微處理器是由指令進(jìn)行驅(qū)動(dòng)的,因此可以通過(guò)對(duì)處理器指令執(zhí)行流水線中的指令進(jìn)行分析來(lái)確定在某些時(shí)間處理器的哪些部件處于運(yùn)行狀態(tài)。這種分析通常需要幾十億個(gè)系統(tǒng)仿真時(shí)鐘周期,這樣可以讓Xtensa設(shè)計(jì)人員在處理器設(shè)計(jì)時(shí)通過(guò)增加細(xì)粒度時(shí)鐘門(mén)控來(lái)關(guān)閉那些指令執(zhí)行過(guò)程中沒(méi)有執(zhí)行到的處理器單元部件。進(jìn)一步,如果處理器沒(méi)有執(zhí)行到的TIE操作,那么Xtensa就可以對(duì)TIE擴(kuò)展定義的整個(gè)系統(tǒng)硬件關(guān)閉時(shí)鐘。因此,Xtensa處理器可以擁有幾百個(gè)不同的門(mén)控時(shí)鐘域,這樣可以真正使得微處理器的活動(dòng)功耗降到最低。

  可配置處理器設(shè)計(jì)過(guò)程自動(dòng)化

  可配置Xtensa處理器能夠讓設(shè)計(jì)人員對(duì)處理器進(jìn)行量身定做以滿足片上系統(tǒng)SOC中的特定任務(wù)。Xtensa設(shè)計(jì)流程,如圖4所示。

  Xtensa 處理器生成器同時(shí)可以針對(duì)特定配置和擴(kuò)展,自動(dòng)生成完整而有效的軟件工具,包括編譯器、指令集仿真器、調(diào)試器、操作系統(tǒng)接口等軟件環(huán)境。在處理器配置信息完整的情況下,處理器生成器可以在一個(gè)小時(shí)左右生成一顆新處理器的RTL設(shè)計(jì)和軟件環(huán)境。

  結(jié)論

  同標(biāo)準(zhǔn)處理器一樣,可配置處理器也可以建立了一個(gè)完整的可編程的設(shè)計(jì)環(huán)境,系統(tǒng)軟件工具鏈可以自動(dòng)產(chǎn)生,開(kāi)發(fā)人員可以充分利用了擴(kuò)展技術(shù)為應(yīng)用需要來(lái)構(gòu)建微處理器。

  短時(shí)間內(nèi),標(biāo)準(zhǔn)處理器和可配置處理器將共存。長(zhǎng)久看來(lái),可配置處理器因?yàn)槠淇梢赃M(jìn)行架構(gòu)的配置和擴(kuò)展,故而能更加適應(yīng)后PC時(shí)代多種應(yīng)用的需求,而得到越來(lái)越廣泛的應(yīng)用。

  

 

  

本站聲明: 本文章由作者或相關(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日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

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

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

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(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)閉