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

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]調節(jié)多核處理器硬件適應軟件設計方法

    典型的嵌入式系統(tǒng)設計人員在硬件平臺上進行編程,他們最關注的一點就是硬件平臺的穩(wěn)定性。如果硬件沒有設置好,會帶來重新編寫代碼的麻煩。但是一個完全設置好的穩(wěn)定的硬件平臺還是會對其上運行的程序有一系列的限制。這些限制 - 無論是設計結果,還是一個完全的缺陷 - 都會造成在編碼時需要迂回處理甚至重新返工的情況,給設計實現(xiàn)帶來麻煩,并且耗費了大量的時間。

  通過將FPGA平臺和一個精心設計的多核方法結合在一起,開發(fā)人員就能以下列這種方式實現(xiàn)高性能分組處理應用:軟件工程師能夠對計算平臺的結構有所控制,從而大大縮短編程時間,同時降低延期交付風險。

  硬件設計流程的主要工作就是定義一塊電路板。像存儲器類型、總線協(xié)議和I/O這樣的基本組件已被預先定義。

  如果只使用一個固定的處理器,那它也是預先定義好的。但是,單個處理器無法運行需要吉比特性能的算法(例如分組處理算法),此時就需要多個處理器協(xié)同工作。

  構建一個處理構造塊的最佳方法取決于所運行的軟件。使用FPGA來進行處理,就能使你在對代碼需求有了進一步了解后,再對精確的實現(xiàn)方式做出明確的決策。全新的Tejia FP平臺在Xilin

x® VirtexTM - 4 FPGA上提供了一種方法和多核基礎設施,使開發(fā)人員在完成代碼編寫后,對多核架構進行精確的配置。

  當軟件工程師設計硬件時

  硬件和軟件設計是兩種本質上不同的工作。無論硬件設計語言多么像一個軟件,它進行的仍然是硬件設計。硬件語言對結構進行定義,并且設計流程最終要進行結構的實體化。但是,軟件工程師正越來越多地使用C編程技術來設計系統(tǒng)功能;現(xiàn)有的工具支持使用軟件或硬件方法來設計系統(tǒng)功能。

  軟件實現(xiàn)的方法更偏向于過程導向。它考慮的是“如何去做”而不是“構建什么”的問題,因為從傳統(tǒng)觀點來看,已經(jīng)不需要再構建什么了 - 硬件都已經(jīng)被構建好了。在真正基于軟件的設計方法中,關鍵的功能不是被構建到一種結構中去,而是在一個已經(jīng)構建好的系統(tǒng)中被結構執(zhí)行的。靈活性是基于軟件的實現(xiàn)方法的優(yōu)勢:在系統(tǒng)出廠后仍能快捷地對其進行改變。雖然FPGA也能現(xiàn)場編程,但改變軟件設計要比構建硬件快捷地多。

  由于硬件和軟件設計存在著差異,因此硬件和軟件的設計者所考慮的問題是不同的。硬件工程師不可能只通過改變編程語言的語法,就能轉變成軟件工程師。反之,軟件工程師也不可能因為硬件設計中需要軟件的參與,就能轉變成硬件工程師。因此,不能輕率地就讓軟件工程師加入到處理架構的設計中來。

  此外,硬件工程師、軟件工程師或項目經(jīng)理都不會同意將一個基于硬件方法的設計交給一位軟件工程師去完成。軟件工程師做出關于硬件的決定時所使用的方法,極有可能得到熟悉類似編程語言的另一位軟件工程師的認同。

  如圖1所示,并行流水線是多核分組處理引擎中處理架構的關鍵結構。這一引擎由一個處理器陣列加上可能存在的硬件加速器構成?;卮鹆讼旅孢@些問題,就等于完成了一個設計流程:

  •   需要多少個處理器?
  •   應該如何安排這些處理器?
  •   每個處理器需要處理多少代碼和存儲多少本地數(shù)據(jù)?
  •   代碼的哪些部分需要硬件加速

  讓我們來逐一回答這些問題,從而為軟件工程師“組裝”出一套設計方法。

  處理器的數(shù)量和配置

  所需處理器的數(shù)量可以通過對周期預算和執(zhí)行代碼所需的周期數(shù)進行簡單的數(shù)學計算得出。當你要在規(guī)定的時間內(nèi)完成工作時,周期預算就成為一個關鍵的參數(shù)。例如進行分組處理時,數(shù)據(jù)位置進行劃分。這樣,就能夠圍繞劃分的情況來進行硬件設計,而不用根據(jù)硬件來進行劃分。軟件工程師如何進行設計是一個關鍵問題。Teja中集成了一組API和一個處理工具,可以用ANSI C來定義硬件平臺。此工具可執(zhí)行程序,創(chuàng)建處理平臺的定義,這些定義能夠被Xilinx嵌入式工具進行處理。API組的內(nèi)容十分豐富,并且能夠在很靠底的硬件層次上進行控制,但大多數(shù)軟件工程師不希望使用它們。因此,Teja中還使用參數(shù)化的方式加入了一個“典型的”流水線定義的方法。要實現(xiàn)上述示例中的流水線,只需要在配置頭文件中修改兩個簡單的#define陳述式。

  下面的陳述式定義了一個兩級的流水線,在第一級使用了4個引擎,在第二級使用了2個引擎:圖1 - 并行的流水線,每個引擎由一個MicroBlaze處理器、專用存儲器和可選的減負器構成。包不停地到來,而你在下一個數(shù)據(jù)包到來之前,只有那么多周期來完成你的工作。如果你的代碼需要更長的時間來執(zhí)行,那么就需要添加更多的處理器。例如,如果周期預算是100個周期,而代碼執(zhí)行需要520個周期,那么你就需要6個處理器(520除以100,然后進位到整數(shù))。你可以對處理器數(shù)量進行調整,但必須滿足預算的要求。使用Teja工具時,可以通過分析來確定周期數(shù)。

    下一個問題是如何安排這些處理器。處理這一問題最簡單的辦法就是確定你是否需要劃分代碼,來創(chuàng)建一個流水線。流水線使用較少的硬件資源,但會增加等待時間。如果你需要對代碼進行劃分,最好選擇在一個明顯的位置(自然和直觀的位置)進行。而沒有必要計算出周期中點精確的位置。

