www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件


  可配置處理器標(biāo)志著第四代微處理器設(shè)計的開始,這種技術(shù)更加適合片上系統(tǒng)SOC的設(shè)計。每一代處理器持續(xù)大約十年時間,每個時代的處理器適合當(dāng)時那個時期的需要。大約在二十世紀(jì)七十年代出現(xiàn)了第一代處理器,這個時期的處理器設(shè)計只是簡單地追求性能,從4位處理器到早期的16位和32位微處理器。這種性能的提升奠定了二十世紀(jì)八十年代個人計算機PC和工作站的基礎(chǔ)。

個人計算機和工作站的增長使得微處理器設(shè)計進入了二十世紀(jì)八十年代的第二代微處理器研制時期。精簡指令集RISC設(shè)計時代發(fā)生在二十世紀(jì)九十年代。在這個時期,即使像X86這樣堅定的復(fù)雜指令集CISC處理器也假裝成精簡指令集RISC體系結(jié)構(gòu)。在最初的這三代處理器的成長和發(fā)展過程中,微處理器設(shè)計專家將處理器設(shè)計成固定的、單個的和可重用的模塊。但是,在二十世紀(jì)九十年代隨著專用集成電路ASIC和片上系統(tǒng)SOC制造技術(shù)的發(fā)展為微處理器設(shè)計進入第四代(即后RISC、可配置處理器)打下了堅實的基礎(chǔ)。

  當(dāng)今的系統(tǒng)開發(fā)工具已經(jīng)非常先進,完全可以允許設(shè)計人員根據(jù)具體的應(yīng)用目標(biāo)任務(wù)來定制微處理器核。處理器定制可以在非常短的時間內(nèi),甚至是幾分鐘就可以根據(jù)具體應(yīng)用完成片上系統(tǒng)處理器核的設(shè)計。由于根據(jù)具體任務(wù)來定制處理器的速度非???,因此可配置處理器可以具有非常優(yōu)異的高性能來構(gòu)建片上系統(tǒng)的設(shè)計,并且經(jīng)常用于快速建立一些功能模塊,而這些功能模塊如果采用人工RTL方式設(shè)計的話,則可能需要幾個月的時間。正是由于可配置處理器技術(shù)的高性能和快速開發(fā)能力,使得許多最終產(chǎn)品在多個可配置處理器核的基礎(chǔ)上實現(xiàn)了片上系統(tǒng)SOC(多處理器片上系統(tǒng)SOC或者簡寫為MPSOC)。這些最終產(chǎn)品的范圍從最大和最小的網(wǎng)絡(luò)路由器一直到諸如便攜式攝像機、打印機和低成本視頻游戲機等消費類電子產(chǎn)品。

 兩種最新的開發(fā)技術(shù)已經(jīng)嵌入到可配置處理器甚至片上系統(tǒng)SOC設(shè)計中,即全自動化的、專用指令集定制技術(shù)和對處理器內(nèi)部執(zhí)行部件的多口訪問技術(shù)。前者允許片上系統(tǒng)設(shè)計人員更加專注系統(tǒng)體系結(jié)構(gòu)方面的問題,而通過依賴自動化設(shè)計工具來完成某些單一功能模塊以達到性能方面的目標(biāo)。后者則永遠克服了以前那種存在已久的總線瓶頸問題,而這種總線瓶頸問題從1971年第一個微處理器出現(xiàn)以來就一直阻礙微處理器性能的提高。

  自動化處理器定制

  十多年來,硬件設(shè)計人員一直在努力用C或者C++對系統(tǒng)進行描述進而轉(zhuǎn)換成有效的硬件。最初的系統(tǒng)說明通常是用C或者C++寫成的,因為采用這些高級語言描述的系統(tǒng)可以在廉價的PC上進行執(zhí)行和評價。然而,即使是廉價的PC也不適合許多嵌入式系統(tǒng)的設(shè)計,尤其是在消費電子領(lǐng)域,因為其功耗太大。因此,設(shè)計人員開始希望找到一種工具來將用C或者C++寫成的系統(tǒng)描述轉(zhuǎn)換成硬件。

  許多像“行為綜合”、“C語言硬件綜合”和“ESL”等詞匯描述的設(shè)計方法都有一些缺陷,因為它們都是試圖解決在本質(zhì)上很復(fù)雜的問題:用時序可執(zhí)行語言寫成的系統(tǒng)描述轉(zhuǎn)換成并行互操作和非可編程的硬件模塊。

  Tensilica的XPRES編譯器采用一種更加簡單、更加直接的方法來解決這一設(shè)計問題。XPRES編譯器不是試圖從頭開始進行與應(yīng)用相關(guān)的硬件設(shè)計,而是從一個完整的功能處理器核開始設(shè)計,然后以添加硬件執(zhí)行部件和相應(yīng)的機器指令的方式來增加硬件,以加速處理器上目標(biāo)應(yīng)用程序的執(zhí)行速度。因此,XPRES編譯器從一個正在工作的硬件(Xtensa微處理器核)開始設(shè)計,同時使得目標(biāo)程序代碼運行得更快。這種搜索的結(jié)果是完成一個微處理器的配置,此配置有一個性能/硬件開銷的特性曲線,如圖1所示。

  圖1: XPRES編譯器為設(shè)計者提供一系列微處理器配置。隨著硅片面積的增加也使得與應(yīng)用相關(guān)的系統(tǒng)性能得到提升。

  性能優(yōu)化的三種技術(shù)途徑

  XPRES編譯器采用三種技術(shù)來建立優(yōu)化的Xtensa處理器配置:操作數(shù)融合、單指令流多數(shù)據(jù)流SIMD(向量化)和FLIX(可變長度指令擴展)。操作數(shù)融合技術(shù)記錄程序循環(huán)語句中簡單操作出現(xiàn)的頻度。XPRES編譯器將這些指令序列合并成一條增強型指令,這種增強型指令通過減少循環(huán)內(nèi)部的指令條數(shù)來加速程序代碼的執(zhí)行。圖2表示由XPRES編譯器產(chǎn)生的數(shù)據(jù)流操作,圖中用灰色表示出融合操作。

  圖2:由XPRES編譯器產(chǎn)生的數(shù)據(jù)流圖表示出一系列融合操作。當(dāng)減法操作、取絕對值操作、加法操作和位域抽取操作融合成一條新的指令后,由XPRES編譯器進行評估需要增加474個邏輯門。

  應(yīng)用程序中的許多循環(huán)語句對一個數(shù)據(jù)陣列執(zhí)行相同的操作,XPRES編譯器可以將這些循環(huán)語句進行向量化,建立一條由多個相同執(zhí)行部件并行執(zhí)行多個數(shù)據(jù)項的指令。對Xtensa處理器增加單指令流多數(shù)據(jù)流SIMD指令與Tensilica的XCC C/C++編譯器是一致的,該編譯器能夠?qū)?yīng)用程序代碼中的內(nèi)循環(huán)展開并且進行向量化。通過向量化可以加速循環(huán)語句的執(zhí)行,這通常和增強型指令內(nèi)部SIMD運算部件的序號有關(guān)。

  XPRES編譯器采用的第三種加速程序代碼執(zhí)行的技術(shù)是Tensilica的FLIX(可變長度指令擴展)技術(shù)。FLIX指令是一種類似于融合和單指令流多數(shù)據(jù)流SIMD指令的多操作指令。然而,F(xiàn)LIX指令包括多個獨立的操作,而融合和單指令流多數(shù)據(jù)流SIMD指令則均為相關(guān)多操作。FLIX指令中的每一個操作都是和其它操作互相獨立的,XCC C/C++編譯器將彼此獨立的操作壓縮成一條FLIX格式的指令,而這種壓縮后的指令能夠顯著加速程序代碼的執(zhí)行速度。

  采用可配置處理器進行多處理器SOC設(shè)計

  在當(dāng)今的應(yīng)用中,很少只用一個處理器就能滿足系統(tǒng)的性能指標(biāo),即使采用面向目標(biāo)應(yīng)用的可配置處理器也很難做到。然而,多處理器MP指令集、高帶寬接口和小面積使得在一個片上系統(tǒng)SOC設(shè)計中可以集成多個可配置處理器。

  片上系統(tǒng)SOC中處理器模塊之間硬件互連機制的選擇對系統(tǒng)性能和硅片成本產(chǎn)生很大影響,而且這些硬件互連機制必須直接支持多處理器MP系統(tǒng)設(shè)計的互連要求。消息傳遞軟件通信機制直接影響到數(shù)據(jù)隊列。類似地,共享存儲器軟件通信模式也影響到基于總線的硬件系統(tǒng)??膳渲锰幚砥骺梢蕴峁┫到y(tǒng)以很大的靈活性,提供對共享設(shè)備和存儲器進行訪問所需的仲裁機制。共享存儲器總線的基本拓?fù)浣Y(jié)構(gòu)有如下幾種:

  1. 通過通用處理器總線訪問系統(tǒng)全局存儲器:微處理器設(shè)計一個通用接口以便實現(xiàn)多種總線事務(wù)處理。在讀操作時,如果處理器認(rèn)為相應(yīng)的數(shù)據(jù)不在本地局部存儲器(根據(jù)地址或者高速緩存CACHE缺失進行判斷),那么處理器必須要進行全局存儲器訪問。處理器請求總線控制權(quán),當(dāng)控制權(quán)得到應(yīng)答后,處理器通過總線發(fā)送讀操作的目標(biāo)地址。相應(yīng)的設(shè)備(例如,存儲器或者輸入/輸出接口)對地址進行譯碼,然后通過總線對處理器所需要的數(shù)據(jù)進行傳送,如圖3所示。