并行的流水線

圖1 - 并行的流水線,每個引擎由一個MicroBlaze處理器、專用存儲器和可選的減負器構成。

  假設你要用6個處理器構成一個兩級流水線。那么你現(xiàn)在就需要計算出每一級所需的處理器的數(shù)量;先通過分析來確定每個劃分的周期數(shù),如后再用它去除以周期預算,就可以得到每一級所需的處理器的數(shù)量。。因此,如果第一個劃分需要380個周期,則它需要4個處理器;這樣第二級就需要140個周期,從而需要兩個處理器。(兩個劃分所需的周期數(shù)之和實際上不一定正好等于未劃分的程序所需的周期數(shù),但會非常接近,因此在這里可以近似看作相等。)因此,這個兩級的流水線的第一級需要4個處理器,第二級需要2個處理器。如果有足夠的邏輯資源,使用Xilinx MicroBlazeTM軟核,就能夠實體化任何這樣的流水線。

  相比較而言,在一個固定的流水線結構中,每一級的處理器數(shù)量都已經(jīng)

預先確定。因此就只能強制使用一種專門的劃分方法,實現(xiàn)這一劃分就會需要相當長的時間。相反地,如果每一級使用的處理器數(shù)量不同,流水線就可以定制,并且可以是不規(guī)則的。因此能夠從任何位置進行劃分。這樣,就能夠圍繞劃分的情況來進行硬件設計,而不用根據(jù)硬件來進行劃分。

  軟件工程師如何進行設計是一個關鍵問題。Teja中集成了一組API和一個處理工具,可以用ANSI C來定義硬件平臺。此工具可執(zhí)行程序,創(chuàng)建處理平臺的定義,這些定義能夠被Xilinx嵌入式工具進行處理。API組的內(nèi)容十分豐富,并且能夠在很靠底的硬件層次上進行控制,但大多數(shù)軟件工程師不希望使用它們。因此,Teja中還使用參數(shù)化的方式加入了一個“典型的”流水線定義的方法。要實現(xiàn)上述示例中的流水線,只需要在配置頭文件中修改兩個簡單的#define陳述式。

  下面的陳述式定義了一個兩級的流水線,在第一級使用了4個引擎,在第二級使用了2個引擎:

  #define PIPELINE_LENGTH 2

  #define PIPELINE_CONFIG {4,2};

  由上述陳述式和預設的配置程序,TejaCC程序就能構建出流水線。當然,無論由于什么原因使得流水線的配置需要發(fā)生改變時,只要使用與上面相似的方法進行編輯即可。

  存儲器

  第三個問題跟所需的存儲器數(shù)量有關。在一個典型的系統(tǒng)中,所能存儲的代碼和數(shù)據(jù)的數(shù)量是固定的。如果你的設計沒有滿足這一要求,就需要做大量的工作來將多出的內(nèi)容壓縮到存儲空間中。但是在使用FPGA時,只要所需存儲器的數(shù)量在芯片所能提供的范圍之內(nèi),就能夠按照實際需要為每個處理器分配存儲空間。在更典型的情況下,所有的存儲空間的大小都相同(由于每個塊的最小容量為2k,這就限制了進行微調的程度)。