圖 3: 兩個處理器通過總線共享存儲器

  當(dāng)兩個處理器通過總線對全局共享存儲器進行訪問時,一個處理器獲得總線控制權(quán)對數(shù)據(jù)進行寫操作,另一個處理器就必須稍后才能獲得總線控制權(quán)以便進行讀操作。按照這種方式,每個字傳輸需要兩個總線操作事務(wù)周期才能完成。該方法需要適度的硬件支持,并且具有較高的靈活性,因為全局存儲器和輸入/輸出接口通過公共總線進行訪問。然而,對全局存儲器的使用卻不好根據(jù)處理器和設(shè)備的數(shù)量進行度量,因為總線擁塞會使得訪問時間變長和不可預(yù)測。

  2. 通過通用處理器總線對處理器本地局部存儲器進行訪問:可配置處理器可以允許局部數(shù)據(jù)存儲器參與通用總線事務(wù)處理。這些處理器基本上是由本地的處理器使用,并且二者是緊密耦合的。然而,控制局部數(shù)據(jù)存儲器的處理器可以按照總線從設(shè)備的方式進行操作,如圖4所示。

圖4: 一個處理器通過總線訪問第二個處理器的局部數(shù)據(jù)存儲器

  第一個處理器和第二個處理器之間訪問時間的不對稱性可以保證push 通信,即當(dāng)?shù)谝粋€處理器向第二個處理器發(fā)送數(shù)據(jù)時,它將數(shù)據(jù)通過總線寫到第二個處理器的本地局部存儲器。如果寫操作經(jīng)過緩沖器,那么第一個處理器不必等到寫操作完成就可以繼續(xù)執(zhí)行后面的操作。因此,到第二個處理器數(shù)據(jù)傳輸?shù)拈L時間延時就被隱藏了。

  3. 通過局部總線訪問多口局部存儲器:當(dāng)數(shù)據(jù)流在處理器之間雙向傳輸且對時延要求比較嚴(yán)格時,那么對任務(wù)間通信而言,采用本地共享數(shù)據(jù)存儲器通常是最好的選擇。每個處理器使用自己的本地數(shù)據(jù)存儲器接口來訪問共享存儲器,如圖5所示。存儲器可以有兩個物理訪問端口(每個時鐘周期可以訪問兩次存儲器),或者通過一個簡單的仲裁器來控制。

圖5:兩個處理器共享局部數(shù)據(jù)存儲器

  直接互連的數(shù)據(jù)端口

  處理器直接相連可以減少通信開銷和時間。這種連接方式將數(shù)據(jù)從一個處理器的寄存器傳送到另一個處理器的寄存器和執(zhí)行功能部件。直接互連的一個簡單例子如圖6所示。當(dāng)?shù)谝粋€處理器向輸出寄存器寫一個數(shù)值(通常作為計算的一部分)時,該值將自動出現(xiàn)在處理器的輸出端口上。同樣的數(shù)值可以立即輸入到第二個處理器進行相應(yīng)的數(shù)據(jù)操作。

圖 6:處理器到處理器之間通過端口直接進行訪問

  數(shù)據(jù)隊列

  任務(wù)之間通信的最高帶寬機制是數(shù)據(jù)隊列的硬件實現(xiàn)。一個數(shù)據(jù)隊列可以使系統(tǒng)獲得每個時鐘周期傳輸一次的數(shù)據(jù)速率,或者在寬操作數(shù)位數(shù)的情況下可以達到每秒10GB的傳輸速率(每個操作數(shù)幾十個字節(jié),時鐘速率幾百兆赫MHz)。生產(chǎn)者和消費者之間的握手信號隱含在處理器之間的接口和數(shù)據(jù)隊列的頭信息和尾信息之中。

 專用處理器允許數(shù)據(jù)隊列作為指令集擴展的一部分直接進行硬件實現(xiàn)。數(shù)據(jù)隊列可以通過一條專門指令來說明,隊列可以作為結(jié)果值的目的或者使用輸入隊列值作為源。這種形式的隊列接口方式如圖7所示,該隊列允許用戶建立一個新的數(shù)據(jù)值,或者每個隊列接口使用一個時鐘周期。