配置并行流水線的流程

圖2 - 配置并行流水線的流程

  代碼編譯時提供所需存儲器的大小,并且可以使用下面的陳述式來編輯配置頭文件,在這個示例中為代碼和數(shù)據(jù)存儲分配的存儲空間均為8KB:

  #define CPE_CODE_MEM_SIZE_KB 8

  #define CPE_DATA_MEM_SIZE_KB 8

  使用減負器來加快處理速度

  第四個問題和創(chuàng)建硬件加速器有關??赡苡幸徊糠殖绦驎加锰嗟闹芷凇R獪p少周期就需要更多的處理器,而使用硬件加速器就能減少處理器的數(shù)量。只要硬件加速器比其所替代的處理器占用更少的門,就能夠減少整個硬件實現(xiàn)的面積。

  Teja有一項功能就是用來從代碼中直接創(chuàng)建這樣的加速器或減負器。通過對程序進行注釋,此功能就可創(chuàng)建:

  •   實現(xiàn)代碼的硬件邏輯
  •   通過系統(tǒng)接口在處理器基礎設施中添加加速器
  •   調用原型替換程序中最初的代碼
  •   在將減負器集成于系統(tǒng)之前,先使用測試臺對其進行驗證。

  一旦創(chuàng)建了減負器,周期數(shù)就會減少,因此你需要重新安排處理器。但由于重新定義流水線結構的操作十分方便,因此這是一項很簡單的任務。

  一個簡單直接的方法

  將前面所述的步驟組合在一起,就產(chǎn)生了圖2中所示的設計流程。你可以先定義減負器(對于明顯需要減負器的任務),或在配置好流水線之后再定義減負器(如果現(xiàn)有的代碼使用了太多的處理器)。

  軟件工程師所能控制的是一些在他們看來自然和簡單的參數(shù),這里使用自然的軟件語言(ANSI C)來表達這些參數(shù)。對硬件進行實體化的所有細節(jié)都由TejaCC程序來處理,它會為Xilinx嵌入式開發(fā)系統(tǒng)(EDK)創(chuàng)建一個項目。剩下的編譯/綜合/布局/布線和產(chǎn)生比特流以及鏡像代碼的工作全都由EDK來完成。

    在這種方式下,電路板可以由硬件工程師設計,但通過使用FPGA,硬件工程師能夠將最終的實現(xiàn)中硬件配置的關鍵部分,留給軟件設計者去完成。這一方法還支持在設計即將完成時對電路板進行改動(例如,由于性能原因要對存儲器的類型和容量進行改動)。由于Teja工具能創(chuàng)建FPGA的硬件定義,其中包括存儲器控制器和其他外設,因此設計人員可以輕松地調節(jié)電路板。最終的結果是,由于硬件實現(xiàn)可以適應軟件的變化,因此軟件設計者不再需要花費大量的時間來圍繞一個固定的硬件設置編寫程序。

  通過利用靈活的Virtex - 4 FPGA和MicroBlaze核,Teja FP環(huán)境和基本結構使得所有這一切都變成了可能。有了這一強大的工具,你就能夠將開發(fā)周期縮短幾周甚至幾個月。

  Teja還提供了一些高級應用程序,這些應用程序能用來啟動一個項目,并減少所需的工作量。將一個靈活省時的設計方法和一個事先定義好的應用程序結合起來使用,網(wǎng)絡設備的制造者就能更快地完成他們的設計。

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

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

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

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

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

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

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

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

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

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

關鍵字: BSP 信息技術
關閉
關閉