圖 7: 硬件數(shù)據(jù)隊列機制

  數(shù)據(jù)隊列對任務(wù)間的性能有一定的影響。如果數(shù)據(jù)隊列生產(chǎn)者和消費者速率高度一致,那么隊列長度可以比較短。如果隊列生產(chǎn)者或者消費者速率不同,那么需要設(shè)計深度隊列來彌補二者之間的失配。

  由于處理器執(zhí)行部件的隊列接口對商用處理器核而言具有極其重要的特性,因此更加深入地對接口機制進行一些探討是非常必要的。數(shù)據(jù)隊列接口通過如下TIE語法格式添加到Xtensa LX處理器中:

  queue in|out

  上面語法格式定義了數(shù)據(jù)隊列的名稱、寬度和隊列的方向。一個Xtensa LX處理器可以包含300多個隊列,每個隊列寬度可以高達1024位。設(shè)計人員可以采用數(shù)據(jù)隊列來對處理器性能進行折中,即在快速、窄帶處理器接口和慢速、寬帶接口之間進行折中以獲得系統(tǒng)高帶寬和高性能的目的。

  圖8為TIE隊列和簡單的Designware FIFO隊列之間的連接,這種連接方式非常容易。TIE隊列的push 和 pop操作由FIFO的隊列空和隊列滿狀態(tài)信號進行門控,這樣可以使設(shè)計與Designware的 FIFO控制模式保持一致。

圖8:采用TIE隊列的Designware同步FIFO示意圖

(diag_n輸入驅(qū)動為高且almost_full、 half_full、almost_empty和 error輸出均未用)

  TIE隊列可以和寄存器操作數(shù)、系統(tǒng)狀態(tài)或者存儲器接口那樣直接為TIE指令提供輸入和輸出操作數(shù)。下面的TIE語法格式建立了一條新的指令,該指令對輸入數(shù)據(jù)隊列中的數(shù)據(jù)進行累加,然后送給寄存器文件。

  operation QACC {inout AR ACC} {in IQ1} {

   assign ACC = ACC + IQ1;

  }

  圖9表示TIE隊列是如何像其它指令操作數(shù)那樣在Xtensa LX處理器中使用的。

圖9:TIE隊列作為指令操作數(shù)使用

  Xtensa LX處理器本身包括一個兩項的數(shù)據(jù)緩沖器,用于緩沖系統(tǒng)設(shè)計人員定義的每個TIE隊列。每個隊列的兩項數(shù)據(jù)緩沖器所占用的面積大大小于一個加載/存儲處理單元。因此,TIE隊列接口所占的處理器面積是完全受到設(shè)計人員所控制的,并且可以按照需要增大或者減小。

  數(shù)據(jù)流直達處理

  數(shù)據(jù)端口和數(shù)據(jù)隊列與可配置處理器執(zhí)行部件直接相連,這種互連允許處理器應(yīng)用數(shù)據(jù)流直達技術(shù)進行處理,而那些應(yīng)用在以前是為手工編寫的RTL代碼邏輯塊預(yù)留的。將數(shù)據(jù)隊列和輸出隊列接口與設(shè)計人員定義的執(zhí)行部件相結(jié)合就可以建立一個在處理器內(nèi)部由固件控制的處理模塊,該模塊可以從輸入數(shù)據(jù)隊列中讀取數(shù)據(jù),對這些數(shù)據(jù)執(zhí)行計算,然后按照流水線方式每完成一個“輸入-計算-輸出”周期就將計算結(jié)果輸出。圖10表示一個簡單的系統(tǒng)設(shè)計,該系統(tǒng)有兩個256位的輸入數(shù)據(jù)隊列,一個256位的輸出數(shù)據(jù)隊列和一個256位的加法器/多路器執(zhí)行部件。盡管該處理器擴展是在固件模式下進行控制的,但是其操作可以將處理器的存儲器總線和加載/存儲單元旁路以便可以獲得同硬件一樣的處理速度。

圖10:通過在可配置處理器中增加數(shù)據(jù)流直達處理模式來將執(zhí)行部件和多個隊列相結(jié)合

  即使在處理器擴展中使用大量的硬件,但在定義時也只是僅僅寫如下四行TIE代碼而已:

  queue InData1 256 in

  queue InData2 256 in

  queue OutData 256 out

  operation QADD {} { in InData1, in InData2, in SumCtrl, out OutData} { assign OutData = SumCtrl ? (InData1 + InData2) : InData1; }

  前三行代碼定義了一個256位的輸入隊列和一個256位的輸出隊列,第四行定義了一條新的處理器指令QADD,該指令執(zhí)行256位的加法運算或者將256位的數(shù)據(jù)從輸入隊列送到輸出隊列。通過TIE語言定義的指令告訴Xtensa處理器產(chǎn)生器自動為處理器增加相應(yīng)的硬件,同時為處理器軟件開發(fā)工具增添一條新指令。

  用于多處理器片上系統(tǒng)MPSOC設(shè)計的處理器核

  可配置處理器的出現(xiàn)使得片上系統(tǒng)SOC設(shè)計人員可以建立起一種嶄新的且非常靈活的硬件模塊構(gòu)建方法。同傳統(tǒng)的固定指令集體系結(jié)構(gòu)ISA處理器相比,可配置處理器通過添加用戶定制的執(zhí)行功能部件、寄存器和寄存器堆以及專用通信接口能夠獲得很高的系統(tǒng)性能。

  自從1971年第一個微處理器研制成功至今已經(jīng)30多年,由于受固定處理器核的束縛,導(dǎo)致可配置處理器的發(fā)明無法實現(xiàn)。對于二十一世紀(jì)的片上系統(tǒng)SOC設(shè)計而言,這些制約因素已經(jīng)不再存在,而且這些過時的約束也不再限制系統(tǒng)設(shè)計人員對處理器的使用。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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